{"version":3,"sources":["../../base/dist/chunk-73SFLUWV.mjs","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/add-to-unscopables.js","../../../node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/core-js-pure/internals/create-property.js","../../../node_modules/core-js-pure/modules/es.array.to-spliced.js","../../../node_modules/core-js-pure/internals/entry-unbind.js","../../../node_modules/core-js-pure/es/array/to-spliced.js","../../../node_modules/core-js-pure/stable/array/to-spliced.js","../../../node_modules/core-js-pure/modules/esnext.array.to-spliced.js","../../../node_modules/core-js-pure/actual/array/to-spliced.js","../../../node_modules/core-js-pure/full/array/to-spliced.js","../../../node_modules/core-js-pure/features/array/to-spliced.js","../../../node_modules/core-js-pure/internals/environment.js","../../../node_modules/core-js-pure/internals/environment-is-node.js","../../../node_modules/core-js-pure/internals/define-built-in.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","../../../node_modules/core-js-pure/internals/is-possible-prototype.js","../../../node_modules/core-js-pure/internals/a-possible-prototype.js","../../../node_modules/core-js-pure/internals/object-set-prototype-of.js","../../../node_modules/core-js-pure/internals/to-string-tag-support.js","../../../node_modules/core-js-pure/internals/classof.js","../../../node_modules/core-js-pure/internals/object-to-string.js","../../../node_modules/core-js-pure/internals/set-to-string-tag.js","../../../node_modules/core-js-pure/internals/define-built-in-accessor.js","../../../node_modules/core-js-pure/internals/set-species.js","../../../node_modules/core-js-pure/internals/an-instance.js","../../../node_modules/core-js-pure/internals/inspect-source.js","../../../node_modules/core-js-pure/internals/is-constructor.js","../../../node_modules/core-js-pure/internals/a-constructor.js","../../../node_modules/core-js-pure/internals/species-constructor.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/core-js-pure/internals/validate-arguments-length.js","../../../node_modules/core-js-pure/internals/environment-is-ios.js","../../../node_modules/core-js-pure/internals/task.js","../../../node_modules/core-js-pure/internals/safe-get-built-in.js","../../../node_modules/core-js-pure/internals/queue.js","../../../node_modules/core-js-pure/internals/environment-is-ios-pebble.js","../../../node_modules/core-js-pure/internals/environment-is-webos-webkit.js","../../../node_modules/core-js-pure/internals/microtask.js","../../../node_modules/core-js-pure/internals/host-report-errors.js","../../../node_modules/core-js-pure/internals/perform.js","../../../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/internal-state.js","../../../node_modules/core-js-pure/internals/promise-native-constructor.js","../../../node_modules/core-js-pure/internals/promise-constructor-detection.js","../../../node_modules/core-js-pure/internals/new-promise-capability.js","../../../node_modules/core-js-pure/modules/es.promise.constructor.js","../../../node_modules/core-js-pure/internals/iterators.js","../../../node_modules/core-js-pure/internals/is-array-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator.js","../../../node_modules/core-js-pure/internals/iterator-close.js","../../../node_modules/core-js-pure/internals/iterate.js","../../../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../../../node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","../../../node_modules/core-js-pure/modules/es.promise.all.js","../../../node_modules/core-js-pure/modules/es.promise.catch.js","../../../node_modules/core-js-pure/modules/es.promise.race.js","../../../node_modules/core-js-pure/modules/es.promise.reject.js","../../../node_modules/core-js-pure/internals/promise-resolve.js","../../../node_modules/core-js-pure/modules/es.promise.resolve.js","../../../node_modules/core-js-pure/modules/es.promise.js","../../../node_modules/core-js-pure/modules/es.promise.with-resolvers.js","../../../node_modules/core-js-pure/es/promise/with-resolvers.js","../../../node_modules/core-js-pure/stable/promise/with-resolvers.js","../../../node_modules/core-js-pure/modules/esnext.promise.with-resolvers.js","../../../node_modules/core-js-pure/actual/promise/with-resolvers.js","../../../node_modules/core-js-pure/full/promise/with-resolvers.js","../../../node_modules/core-js-pure/features/promise/with-resolvers.js","../../base/src/utils/setMetaTag.ts","../../base/src/utils/createBuildInfo.ts","../../base/src/utils/private/once.ts","../../base/src/utils/warnOnce.ts","../../base/src/utils/deprecateObject.ts","../../base/src/utils/isForbiddenPropertyName.ts","../../base/src/utils/isPlainObject.ts","../../base/src/utils/iterateEquals.ts","../../base/src/utils/singleToArray.ts","../../base/src/utils/toSpliced.ts","../../base/src/utils/withResolvers.ts","../src/boot/actual/component/minimal.ts","../../react-valibot/src/reactNode.ts","../../react-valibot/src/validateProps.ts","../src/adaptiveCards/Attachment/AdaptiveCardContent.tsx","../src/adaptiveCards/hooks/internal/useParseAdaptiveCardJSON.ts","../../base/dist/chunk-73SFLUWV.mjs","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/add-to-unscopables.js","../../../node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/core-js-pure/internals/create-property.js","../../../node_modules/core-js-pure/modules/es.array.to-spliced.js","../../../node_modules/core-js-pure/internals/entry-unbind.js","../../../node_modules/core-js-pure/es/array/to-spliced.js","../../../node_modules/core-js-pure/stable/array/to-spliced.js","../../../node_modules/core-js-pure/modules/esnext.array.to-spliced.js","../../../node_modules/core-js-pure/actual/array/to-spliced.js","../../../node_modules/core-js-pure/full/array/to-spliced.js","../../../node_modules/core-js-pure/features/array/to-spliced.js","../../../node_modules/core-js-pure/internals/environment.js","../../../node_modules/core-js-pure/internals/environment-is-node.js","../../../node_modules/core-js-pure/internals/define-built-in.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","../../../node_modules/core-js-pure/internals/is-possible-prototype.js","../../../node_modules/core-js-pure/internals/a-possible-prototype.js","../../../node_modules/core-js-pure/internals/object-set-prototype-of.js","../../../node_modules/core-js-pure/internals/to-string-tag-support.js","../../../node_modules/core-js-pure/internals/classof.js","../../../node_modules/core-js-pure/internals/object-to-string.js","../../../node_modules/core-js-pure/internals/set-to-string-tag.js","../../../node_modules/core-js-pure/internals/define-built-in-accessor.js","../../../node_modules/core-js-pure/internals/set-species.js","../../../node_modules/core-js-pure/internals/an-instance.js","../../../node_modules/core-js-pure/internals/inspect-source.js","../../../node_modules/core-js-pure/internals/is-constructor.js","../../../node_modules/core-js-pure/internals/a-constructor.js","../../../node_modules/core-js-pure/internals/species-constructor.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/core-js-pure/internals/validate-arguments-length.js","../../../node_modules/core-js-pure/internals/environment-is-ios.js","../../../node_modules/core-js-pure/internals/task.js","../../../node_modules/core-js-pure/internals/safe-get-built-in.js","../../../node_modules/core-js-pure/internals/queue.js","../../../node_modules/core-js-pure/internals/environment-is-ios-pebble.js","../../../node_modules/core-js-pure/internals/environment-is-webos-webkit.js","../../../node_modules/core-js-pure/internals/microtask.js","../../../node_modules/core-js-pure/internals/host-report-errors.js","../../../node_modules/core-js-pure/internals/perform.js","../../../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/internal-state.js","../../../node_modules/core-js-pure/internals/promise-native-constructor.js","../../../node_modules/core-js-pure/internals/promise-constructor-detection.js","../../../node_modules/core-js-pure/internals/new-promise-capability.js","../../../node_modules/core-js-pure/modules/es.promise.constructor.js","../../../node_modules/core-js-pure/internals/iterators.js","../../../node_modules/core-js-pure/internals/is-array-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator.js","../../../node_modules/core-js-pure/internals/iterator-close.js","../../../node_modules/core-js-pure/internals/iterate.js","../../../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../../../node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","../../../node_modules/core-js-pure/modules/es.promise.all.js","../../../node_modules/core-js-pure/modules/es.promise.catch.js","../../../node_modules/core-js-pure/modules/es.promise.race.js","../../../node_modules/core-js-pure/modules/es.promise.reject.js","../../../node_modules/core-js-pure/internals/promise-resolve.js","../../../node_modules/core-js-pure/modules/es.promise.resolve.js","../../../node_modules/core-js-pure/modules/es.promise.js","../../../node_modules/core-js-pure/modules/es.promise.with-resolvers.js","../../../node_modules/core-js-pure/es/promise/with-resolvers.js","../../../node_modules/core-js-pure/stable/promise/with-resolvers.js","../../../node_modules/core-js-pure/modules/esnext.promise.with-resolvers.js","../../../node_modules/core-js-pure/actual/promise/with-resolvers.js","../../../node_modules/core-js-pure/full/promise/with-resolvers.js","../../../node_modules/core-js-pure/features/promise/with-resolvers.js","../../base/src/utils/setMetaTag.ts","../../base/src/utils/createBuildInfo.ts","../../base/src/utils/private/once.ts","../../base/src/utils/warnOnce.ts","../../base/src/utils/deprecateObject.ts","../../base/src/utils/isForbiddenPropertyName.ts","../../base/src/utils/isPlainObject.ts","../../base/src/utils/iterateEquals.ts","../../base/src/utils/singleToArray.ts","../../base/src/utils/toSpliced.ts","../../base/src/utils/withResolvers.ts","../../../node_modules/valibot/dist/index.mjs","../../react-valibot/src/reactNode.ts","../../react-valibot/src/validateProps.ts","../../styles/src/react/private/InjectStyleElements.tsx","../../styles/src/react/private/useStyles.ts","../src/adaptiveCards/Attachment/AdaptiveCardRenderer.tsx","../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useValueRef.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/useActionShouldBePushButtonModEffect.ts","../src/adaptiveCards/DOMManipulationWithUndo/private/noOp.ts","../src/adaptiveCards/DOMManipulationWithUndo/addEventListenerWithUndo.ts","../src/adaptiveCards/DOMManipulationWithUndo/bunchUndos.tsx","../src/adaptiveCards/DOMManipulationWithUndo/private/addClass.tsx","../src/adaptiveCards/DOMManipulationWithUndo/durableAddClassWithUndo.ts","../src/adaptiveCards/DOMManipulationWithUndo/private/getAttributeOrFalse.ts","../src/adaptiveCards/DOMManipulationWithUndo/private/setOrRemoveAttributeIfFalse.ts","../src/adaptiveCards/DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/closest.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/findDOMNodeOwner.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useAdaptiveCardModEffect.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useLazyRef.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/usePrevious.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/useActiveElementModEffect.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/useDisabledModEffect.ts","../src/adaptiveCards/DOMManipulationWithUndo/durableDisableInputElementAccessiblyWithUndo.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/usePersistValuesModEffect.ts","../src/adaptiveCards/Attachment/AdaptiveCardHacks/useRoleModEffect.ts","../src/adaptiveCards/Attachment/private/directLineSchema.ts","../src/adaptiveCards/Attachment/private/renderAdaptiveCard.ts","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/AdaptiveCardRenderer.module.css?css_module","../src/adaptiveCards/Attachment/AnimationCardContent.tsx","../src/adaptiveCards/Attachment/CommonCard.js","../src/adaptiveCards/Attachment/AdaptiveCardBuilder.ts","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/AnimationCardContent.module.css?css_module","../src/adaptiveCards/Attachment/AudioCardContent.tsx","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/AudioCardContent.module.css?css_module","../src/adaptiveCards/Attachment/HeroCardContent.tsx","../src/adaptiveCards/Attachment/OAuthCardContent.tsx","../src/adaptiveCards/Attachment/ReceiptCardContent.tsx","../src/adaptiveCards/Attachment/SignInCardContent.tsx","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/SignInCardContent.module.css?css_module","../src/adaptiveCards/Attachment/ThumbnailCardContent.tsx","../src/adaptiveCards/Attachment/VideoCardContent.tsx","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/VideoCardContent.module.css?css_module","../src/adaptiveCards/createAdaptiveCardsAttachmentForScreenReaderMiddleware.tsx","../src/adaptiveCards/AttachmentForScreenReader/AdaptiveCardAttachment.js","../src/adaptiveCards/hooks/internal/useUniqueId.ts","../src/adaptiveCards/AttachmentForScreenReader/RichCardAttachment.js","../src/adaptiveCards/createAdaptiveCardsAttachmentMiddleware.tsx","../src/adaptiveCards/Attachment/AdaptiveCardAttachment.tsx","../src/adaptiveCards/Attachment/AnimationCardAttachment.js","../src/adaptiveCards/Attachment/AudioCardAttachment.js","../src/adaptiveCards/Attachment/HeroCardAttachment.js","../src/adaptiveCards/Attachment/OAuthCardAttachment.js","../src/adaptiveCards/Attachment/ReceiptCardAttachment.js","../src/adaptiveCards/Attachment/SignInCardAttachment.js","../src/adaptiveCards/Attachment/ThumbnailCardAttachment.js","../src/adaptiveCards/Attachment/VideoCardAttachment.js","../src/markdown/renderMarkdown.ts","../src/markdown/createStreamingRenderer.ts","../src/markdown/mathExtension/tokenizer.ts","../src/markdown/mathExtension/math.ts","../src/markdown/mathExtension/mathHtml.ts","../src/markdown/private/createDecorate.ts","../../../node_modules/micromark-util-normalize-identifier/index.js","../src/markdown/private/extractDefinitionsFromEvents.ts","../src/markdown/private/respectCRLF.ts","../src/markdown/private/iterateLinkDefinitions.ts","../src/FullReactWebChat.tsx","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/array-includes.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/object-keys-internal.js","../../../node_modules/core-js-pure/internals/enum-bug-keys.js","../../../node_modules/core-js-pure/internals/object-keys.js","../../../node_modules/core-js-pure/internals/object-define-properties.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/object-create.js","../../../node_modules/core-js-pure/modules/es.object.create.js","../../../node_modules/core-js-pure/es/object/create.js","../../../node_modules/core-js-pure/stable/object/create.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/create.js","../../react-hooks/src/useDebugDeps.ts","../../react-hooks/src/useFileDropZone.ts","../../../node_modules/use-ref-from/src/useRefFrom.ts","../../base/dist/chunk-73SFLUWV.mjs","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/add-to-unscopables.js","../../../node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/core-js-pure/internals/create-property.js","../../../node_modules/core-js-pure/modules/es.array.to-spliced.js","../../../node_modules/core-js-pure/internals/entry-unbind.js","../../../node_modules/core-js-pure/es/array/to-spliced.js","../../../node_modules/core-js-pure/stable/array/to-spliced.js","../../../node_modules/core-js-pure/modules/esnext.array.to-spliced.js","../../../node_modules/core-js-pure/actual/array/to-spliced.js","../../../node_modules/core-js-pure/full/array/to-spliced.js","../../../node_modules/core-js-pure/features/array/to-spliced.js","../../../node_modules/core-js-pure/internals/environment.js","../../../node_modules/core-js-pure/internals/environment-is-node.js","../../../node_modules/core-js-pure/internals/define-built-in.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","../../../node_modules/core-js-pure/internals/is-possible-prototype.js","../../../node_modules/core-js-pure/internals/a-possible-prototype.js","../../../node_modules/core-js-pure/internals/object-set-prototype-of.js","../../../node_modules/core-js-pure/internals/to-string-tag-support.js","../../../node_modules/core-js-pure/internals/classof.js","../../../node_modules/core-js-pure/internals/object-to-string.js","../../../node_modules/core-js-pure/internals/set-to-string-tag.js","../../../node_modules/core-js-pure/internals/define-built-in-accessor.js","../../../node_modules/core-js-pure/internals/set-species.js","../../../node_modules/core-js-pure/internals/an-instance.js","../../../node_modules/core-js-pure/internals/inspect-source.js","../../../node_modules/core-js-pure/internals/is-constructor.js","../../../node_modules/core-js-pure/internals/a-constructor.js","../../../node_modules/core-js-pure/internals/species-constructor.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/core-js-pure/internals/validate-arguments-length.js","../../../node_modules/core-js-pure/internals/environment-is-ios.js","../../../node_modules/core-js-pure/internals/task.js","../../../node_modules/core-js-pure/internals/safe-get-built-in.js","../../../node_modules/core-js-pure/internals/queue.js","../../../node_modules/core-js-pure/internals/environment-is-ios-pebble.js","../../../node_modules/core-js-pure/internals/environment-is-webos-webkit.js","../../../node_modules/core-js-pure/internals/microtask.js","../../../node_modules/core-js-pure/internals/host-report-errors.js","../../../node_modules/core-js-pure/internals/perform.js","../../../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/internal-state.js","../../../node_modules/core-js-pure/internals/promise-native-constructor.js","../../../node_modules/core-js-pure/internals/promise-constructor-detection.js","../../../node_modules/core-js-pure/internals/new-promise-capability.js","../../../node_modules/core-js-pure/modules/es.promise.constructor.js","../../../node_modules/core-js-pure/internals/iterators.js","../../../node_modules/core-js-pure/internals/is-array-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator.js","../../../node_modules/core-js-pure/internals/iterator-close.js","../../../node_modules/core-js-pure/internals/iterate.js","../../../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../../../node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","../../../node_modules/core-js-pure/modules/es.promise.all.js","../../../node_modules/core-js-pure/modules/es.promise.catch.js","../../../node_modules/core-js-pure/modules/es.promise.race.js","../../../node_modules/core-js-pure/modules/es.promise.reject.js","../../../node_modules/core-js-pure/internals/promise-resolve.js","../../../node_modules/core-js-pure/modules/es.promise.resolve.js","../../../node_modules/core-js-pure/modules/es.promise.js","../../../node_modules/core-js-pure/modules/es.promise.with-resolvers.js","../../../node_modules/core-js-pure/es/promise/with-resolvers.js","../../../node_modules/core-js-pure/stable/promise/with-resolvers.js","../../../node_modules/core-js-pure/modules/esnext.promise.with-resolvers.js","../../../node_modules/core-js-pure/actual/promise/with-resolvers.js","../../../node_modules/core-js-pure/full/promise/with-resolvers.js","../../../node_modules/core-js-pure/features/promise/with-resolvers.js","../../base/src/utils/setMetaTag.ts","../../base/src/utils/createBuildInfo.ts","../../base/src/utils/private/once.ts","../../base/src/utils/warnOnce.ts","../../base/src/utils/deprecateObject.ts","../../base/src/utils/isForbiddenPropertyName.ts","../../base/src/utils/isPlainObject.ts","../../base/src/utils/iterateEquals.ts","../../base/src/utils/singleToArray.ts","../../base/src/utils/toSpliced.ts","../../base/src/utils/withResolvers.ts","../../react-hooks/src/useMemoWithPrevious.ts","../../react-hooks/src/useMemoIterable.ts","../src/AddFullBundle.tsx","../src/adaptiveCards/AdaptiveCardsComposer.tsx","../src/codeHighlighter/ShikiComposer.tsx","../../../node_modules/@shikijs/types/dist/index.mjs","../../../node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../../../node_modules/@shikijs/core/dist/shared/core.5hv0Law9.mjs","../../../node_modules/@shikijs/vscode-textmate/dist/index.js","../../../node_modules/html-void-elements/index.js","../../../node_modules/property-information/lib/util/schema.js","../../../node_modules/property-information/lib/util/merge.js","../../../node_modules/property-information/lib/normalize.js","../../../node_modules/property-information/lib/util/info.js","../../../node_modules/property-information/lib/util/types.js","../../../node_modules/property-information/lib/util/defined-info.js","../../../node_modules/property-information/lib/util/create.js","../../../node_modules/property-information/lib/aria.js","../../../node_modules/property-information/lib/util/case-sensitive-transform.js","../../../node_modules/property-information/lib/util/case-insensitive-transform.js","../../../node_modules/property-information/lib/html.js","../../../node_modules/property-information/lib/svg.js","../../../node_modules/property-information/lib/xlink.js","../../../node_modules/property-information/lib/xmlns.js","../../../node_modules/property-information/lib/xml.js","../../../node_modules/property-information/lib/find.js","../../../node_modules/property-information/index.js","../../../node_modules/zwitch/index.js","../../../node_modules/stringify-entities/lib/core.js","../../../node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../node_modules/stringify-entities/lib/util/to-decimal.js","../../../node_modules/character-entities-legacy/index.js","../../../node_modules/character-entities-html4/index.js","../../../node_modules/stringify-entities/lib/constant/dangerous.js","../../../node_modules/stringify-entities/lib/util/to-named.js","../../../node_modules/stringify-entities/lib/util/format-smart.js","../../../node_modules/stringify-entities/lib/index.js","../../../node_modules/hast-util-to-html/lib/handle/comment.js","../../../node_modules/hast-util-to-html/lib/handle/doctype.js","../../../node_modules/ccount/index.js","../../../node_modules/comma-separated-tokens/index.js","../../../node_modules/space-separated-tokens/index.js","../../../node_modules/hast-util-whitespace/lib/index.js","../../../node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../node_modules/hast-util-to-html/lib/omission/omission.js","../../../node_modules/hast-util-to-html/lib/omission/closing.js","../../../node_modules/hast-util-to-html/lib/omission/opening.js","../../../node_modules/hast-util-to-html/lib/handle/element.js","../../../node_modules/hast-util-to-html/lib/handle/text.js","../../../node_modules/hast-util-to-html/lib/handle/raw.js","../../../node_modules/hast-util-to-html/lib/handle/root.js","../../../node_modules/hast-util-to-html/lib/handle/index.js","../../../node_modules/hast-util-to-html/lib/index.js","../../../node_modules/emoji-regex-xs/index.mjs","../../../node_modules/regex/src/utils-internals.js","../../../node_modules/regex-utilities/src/index.js","../../../node_modules/regex/src/atomic.js","../../../node_modules/regex-recursion/src/index.js","../../../node_modules/oniguruma-to-es/src/utils.js","../../../node_modules/oniguruma-to-es/src/options.js","../../../node_modules/oniguruma-to-es/src/unicode.js","../../../node_modules/oniguruma-to-es/src/tokenize.js","../../../node_modules/oniguruma-to-es/src/utils-ast.js","../../../node_modules/oniguruma-to-es/src/traverse.js","../../../node_modules/oniguruma-to-es/src/parse.js","../../../node_modules/oniguruma-to-es/src/transform.js","../../../node_modules/oniguruma-to-es/src/generate.js","../../../node_modules/oniguruma-to-es/src/subclass.js","../../../node_modules/oniguruma-to-es/src/index.js","../../../node_modules/@shikijs/engine-javascript/dist/shared/engine-javascript.hzpS1_41.mjs","../../../node_modules/@shikijs/engine-javascript/dist/engine-compile.mjs","../../../node_modules/@shikijs/core/dist/index.mjs","../../../node_modules/@shikijs/langs/dist/javascript.mjs","../../../node_modules/@shikijs/langs/dist/python.mjs","../../../node_modules/@shikijs/langs/dist/typescript.mjs","../../../node_modules/@shikijs/themes/dist/github-dark-default.mjs","../../../node_modules/@shikijs/themes/dist/github-light-default.mjs","../src/codeHighlighter/shiki.ts","../src/stylesheet/BundleStylesheet.tsx","../../styles/src/private/makeCreateStyles.ts","../src/stylesheet/createBundleStyleElements.ts","../src/useComposerProps.ts","../src/adaptiveCards/Styles/createAdaptiveCardsStyleSet.ts","../src/adaptiveCards/Styles/StyleSet/AdaptiveCardRenderer.ts","../src/adaptiveCards/Styles/StyleSet/AnimationCardAttachment.js","../src/adaptiveCards/Styles/StyleSet/AudioCardAttachment.js","../src/markdown/private/codeBlockDocumentMod.ts","../src/markdown/middleware/createCodeBlockMiddleware.ts","../src/markdown/middleware/createSanitizeMiddleware.ts","../src/markdown/createHTMLContentTransformMiddleware.ts","../src/FullComposer.tsx","../src/boot/actual/component/full.ts"],"sourcesContent":["var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>(a||b((a={exports:{}}).exports,a),a.exports);var l=(b,a,c,e)=>{if(a&&typeof a==\"object\"||typeof a==\"function\")for(let d of i(a))!k.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b};var n=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?f(c,\"default\",{value:b,enumerable:!0}):c,b));export{m as a,n as b};\n//# sourceMappingURL=chunk-73SFLUWV.mjs.map","'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = function () { /* empty */ }.bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n  return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n    : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.49.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n  license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n  var Wrapper = function (a, b, c) {\n    if (this instanceof Wrapper) {\n      switch (arguments.length) {\n        case 0: return new NativeConstructor();\n        case 1: return new NativeConstructor(a);\n        case 2: return new NativeConstructor(a, b);\n      } return new NativeConstructor(a, b, c);\n    } return apply(NativeConstructor, this, arguments);\n  };\n  Wrapper.prototype = NativeConstructor.prototype;\n  return Wrapper;\n};\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var PROTO = options.proto;\n\n  var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n  var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n  var targetPrototype = target.prototype;\n\n  var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n  var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n  for (key in source) {\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contains in native\n    USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n    targetProperty = target[key];\n\n    if (USE_NATIVE) if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(nativeSource, key);\n      nativeProperty = descriptor && descriptor.value;\n    } else nativeProperty = nativeSource[key];\n\n    // export native or implementation\n    sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n    if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n    // bind methods to global for calling from export context\n    if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n    // wrap global constructors for prevent changes in this version\n    else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n    // make static versions for prototype methods\n    else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n    // default case\n    else resultProperty = sourceProperty;\n\n    // add a flag to not completely full polyfills\n    if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(resultProperty, 'sham', true);\n    }\n\n    createNonEnumerableProperty(target, key, resultProperty);\n\n    if (PROTO) {\n      VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n      if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n        createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n      }\n      // export virtual prototype methods\n      createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n      // export real prototype methods\n      if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n        createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n      }\n    }\n  }\n};\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n  if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');\n  return it;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n  else object[key] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.toSpliced` method\n// https://tc39.es/ecma262/#sec-array.prototype.tospliced\n$({ target: 'Array', proto: true }, {\n  toSpliced: function toSpliced(start, deleteCount /* , ...items */) {\n    var O = toIndexedObject(this);\n    var len = lengthOfArrayLike(O);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var k = 0;\n    var insertCount, actualDeleteCount, newLen, A;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n    }\n    newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n    A = $Array(newLen);\n\n    for (; k < actualStart; k++) createProperty(A, k, O[k]);\n    for (; k < actualStart + insertCount; k++) createProperty(A, k, arguments[k - actualStart + 2]);\n    for (; k < newLen; k++) createProperty(A, k, O[k + actualDeleteCount - insertCount]);\n\n    return A;\n  }\n});\n\naddToUnscopables('toSpliced');\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn;\n","'use strict';\nrequire('../../modules/es.array.to-spliced');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'toSpliced');\n","'use strict';\nvar parent = require('../../es/array/to-spliced');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.array.to-spliced');\n","'use strict';\nvar parent = require('../../stable/array/to-spliced');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.array.to-spliced');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/array/to-spliced');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/array/to-spliced');\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n  return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n  if (userAgentStartsWith('Bun/')) return 'BUN';\n  if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n  if (userAgentStartsWith('Deno/')) return 'DENO';\n  if (userAgentStartsWith('Node.js/')) return 'NODE';\n  if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n  if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n  if (classof(globalThis.process) === 'process') return 'NODE';\n  if (globalThis.window && globalThis.document) return 'BROWSER';\n  return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n  if (options && options.enumerable) target[key] = value;\n  else createNonEnumerableProperty(target, key, value);\n  return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n  return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (isPossiblePrototype(argument)) return argument;\n  throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    requireObjectCoercible(O);\n    aPossiblePrototype(proto);\n    if (!isObject(O)) return O;\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n  var target = STATIC ? it : it && it.prototype;\n  if (target) {\n    if (!hasOwn(target, TO_STRING_TAG)) {\n      defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n    }\n    if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n      createNonEnumerableProperty(target, 'toString', toString);\n    }\n  }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineBuiltInAccessor(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, [], argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n  if (isConstructor(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n  if (passed < required) throw new $TypeError('Not enough arguments');\n  return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && /applewebkit/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n  // Deno throws a ReferenceError on `location` access without `--location` flag\n  $location = globalThis.location;\n});\n\nvar run = function (id) {\n  if (hasOwn(queue, id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar eventListener = function (event) {\n  run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n  // old engines have not location.origin\n  globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(handler) {\n    validateArgumentsLength(arguments.length, 1);\n    var fn = isCallable(handler) ? handler : Function(handler);\n    var args = arraySlice(arguments, 1);\n    queue[++counter] = function () {\n      apply(fn, undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (IS_NODE) {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = eventListener;\n    defer = bind(port.postMessage, port);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    globalThis.addEventListener &&\n    isCallable(globalThis.postMessage) &&\n    !globalThis.importScripts &&\n    $location && $location.protocol !== 'file:' &&\n    !fails(globalPostMessageDefer)\n  ) {\n    defer = globalPostMessageDefer;\n    globalThis.addEventListener('message', eventListener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n  if (!DESCRIPTORS) return globalThis[name];\n  var descriptor = getOwnPropertyDescriptor(globalThis, name);\n  return descriptor && descriptor.value;\n};\n","'use strict';\nvar Queue = function () {\n  this.head = null;\n  this.tail = null;\n};\n\nQueue.prototype = {\n  add: function (item) {\n    var entry = { item: item, next: null };\n    var tail = this.tail;\n    if (tail) tail.next = entry;\n    else this.head = entry;\n    this.tail = entry;\n  },\n  get: function () {\n    var entry = this.head;\n    if (entry) {\n      var next = this.head = entry.next;\n      if (next === null) this.tail = null;\n      return entry.item;\n    }\n  }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n  var queue = new Queue();\n\n  var flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (fn = queue.get()) try {\n      fn();\n    } catch (error) {\n      if (queue.head) notify();\n      throw error;\n    }\n    if (parent) parent.enter();\n  };\n\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    // workaround of WebKit ~ iOS Safari 10.1 bug\n    promise.constructor = Promise;\n    then = bind(promise.then, promise);\n    notify = function () {\n      then(flush);\n    };\n  // Node.js without promises\n  } else if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessage\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    // `webpack` dev server bug on IE global methods - use bind(fn, global)\n    macrotask = bind(macrotask, globalThis);\n    notify = function () {\n      macrotask(flush);\n    };\n  }\n\n  microtask = function (fn) {\n    if (!queue.head) notify();\n    queue.add(fn);\n  };\n}\n\nmodule.exports = microtask;\n","'use strict';\nmodule.exports = function (a, b) {\n  try {\n    // eslint-disable-next-line no-console -- safe\n    arguments.length === 1 ? console.error(a) : console.error(a, b);\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  /* eslint-disable no-self-assign -- prototype methods protection */\n  store.get = store.get;\n  store.has = store.has;\n  store.set = store.set;\n  /* eslint-enable no-self-assign -- prototype methods protection */\n  set = function (it, metadata) {\n    if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    store.set(it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return store.get(it) || {};\n  };\n  has = function (it) {\n    return store.has(it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n  // We can't detect it synchronously, so just check versions\n  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n  // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n  if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n    // Detect correctness of subclassing with @@species support\n    var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n    var FakePromise = function (exec) {\n      exec(function () { /* empty */ }, function () { /* empty */ });\n    };\n    var constructor = promise.constructor = {};\n    constructor[SPECIES] = FakePromise;\n    SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n    if (!SUBCLASSING) return true;\n  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n  } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n  CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n  REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n  SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aCallable(resolve);\n  this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n  var value = state.value;\n  var ok = state.state === FULFILLED;\n  var handler = ok ? reaction.ok : reaction.fail;\n  var resolve = reaction.resolve;\n  var reject = reaction.reject;\n  var domain = reaction.domain;\n  var result, then, exited;\n  try {\n    if (handler) {\n      if (!ok) {\n        if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n        state.rejection = HANDLED;\n      }\n      if (handler === true) result = value;\n      else {\n        if (domain) domain.enter();\n        result = handler(value); // can throw\n        if (domain) {\n          domain.exit();\n          exited = true;\n        }\n      }\n      if (result === reaction.promise) {\n        reject(new TypeError('Promise-chain cycle'));\n      } else if (then = isThenable(result)) {\n        call(then, result, resolve, reject);\n      } else resolve(result);\n    } else reject(value);\n  } catch (error) {\n    if (domain && !exited) domain.exit();\n    reject(error);\n  }\n};\n\nvar notify = function (state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  microtask(function () {\n    var reactions = state.reactions;\n    var reaction;\n    while (reaction = reactions.get()) {\n      callReaction(reaction, state);\n    }\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    globalThis.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, state, unwrap) {\n  return function (value) {\n    fn(state, value, unwrap);\n  };\n};\n\nvar internalReject = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          call(then, value,\n            bind(internalResolve, wrapper, state),\n            bind(internalReject, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(state, false);\n    }\n  } catch (error) {\n    internalReject({ done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromisePrototype);\n    aCallable(executor);\n    call(Internal, this);\n    var state = getInternalPromiseState(this);\n    try {\n      executor(bind(internalResolve, state), bind(internalReject, state));\n    } catch (error) {\n      internalReject(state, error);\n    }\n  };\n\n  PromisePrototype = PromiseConstructor.prototype;\n\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: new Queue(),\n      rejection: false,\n      state: PENDING,\n      value: null\n    });\n  };\n\n  // `Promise.prototype.then` method\n  // https://tc39.es/ecma262/#sec-promise.prototype.then\n  Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n    var state = getInternalPromiseState(this);\n    var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n    state.parent = true;\n    reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n    reaction.fail = isCallable(onRejected) && onRejected;\n    reaction.domain = IS_NODE ? process.domain : undefined;\n    if (state.state === PENDING) state.reactions.add(reaction);\n    else microtask(function () {\n      callReaction(reaction, state);\n    });\n    return reaction.promise;\n  });\n\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalPromiseState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, state);\n    this.reject = bind(internalReject, state);\n  };\n\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n    nativeThen = NativePromisePrototype.then;\n\n    if (!NATIVE_PROMISE_SUBCLASSING) {\n      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n      defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n        var that = this;\n        return new PromiseConstructor(function (resolve, reject) {\n          call(nativeThen, that, resolve, reject);\n        }).then(onFulfilled, onRejected);\n      // https://github.com/zloirock/core-js/issues/640\n      }, { unsafe: true });\n    }\n\n    // make `.constructor === Promise` work for native promise-based APIs\n    try {\n      delete NativePromisePrototype.constructor;\n    } catch (error) { /* empty */ }\n\n    // make `instanceof Promise` work for native promise-based APIs\n    if (setPrototypeOf) {\n      setPrototypeOf(NativePromisePrototype, PromisePrototype);\n    }\n  }\n}\n\n// `Promise` constructor\n// https://tc39.es/ecma262/#sec-promise-executor\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  Promise: PromiseConstructor\n});\n\nPromiseWrapper = path.Promise;\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n    || getMethod(it, '@@iterator')\n    || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n  throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n  var innerResult, innerError;\n  anObject(iterator);\n  try {\n    innerResult = getMethod(iterator, 'return');\n    if (!innerResult) {\n      if (kind === 'throw') throw value;\n      return value;\n    }\n    innerResult = call(innerResult, iterator);\n  } catch (error) {\n    innerError = true;\n    innerResult = error;\n  }\n  if (kind === 'throw') throw value;\n  if (innerError) throw innerResult;\n  anObject(innerResult);\n  return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_RECORD = !!(options && options.IS_RECORD);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = bind(unboundFunction, that);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    var $iterator = iterator;\n    iterator = undefined;\n    if ($iterator) iteratorClose($iterator, 'normal');\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_RECORD) {\n    iterator = iterable.iterator;\n  } else if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && isPrototypeOf(ResultPrototype, result)) return result;\n      } return new Result(false);\n    }\n    iterator = getIterator(iterable, iterFn);\n  }\n\n  next = IS_RECORD ? iterable.next : iterator.next;\n  while (!(step = call(next, iterator)).done) {\n    // `IteratorValue` errors should propagate without closing the iterator\n    var value = step.value;\n    try {\n      result = callFn(value);\n    } catch (error) {\n      if (iterator) iteratorClose(iterator, 'throw', error);\n      else throw error;\n    }\n    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n  } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  try {\n    if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n  NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        remaining++;\n        call($promiseResolve, C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n  'catch': function (onRejected) {\n    return this.then(undefined, onRejected);\n  }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n  var method = getBuiltIn('Promise').prototype['catch'];\n  if (NativePromisePrototype['catch'] !== method) {\n    defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n  }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      iterate(iterable, function (promise) {\n        call($promiseResolve, C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  reject: function reject(r) {\n    var capability = newPromiseCapabilityModule.f(this);\n    var capabilityReject = capability.reject;\n    capabilityReject(r);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n  resolve: function resolve(x) {\n    return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n  }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\n// `Promise.withResolvers` method\n// https://tc39.es/ecma262/#sec-promise.withResolvers\n$({ target: 'Promise', stat: true }, {\n  withResolvers: function withResolvers() {\n    var promiseCapability = newPromiseCapabilityModule.f(this);\n    return {\n      promise: promiseCapability.promise,\n      resolve: promiseCapability.resolve,\n      reject: promiseCapability.reject\n    };\n  }\n});\n","'use strict';\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.with-resolvers');\nvar call = require('../../internals/function-call');\nvar isCallable = require('../../internals/is-callable');\nvar path = require('../../internals/path');\n\nvar Promise = path.Promise;\nvar promiseWithResolvers = Promise.withResolvers;\n\nmodule.exports = function withResolvers() {\n  return call(promiseWithResolvers, isCallable(this) ? this : Promise);\n};\n","'use strict';\nvar parent = require('../../es/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.with-resolvers');\n","'use strict';\nvar parent = require('../../stable/promise/with-resolvers');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/promise/with-resolvers');\n","/// <reference lib=\"dom\" />\n\n// Courtesy of https://stackoverflow.com/a/67243723.\nfunction kebabCase(value: string): string {\n  return value.replace(/[A-Z]+(?![a-z])|[A-Z]/gu, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\n}\n\nexport default function setMetaTag(name: string, content: string): void;\nexport default function setMetaTag(name: string, contentMap: ReadonlyMap<string, string | undefined>): void;\n\nexport default function setMetaTag(name: string, contentMap: ReadonlyMap<string, string | undefined> | string): void {\n  try {\n    const { document } = globalThis;\n\n    if (typeof document !== 'undefined' && document.createElement && document.head && document.head.appendChild) {\n      const meta = document.querySelector(`html meta[name=\"${encodeURI(name)}\"]`) || document.createElement('meta');\n\n      meta.setAttribute('name', name);\n      meta.setAttribute(\n        'content',\n        typeof contentMap === 'string'\n          ? contentMap\n          : Array.from(contentMap.entries())\n              .map(([key, value]) => {\n                const name = kebabCase(encodeURIComponent(key));\n\n                return typeof value === 'undefined' ? name : `${name}=${encodeURIComponent(value)}`;\n              })\n              .join('; ')\n      );\n\n      document.head.appendChild(meta);\n    }\n  } catch {\n    // Intentionally left blank.\n  }\n}\n","import setMetaTag from './setMetaTag';\n\ntype BaseBuildInfoObject = {\n  readonly buildTool?: string | undefined;\n  readonly moduleFormat?: string | undefined;\n  readonly version?: string | undefined;\n};\n\ninterface ReadonlyBuildInfo {\n  get name(): string;\n  get object(): BaseBuildInfoObject;\n  get version(): string | undefined;\n\n  delete(key: string): void;\n  get(key: string): string | undefined;\n  set(key: 'variant', value: 'full' | 'full-es5' | 'minimal'): void;\n  set(key: string, value: string | undefined): void;\n}\n\nclass BuildInfo implements ReadonlyBuildInfo {\n  constructor(name: string) {\n    this.#name = name;\n  }\n\n  #map = new Map<string, string | undefined>();\n  #name: string;\n  #object: BaseBuildInfoObject = {};\n\n  get name() {\n    return this.#name;\n  }\n\n  get object() {\n    return this.#object;\n  }\n\n  get version(): string | undefined {\n    return this.#map.get('version');\n  }\n\n  #commit() {\n    setMetaTag(this.name, this.#map);\n\n    this.version && setMetaTag(`${this.name}:version`, this.version);\n  }\n\n  delete(key: string) {\n    this.#map.delete(key);\n  }\n\n  get(key: string): string | undefined {\n    return this.#map.get(key);\n  }\n\n  set(key: string, value: string | undefined): void {\n    this.#map.set(key, value);\n\n    Object.defineProperty(this.#object, key, {\n      configurable: true,\n      enumerable: true,\n      value,\n      writable: false\n    });\n\n    this.#commit();\n  }\n}\n\nfunction createBuildInfo(name: 'botframework-webchat' | `botframework-webchat:${string}`): ReadonlyBuildInfo {\n  return new BuildInfo(name);\n}\n\nexport default createBuildInfo;\nexport { type BuildInfo, type ReadonlyBuildInfo };\n","export default function once<P extends any[]>(fn: (...args: P) => void): (...args: P) => void {\n  let done = false;\n\n  return (...args) => {\n    if (!done) {\n      fn(...args);\n      done = true;\n    }\n  };\n}\n","import once from './private/once';\n\nexport default function warnOnce(message: string): (...args: any[]) => void {\n  return once((...args: any[]) => console.warn(`botframework-webchat: ${message}`, ...args));\n}\n","import warnOnce from './warnOnce';\n\nconst PROPERTY_DENYLIST = new Set<string | symbol>([\n  '__defineGetter__',\n  '__defineSetter__',\n  '__lookupGetter__',\n  '__lookupSetter__',\n  '__proto__',\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'prototype',\n  'toString',\n  'valueOf'\n]);\n\nexport default function deprecateObject<T extends { [key: string | symbol]: any }>(namespace: T, message: string): T {\n  const warnDeprecation = warnOnce(message);\n\n  return new Proxy<T>(namespace, {\n    get(target, p) {\n      if (\n        !PROPERTY_DENYLIST.has(p) &&\n        (typeof p === 'string'\n          ? Object.getOwnPropertyNames(target).includes(p)\n          : Object.getOwnPropertySymbols(target).includes(p))\n      ) {\n        warnDeprecation(p);\n\n        // Only can get own properties.\n        // eslint-disable-next-line security/detect-object-injection\n        return target[p];\n      }\n    }\n  });\n}\n","const FORBIDDEN_PROPERTY_NAMES: readonly string[] = Object.freeze(\n  Array.from(\n    new Set([\n      // As-of writing, `Object.prototype` includes:\n      //   __defineGetter__\n      //   __defineSetter__\n      //   __lookupGetter__\n      //   __lookupSetter\n      //   __proto__\n      //   constructor\n      //   hasOwnProperty\n      //   isPrototypeOf\n      //   propertyIsEnumerable\n      //   toLocaleString\n      //   toString\n      //   valueOf\n      ...Object.getOwnPropertyNames(Object.prototype),\n\n      'prototype'\n    ])\n  )\n);\n\nexport default function isForbiddenPropertyName(propertyName: string): boolean {\n  return FORBIDDEN_PROPERTY_NAMES.includes(propertyName);\n}\n","const OBJECT_PROTOTYPE = Object.prototype;\n\nexport default function isPlainObject(obj: unknown): boolean {\n  return Object.getPrototypeOf(obj) === OBJECT_PROTOTYPE;\n}\n","const MAX_ITERATION = 1_000_000;\n\nexport default function iterateEquals<T>(x: Iterable<T>, y: Iterable<T>): boolean {\n  const xIterator = x[Symbol.iterator]();\n  const yIterator = y[Symbol.iterator]();\n\n  if (Object.is(xIterator, yIterator)) {\n    throw new Error('Must not pass same instance twice');\n  }\n\n  for (let count = 0; count < MAX_ITERATION; count++) {\n    const resultX = xIterator.next();\n    const resultY = yIterator.next();\n\n    const { done: xDone } = resultX;\n    const { done: yDone } = resultY;\n\n    if (xDone && yDone) {\n      return true;\n    } else if (xDone || yDone || !Object.is(resultX.value, resultY.value)) {\n      break;\n    }\n  }\n\n  return false;\n}\n","const EMPTY_ARRAY: readonly any[] = Object.freeze([]);\n\n/** @deprecated Will be removed on or after 2028-03-16. */\nexport default function singleToArray<T>(singleOrArray: T | readonly T[]): readonly T[] {\n  return typeof singleOrArray === 'undefined'\n    ? (EMPTY_ARRAY as readonly T[])\n    : Object.freeze(Array.isArray(singleOrArray) ? [...singleOrArray] : [singleOrArray]);\n}\n","// @ts-expect-error: no types available\nimport coreJSToSpliced from 'core-js-pure/features/array/to-spliced.js';\n\nexport default function toSpliced<T>(array: readonly T[], start: number, deleteCount: number, ...items: T[]): T[] {\n  return coreJSToSpliced(array, start, deleteCount, ...items);\n}\n","// Promise.withResolvers() is about 90 KiB.\n// @ts-expect-error: no types available\nimport coreJSWithResolvers from 'core-js-pure/features/promise/with-resolvers.js';\n\nexport type PromiseWithResolvers<T> = {\n  promise: Promise<T>;\n  reject: (error: unknown) => void;\n  resolve: (value: T) => void;\n};\n\nexport default function withResolvers<T>(): PromiseWithResolvers<T> {\n  return coreJSWithResolvers();\n}\n","export {\n  AccessKeySinkSurface,\n  AttachmentBar,\n  AudioContent,\n  Avatar,\n  BasicConnectivityStatus,\n  BasicSendBox,\n  BasicSendBoxToolbar,\n  BasicToaster,\n  BasicTranscript,\n  BasicWebChat,\n  Bubble,\n  Composer,\n  DictationInterims,\n  ErrorBox,\n  FileContent,\n  HTMLVideoContent,\n  ImageContent,\n  LocalizedString,\n  MicrophoneButton,\n  ReactWebChat,\n  SendButton,\n  SendStatus,\n  SendTextBox,\n  SpeakActivity,\n  SuggestedActions,\n  TextArea,\n  TextContent,\n  ThemeProvider,\n  Timestamp,\n  UploadButton,\n  VideoContent,\n  VimeoContent,\n  YouTubeContent,\n  type BasicWebChatProps,\n  type ComposerProps,\n  type ReactWebChatProps\n} from 'botframework-webchat-component/component.js';\n","import { type ReactNode } from 'react';\nimport { custom, type CustomIssue, type CustomSchema, type ErrorMessage } from 'valibot';\n\nfunction reactNode(): CustomSchema<ReactNode, undefined>;\n\nfunction reactNode<\n  const TMessage extends ErrorMessage<CustomIssue> | undefined = ErrorMessage<CustomIssue> | undefined\n>(message: TMessage): CustomSchema<ReactNode, TMessage>;\n\nfunction reactNode<\n  const TMessage extends ErrorMessage<CustomIssue> | undefined = ErrorMessage<CustomIssue> | undefined\n>(message?: TMessage): CustomSchema<ReactNode, TMessage> {\n  return custom<ReactNode, TMessage>(\n    () => true,\n    // TODO: Probably lacking some undefined checks, thus, we need to force cast.\n    message as TMessage\n  );\n}\n\nexport default reactNode;\n","import { is, parse, type BaseIssue, type BaseSchema, type InferInput, type InferOutput } from 'valibot';\n\n/**\n * Specifies the props isolation mode.\n *\n * - `\"no isolation\"` will return the props as-is without cloning or modifications\n * - `\"strict\"` will isolate the props using `valibot.parse()`\n *    - Depends on schema design, it could clone object instances, remove extraneous properties from objects, or fill in optional fields\n */\ntype IsolationMode = 'no isolation' | 'strict';\n\ndeclare const process: {\n  env: {\n    NODE_ENV?: string | undefined;\n  };\n};\n\nexport default function validateProps<const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(\n  propsSchema: TSchema,\n  props: unknown,\n  isolationMode?: 'no isolation' | undefined\n): InferInput<TSchema>;\n\nexport default function validateProps<const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(\n  propsSchema: TSchema,\n  props: unknown,\n  isolationMode?: 'strict'\n): InferOutput<TSchema>;\n\n/**\n * Validates props against the specified valibot schema when running under development mode.\n *\n * This function will not perform any validations when running under production mode.\n *\n * @param propsSchema validation schema\n * @param props props to validate\n * @param mode specifies the isolation mode, default to `\"no isolation\"`\n * @returns\n */\nexport default function validateProps<const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(\n  propsSchema: TSchema,\n  props: InferInput<TSchema>,\n  isolationMode?: IsolationMode | undefined\n): InferInput<TSchema> | InferOutput<TSchema> {\n  // When an error boundary caught an error, React will render some components again with `props` of `undefined`.\n  if (typeof props === 'undefined') {\n    // This is probably React rendering while an error is caught, assume it is okay.\n    return;\n  }\n\n  if (process.env.NODE_ENV === 'production') {\n    return props as unknown as InferInput<TSchema>;\n  }\n\n  if (isolationMode !== 'strict' && is(propsSchema, props)) {\n    return props as unknown as InferInput<TSchema>;\n  }\n\n  // Code path hit here when under strict isolation, or no isolation and failed earlier.\n\n  try {\n    return parse(propsSchema, props);\n  } catch (error) {\n    const validationError = new Error('botframework-webchat: Validation error while parsing props.');\n\n    console.error(validationError, error && typeof error === 'object' && 'issues' in error && error.issues);\n\n    validationError.cause = error;\n\n    throw validationError;\n  }\n}\n","import { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport React, { memo, useMemo } from 'react';\nimport { any, boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport useParseAdaptiveCardJSON from '../hooks/internal/useParseAdaptiveCardJSON';\nimport AdaptiveCardRenderer from './AdaptiveCardRenderer';\n\nfunction stripSubmitAction(card) {\n  if (!card.actions) {\n    return card;\n  }\n\n  // Filter out HTTP action buttons\n  const nextActions = card.actions\n    .filter(action => action.type !== 'Action.Submit')\n    .map(action => (action.type === 'Action.ShowCard' ? { ...action, card: stripSubmitAction(action.card) } : action));\n\n  return { ...card, nextActions };\n}\n\nconst adaptiveCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: optional(any()),\n    disabled: optional(boolean()),\n    replyToId: optional(string())\n  }),\n  readonly()\n);\n\ntype AdaptiveCardContentProps = InferInput<typeof adaptiveCardContentPropsSchema>;\n\nfunction AdaptiveCardContent(props: AdaptiveCardContentProps) {\n  const { actionPerformedClassName, content, disabled, replyToId } = validateProps(\n    adaptiveCardContentPropsSchema,\n    props\n  );\n\n  const parseAdaptiveCardJSON = useParseAdaptiveCardJSON();\n\n  const card = useMemo(\n    () =>\n      parseAdaptiveCardJSON(\n        stripSubmitAction({\n          version: '1.0',\n          ...(typeof content === 'object' ? content : {})\n        }),\n        { ignoreErrors: true }\n      ),\n    [content, parseAdaptiveCardJSON]\n  );\n\n  return (\n    !!card && (\n      <AdaptiveCardRenderer\n        actionPerformedClassName={actionPerformedClassName}\n        adaptiveCard={card}\n        disabled={disabled}\n        replyToId={replyToId}\n      />\n    )\n  );\n}\n\nexport default memo(AdaptiveCardContent);\nexport { adaptiveCardContentPropsSchema, type AdaptiveCardContentProps };\n","import { hooks } from 'botframework-webchat-component';\nimport { useCallback, useMemo } from 'react';\n\nimport useAdaptiveCardsPackage from '../useAdaptiveCardsPackage';\nimport useStyleOptions from '../../../hooks/useStyleOptions';\n\nconst { useDirection } = hooks;\n\nfunction updateRTLInline(element, rtl, adaptiveCardsPackage) {\n  if (element instanceof adaptiveCardsPackage.Container) {\n    element.rtl = rtl;\n  }\n\n  // Tree traversal to add rtl boolean to child elements\n  if (element.getItemAt && element.getItemCount) {\n    const count = element.getItemCount();\n\n    for (let index = 0; index < count; index++) {\n      const child = element.getItemAt(index);\n\n      updateRTLInline(child, rtl, adaptiveCardsPackage);\n    }\n  }\n}\n\nexport default function useParseAdaptiveCardJSON() {\n  const [adaptiveCardsPackage] = useAdaptiveCardsPackage();\n  const [direction] = useDirection();\n  const [{ adaptiveCardsParserMaxVersion }] = useStyleOptions();\n\n  const { AdaptiveCard, OpenUrlAction, SerializationContext, Version } = adaptiveCardsPackage;\n\n  const maxVersion = useMemo(() => {\n    const maxVersion = Version.parse(adaptiveCardsParserMaxVersion, new SerializationContext());\n\n    if (maxVersion && !maxVersion.isValid) {\n      console.warn('botframework-webchat: \"adaptiveCardsParserMaxVersion\" specified is not a valid version.');\n\n      return;\n    }\n\n    return maxVersion;\n  }, [adaptiveCardsParserMaxVersion, SerializationContext, Version]);\n\n  return useCallback(\n    (content, { ignoreErrors = false } = {}) => {\n      if (!content) {\n        return;\n      }\n\n      const card = new AdaptiveCard();\n      const errors = [];\n      const serializationContext = new SerializationContext(maxVersion);\n\n      serializationContext.actionRegistry.register(\n        'Action.OpenUrlDialog',\n        // Adaptive Cards own `OpenUrlAction.JsonTypeName` was not made extensible.\n        // @ts-expect-error\n        class OpenUrlDialogAction extends OpenUrlAction {\n          static readonly JsonTypeName: string = 'Action.OpenUrlDialog';\n\n          // eslint-disable-next-line class-methods-use-this\n          getJsonTypeName(): string {\n            return OpenUrlDialogAction.JsonTypeName;\n          }\n        }\n      );\n\n      card.parse(content, serializationContext);\n\n      const { eventCount } = serializationContext;\n\n      for (let i = 0; i < eventCount; i++) {\n        errors.push(serializationContext.getEventAt(i));\n      }\n\n      if (!ignoreErrors && errors.length) {\n        console.error('botframework-webchat: Failed to parse Adaptive Card', { errors });\n\n        throw new Error('botframework-webchat: Failed to parse Adaptive Card');\n      }\n\n      updateRTLInline(card, direction === 'rtl', adaptiveCardsPackage);\n\n      return card;\n    },\n    [AdaptiveCard, adaptiveCardsPackage, direction, maxVersion, OpenUrlAction, SerializationContext]\n  );\n}\n","var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>(a||b((a={exports:{}}).exports,a),a.exports);var l=(b,a,c,e)=>{if(a&&typeof a==\"object\"||typeof a==\"function\")for(let d of i(a))!k.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b};var n=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?f(c,\"default\",{value:b,enumerable:!0}):c,b));export{m as a,n as b};\n//# sourceMappingURL=chunk-73SFLUWV.mjs.map","'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = function () { /* empty */ }.bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n  return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n    : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.49.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n  license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n  var Wrapper = function (a, b, c) {\n    if (this instanceof Wrapper) {\n      switch (arguments.length) {\n        case 0: return new NativeConstructor();\n        case 1: return new NativeConstructor(a);\n        case 2: return new NativeConstructor(a, b);\n      } return new NativeConstructor(a, b, c);\n    } return apply(NativeConstructor, this, arguments);\n  };\n  Wrapper.prototype = NativeConstructor.prototype;\n  return Wrapper;\n};\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var PROTO = options.proto;\n\n  var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n  var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n  var targetPrototype = target.prototype;\n\n  var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n  var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n  for (key in source) {\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contains in native\n    USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n    targetProperty = target[key];\n\n    if (USE_NATIVE) if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(nativeSource, key);\n      nativeProperty = descriptor && descriptor.value;\n    } else nativeProperty = nativeSource[key];\n\n    // export native or implementation\n    sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n    if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n    // bind methods to global for calling from export context\n    if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n    // wrap global constructors for prevent changes in this version\n    else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n    // make static versions for prototype methods\n    else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n    // default case\n    else resultProperty = sourceProperty;\n\n    // add a flag to not completely full polyfills\n    if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(resultProperty, 'sham', true);\n    }\n\n    createNonEnumerableProperty(target, key, resultProperty);\n\n    if (PROTO) {\n      VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n      if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n        createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n      }\n      // export virtual prototype methods\n      createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n      // export real prototype methods\n      if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n        createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n      }\n    }\n  }\n};\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n  if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');\n  return it;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n  else object[key] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.toSpliced` method\n// https://tc39.es/ecma262/#sec-array.prototype.tospliced\n$({ target: 'Array', proto: true }, {\n  toSpliced: function toSpliced(start, deleteCount /* , ...items */) {\n    var O = toIndexedObject(this);\n    var len = lengthOfArrayLike(O);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var k = 0;\n    var insertCount, actualDeleteCount, newLen, A;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n    }\n    newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n    A = $Array(newLen);\n\n    for (; k < actualStart; k++) createProperty(A, k, O[k]);\n    for (; k < actualStart + insertCount; k++) createProperty(A, k, arguments[k - actualStart + 2]);\n    for (; k < newLen; k++) createProperty(A, k, O[k + actualDeleteCount - insertCount]);\n\n    return A;\n  }\n});\n\naddToUnscopables('toSpliced');\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn;\n","'use strict';\nrequire('../../modules/es.array.to-spliced');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'toSpliced');\n","'use strict';\nvar parent = require('../../es/array/to-spliced');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.array.to-spliced');\n","'use strict';\nvar parent = require('../../stable/array/to-spliced');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.array.to-spliced');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/array/to-spliced');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/array/to-spliced');\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n  return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n  if (userAgentStartsWith('Bun/')) return 'BUN';\n  if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n  if (userAgentStartsWith('Deno/')) return 'DENO';\n  if (userAgentStartsWith('Node.js/')) return 'NODE';\n  if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n  if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n  if (classof(globalThis.process) === 'process') return 'NODE';\n  if (globalThis.window && globalThis.document) return 'BROWSER';\n  return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n  if (options && options.enumerable) target[key] = value;\n  else createNonEnumerableProperty(target, key, value);\n  return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n  return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (isPossiblePrototype(argument)) return argument;\n  throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    requireObjectCoercible(O);\n    aPossiblePrototype(proto);\n    if (!isObject(O)) return O;\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n  var target = STATIC ? it : it && it.prototype;\n  if (target) {\n    if (!hasOwn(target, TO_STRING_TAG)) {\n      defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n    }\n    if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n      createNonEnumerableProperty(target, 'toString', toString);\n    }\n  }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineBuiltInAccessor(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, [], argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n  if (isConstructor(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n  if (passed < required) throw new $TypeError('Not enough arguments');\n  return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && /applewebkit/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n  // Deno throws a ReferenceError on `location` access without `--location` flag\n  $location = globalThis.location;\n});\n\nvar run = function (id) {\n  if (hasOwn(queue, id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar eventListener = function (event) {\n  run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n  // old engines have not location.origin\n  globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(handler) {\n    validateArgumentsLength(arguments.length, 1);\n    var fn = isCallable(handler) ? handler : Function(handler);\n    var args = arraySlice(arguments, 1);\n    queue[++counter] = function () {\n      apply(fn, undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (IS_NODE) {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = eventListener;\n    defer = bind(port.postMessage, port);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    globalThis.addEventListener &&\n    isCallable(globalThis.postMessage) &&\n    !globalThis.importScripts &&\n    $location && $location.protocol !== 'file:' &&\n    !fails(globalPostMessageDefer)\n  ) {\n    defer = globalPostMessageDefer;\n    globalThis.addEventListener('message', eventListener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n  if (!DESCRIPTORS) return globalThis[name];\n  var descriptor = getOwnPropertyDescriptor(globalThis, name);\n  return descriptor && descriptor.value;\n};\n","'use strict';\nvar Queue = function () {\n  this.head = null;\n  this.tail = null;\n};\n\nQueue.prototype = {\n  add: function (item) {\n    var entry = { item: item, next: null };\n    var tail = this.tail;\n    if (tail) tail.next = entry;\n    else this.head = entry;\n    this.tail = entry;\n  },\n  get: function () {\n    var entry = this.head;\n    if (entry) {\n      var next = this.head = entry.next;\n      if (next === null) this.tail = null;\n      return entry.item;\n    }\n  }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n  var queue = new Queue();\n\n  var flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (fn = queue.get()) try {\n      fn();\n    } catch (error) {\n      if (queue.head) notify();\n      throw error;\n    }\n    if (parent) parent.enter();\n  };\n\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    // workaround of WebKit ~ iOS Safari 10.1 bug\n    promise.constructor = Promise;\n    then = bind(promise.then, promise);\n    notify = function () {\n      then(flush);\n    };\n  // Node.js without promises\n  } else if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessage\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    // `webpack` dev server bug on IE global methods - use bind(fn, global)\n    macrotask = bind(macrotask, globalThis);\n    notify = function () {\n      macrotask(flush);\n    };\n  }\n\n  microtask = function (fn) {\n    if (!queue.head) notify();\n    queue.add(fn);\n  };\n}\n\nmodule.exports = microtask;\n","'use strict';\nmodule.exports = function (a, b) {\n  try {\n    // eslint-disable-next-line no-console -- safe\n    arguments.length === 1 ? console.error(a) : console.error(a, b);\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  /* eslint-disable no-self-assign -- prototype methods protection */\n  store.get = store.get;\n  store.has = store.has;\n  store.set = store.set;\n  /* eslint-enable no-self-assign -- prototype methods protection */\n  set = function (it, metadata) {\n    if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    store.set(it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return store.get(it) || {};\n  };\n  has = function (it) {\n    return store.has(it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n  // We can't detect it synchronously, so just check versions\n  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n  // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n  if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n    // Detect correctness of subclassing with @@species support\n    var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n    var FakePromise = function (exec) {\n      exec(function () { /* empty */ }, function () { /* empty */ });\n    };\n    var constructor = promise.constructor = {};\n    constructor[SPECIES] = FakePromise;\n    SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n    if (!SUBCLASSING) return true;\n  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n  } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n  CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n  REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n  SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aCallable(resolve);\n  this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n  var value = state.value;\n  var ok = state.state === FULFILLED;\n  var handler = ok ? reaction.ok : reaction.fail;\n  var resolve = reaction.resolve;\n  var reject = reaction.reject;\n  var domain = reaction.domain;\n  var result, then, exited;\n  try {\n    if (handler) {\n      if (!ok) {\n        if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n        state.rejection = HANDLED;\n      }\n      if (handler === true) result = value;\n      else {\n        if (domain) domain.enter();\n        result = handler(value); // can throw\n        if (domain) {\n          domain.exit();\n          exited = true;\n        }\n      }\n      if (result === reaction.promise) {\n        reject(new TypeError('Promise-chain cycle'));\n      } else if (then = isThenable(result)) {\n        call(then, result, resolve, reject);\n      } else resolve(result);\n    } else reject(value);\n  } catch (error) {\n    if (domain && !exited) domain.exit();\n    reject(error);\n  }\n};\n\nvar notify = function (state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  microtask(function () {\n    var reactions = state.reactions;\n    var reaction;\n    while (reaction = reactions.get()) {\n      callReaction(reaction, state);\n    }\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    globalThis.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, state, unwrap) {\n  return function (value) {\n    fn(state, value, unwrap);\n  };\n};\n\nvar internalReject = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          call(then, value,\n            bind(internalResolve, wrapper, state),\n            bind(internalReject, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(state, false);\n    }\n  } catch (error) {\n    internalReject({ done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromisePrototype);\n    aCallable(executor);\n    call(Internal, this);\n    var state = getInternalPromiseState(this);\n    try {\n      executor(bind(internalResolve, state), bind(internalReject, state));\n    } catch (error) {\n      internalReject(state, error);\n    }\n  };\n\n  PromisePrototype = PromiseConstructor.prototype;\n\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: new Queue(),\n      rejection: false,\n      state: PENDING,\n      value: null\n    });\n  };\n\n  // `Promise.prototype.then` method\n  // https://tc39.es/ecma262/#sec-promise.prototype.then\n  Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n    var state = getInternalPromiseState(this);\n    var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n    state.parent = true;\n    reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n    reaction.fail = isCallable(onRejected) && onRejected;\n    reaction.domain = IS_NODE ? process.domain : undefined;\n    if (state.state === PENDING) state.reactions.add(reaction);\n    else microtask(function () {\n      callReaction(reaction, state);\n    });\n    return reaction.promise;\n  });\n\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalPromiseState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, state);\n    this.reject = bind(internalReject, state);\n  };\n\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n    nativeThen = NativePromisePrototype.then;\n\n    if (!NATIVE_PROMISE_SUBCLASSING) {\n      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n      defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n        var that = this;\n        return new PromiseConstructor(function (resolve, reject) {\n          call(nativeThen, that, resolve, reject);\n        }).then(onFulfilled, onRejected);\n      // https://github.com/zloirock/core-js/issues/640\n      }, { unsafe: true });\n    }\n\n    // make `.constructor === Promise` work for native promise-based APIs\n    try {\n      delete NativePromisePrototype.constructor;\n    } catch (error) { /* empty */ }\n\n    // make `instanceof Promise` work for native promise-based APIs\n    if (setPrototypeOf) {\n      setPrototypeOf(NativePromisePrototype, PromisePrototype);\n    }\n  }\n}\n\n// `Promise` constructor\n// https://tc39.es/ecma262/#sec-promise-executor\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  Promise: PromiseConstructor\n});\n\nPromiseWrapper = path.Promise;\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n    || getMethod(it, '@@iterator')\n    || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n  throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n  var innerResult, innerError;\n  anObject(iterator);\n  try {\n    innerResult = getMethod(iterator, 'return');\n    if (!innerResult) {\n      if (kind === 'throw') throw value;\n      return value;\n    }\n    innerResult = call(innerResult, iterator);\n  } catch (error) {\n    innerError = true;\n    innerResult = error;\n  }\n  if (kind === 'throw') throw value;\n  if (innerError) throw innerResult;\n  anObject(innerResult);\n  return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_RECORD = !!(options && options.IS_RECORD);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = bind(unboundFunction, that);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    var $iterator = iterator;\n    iterator = undefined;\n    if ($iterator) iteratorClose($iterator, 'normal');\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_RECORD) {\n    iterator = iterable.iterator;\n  } else if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && isPrototypeOf(ResultPrototype, result)) return result;\n      } return new Result(false);\n    }\n    iterator = getIterator(iterable, iterFn);\n  }\n\n  next = IS_RECORD ? iterable.next : iterator.next;\n  while (!(step = call(next, iterator)).done) {\n    // `IteratorValue` errors should propagate without closing the iterator\n    var value = step.value;\n    try {\n      result = callFn(value);\n    } catch (error) {\n      if (iterator) iteratorClose(iterator, 'throw', error);\n      else throw error;\n    }\n    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n  } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  try {\n    if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n  NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        remaining++;\n        call($promiseResolve, C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n  'catch': function (onRejected) {\n    return this.then(undefined, onRejected);\n  }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n  var method = getBuiltIn('Promise').prototype['catch'];\n  if (NativePromisePrototype['catch'] !== method) {\n    defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n  }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      iterate(iterable, function (promise) {\n        call($promiseResolve, C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  reject: function reject(r) {\n    var capability = newPromiseCapabilityModule.f(this);\n    var capabilityReject = capability.reject;\n    capabilityReject(r);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n  resolve: function resolve(x) {\n    return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n  }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\n// `Promise.withResolvers` method\n// https://tc39.es/ecma262/#sec-promise.withResolvers\n$({ target: 'Promise', stat: true }, {\n  withResolvers: function withResolvers() {\n    var promiseCapability = newPromiseCapabilityModule.f(this);\n    return {\n      promise: promiseCapability.promise,\n      resolve: promiseCapability.resolve,\n      reject: promiseCapability.reject\n    };\n  }\n});\n","'use strict';\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.with-resolvers');\nvar call = require('../../internals/function-call');\nvar isCallable = require('../../internals/is-callable');\nvar path = require('../../internals/path');\n\nvar Promise = path.Promise;\nvar promiseWithResolvers = Promise.withResolvers;\n\nmodule.exports = function withResolvers() {\n  return call(promiseWithResolvers, isCallable(this) ? this : Promise);\n};\n","'use strict';\nvar parent = require('../../es/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.with-resolvers');\n","'use strict';\nvar parent = require('../../stable/promise/with-resolvers');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/promise/with-resolvers');\n","/// <reference lib=\"dom\" />\n\n// Courtesy of https://stackoverflow.com/a/67243723.\nfunction kebabCase(value: string): string {\n  return value.replace(/[A-Z]+(?![a-z])|[A-Z]/gu, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\n}\n\nexport default function setMetaTag(name: string, content: string): void;\nexport default function setMetaTag(name: string, contentMap: ReadonlyMap<string, string | undefined>): void;\n\nexport default function setMetaTag(name: string, contentMap: ReadonlyMap<string, string | undefined> | string): void {\n  try {\n    const { document } = globalThis;\n\n    if (typeof document !== 'undefined' && document.createElement && document.head && document.head.appendChild) {\n      const meta = document.querySelector(`html meta[name=\"${encodeURI(name)}\"]`) || document.createElement('meta');\n\n      meta.setAttribute('name', name);\n      meta.setAttribute(\n        'content',\n        typeof contentMap === 'string'\n          ? contentMap\n          : Array.from(contentMap.entries())\n              .map(([key, value]) => {\n                const name = kebabCase(encodeURIComponent(key));\n\n                return typeof value === 'undefined' ? name : `${name}=${encodeURIComponent(value)}`;\n              })\n              .join('; ')\n      );\n\n      document.head.appendChild(meta);\n    }\n  } catch {\n    // Intentionally left blank.\n  }\n}\n","import setMetaTag from './setMetaTag';\n\ntype BaseBuildInfoObject = {\n  readonly buildTool?: string | undefined;\n  readonly moduleFormat?: string | undefined;\n  readonly version?: string | undefined;\n};\n\ninterface ReadonlyBuildInfo {\n  get name(): string;\n  get object(): BaseBuildInfoObject;\n  get version(): string | undefined;\n\n  delete(key: string): void;\n  get(key: string): string | undefined;\n  set(key: 'variant', value: 'full' | 'full-es5' | 'minimal'): void;\n  set(key: string, value: string | undefined): void;\n}\n\nclass BuildInfo implements ReadonlyBuildInfo {\n  constructor(name: string) {\n    this.#name = name;\n  }\n\n  #map = new Map<string, string | undefined>();\n  #name: string;\n  #object: BaseBuildInfoObject = {};\n\n  get name() {\n    return this.#name;\n  }\n\n  get object() {\n    return this.#object;\n  }\n\n  get version(): string | undefined {\n    return this.#map.get('version');\n  }\n\n  #commit() {\n    setMetaTag(this.name, this.#map);\n\n    this.version && setMetaTag(`${this.name}:version`, this.version);\n  }\n\n  delete(key: string) {\n    this.#map.delete(key);\n  }\n\n  get(key: string): string | undefined {\n    return this.#map.get(key);\n  }\n\n  set(key: string, value: string | undefined): void {\n    this.#map.set(key, value);\n\n    Object.defineProperty(this.#object, key, {\n      configurable: true,\n      enumerable: true,\n      value,\n      writable: false\n    });\n\n    this.#commit();\n  }\n}\n\nfunction createBuildInfo(name: 'botframework-webchat' | `botframework-webchat:${string}`): ReadonlyBuildInfo {\n  return new BuildInfo(name);\n}\n\nexport default createBuildInfo;\nexport { type BuildInfo, type ReadonlyBuildInfo };\n","export default function once<P extends any[]>(fn: (...args: P) => void): (...args: P) => void {\n  let done = false;\n\n  return (...args) => {\n    if (!done) {\n      fn(...args);\n      done = true;\n    }\n  };\n}\n","import once from './private/once';\n\nexport default function warnOnce(message: string): (...args: any[]) => void {\n  return once((...args: any[]) => console.warn(`botframework-webchat: ${message}`, ...args));\n}\n","import warnOnce from './warnOnce';\n\nconst PROPERTY_DENYLIST = new Set<string | symbol>([\n  '__defineGetter__',\n  '__defineSetter__',\n  '__lookupGetter__',\n  '__lookupSetter__',\n  '__proto__',\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'prototype',\n  'toString',\n  'valueOf'\n]);\n\nexport default function deprecateObject<T extends { [key: string | symbol]: any }>(namespace: T, message: string): T {\n  const warnDeprecation = warnOnce(message);\n\n  return new Proxy<T>(namespace, {\n    get(target, p) {\n      if (\n        !PROPERTY_DENYLIST.has(p) &&\n        (typeof p === 'string'\n          ? Object.getOwnPropertyNames(target).includes(p)\n          : Object.getOwnPropertySymbols(target).includes(p))\n      ) {\n        warnDeprecation(p);\n\n        // Only can get own properties.\n        // eslint-disable-next-line security/detect-object-injection\n        return target[p];\n      }\n    }\n  });\n}\n","const FORBIDDEN_PROPERTY_NAMES: readonly string[] = Object.freeze(\n  Array.from(\n    new Set([\n      // As-of writing, `Object.prototype` includes:\n      //   __defineGetter__\n      //   __defineSetter__\n      //   __lookupGetter__\n      //   __lookupSetter\n      //   __proto__\n      //   constructor\n      //   hasOwnProperty\n      //   isPrototypeOf\n      //   propertyIsEnumerable\n      //   toLocaleString\n      //   toString\n      //   valueOf\n      ...Object.getOwnPropertyNames(Object.prototype),\n\n      'prototype'\n    ])\n  )\n);\n\nexport default function isForbiddenPropertyName(propertyName: string): boolean {\n  return FORBIDDEN_PROPERTY_NAMES.includes(propertyName);\n}\n","const OBJECT_PROTOTYPE = Object.prototype;\n\nexport default function isPlainObject(obj: unknown): boolean {\n  return Object.getPrototypeOf(obj) === OBJECT_PROTOTYPE;\n}\n","const MAX_ITERATION = 1_000_000;\n\nexport default function iterateEquals<T>(x: Iterable<T>, y: Iterable<T>): boolean {\n  const xIterator = x[Symbol.iterator]();\n  const yIterator = y[Symbol.iterator]();\n\n  if (Object.is(xIterator, yIterator)) {\n    throw new Error('Must not pass same instance twice');\n  }\n\n  for (let count = 0; count < MAX_ITERATION; count++) {\n    const resultX = xIterator.next();\n    const resultY = yIterator.next();\n\n    const { done: xDone } = resultX;\n    const { done: yDone } = resultY;\n\n    if (xDone && yDone) {\n      return true;\n    } else if (xDone || yDone || !Object.is(resultX.value, resultY.value)) {\n      break;\n    }\n  }\n\n  return false;\n}\n","const EMPTY_ARRAY: readonly any[] = Object.freeze([]);\n\n/** @deprecated Will be removed on or after 2028-03-16. */\nexport default function singleToArray<T>(singleOrArray: T | readonly T[]): readonly T[] {\n  return typeof singleOrArray === 'undefined'\n    ? (EMPTY_ARRAY as readonly T[])\n    : Object.freeze(Array.isArray(singleOrArray) ? [...singleOrArray] : [singleOrArray]);\n}\n","// @ts-expect-error: no types available\nimport coreJSToSpliced from 'core-js-pure/features/array/to-spliced.js';\n\nexport default function toSpliced<T>(array: readonly T[], start: number, deleteCount: number, ...items: T[]): T[] {\n  return coreJSToSpliced(array, start, deleteCount, ...items);\n}\n","// Promise.withResolvers() is about 90 KiB.\n// @ts-expect-error: no types available\nimport coreJSWithResolvers from 'core-js-pure/features/promise/with-resolvers.js';\n\nexport type PromiseWithResolvers<T> = {\n  promise: Promise<T>;\n  reject: (error: unknown) => void;\n  resolve: (value: T) => void;\n};\n\nexport default function withResolvers<T>(): PromiseWithResolvers<T> {\n  return coreJSWithResolvers();\n}\n","//#region src/storages/globalConfig/globalConfig.ts\nlet store$4;\n/**\n* Sets the global configuration.\n*\n* @param config The configuration.\n*/\nfunction setGlobalConfig(config$1) {\n\tstore$4 = {\n\t\t...store$4,\n\t\t...config$1\n\t};\n}\n/**\n* Returns the global configuration.\n*\n* @param config The config to merge.\n*\n* @returns The configuration.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getGlobalConfig(config$1) {\n\treturn {\n\t\tlang: config$1?.lang ?? store$4?.lang,\n\t\tmessage: config$1?.message,\n\t\tabortEarly: config$1?.abortEarly ?? store$4?.abortEarly,\n\t\tabortPipeEarly: config$1?.abortPipeEarly ?? store$4?.abortPipeEarly\n\t};\n}\n/**\n* Deletes the global configuration.\n*/\nfunction deleteGlobalConfig() {\n\tstore$4 = void 0;\n}\n\n//#endregion\n//#region src/storages/globalMessage/globalMessage.ts\nlet store$3;\n/**\n* Sets a global error message.\n*\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setGlobalMessage(message$1, lang) {\n\tif (!store$3) store$3 = /* @__PURE__ */ new Map();\n\tstore$3.set(lang, message$1);\n}\n/**\n* Returns a global error message.\n*\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getGlobalMessage(lang) {\n\treturn store$3?.get(lang);\n}\n/**\n* Deletes a global error message.\n*\n* @param lang The language of the message.\n*/\nfunction deleteGlobalMessage(lang) {\n\tstore$3?.delete(lang);\n}\n\n//#endregion\n//#region src/storages/schemaMessage/schemaMessage.ts\nlet store$2;\n/**\n* Sets a schema error message.\n*\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setSchemaMessage(message$1, lang) {\n\tif (!store$2) store$2 = /* @__PURE__ */ new Map();\n\tstore$2.set(lang, message$1);\n}\n/**\n* Returns a schema error message.\n*\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getSchemaMessage(lang) {\n\treturn store$2?.get(lang);\n}\n/**\n* Deletes a schema error message.\n*\n* @param lang The language of the message.\n*/\nfunction deleteSchemaMessage(lang) {\n\tstore$2?.delete(lang);\n}\n\n//#endregion\n//#region src/storages/specificMessage/specificMessage.ts\nlet store$1;\n/**\n* Sets a specific error message.\n*\n* @param reference The identifier reference.\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setSpecificMessage(reference, message$1, lang) {\n\tif (!store$1) store$1 = /* @__PURE__ */ new Map();\n\tif (!store$1.get(reference)) store$1.set(reference, /* @__PURE__ */ new Map());\n\tstore$1.get(reference).set(lang, message$1);\n}\n/**\n* Returns a specific error message.\n*\n* @param reference The identifier reference.\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getSpecificMessage(reference, lang) {\n\treturn store$1?.get(reference)?.get(lang);\n}\n/**\n* Deletes a specific error message.\n*\n* @param reference The identifier reference.\n* @param lang The language of the message.\n*/\nfunction deleteSpecificMessage(reference, lang) {\n\tstore$1?.get(reference)?.delete(lang);\n}\n\n//#endregion\n//#region src/utils/_stringify/_stringify.ts\n/**\n* Stringifies an unknown input to a literal or type string.\n*\n* @param input The unknown input.\n*\n* @returns A literal or type string.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _stringify(input) {\n\tconst type = typeof input;\n\tif (type === \"string\") return `\"${input}\"`;\n\tif (type === \"number\" || type === \"bigint\" || type === \"boolean\") return `${input}`;\n\tif (type === \"object\" || type === \"function\") return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n\treturn type;\n}\n\n//#endregion\n//#region src/utils/_addIssue/_addIssue.ts\n/**\n* Adds an issue to the dataset.\n*\n* @param context The issue context.\n* @param label The issue label.\n* @param dataset The input dataset.\n* @param config The configuration.\n* @param other The optional props.\n*\n* @internal\n*/\nfunction _addIssue(context, label, dataset, config$1, other) {\n\tconst input = other && \"input\" in other ? other.input : dataset.value;\n\tconst expected = other?.expected ?? context.expects ?? null;\n\tconst received = other?.received ?? /* @__PURE__ */ _stringify(input);\n\tconst issue = {\n\t\tkind: context.kind,\n\t\ttype: context.type,\n\t\tinput,\n\t\texpected,\n\t\treceived,\n\t\tmessage: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n\t\trequirement: context.requirement,\n\t\tpath: other?.path,\n\t\tissues: other?.issues,\n\t\tlang: config$1.lang,\n\t\tabortEarly: config$1.abortEarly,\n\t\tabortPipeEarly: config$1.abortPipeEarly\n\t};\n\tconst isSchema = context.kind === \"schema\";\n\tconst message$1 = other?.message ?? context.message ?? /* @__PURE__ */ getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? /* @__PURE__ */ getSchemaMessage(issue.lang) : null) ?? config$1.message ?? /* @__PURE__ */ getGlobalMessage(issue.lang);\n\tif (message$1 !== void 0) issue.message = typeof message$1 === \"function\" ? message$1(issue) : message$1;\n\tif (isSchema) dataset.typed = false;\n\tif (dataset.issues) dataset.issues.push(issue);\n\telse dataset.issues = [issue];\n}\n\n//#endregion\n//#region src/utils/_getByteCount/_getByteCount.ts\nlet textEncoder;\n/**\n* Returns the byte count of the input.\n*\n* @param input The input to be measured.\n*\n* @returns The byte count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getByteCount(input) {\n\tif (!textEncoder) textEncoder = new TextEncoder();\n\treturn textEncoder.encode(input).length;\n}\n\n//#endregion\n//#region src/utils/_getGraphemeCount/_getGraphemeCount.ts\nlet segmenter;\n/**\n* Returns the grapheme count of the input.\n*\n* @param input The input to be measured.\n*\n* @returns The grapheme count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getGraphemeCount(input) {\n\tif (!segmenter) segmenter = new Intl.Segmenter();\n\tconst segments = segmenter.segment(input);\n\tlet count = 0;\n\tfor (const _ of segments) count++;\n\treturn count;\n}\n\n//#endregion\n//#region src/utils/_getLastMetadata/_getLastMetadata.ts\n/**\n* Returns the last top-level value of a given metadata type from a schema\n* using a breadth-first search that starts with the last item in the pipeline.\n*\n* @param schema The schema to search.\n* @param type The metadata type.\n*\n* @returns The value, if any.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getLastMetadata(schema, type) {\n\tif (\"pipe\" in schema) {\n\t\tconst nestedSchemas = [];\n\t\tfor (let index = schema.pipe.length - 1; index >= 0; index--) {\n\t\t\tconst item = schema.pipe[index];\n\t\t\tif (item.kind === \"schema\" && \"pipe\" in item) nestedSchemas.push(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === type) return item[type];\n\t\t}\n\t\tfor (const nestedSchema of nestedSchemas) {\n\t\t\tconst result = /* @__PURE__ */ _getLastMetadata(nestedSchema, type);\n\t\t\tif (result !== void 0) return result;\n\t\t}\n\t}\n}\n\n//#endregion\n//#region src/utils/_getStandardProps/_getStandardProps.ts\n/**\n* Returns the Standard Schema properties.\n*\n* @param context The schema context.\n*\n* @returns The Standard Schema properties.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getStandardProps(context) {\n\treturn {\n\t\tversion: 1,\n\t\tvendor: \"valibot\",\n\t\tvalidate(value$1) {\n\t\t\treturn context[\"~run\"]({ value: value$1 }, /* @__PURE__ */ getGlobalConfig());\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/utils/_getWordCount/_getWordCount.ts\nlet store;\n/**\n* Returns the word count of the input.\n*\n* @param locales The locales to be used.\n* @param input The input to be measured.\n*\n* @returns The word count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getWordCount(locales, input) {\n\tif (!store) store = /* @__PURE__ */ new Map();\n\tif (!store.get(locales)) store.set(locales, new Intl.Segmenter(locales, { granularity: \"word\" }));\n\tconst segments = store.get(locales).segment(input);\n\tlet count = 0;\n\tfor (const segment of segments) if (segment.isWordLike) count++;\n\treturn count;\n}\n\n//#endregion\n//#region src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\n/**\n* Non-digit regex.\n*/\nconst NON_DIGIT_REGEX = /\\D/gu;\n/**\n* Checks whether a string with numbers corresponds to the luhn algorithm.\n*\n* @param input The input to be checked.\n*\n* @returns Whether input is valid.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isLuhnAlgo(input) {\n\tconst number$1 = input.replace(NON_DIGIT_REGEX, \"\");\n\tlet length$1 = number$1.length;\n\tlet bit = 1;\n\tlet sum = 0;\n\twhile (length$1) {\n\t\tconst value$1 = +number$1[--length$1];\n\t\tbit ^= 1;\n\t\tsum += bit ? [\n\t\t\t0,\n\t\t\t2,\n\t\t\t4,\n\t\t\t6,\n\t\t\t8,\n\t\t\t1,\n\t\t\t3,\n\t\t\t5,\n\t\t\t7,\n\t\t\t9\n\t\t][value$1] : value$1;\n\t}\n\treturn sum % 10 === 0;\n}\n\n//#endregion\n//#region src/utils/_isValidObjectKey/_isValidObjectKey.ts\n/**\n* Disallows inherited object properties and prevents object prototype\n* pollution by disallowing certain keys.\n*\n* @param object The object to check.\n* @param key The key to check.\n*\n* @returns Whether the key is allowed.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isValidObjectKey(object$1, key) {\n\treturn Object.hasOwn(object$1, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n//#endregion\n//#region src/utils/_joinExpects/_joinExpects.ts\n/**\n* Joins multiple `expects` values with the given separator.\n*\n* @param values The `expects` values.\n* @param separator The separator.\n*\n* @returns The joined `expects` property.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _joinExpects(values$1, separator) {\n\tconst list = [...new Set(values$1)];\n\tif (list.length > 1) return `(${list.join(` ${separator} `)})`;\n\treturn list[0] ?? \"never\";\n}\n\n//#endregion\n//#region src/utils/entriesFromList/entriesFromList.ts\n/**\n* Creates an object entries definition from a list of keys and a schema.\n*\n* @param list A list of keys.\n* @param schema The schema of the keys.\n*\n* @returns The object entries.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction entriesFromList(list, schema) {\n\tconst entries$1 = {};\n\tfor (const key of list) entries$1[key] = schema;\n\treturn entries$1;\n}\n\n//#endregion\n//#region src/utils/entriesFromObjects/entriesFromObjects.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction entriesFromObjects(schemas) {\n\tconst entries$1 = {};\n\tfor (const schema of schemas) Object.assign(entries$1, schema.entries);\n\treturn entries$1;\n}\n\n//#endregion\n//#region src/utils/getDotPath/getDotPath.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDotPath(issue) {\n\tif (issue.path) {\n\t\tlet key = \"\";\n\t\tfor (const item of issue.path) if (typeof item.key === \"string\" || typeof item.key === \"number\") if (key) key += `.${item.key}`;\n\t\telse key += item.key;\n\t\telse return null;\n\t\treturn key;\n\t}\n\treturn null;\n}\n\n//#endregion\n//#region src/utils/isOfKind/isOfKind.ts\n/**\n* A generic type guard to check the kind of an object.\n*\n* @param kind The kind to check for.\n* @param object The object to check.\n*\n* @returns Whether it matches.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isOfKind(kind, object$1) {\n\treturn object$1.kind === kind;\n}\n\n//#endregion\n//#region src/utils/isOfType/isOfType.ts\n/**\n* A generic type guard to check the type of an object.\n*\n* @param type The type to check for.\n* @param object The object to check.\n*\n* @returns Whether it matches.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isOfType(type, object$1) {\n\treturn object$1.type === type;\n}\n\n//#endregion\n//#region src/utils/isValiError/isValiError.ts\n/**\n* A type guard to check if an error is a ValiError.\n*\n* @param error The error to check.\n*\n* @returns Whether its a ValiError.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isValiError(error) {\n\treturn error instanceof ValiError;\n}\n\n//#endregion\n//#region src/utils/ValiError/ValiError.ts\n/**\n* A Valibot error with useful information.\n*/\nvar ValiError = class extends Error {\n\t/**\n\t* Creates a Valibot error with useful information.\n\t*\n\t* @param issues The error issues.\n\t*/\n\tconstructor(issues) {\n\t\tsuper(issues[0].message);\n\t\tthis.name = \"ValiError\";\n\t\tthis.issues = issues;\n\t}\n};\n\n//#endregion\n//#region src/actions/args/args.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction args(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"args\",\n\t\treference: args,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = (...args_) => {\n\t\t\t\tconst argsDataset = this.schema[\"~run\"]({ value: args_ }, config$1);\n\t\t\t\tif (argsDataset.issues) throw new ValiError(argsDataset.issues);\n\t\t\t\treturn func(...argsDataset.value);\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/args/argsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction argsAsync(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"args\",\n\t\treference: argsAsync,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = async (...args$1) => {\n\t\t\t\tconst argsDataset = await schema[\"~run\"]({ value: args$1 }, config$1);\n\t\t\t\tif (argsDataset.issues) throw new ValiError(argsDataset.issues);\n\t\t\t\treturn func(...argsDataset.value);\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/await/awaitAsync.ts\n/**\n* Creates an await transformation action.\n*\n* @returns An await action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction awaitAsync() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"await\",\n\t\treference: awaitAsync,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset) {\n\t\t\tdataset.value = await dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/regex.ts\n/**\n* [Base64](https://en.wikipedia.org/wiki/Base64) regex.\n*/\nconst BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\n/**\n* [BIC](https://en.wikipedia.org/wiki/ISO_9362) regex.\n*/\nconst BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\n/**\n* [Cuid2](https://github.com/paralleldrive/cuid2) regex.\n*/\nconst CUID2_REGEX = /^[a-z][\\da-z]*$/u;\n/**\n* [Decimal](https://en.wikipedia.org/wiki/Decimal) regex.\n*/\nconst DECIMAL_REGEX = /^[+-]?(?:\\d*\\.)?\\d+$/u;\n/**\n* [Digits](https://en.wikipedia.org/wiki/Numerical_digit) regex.\n*/\nconst DIGITS_REGEX = /^\\d+$/u;\n/**\n* [Email address](https://en.wikipedia.org/wiki/Email_address) regex.\n*/\nconst EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\n/**\n* Emoji regex from [emoji-regex-xs](https://github.com/slevithan/emoji-regex-xs) v1.0.0 (MIT license).\n*\n* Hint: We decided against the newer `/^\\p{RGI_Emoji}+$/v` regex because it is\n* not supported in older runtimes and does not match all emoji.\n*/\nconst EMOJI_REGEX = /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation}))*)+$/u;\n/**\n* [Hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-fA-F]+$/u;\n/**\n* [Hex color](https://en.wikipedia.org/wiki/Web_colors#Hex_triplet) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst HEX_COLOR_REGEX = /^#(?:[\\da-fA-F]{3,4}|[\\da-fA-F]{6}|[\\da-fA-F]{8})$/u;\n/**\n* [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity) regex.\n*/\nconst IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\n/**\n* [IPv4](https://en.wikipedia.org/wiki/IPv4) regex.\n*/\nconst IPV4_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u;\n/**\n* [IPv6](https://en.wikipedia.org/wiki/IPv6) regex.\n*/\nconst IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\n/**\n* [IP](https://en.wikipedia.org/wiki/IP_address) regex.\n*/\nconst IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date regex.\n*/\nconst ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time regex.\n*/\nconst ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time regex.\n*/\nconst ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time with seconds regex.\n*/\nconst ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp regex.\n*/\nconst ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z|[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) week regex.\n*/\nconst ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) 48 bit regex.\n*/\nconst MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) 64 bit regex.\n*/\nconst MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) regex.\n*/\nconst MAC_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$|^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\n/**\n* [Nano ID](https://github.com/ai/nanoid) regex.\n*/\nconst NANO_ID_REGEX = /^[\\w-]+$/u;\n/**\n* [Octal](https://en.wikipedia.org/wiki/Octal) regex.\n*/\nconst OCTAL_REGEX = /^(?:0o)?[0-7]+$/u;\n/**\n* [RFC 5322 email address](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1) regex.\n*\n* Hint: This regex was taken from the [HTML Living Standard Specification](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) and does not perfectly represent RFC 5322.\n*/\nconst RFC_EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/**\n* [Slug](https://en.wikipedia.org/wiki/Clean_URL#Slug) regex.\n*/\nconst SLUG_REGEX = /^[\\da-z]+(?:[-_][\\da-z]+)*$/u;\n/**\n* [ULID](https://github.com/ulid/spec) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst ULID_REGEX = /^[\\da-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$/u;\n/**\n* [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) regex.\n*/\nconst UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n//#endregion\n//#region src/actions/base64/base64.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction base64(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"base64\",\n\t\treference: base64,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: BASE64_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Base64\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/bic/bic.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bic(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"bic\",\n\t\treference: bic,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: BIC_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"BIC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/brand/brand.ts\n/**\n* Creates a brand transformation action.\n*\n* @param name The brand name.\n*\n* @returns A brand action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction brand(name) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"brand\",\n\t\treference: brand,\n\t\tasync: false,\n\t\tname,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/bytes/bytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"bytes\",\n\t\treference: bytes,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 !== this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/check/check.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction check(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check\",\n\t\treference: check,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/check/checkAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkAsync(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check\",\n\t\treference: checkAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !await this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/checkItems/checkItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkItems(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check_items\",\n\t\treference: checkItems,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) for (let index = 0; index < dataset.value.length; index++) {\n\t\t\t\tconst item = dataset.value[index];\n\t\t\t\tif (!this.requirement(item, index, dataset.value)) _addIssue(this, \"item\", dataset, config$1, {\n\t\t\t\t\tinput: item,\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput: dataset.value,\n\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\tvalue: item\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/checkItems/checkItemsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkItemsAsync(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check_items\",\n\t\treference: checkItemsAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst requirementResults = await Promise.all(dataset.value.map(this.requirement));\n\t\t\t\tfor (let index = 0; index < dataset.value.length; index++) if (!requirementResults[index]) {\n\t\t\t\t\tconst item = dataset.value[index];\n\t\t\t\t\t_addIssue(this, \"item\", dataset, config$1, {\n\t\t\t\t\t\tinput: item,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: dataset.value,\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\tvalue: item\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/creditCard/creditCard.ts\n/**\n* Credit card regex.\n*/\nconst CREDIT_CARD_REGEX = /^(?:\\d{14,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\n/**\n* Sanitize regex.\n*/\nconst SANITIZE_REGEX = /[- ]/gu;\n/**\n* Provider regex list.\n*/\nconst PROVIDER_REGEX_LIST = [\n\t/^3[47]\\d{13}$/u,\n\t/^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n\t/^6(?:011|5\\d{2})\\d{12,15}$/u,\n\t/^(?:2131|1800|35\\d{3})\\d{11}$/u,\n\t/^5[1-5]\\d{2}|(?:222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n\t/^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n\t/^4\\d{12}(?:\\d{3,6})?$/u\n];\n/* @__NO_SIDE_EFFECTS__ */\nfunction creditCard(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"credit_card\",\n\t\treference: creditCard,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\tlet sanitized;\n\t\t\treturn CREDIT_CARD_REGEX.test(input) && (sanitized = input.replace(SANITIZE_REGEX, \"\")) && PROVIDER_REGEX_LIST.some((regex$1) => regex$1.test(sanitized)) && /* @__PURE__ */ _isLuhnAlgo(sanitized);\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"credit card\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/cuid2/cuid2.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction cuid2(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"cuid2\",\n\t\treference: cuid2,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: CUID2_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Cuid2\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/decimal/decimal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction decimal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"decimal\",\n\t\treference: decimal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: DECIMAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"decimal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/description/description.ts\n/**\n* Creates a description metadata action.\n*\n* @param description_ The description text.\n*\n* @returns A description action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction description(description_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"description\",\n\t\treference: description,\n\t\tdescription: description_\n\t};\n}\n\n//#endregion\n//#region src/actions/digits/digits.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction digits(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"digits\",\n\t\treference: digits,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: DIGITS_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"digits\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/email/email.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction email(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"email\",\n\t\treference: email,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: EMAIL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"email\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/emoji/emoji.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction emoji(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"emoji\",\n\t\treference: emoji,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: EMOJI_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"emoji\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/empty/empty.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction empty(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"empty\",\n\t\treference: empty,\n\t\tasync: false,\n\t\texpects: \"0\",\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length > 0) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/endsWith/endsWith.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction endsWith(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ends_with\",\n\t\treference: endsWith,\n\t\tasync: false,\n\t\texpects: `\"${requirement}\"`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.endsWith(this.requirement)) _addIssue(this, \"end\", dataset, config$1, { received: `\"${dataset.value.slice(-this.requirement.length)}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/entries/entries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction entries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"entries\",\n\t\treference: entries,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count !== this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/everyItem/everyItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction everyItem(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"every_item\",\n\t\treference: everyItem,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.every(this.requirement)) _addIssue(this, \"item\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/examples/examples.ts\n/**\n* Creates an examples metadata action.\n*\n* @param examples_ The examples.\n*\n* @returns An examples action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction examples(examples_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"examples\",\n\t\treference: examples,\n\t\texamples: examples_\n\t};\n}\n\n//#endregion\n//#region src/actions/excludes/excludes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction excludes(requirement, message$1) {\n\tconst received = /* @__PURE__ */ _stringify(requirement);\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"excludes\",\n\t\treference: excludes,\n\t\tasync: false,\n\t\texpects: `!${received}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.includes(this.requirement)) _addIssue(this, \"content\", dataset, config$1, { received });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/filterItems/filterItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction filterItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"filter_items\",\n\t\treference: filterItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.filter(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/findItem/findItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction findItem(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"find_item\",\n\t\treference: findItem,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.find(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/finite/finite.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction finite(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"finite\",\n\t\treference: finite,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isFinite,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"finite\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/flavor/flavor.ts\n/**\n* Creates a flavor transformation action.\n*\n* @param name The flavor name.\n*\n* @returns A flavor action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction flavor(name) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"flavor\",\n\t\treference: flavor,\n\t\tasync: false,\n\t\tname,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/graphemes/graphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction graphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"graphemes\",\n\t\treference: graphemes,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count !== this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/gtValue/gtValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction gtValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"gt_value\",\n\t\treference: gtValue,\n\t\tasync: false,\n\t\texpects: `>${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value > this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hash/hash.ts\n/**\n* Hash lengths object.\n*/\nconst HASH_LENGTHS = {\n\tmd4: 32,\n\tmd5: 32,\n\tsha1: 40,\n\tsha256: 64,\n\tsha384: 96,\n\tsha512: 128,\n\tripemd128: 32,\n\tripemd160: 40,\n\ttiger128: 32,\n\ttiger160: 40,\n\ttiger192: 48,\n\tcrc32: 8,\n\tcrc32b: 8,\n\tadler32: 8\n};\n/* @__NO_SIDE_EFFECTS__ */\nfunction hash(types, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hash\",\n\t\treference: hash,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: RegExp(types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"), \"iu\"),\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hash\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hexadecimal/hexadecimal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction hexadecimal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hexadecimal\",\n\t\treference: hexadecimal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: HEXADECIMAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hexadecimal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hexColor/hexColor.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction hexColor(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hex_color\",\n\t\treference: hexColor,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: HEX_COLOR_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hex color\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/imei/imei.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction imei(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"imei\",\n\t\treference: imei,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\treturn IMEI_REGEX.test(input) && /* @__PURE__ */ _isLuhnAlgo(input);\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"IMEI\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/includes/includes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction includes(requirement, message$1) {\n\tconst expects = /* @__PURE__ */ _stringify(requirement);\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"includes\",\n\t\treference: includes,\n\t\tasync: false,\n\t\texpects,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.includes(this.requirement)) _addIssue(this, \"content\", dataset, config$1, { received: `!${expects}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/integer/integer.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction integer(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"integer\",\n\t\treference: integer,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isInteger,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"integer\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ip/ip.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ip(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ip\",\n\t\treference: ip,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IP_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IP\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ipv4/ipv4.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ipv4(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ipv4\",\n\t\treference: ipv4,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IPV4_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IPv4\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ipv6/ipv6.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ipv6(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ipv6\",\n\t\treference: ipv6,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IPV6_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IPv6\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoDate/isoDate.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoDate(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_date\",\n\t\treference: isoDate,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_DATE_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"date\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoDateTime/isoDateTime.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoDateTime(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_date_time\",\n\t\treference: isoDateTime,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_DATE_TIME_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"date-time\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTime/isoTime.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTime(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_time\",\n\t\treference: isoTime,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIME_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"time\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTimeSecond/isoTimeSecond.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTimeSecond(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_time_second\",\n\t\treference: isoTimeSecond,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIME_SECOND_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"time-second\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTimestamp/isoTimestamp.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTimestamp(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_timestamp\",\n\t\treference: isoTimestamp,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIMESTAMP_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"timestamp\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoWeek/isoWeek.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoWeek(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_week\",\n\t\treference: isoWeek,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_WEEK_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"week\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/length/length.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction length(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"length\",\n\t\treference: length,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length !== this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ltValue/ltValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ltValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"lt_value\",\n\t\treference: ltValue,\n\t\tasync: false,\n\t\texpects: `<${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value < this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac/mac.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac\",\n\t\treference: mac,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac48/mac48.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac48(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac48\",\n\t\treference: mac48,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC48_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"48-bit MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac64/mac64.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac64(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac64\",\n\t\treference: mac64,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC64_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"64-bit MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mapItems/mapItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mapItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"map_items\",\n\t\treference: mapItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.map(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxBytes/maxBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_bytes\",\n\t\treference: maxBytes,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 > this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxEntries/maxEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_entries\",\n\t\treference: maxEntries,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count > this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxGraphemes/maxGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_graphemes\",\n\t\treference: maxGraphemes,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count > this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxLength/maxLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_length\",\n\t\treference: maxLength,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length > this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxSize/maxSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_size\",\n\t\treference: maxSize,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size > this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxValue/maxValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_value\",\n\t\treference: maxValue,\n\t\tasync: false,\n\t\texpects: `<=${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value <= this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxWords/maxWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_words\",\n\t\treference: maxWords,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count > this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/metadata/metadata.ts\n/**\n* Creates a custom metadata action.\n*\n* @param metadata_ The metadata object.\n*\n* @returns A metadata action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction metadata(metadata_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"metadata\",\n\t\treference: metadata,\n\t\tmetadata: metadata_\n\t};\n}\n\n//#endregion\n//#region src/actions/mimeType/mimeType.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mimeType(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mime_type\",\n\t\treference: mimeType,\n\t\tasync: false,\n\t\texpects: /* @__PURE__ */ _joinExpects(requirement.map((option) => `\"${option}\"`), \"|\"),\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.includes(dataset.value.type)) _addIssue(this, \"MIME type\", dataset, config$1, { received: `\"${dataset.value.type}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minBytes/minBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_bytes\",\n\t\treference: minBytes,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 < this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minEntries/minEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_entries\",\n\t\treference: minEntries,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count < this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minGraphemes/minGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_graphemes\",\n\t\treference: minGraphemes,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count < this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minLength/minLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_length\",\n\t\treference: minLength,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length < this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minSize/minSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_size\",\n\t\treference: minSize,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size < this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minValue/minValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_value\",\n\t\treference: minValue,\n\t\tasync: false,\n\t\texpects: `>=${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value >= this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minWords/minWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_words\",\n\t\treference: minWords,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count < this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/multipleOf/multipleOf.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction multipleOf(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"multiple_of\",\n\t\treference: multipleOf,\n\t\tasync: false,\n\t\texpects: `%${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value % this.requirement != 0) _addIssue(this, \"multiple\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/nanoid/nanoid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nanoid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"nanoid\",\n\t\treference: nanoid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: NANO_ID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Nano ID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/nonEmpty/nonEmpty.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonEmpty(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"non_empty\",\n\t\treference: nonEmpty,\n\t\tasync: false,\n\t\texpects: \"!0\",\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length === 0) _addIssue(this, \"length\", dataset, config$1, { received: \"0\" });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/normalize/normalize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction normalize(form) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"normalize\",\n\t\treference: normalize,\n\t\tasync: false,\n\t\tform,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.normalize(this.form);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notBytes/notBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_bytes\",\n\t\treference: notBytes,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 === this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notEntries/notEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_entries\",\n\t\treference: notEntries,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count === this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notGraphemes/notGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_graphemes\",\n\t\treference: notGraphemes,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count === this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notLength/notLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_length\",\n\t\treference: notLength,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length === this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notSize/notSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_size\",\n\t\treference: notSize,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size === this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notValue/notValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_value\",\n\t\treference: notValue,\n\t\tasync: false,\n\t\texpects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${/* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notValues/notValues.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notValues(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_values\",\n\t\treference: notValues,\n\t\tasync: false,\n\t\texpects: `!${/* @__PURE__ */ _joinExpects(requirement.map((value$1) => value$1 instanceof Date ? value$1.toJSON() : /* @__PURE__ */ _stringify(value$1)), \"|\")}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && this.requirement.some((value$1) => value$1 <= dataset.value && value$1 >= dataset.value)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notWords/notWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_words\",\n\t\treference: notWords,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count === this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/octal/octal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction octal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"octal\",\n\t\treference: octal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: OCTAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"octal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/parseJson/parseJson.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parseJson(config$1, message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"parse_json\",\n\t\treference: parseJson,\n\t\tconfig: config$1,\n\t\tmessage: message$1,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$2) {\n\t\t\ttry {\n\t\t\t\tdataset.value = JSON.parse(dataset.value, this.config?.reviver);\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2, { received: `\"${error.message}\"` });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t} else throw error;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\n/**\n* Checks if a dataset is partially typed.\n*\n* @param dataset The dataset to check.\n* @param paths The paths to check.\n*\n* @returns Whether it is partially typed.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isPartiallyTyped(dataset, paths) {\n\tif (dataset.issues) for (const path of paths) for (const issue of dataset.issues) {\n\t\tlet typed = false;\n\t\tconst bound = Math.min(path.length, issue.path?.length ?? 0);\n\t\tfor (let index = 0; index < bound; index++) if (path[index] !== issue.path[index].key && (path[index] !== \"$\" || issue.path[index].type !== \"array\")) {\n\t\t\ttyped = true;\n\t\t\tbreak;\n\t\t}\n\t\tif (!typed) return false;\n\t}\n\treturn true;\n}\n\n//#endregion\n//#region src/actions/partialCheck/partialCheck.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialCheck(paths, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"partial_check\",\n\t\treference: partialCheck,\n\t\tasync: false,\n\t\texpects: null,\n\t\tpaths,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif ((dataset.typed || /* @__PURE__ */ _isPartiallyTyped(dataset, paths)) && !this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/partialCheck/partialCheckAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialCheckAsync(paths, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"partial_check\",\n\t\treference: partialCheckAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\tpaths,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif ((dataset.typed || /* @__PURE__ */ _isPartiallyTyped(dataset, paths)) && !await this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawCheck/rawCheck.ts\n/**\n* Creates a raw check validation action.\n*\n* @param action The validation action.\n*\n* @returns A raw check action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawCheck(action) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"raw_check\",\n\t\treference: rawCheck,\n\t\tasync: false,\n\t\texpects: null,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\taction({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info)\n\t\t\t});\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawCheck/rawCheckAsync.ts\n/**\n* Creates a raw check validation action.\n*\n* @param action The validation action.\n*\n* @returns A raw check action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawCheckAsync(action) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"raw_check\",\n\t\treference: rawCheckAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tawait action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info)\n\t\t\t});\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawTransform/rawTransform.ts\n/**\n* Creates a raw transformation action.\n*\n* @param action The transformation action.\n*\n* @returns A raw transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawTransform(action) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"raw_transform\",\n\t\treference: rawTransform,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst output = action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info),\n\t\t\t\tNEVER: null\n\t\t\t});\n\t\t\tif (dataset.issues) dataset.typed = false;\n\t\t\telse dataset.value = output;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawTransform/rawTransformAsync.ts\n/**\n* Creates a raw transformation action.\n*\n* @param action The transformation action.\n*\n* @returns A raw transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawTransformAsync(action) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"raw_transform\",\n\t\treference: rawTransformAsync,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst output = await action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info),\n\t\t\t\tNEVER: null\n\t\t\t});\n\t\t\tif (dataset.issues) dataset.typed = false;\n\t\t\telse dataset.value = output;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/readonly/readonly.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction readonly() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"readonly\",\n\t\treference: readonly,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/reduceItems/reduceItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction reduceItems(operation, initial) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"reduce_items\",\n\t\treference: reduceItems,\n\t\tasync: false,\n\t\toperation,\n\t\tinitial,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.reduce(this.operation, this.initial);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/regex/regex.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction regex(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"regex\",\n\t\treference: regex,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"format\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/returns/returns.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction returns(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"returns\",\n\t\treference: returns,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = (...args_) => {\n\t\t\t\tconst returnsDataset = this.schema[\"~run\"]({ value: func(...args_) }, config$1);\n\t\t\t\tif (returnsDataset.issues) throw new ValiError(returnsDataset.issues);\n\t\t\t\treturn returnsDataset.value;\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/returns/returnsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction returnsAsync(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"returns\",\n\t\treference: returnsAsync,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = async (...args_) => {\n\t\t\t\tconst returnsDataset = await this.schema[\"~run\"]({ value: await func(...args_) }, config$1);\n\t\t\t\tif (returnsDataset.issues) throw new ValiError(returnsDataset.issues);\n\t\t\t\treturn returnsDataset.value;\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rfcEmail/rfcEmail.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction rfcEmail(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"rfc_email\",\n\t\treference: rfcEmail,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: RFC_EMAIL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"email\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/safeInteger/safeInteger.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeInteger(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"safe_integer\",\n\t\treference: safeInteger,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isSafeInteger,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"safe integer\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/size/size.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction size(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"size\",\n\t\treference: size,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size !== this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/slug/slug.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction slug(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"slug\",\n\t\treference: slug,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: SLUG_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"slug\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/someItem/someItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction someItem(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"some_item\",\n\t\treference: someItem,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.some(this.requirement)) _addIssue(this, \"item\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/sortItems/sortItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction sortItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"sort_items\",\n\t\treference: sortItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.sort(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/startsWith/startsWith.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction startsWith(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"starts_with\",\n\t\treference: startsWith,\n\t\tasync: false,\n\t\texpects: `\"${requirement}\"`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.startsWith(this.requirement)) _addIssue(this, \"start\", dataset, config$1, { received: `\"${dataset.value.slice(0, this.requirement.length)}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/stringifyJson/stringifyJson.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction stringifyJson(config$1, message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"stringify_json\",\n\t\treference: stringifyJson,\n\t\tmessage: message$1,\n\t\tconfig: config$1,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$2) {\n\t\t\ttry {\n\t\t\t\tconst output = JSON.stringify(dataset.value, this.config?.replacer, this.config?.space);\n\t\t\t\tif (output === void 0) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2);\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t}\n\t\t\t\tdataset.value = output;\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2, { received: `\"${error.message}\"` });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t} else throw error;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/title/title.ts\n/**\n* Creates a title metadata action.\n*\n* @param title_ The title text.\n*\n* @returns A title action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction title(title_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"title\",\n\t\treference: title,\n\t\ttitle: title_\n\t};\n}\n\n//#endregion\n//#region src/actions/toBigint/toBigint.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toBigint(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_bigint\",\n\t\treference: toBigint,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = BigInt(dataset.value);\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"bigint\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toBoolean/toBoolean.ts\n/**\n* Creates a to boolean transformation action.\n*\n* @returns A to boolean action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toBoolean() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_boolean\",\n\t\treference: toBoolean,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = Boolean(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toDate/toDate.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toDate(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_date\",\n\t\treference: toDate,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = new Date(dataset.value);\n\t\t\t\tif (isNaN(dataset.value)) {\n\t\t\t\t\t_addIssue(this, \"date\", dataset, config$1, { received: \"\\\"Invalid Date\\\"\" });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"date\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toLowerCase/toLowerCase.ts\n/**\n* Creates a to lower case transformation action.\n*\n* @returns A to lower case action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toLowerCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_lower_case\",\n\t\treference: toLowerCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.toLowerCase();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toMaxValue/toMaxValue.ts\n/**\n* Creates a to max value transformation action.\n*\n* @param requirement The maximum value.\n*\n* @returns A to max value action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toMaxValue(requirement) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_max_value\",\n\t\treference: toMaxValue,\n\t\tasync: false,\n\t\trequirement,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toMinValue/toMinValue.ts\n/**\n* Creates a to min value transformation action.\n*\n* @param requirement The minimum value.\n*\n* @returns A to min value action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toMinValue(requirement) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_min_value\",\n\t\treference: toMinValue,\n\t\tasync: false,\n\t\trequirement,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toNumber/toNumber.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toNumber(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_number\",\n\t\treference: toNumber,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = Number(dataset.value);\n\t\t\t\tif (isNaN(dataset.value)) {\n\t\t\t\t\t_addIssue(this, \"number\", dataset, config$1);\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"number\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toString/toString.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toString(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_string\",\n\t\treference: toString,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = String(dataset.value);\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"string\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toUpperCase/toUpperCase.ts\n/**\n* Creates a to upper case transformation action.\n*\n* @returns A to upper case action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toUpperCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_upper_case\",\n\t\treference: toUpperCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.toUpperCase();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/transform/transform.ts\n/**\n* Creates a custom transformation action.\n*\n* @param operation The transformation operation.\n*\n* @returns A transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction transform(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"transform\",\n\t\treference: transform,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = this.operation(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/transform/transformAsync.ts\n/**\n* Creates a custom transformation action.\n*\n* @param operation The transformation operation.\n*\n* @returns A transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction transformAsync(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"transform\",\n\t\treference: transformAsync,\n\t\tasync: true,\n\t\toperation,\n\t\tasync \"~run\"(dataset) {\n\t\t\tdataset.value = await this.operation(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trim/trim.ts\n/**\n* Creates a trim transformation action.\n*\n* @returns A trim action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trim() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim\",\n\t\treference: trim,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trim();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trimEnd/trimEnd.ts\n/**\n* Creates a trim end transformation action.\n*\n* @returns A trim end action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trimEnd() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim_end\",\n\t\treference: trimEnd,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trimEnd();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trimStart/trimStart.ts\n/**\n* Creates a trim start transformation action.\n*\n* @returns A trim start action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trimStart() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim_start\",\n\t\treference: trimStart,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trimStart();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ulid/ulid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ulid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ulid\",\n\t\treference: ulid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ULID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"ULID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/url/url.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction url(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"url\",\n\t\treference: url,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\ttry {\n\t\t\t\tnew URL(input);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"URL\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/uuid/uuid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction uuid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"uuid\",\n\t\treference: uuid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: UUID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"UUID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/value/value.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction value(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"value\",\n\t\treference: value,\n\t\tasync: false,\n\t\texpects: requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement),\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(this.requirement <= dataset.value && this.requirement >= dataset.value)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/values/values.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction values(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"values\",\n\t\treference: values,\n\t\tasync: false,\n\t\texpects: `${/* @__PURE__ */ _joinExpects(requirement.map((value$1) => value$1 instanceof Date ? value$1.toJSON() : /* @__PURE__ */ _stringify(value$1)), \"|\")}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.some((value$1) => value$1 <= dataset.value && value$1 >= dataset.value)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/words/words.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction words(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"words\",\n\t\treference: words,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count !== this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/assert/assert.ts\n/**\n* Checks if the input matches the schema. As this is an assertion function, it\n* can be used as a type guard.\n*\n* @param schema The schema to be used.\n* @param input The input to be tested.\n*/\nfunction assert(schema, input) {\n\tconst issues = schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n\tif (issues) throw new ValiError(issues);\n}\n\n//#endregion\n//#region src/methods/config/config.ts\n/**\n* Changes the local configuration of a schema.\n*\n* @param schema The schema to configure.\n* @param config The parse configuration.\n*\n* @returns The configured schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction config(schema, config$1) {\n\treturn {\n\t\t...schema,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config_) {\n\t\t\treturn schema[\"~run\"](dataset, {\n\t\t\t\t...config_,\n\t\t\t\t...config$1\n\t\t\t});\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/getFallback/getFallback.ts\n/**\n* Returns the fallback value of the schema.\n*\n* @param schema The schema to get it from.\n* @param dataset The output dataset if available.\n* @param config The config if available.\n*\n* @returns The fallback value.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getFallback(schema, dataset, config$1) {\n\treturn typeof schema.fallback === \"function\" ? schema.fallback(dataset, config$1) : schema.fallback;\n}\n\n//#endregion\n//#region src/methods/fallback/fallback.ts\n/**\n* Returns a fallback value as output if the input does not match the schema.\n*\n* @param schema The schema to catch.\n* @param fallback The fallback value.\n*\n* @returns The passed schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction fallback(schema, fallback$1) {\n\treturn {\n\t\t...schema,\n\t\tfallback: fallback$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst outputDataset = schema[\"~run\"](dataset, config$1);\n\t\t\treturn outputDataset.issues ? {\n\t\t\t\ttyped: true,\n\t\t\t\tvalue: /* @__PURE__ */ getFallback(this, outputDataset, config$1)\n\t\t\t} : outputDataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/fallback/fallbackAsync.ts\n/**\n* Returns a fallback value as output if the input does not match the schema.\n*\n* @param schema The schema to catch.\n* @param fallback The fallback value.\n*\n* @returns The passed schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction fallbackAsync(schema, fallback$1) {\n\treturn {\n\t\t...schema,\n\t\tfallback: fallback$1,\n\t\tasync: true,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst outputDataset = await schema[\"~run\"](dataset, config$1);\n\t\t\treturn outputDataset.issues ? {\n\t\t\t\ttyped: true,\n\t\t\t\tvalue: await /* @__PURE__ */ getFallback(this, outputDataset, config$1)\n\t\t\t} : outputDataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/flatten/flatten.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction flatten(issues) {\n\tconst flatErrors = {};\n\tfor (const issue of issues) if (issue.path) {\n\t\tconst dotPath = /* @__PURE__ */ getDotPath(issue);\n\t\tif (dotPath) {\n\t\t\tif (!flatErrors.nested) flatErrors.nested = {};\n\t\t\tif (flatErrors.nested[dotPath]) flatErrors.nested[dotPath].push(issue.message);\n\t\t\telse flatErrors.nested[dotPath] = [issue.message];\n\t\t} else if (flatErrors.other) flatErrors.other.push(issue.message);\n\t\telse flatErrors.other = [issue.message];\n\t} else if (flatErrors.root) flatErrors.root.push(issue.message);\n\telse flatErrors.root = [issue.message];\n\treturn flatErrors;\n}\n\n//#endregion\n//#region src/methods/forward/forward.ts\n/**\n* Forwards the issues of the passed validation action.\n*\n* @param action The validation action.\n* @param path The path to forward the issues to.\n*\n* @returns The modified action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction forward(action, path) {\n\treturn {\n\t\t...action,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst prevIssues = dataset.issues && [...dataset.issues];\n\t\t\tdataset = action[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.issues) {\n\t\t\t\tfor (const issue of dataset.issues) if (!prevIssues?.includes(issue)) {\n\t\t\t\t\tlet pathInput = dataset.value;\n\t\t\t\t\tfor (const key of path) {\n\t\t\t\t\t\tconst pathValue = pathInput[key];\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"unknown\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: pathInput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: pathValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (issue.path) issue.path.push(pathItem);\n\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\tif (!pathValue) break;\n\t\t\t\t\t\tpathInput = pathValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/forward/forwardAsync.ts\n/**\n* Forwards the issues of the passed validation action.\n*\n* @param action The validation action.\n* @param path The path to forward the issues to.\n*\n* @returns The modified action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction forwardAsync(action, path) {\n\treturn {\n\t\t...action,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst prevIssues = dataset.issues && [...dataset.issues];\n\t\t\tdataset = await action[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.issues) {\n\t\t\t\tfor (const issue of dataset.issues) if (!prevIssues?.includes(issue)) {\n\t\t\t\t\tlet pathInput = dataset.value;\n\t\t\t\t\tfor (const key of path) {\n\t\t\t\t\t\tconst pathValue = pathInput[key];\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"unknown\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: pathInput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: pathValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (issue.path) issue.path.push(pathItem);\n\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\tif (!pathValue) break;\n\t\t\t\t\t\tpathInput = pathValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/getDefault/getDefault.ts\n/**\n* Returns the default value of the schema.\n*\n* @param schema The schema to get it from.\n* @param dataset The input dataset if available.\n* @param config The config if available.\n*\n* @returns The default value.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDefault(schema, dataset, config$1) {\n\treturn typeof schema.default === \"function\" ? schema.default(dataset, config$1) : schema.default;\n}\n\n//#endregion\n//#region src/methods/getDefaults/getDefaults.ts\n/**\n* Returns the default values of the schema.\n*\n* Hint: The difference to `getDefault` is that for object and tuple schemas\n* this function recursively returns the default values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The default values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDefaults(schema) {\n\tif (\"entries\" in schema) {\n\t\tconst object$1 = {};\n\t\tfor (const key in schema.entries) object$1[key] = /* @__PURE__ */ getDefaults(schema.entries[key]);\n\t\treturn object$1;\n\t}\n\tif (\"items\" in schema) return schema.items.map(getDefaults);\n\treturn /* @__PURE__ */ getDefault(schema);\n}\n\n//#endregion\n//#region src/methods/getDefaults/getDefaultsAsync.ts\n/**\n* Returns the default values of the schema.\n*\n* Hint: The difference to `getDefault` is that for object and tuple schemas\n* this function recursively returns the default values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The default values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function getDefaultsAsync(schema) {\n\tif (\"entries\" in schema) return Object.fromEntries(await Promise.all(Object.entries(schema.entries).map(async ([key, value$1]) => [key, await /* @__PURE__ */ getDefaultsAsync(value$1)])));\n\tif (\"items\" in schema) return Promise.all(schema.items.map(getDefaultsAsync));\n\treturn /* @__PURE__ */ getDefault(schema);\n}\n\n//#endregion\n//#region src/methods/getDescription/getDescription.ts\n/**\n* Returns the description of the schema.\n*\n* If multiple descriptions are defined, the last one of the highest level is\n* returned. If no description is defined, `undefined` is returned.\n*\n* @param schema The schema to get the description from.\n*\n* @returns The description, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDescription(schema) {\n\treturn /* @__PURE__ */ _getLastMetadata(schema, \"description\");\n}\n\n//#endregion\n//#region src/methods/getExamples/getExamples.ts\n/**\n* Returns the examples of a schema.\n*\n* If multiple examples are defined, it concatenates them using depth-first\n* search. If no examples are defined, an empty array is returned.\n*\n* @param schema The schema to get the examples from.\n*\n* @returns The examples, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getExamples(schema) {\n\tconst examples$1 = [];\n\tfunction depthFirstCollect(schema$1) {\n\t\tif (\"pipe\" in schema$1) {\n\t\t\tfor (const item of schema$1.pipe) if (item.kind === \"schema\" && \"pipe\" in item) depthFirstCollect(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === \"examples\") examples$1.push(...item.examples);\n\t\t}\n\t}\n\tdepthFirstCollect(schema);\n\treturn examples$1;\n}\n\n//#endregion\n//#region src/methods/getFallbacks/getFallbacks.ts\n/**\n* Returns the fallback values of the schema.\n*\n* Hint: The difference to `getFallback` is that for object and tuple schemas\n* this function recursively returns the fallback values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The fallback values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getFallbacks(schema) {\n\tif (\"entries\" in schema) {\n\t\tconst object$1 = {};\n\t\tfor (const key in schema.entries) object$1[key] = /* @__PURE__ */ getFallbacks(schema.entries[key]);\n\t\treturn object$1;\n\t}\n\tif (\"items\" in schema) return schema.items.map(getFallbacks);\n\treturn /* @__PURE__ */ getFallback(schema);\n}\n\n//#endregion\n//#region src/methods/getFallbacks/getFallbacksAsync.ts\n/**\n* Returns the fallback values of the schema.\n*\n* Hint: The difference to `getFallback` is that for object and tuple schemas\n* this function recursively returns the fallback values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The fallback values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function getFallbacksAsync(schema) {\n\tif (\"entries\" in schema) return Object.fromEntries(await Promise.all(Object.entries(schema.entries).map(async ([key, value$1]) => [key, await /* @__PURE__ */ getFallbacksAsync(value$1)])));\n\tif (\"items\" in schema) return Promise.all(schema.items.map(getFallbacksAsync));\n\treturn /* @__PURE__ */ getFallback(schema);\n}\n\n//#endregion\n//#region src/methods/getMetadata/getMetadata.ts\n/**\n* Returns the metadata of a schema.\n*\n* If multiple metadata are defined, it shallowly merges them using depth-first\n* search. If no metadata is defined, an empty object is returned.\n*\n* @param schema Schema to get the metadata from.\n*\n* @returns The metadata, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getMetadata(schema) {\n\tconst result = {};\n\tfunction depthFirstMerge(schema$1) {\n\t\tif (\"pipe\" in schema$1) {\n\t\t\tfor (const item of schema$1.pipe) if (item.kind === \"schema\" && \"pipe\" in item) depthFirstMerge(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === \"metadata\") Object.assign(result, item.metadata);\n\t\t}\n\t}\n\tdepthFirstMerge(schema);\n\treturn result;\n}\n\n//#endregion\n//#region src/methods/getTitle/getTitle.ts\n/**\n* Returns the title of the schema.\n*\n* If multiple titles are defined, the last one of the highest level is\n* returned. If no title is defined, `undefined` is returned.\n*\n* @param schema The schema to get the title from.\n*\n* @returns The title, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getTitle(schema) {\n\treturn /* @__PURE__ */ _getLastMetadata(schema, \"title\");\n}\n\n//#endregion\n//#region src/methods/is/is.ts\n/**\n* Checks if the input matches the schema. By using a type predicate, this\n* function can be used as a type guard.\n*\n* @param schema The schema to be used.\n* @param input The input to be tested.\n*\n* @returns Whether the input matches the schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction is(schema, input) {\n\treturn !schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n}\n\n//#endregion\n//#region src/schemas/any/any.ts\n/**\n* Creates an any schema.\n*\n* Hint: This schema function exists only for completeness and is not\n* recommended in practice. Instead, `unknown` should be used to accept\n* unknown data.\n*\n* @returns An any schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction any() {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"any\",\n\t\treference: any,\n\t\texpects: \"any\",\n\t\tasync: false,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.typed = true;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/array/array.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction array(item, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"array\",\n\t\treference: array,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titem,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < input.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.item[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/array/arrayAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction arrayAsync(item, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"array\",\n\t\treference: arrayAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titem,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(input.map((value$1) => this.item[\"~run\"]({ value: value$1 }, config$1)));\n\t\t\t\tfor (let key = 0; key < itemDatasets.length; key++) {\n\t\t\t\t\tconst itemDataset = itemDatasets[key];\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/bigint/bigint.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bigint(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"bigint\",\n\t\treference: bigint,\n\t\texpects: \"bigint\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"bigint\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/blob/blob.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction blob(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"blob\",\n\t\treference: blob,\n\t\texpects: \"Blob\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Blob) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/boolean/boolean.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction boolean(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"boolean\",\n\t\treference: boolean,\n\t\texpects: \"boolean\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"boolean\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/custom/custom.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction custom(check$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"custom\",\n\t\treference: custom,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\tcheck: check$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.check(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/custom/customAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction customAsync(check$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"custom\",\n\t\treference: customAsync,\n\t\texpects: \"unknown\",\n\t\tasync: true,\n\t\tcheck: check$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (await this.check(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/date/date.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction date(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"date\",\n\t\treference: date,\n\t\texpects: \"Date\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Date) if (!isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { received: \"\\\"Invalid Date\\\"\" });\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/enum/enum.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction enum_(enum__, message$1) {\n\tconst options = [];\n\tfor (const key in enum__) if (`${+key}` !== key || typeof enum__[key] !== \"string\" || !Object.is(enum__[enum__[key]], +key)) options.push(enum__[key]);\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"enum\",\n\t\treference: enum_,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map(_stringify), \"|\"),\n\t\tasync: false,\n\t\tenum: enum__,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.includes(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/exactOptional/exactOptional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction exactOptional(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"exact_optional\",\n\t\treference: exactOptional,\n\t\texpects: wrapped.expects,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/exactOptional/exactOptionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction exactOptionalAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"exact_optional\",\n\t\treference: exactOptionalAsync,\n\t\texpects: wrapped.expects,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/file/file.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction file(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"file\",\n\t\treference: file,\n\t\texpects: \"File\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof File) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/function/function.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction function_(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"function\",\n\t\treference: function_,\n\t\texpects: \"Function\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"function\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/instance/instance.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction instance(class_, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"instance\",\n\t\treference: instance,\n\t\texpects: class_.name,\n\t\tasync: false,\n\t\tclass: class_,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof this.class) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/intersect/utils/_merge/_merge.ts\n/**\n* Merges two values into one single output.\n*\n* @param value1 First value.\n* @param value2 Second value.\n*\n* @returns The merge dataset.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _merge(value1, value2) {\n\tif (typeof value1 === typeof value2) {\n\t\tif (value1 === value2 || value1 instanceof Date && value2 instanceof Date && +value1 === +value2) return { value: value1 };\n\t\tif (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n\t\t\tfor (const key in value2) if (key in value1) {\n\t\t\t\tconst dataset = /* @__PURE__ */ _merge(value1[key], value2[key]);\n\t\t\t\tif (dataset.issue) return dataset;\n\t\t\t\tvalue1[key] = dataset.value;\n\t\t\t} else value1[key] = value2[key];\n\t\t\treturn { value: value1 };\n\t\t}\n\t\tif (Array.isArray(value1) && Array.isArray(value2)) {\n\t\t\tif (value1.length === value2.length) {\n\t\t\t\tfor (let index = 0; index < value1.length; index++) {\n\t\t\t\t\tconst dataset = /* @__PURE__ */ _merge(value1[index], value2[index]);\n\t\t\t\t\tif (dataset.issue) return dataset;\n\t\t\t\t\tvalue1[index] = dataset.value;\n\t\t\t\t}\n\t\t\t\treturn { value: value1 };\n\t\t\t}\n\t\t}\n\t}\n\treturn { issue: true };\n}\n\n//#endregion\n//#region src/schemas/intersect/intersect.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction intersect(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"intersect\",\n\t\treference: intersect,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"&\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.length) {\n\t\t\t\tconst input = dataset.value;\n\t\t\t\tlet outputs;\n\t\t\t\tdataset.typed = true;\n\t\t\t\tfor (const schema of this.options) {\n\t\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\tif (optionDataset.issues) {\n\t\t\t\t\t\tif (dataset.issues) dataset.issues.push(...optionDataset.issues);\n\t\t\t\t\t\telse dataset.issues = optionDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!optionDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (dataset.typed) if (outputs) outputs.push(optionDataset.value);\n\t\t\t\t\telse outputs = [optionDataset.value];\n\t\t\t\t}\n\t\t\t\tif (dataset.typed) {\n\t\t\t\t\tdataset.value = outputs[0];\n\t\t\t\t\tfor (let index = 1; index < outputs.length; index++) {\n\t\t\t\t\t\tconst mergeDataset = /* @__PURE__ */ _merge(dataset.value, outputs[index]);\n\t\t\t\t\t\tif (mergeDataset.issue) {\n\t\t\t\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { received: \"unknown\" });\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdataset.value = mergeDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/intersect/intersectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction intersectAsync(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"intersect\",\n\t\treference: intersectAsync,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"&\"),\n\t\tasync: true,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (this.options.length) {\n\t\t\t\tconst input = dataset.value;\n\t\t\t\tlet outputs;\n\t\t\t\tdataset.typed = true;\n\t\t\t\tconst optionDatasets = await Promise.all(this.options.map((schema) => schema[\"~run\"]({ value: input }, config$1)));\n\t\t\t\tfor (const optionDataset of optionDatasets) {\n\t\t\t\t\tif (optionDataset.issues) {\n\t\t\t\t\t\tif (dataset.issues) dataset.issues.push(...optionDataset.issues);\n\t\t\t\t\t\telse dataset.issues = optionDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!optionDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (dataset.typed) if (outputs) outputs.push(optionDataset.value);\n\t\t\t\t\telse outputs = [optionDataset.value];\n\t\t\t\t}\n\t\t\t\tif (dataset.typed) {\n\t\t\t\t\tdataset.value = outputs[0];\n\t\t\t\t\tfor (let index = 1; index < outputs.length; index++) {\n\t\t\t\t\t\tconst mergeDataset = /* @__PURE__ */ _merge(dataset.value, outputs[index]);\n\t\t\t\t\t\tif (mergeDataset.issue) {\n\t\t\t\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { received: \"unknown\" });\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdataset.value = mergeDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/lazy/lazy.ts\n/**\n* Creates a lazy schema.\n*\n* @param getter The schema getter.\n*\n* @returns A lazy schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction lazy(getter) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"lazy\",\n\t\treference: lazy,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\tgetter,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn this.getter(dataset.value)[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/lazy/lazyAsync.ts\n/**\n* Creates a lazy schema.\n*\n* @param getter The schema getter.\n*\n* @returns A lazy schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction lazyAsync(getter) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"lazy\",\n\t\treference: lazyAsync,\n\t\texpects: \"unknown\",\n\t\tasync: true,\n\t\tgetter,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\treturn (await this.getter(dataset.value))[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/literal/literal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction literal(literal_, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"literal\",\n\t\treference: literal,\n\t\texpects: /* @__PURE__ */ _stringify(literal_),\n\t\tasync: false,\n\t\tliteral: literal_,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === this.literal) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/looseObject/looseObject.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseObject(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"loose_object\",\n\t\treference: looseObject,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !(key in this.entries)) dataset.value[key] = input[key];\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/looseObject/looseObjectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseObjectAsync(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"loose_object\",\n\t\treference: looseObjectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !(key in this.entries)) dataset.value[key] = input[key];\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/looseTuple/looseTuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseTuple(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"loose_tuple\",\n\t\treference: looseTuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) dataset.value.push(input[key]);\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/looseTuple/looseTupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseTupleAsync(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"loose_tuple\",\n\t\treference: looseTupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) dataset.value.push(input[key]);\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/map/map.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction map(key, value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"map\",\n\t\treference: map,\n\t\texpects: \"Map\",\n\t\tasync: false,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Map) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Map();\n\t\t\t\tfor (const [inputKey, inputValue] of input) {\n\t\t\t\t\tconst keyDataset = this.key[\"~run\"]({ value: inputKey }, config$1);\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: inputValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.set(keyDataset.value, valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/map/mapAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mapAsync(key, value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"map\",\n\t\treference: mapAsync,\n\t\texpects: \"Map\",\n\t\tasync: true,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Map) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Map();\n\t\t\t\tconst datasets = await Promise.all([...input].map(([inputKey, inputValue]) => Promise.all([\n\t\t\t\t\tinputKey,\n\t\t\t\t\tinputValue,\n\t\t\t\t\tthis.key[\"~run\"]({ value: inputKey }, config$1),\n\t\t\t\t\tthis.value[\"~run\"]({ value: inputValue }, config$1)\n\t\t\t\t])));\n\t\t\t\tfor (const [inputKey, inputValue, keyDataset, valueDataset] of datasets) {\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.set(keyDataset.value, valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nan/nan.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nan(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nan\",\n\t\treference: nan,\n\t\texpects: \"NaN\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (Number.isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/never/never.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction never(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"never\",\n\t\treference: never,\n\t\texpects: \"never\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\t_addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonNullable/nonNullable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullable(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullable\",\n\t\treference: nonNullable,\n\t\texpects: \"!null\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== null) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonNullable/nonNullableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullableAsync(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullable\",\n\t\treference: nonNullableAsync,\n\t\texpects: \"!null\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== null) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonNullish/nonNullish.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullish(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullish\",\n\t\treference: nonNullish,\n\t\texpects: \"(!null & !undefined)\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!(dataset.value === null || dataset.value === void 0)) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null || dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonNullish/nonNullishAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullishAsync(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullish\",\n\t\treference: nonNullishAsync,\n\t\texpects: \"(!null & !undefined)\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (!(dataset.value === null || dataset.value === void 0)) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null || dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonOptional/nonOptional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonOptional(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_optional\",\n\t\treference: nonOptional,\n\t\texpects: \"!undefined\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== void 0) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonOptional/nonOptionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonOptionalAsync(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_optional\",\n\t\treference: nonOptionalAsync,\n\t\texpects: \"!undefined\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== void 0) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/null/null.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction null_(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"null\",\n\t\treference: null_,\n\t\texpects: \"null\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nullable/nullable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullable(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nullable\",\n\t\treference: nullable,\n\t\texpects: `(${wrapped.expects} | null)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nullable/nullableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullableAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nullable\",\n\t\treference: nullableAsync,\n\t\texpects: `(${wrapped.expects} | null)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nullish/nullish.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullish(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nullish\",\n\t\treference: nullish,\n\t\texpects: `(${wrapped.expects} | null | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nullish/nullishAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullishAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nullish\",\n\t\treference: nullishAsync,\n\t\texpects: `(${wrapped.expects} | null | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/number/number.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction number(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"number\",\n\t\treference: number,\n\t\texpects: \"number\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"number\" && !isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/object/object.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction object(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"object\",\n\t\treference: object,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/object/objectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectAsync(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"object\",\n\t\treference: objectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/objectWithRest/objectWithRest.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectWithRest(entries$1, rest, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"object_with_rest\",\n\t\treference: objectWithRest,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\trest,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !(key in this.entries)) {\n\t\t\t\t\t\tconst valueDataset = this.rest[\"~run\"]({ value: input[key] }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/objectWithRest/objectWithRestAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectWithRestAsync(entries$1, rest, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"object_with_rest\",\n\t\treference: objectWithRestAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\trest,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst [normalDatasets, restDatasets] = await Promise.all([Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t})), Promise.all(Object.entries(input).filter(([key]) => /* @__PURE__ */ _isValidObjectKey(input, key) && !(key in this.entries)).map(async ([key, value$1]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue$1,\n\t\t\t\t\tawait this.rest[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t]))]);\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of normalDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (const [key, value$1, valueDataset] of restDatasets) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/optional/optional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction optional(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"optional\",\n\t\treference: optional,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/optional/optionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction optionalAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"optional\",\n\t\treference: optionalAsync,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/picklist/picklist.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction picklist(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"picklist\",\n\t\treference: picklist,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map(_stringify), \"|\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.includes(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/promise/promise.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction promise(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"promise\",\n\t\treference: promise,\n\t\texpects: \"Promise\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Promise) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/record/record.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction record(key, value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"record\",\n\t\treference: record,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const entryKey in input) if (/* @__PURE__ */ _isValidObjectKey(input, entryKey)) {\n\t\t\t\t\tconst entryValue = input[entryKey];\n\t\t\t\t\tconst keyDataset = this.key[\"~run\"]({ value: entryKey }, config$1);\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tissue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: entryValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (keyDataset.typed) dataset.value[keyDataset.value] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/record/recordAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction recordAsync(key, value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"record\",\n\t\treference: recordAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst datasets = await Promise.all(Object.entries(input).filter(([key$1]) => /* @__PURE__ */ _isValidObjectKey(input, key$1)).map(([entryKey, entryValue]) => Promise.all([\n\t\t\t\t\tentryKey,\n\t\t\t\t\tentryValue,\n\t\t\t\t\tthis.key[\"~run\"]({ value: entryKey }, config$1),\n\t\t\t\t\tthis.value[\"~run\"]({ value: entryValue }, config$1)\n\t\t\t\t])));\n\t\t\t\tfor (const [entryKey, entryValue, keyDataset, valueDataset] of datasets) {\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tissue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (keyDataset.typed) dataset.value[keyDataset.value] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/set/set.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction set(value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"set\",\n\t\treference: set,\n\t\texpects: \"Set\",\n\t\tasync: false,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Set) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Set();\n\t\t\t\tfor (const inputValue of input) {\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: inputValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"set\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: null,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.add(valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/set/setAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction setAsync(value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"set\",\n\t\treference: setAsync,\n\t\texpects: \"Set\",\n\t\tasync: true,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Set) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Set();\n\t\t\t\tconst valueDatasets = await Promise.all([...input].map(async (inputValue) => [inputValue, await this.value[\"~run\"]({ value: inputValue }, config$1)]));\n\t\t\t\tfor (const [inputValue, valueDataset] of valueDatasets) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"set\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: null,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.add(valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/strictObject/strictObject.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictObject(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"strict_object\",\n\t\treference: strictObject,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (!(key in this.entries)) {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: key,\n\t\t\t\t\t\t\texpected: \"never\",\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/strictObject/strictObjectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictObjectAsync(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"strict_object\",\n\t\treference: strictObjectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (!(key in this.entries)) {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: key,\n\t\t\t\t\t\t\texpected: \"never\",\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/strictTuple/strictTuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictTuple(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"strict_tuple\",\n\t\treference: strictTuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!(dataset.issues && config$1.abortEarly) && this.items.length < input.length) _addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[this.items.length],\n\t\t\t\t\texpected: \"never\",\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: this.items.length,\n\t\t\t\t\t\tvalue: input[this.items.length]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/strictTuple/strictTupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictTupleAsync(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"strict_tuple\",\n\t\treference: strictTupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!(dataset.issues && config$1.abortEarly) && this.items.length < input.length) _addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[this.items.length],\n\t\t\t\t\texpected: \"never\",\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: this.items.length,\n\t\t\t\t\t\tvalue: input[this.items.length]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/string/string.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction string(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"string\",\n\t\treference: string,\n\t\texpects: \"string\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"string\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/symbol/symbol.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction symbol(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"symbol\",\n\t\treference: symbol,\n\t\texpects: \"symbol\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"symbol\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/tuple/tuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tuple(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"tuple\",\n\t\treference: tuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/tuple/tupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleAsync(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"tuple\",\n\t\treference: tupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/tupleWithRest/tupleWithRest.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleWithRest(items, rest, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"tuple_with_rest\",\n\t\treference: tupleWithRest,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\trest,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.rest[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/tupleWithRest/tupleWithRestAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleWithRestAsync(items, rest, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"tuple_with_rest\",\n\t\treference: tupleWithRestAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\trest,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst [normalDatasets, restDatasets] = await Promise.all([Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t})), Promise.all(input.slice(this.items.length).map(async (value$1, key) => {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey + this.items.length,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait this.rest[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}))]);\n\t\t\t\tfor (const [key, value$1, itemDataset] of normalDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (const [key, value$1, itemDataset] of restDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/undefined/undefined.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefined_(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"undefined\",\n\t\treference: undefined_,\n\t\texpects: \"undefined\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/undefinedable/undefinedable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefinedable(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"undefinedable\",\n\t\treference: undefinedable,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/undefinedable/undefinedableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefinedableAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"undefinedable\",\n\t\treference: undefinedableAsync,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/union/utils/_subIssues/_subIssues.ts\n/**\n* Returns the sub issues of the provided datasets for the union issue.\n*\n* @param datasets The datasets.\n*\n* @returns The sub issues.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _subIssues(datasets) {\n\tlet issues;\n\tif (datasets) for (const dataset of datasets) if (issues) issues.push(...dataset.issues);\n\telse issues = dataset.issues;\n\treturn issues;\n}\n\n//#endregion\n//#region src/schemas/union/union.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction union(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"union\",\n\t\treference: union,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"|\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tlet validDataset;\n\t\t\tlet typedDatasets;\n\t\t\tlet untypedDatasets;\n\t\t\tfor (const schema of this.options) {\n\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: dataset.value }, config$1);\n\t\t\t\tif (optionDataset.typed) if (optionDataset.issues) if (typedDatasets) typedDatasets.push(optionDataset);\n\t\t\t\telse typedDatasets = [optionDataset];\n\t\t\t\telse {\n\t\t\t\t\tvalidDataset = optionDataset;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if (untypedDatasets) untypedDatasets.push(optionDataset);\n\t\t\t\telse untypedDatasets = [optionDataset];\n\t\t\t}\n\t\t\tif (validDataset) return validDataset;\n\t\t\tif (typedDatasets) {\n\t\t\t\tif (typedDatasets.length === 1) return typedDatasets[0];\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(typedDatasets) });\n\t\t\t\tdataset.typed = true;\n\t\t\t} else if (untypedDatasets?.length === 1) return untypedDatasets[0];\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(untypedDatasets) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/union/unionAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction unionAsync(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"union\",\n\t\treference: unionAsync,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"|\"),\n\t\tasync: true,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tlet validDataset;\n\t\t\tlet typedDatasets;\n\t\t\tlet untypedDatasets;\n\t\t\tfor (const schema of this.options) {\n\t\t\t\tconst optionDataset = await schema[\"~run\"]({ value: dataset.value }, config$1);\n\t\t\t\tif (optionDataset.typed) if (optionDataset.issues) if (typedDatasets) typedDatasets.push(optionDataset);\n\t\t\t\telse typedDatasets = [optionDataset];\n\t\t\t\telse {\n\t\t\t\t\tvalidDataset = optionDataset;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if (untypedDatasets) untypedDatasets.push(optionDataset);\n\t\t\t\telse untypedDatasets = [optionDataset];\n\t\t\t}\n\t\t\tif (validDataset) return validDataset;\n\t\t\tif (typedDatasets) {\n\t\t\t\tif (typedDatasets.length === 1) return typedDatasets[0];\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(typedDatasets) });\n\t\t\t\tdataset.typed = true;\n\t\t\t} else if (untypedDatasets?.length === 1) return untypedDatasets[0];\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(untypedDatasets) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/unknown/unknown.ts\n/**\n* Creates a unknown schema.\n*\n* @returns A unknown schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction unknown() {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"unknown\",\n\t\treference: unknown,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.typed = true;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/variant/variant.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction variant(key, options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"variant\",\n\t\treference: variant,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tkey,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tlet outputDataset;\n\t\t\t\tlet maxDiscriminatorPriority = 0;\n\t\t\t\tlet invalidDiscriminatorKey = this.key;\n\t\t\t\tlet expectedDiscriminators = [];\n\t\t\t\tconst parseOptions = (variant$1, allKeys) => {\n\t\t\t\t\tfor (const schema of variant$1.options) {\n\t\t\t\t\t\tif (schema.type === \"variant\") parseOptions(schema, new Set(allKeys).add(schema.key));\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet keysAreValid = true;\n\t\t\t\t\t\t\tlet currentPriority = 0;\n\t\t\t\t\t\t\tfor (const currentKey of allKeys) {\n\t\t\t\t\t\t\t\tconst discriminatorSchema = schema.entries[currentKey];\n\t\t\t\t\t\t\t\tif (currentKey in input ? discriminatorSchema[\"~run\"]({\n\t\t\t\t\t\t\t\t\ttyped: false,\n\t\t\t\t\t\t\t\t\tvalue: input[currentKey]\n\t\t\t\t\t\t\t\t}, { abortEarly: true }).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n\t\t\t\t\t\t\t\t\tkeysAreValid = false;\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n\t\t\t\t\t\t\t\t\t\tmaxDiscriminatorPriority = currentPriority;\n\t\t\t\t\t\t\t\t\t\tinvalidDiscriminatorKey = currentKey;\n\t\t\t\t\t\t\t\t\t\texpectedDiscriminators = [];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey === currentKey) expectedDiscriminators.push(schema.entries[currentKey].expects);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcurrentPriority++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (keysAreValid) {\n\t\t\t\t\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\t\t\t\tif (!outputDataset || !outputDataset.typed && optionDataset.typed) outputDataset = optionDataset;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (outputDataset && !outputDataset.issues) break;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tparseOptions(this, new Set([this.key]));\n\t\t\t\tif (outputDataset) return outputDataset;\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[invalidDiscriminatorKey],\n\t\t\t\t\texpected: /* @__PURE__ */ _joinExpects(expectedDiscriminators, \"|\"),\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: invalidDiscriminatorKey,\n\t\t\t\t\t\tvalue: input[invalidDiscriminatorKey]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/variant/variantAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction variantAsync(key, options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"variant\",\n\t\treference: variantAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tkey,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tlet outputDataset;\n\t\t\t\tlet maxDiscriminatorPriority = 0;\n\t\t\t\tlet invalidDiscriminatorKey = this.key;\n\t\t\t\tlet expectedDiscriminators = [];\n\t\t\t\tconst parseOptions = async (variant$1, allKeys) => {\n\t\t\t\t\tfor (const schema of variant$1.options) {\n\t\t\t\t\t\tif (schema.type === \"variant\") await parseOptions(schema, new Set(allKeys).add(schema.key));\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet keysAreValid = true;\n\t\t\t\t\t\t\tlet currentPriority = 0;\n\t\t\t\t\t\t\tfor (const currentKey of allKeys) {\n\t\t\t\t\t\t\t\tconst discriminatorSchema = schema.entries[currentKey];\n\t\t\t\t\t\t\t\tif (currentKey in input ? (await discriminatorSchema[\"~run\"]({\n\t\t\t\t\t\t\t\t\ttyped: false,\n\t\t\t\t\t\t\t\t\tvalue: input[currentKey]\n\t\t\t\t\t\t\t\t}, { abortEarly: true })).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n\t\t\t\t\t\t\t\t\tkeysAreValid = false;\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n\t\t\t\t\t\t\t\t\t\tmaxDiscriminatorPriority = currentPriority;\n\t\t\t\t\t\t\t\t\t\tinvalidDiscriminatorKey = currentKey;\n\t\t\t\t\t\t\t\t\t\texpectedDiscriminators = [];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey === currentKey) expectedDiscriminators.push(schema.entries[currentKey].expects);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcurrentPriority++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (keysAreValid) {\n\t\t\t\t\t\t\t\tconst optionDataset = await schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\t\t\t\tif (!outputDataset || !outputDataset.typed && optionDataset.typed) outputDataset = optionDataset;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (outputDataset && !outputDataset.issues) break;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tawait parseOptions(this, new Set([this.key]));\n\t\t\t\tif (outputDataset) return outputDataset;\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[invalidDiscriminatorKey],\n\t\t\t\t\texpected: /* @__PURE__ */ _joinExpects(expectedDiscriminators, \"|\"),\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: invalidDiscriminatorKey,\n\t\t\t\t\t\tvalue: input[invalidDiscriminatorKey]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/void/void.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction void_(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"void\",\n\t\treference: void_,\n\t\texpects: \"void\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/keyof/keyof.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction keyof(schema, message$1) {\n\treturn /* @__PURE__ */ picklist(Object.keys(schema.entries), message$1);\n}\n\n//#endregion\n//#region src/methods/message/message.ts\n/**\n* Changes the local message configuration of a schema.\n*\n* @param schema The schema to configure.\n* @param message_ The error message.\n*\n* @returns The configured schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction message(schema, message_) {\n\treturn {\n\t\t...schema,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn schema[\"~run\"](dataset, {\n\t\t\t\t...config$1,\n\t\t\t\tmessage: message_\n\t\t\t});\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/omit/omit.ts\n/**\n* Creates a modified copy of an object schema that does not contain the\n* selected entries.\n*\n* @param schema The schema to omit from.\n* @param keys The selected entries.\n*\n* @returns An object schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction omit(schema, keys) {\n\tconst entries$1 = { ...schema.entries };\n\tfor (const key of keys) delete entries$1[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/parse/parse.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parsed input.\n*/\nfunction parse(schema, input, config$1) {\n\tconst dataset = schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\tif (dataset.issues) throw new ValiError(dataset.issues);\n\treturn dataset.value;\n}\n\n//#endregion\n//#region src/methods/parse/parseAsync.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parsed input.\n*/\nasync function parseAsync(schema, input, config$1) {\n\tconst dataset = await schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\tif (dataset.issues) throw new ValiError(dataset.issues);\n\treturn dataset.value;\n}\n\n//#endregion\n//#region src/methods/parser/parser.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parser(schema, config$1) {\n\tconst func = (input) => parse(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/parser/parserAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parserAsync(schema, config$1) {\n\tconst func = (input) => parseAsync(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/partial/partial.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partial(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ optional(schema.entries[key]) : schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/partial/partialAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialAsync(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ optionalAsync(schema.entries[key]) : schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/pick/pick.ts\n/**\n* Creates a modified copy of an object schema that contains only the selected\n* entries.\n*\n* @param schema The schema to pick from.\n* @param keys The selected entries.\n*\n* @returns An object schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction pick(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key of keys) entries$1[key] = schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/pipe/pipe.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction pipe(...pipe$1) {\n\treturn {\n\t\t...pipe$1[0],\n\t\tpipe: pipe$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tfor (const item of pipe$1) if (item.kind !== \"metadata\") {\n\t\t\t\tif (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) dataset = item[\"~run\"](dataset, config$1);\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/pipe/pipeAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction pipeAsync(...pipe$1) {\n\treturn {\n\t\t...pipe$1[0],\n\t\tpipe: pipe$1,\n\t\tasync: true,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tfor (const item of pipe$1) if (item.kind !== \"metadata\") {\n\t\t\t\tif (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) dataset = await item[\"~run\"](dataset, config$1);\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/required/required.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction required(schema, arg2, arg3) {\n\tconst keys = Array.isArray(arg2) ? arg2 : void 0;\n\tconst message$1 = Array.isArray(arg2) ? arg3 : arg2;\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ nonOptional(schema.entries[key], message$1) : schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/required/requiredAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction requiredAsync(schema, arg2, arg3) {\n\tconst keys = Array.isArray(arg2) ? arg2 : void 0;\n\tconst message$1 = Array.isArray(arg2) ? arg3 : arg2;\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ nonOptionalAsync(schema.entries[key], message$1) : schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/safeParse/safeParse.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parse result.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParse(schema, input, config$1) {\n\tconst dataset = schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\treturn {\n\t\ttyped: dataset.typed,\n\t\tsuccess: !dataset.issues,\n\t\toutput: dataset.value,\n\t\tissues: dataset.issues\n\t};\n}\n\n//#endregion\n//#region src/methods/safeParse/safeParseAsync.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parse result.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function safeParseAsync(schema, input, config$1) {\n\tconst dataset = await schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\treturn {\n\t\ttyped: dataset.typed,\n\t\tsuccess: !dataset.issues,\n\t\toutput: dataset.value,\n\t\tissues: dataset.issues\n\t};\n}\n\n//#endregion\n//#region src/methods/safeParser/safeParser.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParser(schema, config$1) {\n\tconst func = (input) => /* @__PURE__ */ safeParse(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/safeParser/safeParserAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParserAsync(schema, config$1) {\n\tconst func = (input) => /* @__PURE__ */ safeParseAsync(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/summarize/summarize.ts\n/**\n* Summarize the error messages of issues in a pretty-printable multi-line string.\n*\n* @param issues The list of issues.\n*\n* @returns A summary of the issues.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction summarize(issues) {\n\tlet summary = \"\";\n\tfor (const issue of issues) {\n\t\tif (summary) summary += \"\\n\";\n\t\tsummary += `× ${issue.message}`;\n\t\tconst dotPath = /* @__PURE__ */ getDotPath(issue);\n\t\tif (dotPath) summary += `\\n  → at ${dotPath}`;\n\t}\n\treturn summary;\n}\n\n//#endregion\n//#region src/methods/unwrap/unwrap.ts\n/**\n* Unwraps the wrapped schema.\n*\n* @param schema The schema to be unwrapped.\n*\n* @returns The unwrapped schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction unwrap(schema) {\n\treturn schema.wrapped;\n}\n\n//#endregion\nexport { BASE64_REGEX, BIC_REGEX, CUID2_REGEX, DECIMAL_REGEX, DIGITS_REGEX, EMAIL_REGEX, EMOJI_REGEX, HEXADECIMAL_REGEX, HEX_COLOR_REGEX, IMEI_REGEX, IPV4_REGEX, IPV6_REGEX, IP_REGEX, ISO_DATE_REGEX, ISO_DATE_TIME_REGEX, ISO_TIMESTAMP_REGEX, ISO_TIME_REGEX, ISO_TIME_SECOND_REGEX, ISO_WEEK_REGEX, MAC48_REGEX, MAC64_REGEX, MAC_REGEX, NANO_ID_REGEX, OCTAL_REGEX, RFC_EMAIL_REGEX, SLUG_REGEX, ULID_REGEX, UUID_REGEX, ValiError, _addIssue, _getByteCount, _getGraphemeCount, _getLastMetadata, _getStandardProps, _getWordCount, _isLuhnAlgo, _isValidObjectKey, _joinExpects, _stringify, any, args, argsAsync, array, arrayAsync, assert, awaitAsync, base64, bic, bigint, blob, boolean, brand, bytes, check, checkAsync, checkItems, checkItemsAsync, config, creditCard, cuid2, custom, customAsync, date, decimal, deleteGlobalConfig, deleteGlobalMessage, deleteSchemaMessage, deleteSpecificMessage, description, digits, email, emoji, empty, endsWith, entries, entriesFromList, entriesFromObjects, enum_ as enum, enum_, everyItem, exactOptional, exactOptionalAsync, examples, excludes, fallback, fallbackAsync, file, filterItems, findItem, finite, flatten, flavor, forward, forwardAsync, function_ as function, function_, getDefault, getDefaults, getDefaultsAsync, getDescription, getDotPath, getExamples, getFallback, getFallbacks, getFallbacksAsync, getGlobalConfig, getGlobalMessage, getMetadata, getSchemaMessage, getSpecificMessage, getTitle, graphemes, gtValue, hash, hexColor, hexadecimal, imei, includes, instance, integer, intersect, intersectAsync, ip, ipv4, ipv6, is, isOfKind, isOfType, isValiError, isoDate, isoDateTime, isoTime, isoTimeSecond, isoTimestamp, isoWeek, keyof, lazy, lazyAsync, length, literal, looseObject, looseObjectAsync, looseTuple, looseTupleAsync, ltValue, mac, mac48, mac64, map, mapAsync, mapItems, maxBytes, maxEntries, maxGraphemes, maxLength, maxSize, maxValue, maxWords, message, metadata, mimeType, minBytes, minEntries, minGraphemes, minLength, minSize, minValue, minWords, multipleOf, nan, nanoid, never, nonEmpty, nonNullable, nonNullableAsync, nonNullish, nonNullishAsync, nonOptional, nonOptionalAsync, normalize, notBytes, notEntries, notGraphemes, notLength, notSize, notValue, notValues, notWords, null_ as null, null_, nullable, nullableAsync, nullish, nullishAsync, number, object, objectAsync, objectWithRest, objectWithRestAsync, octal, omit, optional, optionalAsync, parse, parseAsync, parseJson, parser, parserAsync, partial, partialAsync, partialCheck, partialCheckAsync, pick, picklist, pipe, pipeAsync, promise, rawCheck, rawCheckAsync, rawTransform, rawTransformAsync, readonly, record, recordAsync, reduceItems, regex, required, requiredAsync, returns, returnsAsync, rfcEmail, safeInteger, safeParse, safeParseAsync, safeParser, safeParserAsync, set, setAsync, setGlobalConfig, setGlobalMessage, setSchemaMessage, setSpecificMessage, size, slug, someItem, sortItems, startsWith, strictObject, strictObjectAsync, strictTuple, strictTupleAsync, string, stringifyJson, summarize, symbol, title, toBigint, toBoolean, toDate, toLowerCase, toMaxValue, toMinValue, toNumber, toString, toUpperCase, transform, transformAsync, trim, trimEnd, trimStart, tuple, tupleAsync, tupleWithRest, tupleWithRestAsync, ulid, undefined_ as undefined, undefined_, undefinedable, undefinedableAsync, union, unionAsync, unknown, unwrap, url, uuid, value, values, variant, variantAsync, void_ as void, void_, words };","import { type ReactNode } from 'react';\nimport { custom, type CustomIssue, type CustomSchema, type ErrorMessage } from 'valibot';\n\nfunction reactNode(): CustomSchema<ReactNode, undefined>;\n\nfunction reactNode<\n  const TMessage extends ErrorMessage<CustomIssue> | undefined = ErrorMessage<CustomIssue> | undefined\n>(message: TMessage): CustomSchema<ReactNode, TMessage>;\n\nfunction reactNode<\n  const TMessage extends ErrorMessage<CustomIssue> | undefined = ErrorMessage<CustomIssue> | undefined\n>(message?: TMessage): CustomSchema<ReactNode, TMessage> {\n  return custom<ReactNode, TMessage>(\n    () => true,\n    // TODO: Probably lacking some undefined checks, thus, we need to force cast.\n    message as TMessage\n  );\n}\n\nexport default reactNode;\n","import { is, parse, type BaseIssue, type BaseSchema, type InferInput, type InferOutput } from 'valibot';\n\n/**\n * Specifies the props isolation mode.\n *\n * - `\"no isolation\"` will return the props as-is without cloning or modifications\n * - `\"strict\"` will isolate the props using `valibot.parse()`\n *    - Depends on schema design, it could clone object instances, remove extraneous properties from objects, or fill in optional fields\n */\ntype IsolationMode = 'no isolation' | 'strict';\n\ndeclare const process: {\n  env: {\n    NODE_ENV?: string | undefined;\n  };\n};\n\nexport default function validateProps<const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(\n  propsSchema: TSchema,\n  props: unknown,\n  isolationMode?: 'no isolation' | undefined\n): InferInput<TSchema>;\n\nexport default function validateProps<const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(\n  propsSchema: TSchema,\n  props: unknown,\n  isolationMode?: 'strict'\n): InferOutput<TSchema>;\n\n/**\n * Validates props against the specified valibot schema when running under development mode.\n *\n * This function will not perform any validations when running under production mode.\n *\n * @param propsSchema validation schema\n * @param props props to validate\n * @param mode specifies the isolation mode, default to `\"no isolation\"`\n * @returns\n */\nexport default function validateProps<const TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(\n  propsSchema: TSchema,\n  props: InferInput<TSchema>,\n  isolationMode?: IsolationMode | undefined\n): InferInput<TSchema> | InferOutput<TSchema> {\n  // When an error boundary caught an error, React will render some components again with `props` of `undefined`.\n  if (typeof props === 'undefined') {\n    // This is probably React rendering while an error is caught, assume it is okay.\n    return;\n  }\n\n  if (process.env.NODE_ENV === 'production') {\n    return props as unknown as InferInput<TSchema>;\n  }\n\n  if (isolationMode !== 'strict' && is(propsSchema, props)) {\n    return props as unknown as InferInput<TSchema>;\n  }\n\n  // Code path hit here when under strict isolation, or no isolation and failed earlier.\n\n  try {\n    return parse(propsSchema, props);\n  } catch (error) {\n    const validationError = new Error('botframework-webchat: Validation error while parsing props.');\n\n    console.error(validationError, error && typeof error === 'object' && 'issues' in error && error.issues);\n\n    validationError.cause = error;\n\n    throw validationError;\n  }\n}\n","import { warnOnce } from '@msinternal/botframework-webchat-base/utils';\nimport { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useEffect } from 'react';\nimport {\n  array,\n  custom,\n  instance,\n  never,\n  object,\n  optional,\n  pipe,\n  readonly,\n  string,\n  undefinedable,\n  union,\n  type InferOutput\n} from 'valibot';\n\nconst injectedStylesElementSchema = union(\n  [\n    custom<HTMLLinkElement & { rel: 'stylesheet' }>(\n      value => value instanceof HTMLLinkElement && value.rel === 'stylesheet'\n    ),\n    instance(HTMLStyleElement)\n  ],\n  'botframework-webchat: <InjectStyleElements> supports injecting <link rel=\"stylesheet\"> and <style> only'\n);\n\ntype InjectedStylesElement = InferOutput<typeof injectedStylesElementSchema>;\n\nconst injectStyleElementsPropsSchema = pipe(\n  object({\n    // Intentionally set this to undefinedable() instead of optional() to remind caller they should pass styles root if they have one.\n    at: undefinedable(custom<Node>(value => value instanceof Node, '\"at\" must be an instance of Node')),\n    children: optional(never()),\n    // Intentionally set this to undefinedable() instead of optional() to remind caller they should pass nonce if they have one.\n    nonce: undefinedable(string()),\n    styleElements: pipe(array(injectedStylesElementSchema), readonly())\n  }),\n  readonly()\n);\n\ntype InjectStyleElementsProps = {\n  // eslint does not recognize destructuring via validateProps().\n  // eslint-disable-next-line react/no-unused-prop-types, react/require-default-props\n  readonly at?: Node | undefined;\n  // eslint-disable-next-line react/no-unused-prop-types\n  readonly nonce: string | undefined;\n  // eslint-disable-next-line react/no-unused-prop-types\n  readonly styleElements: readonly InjectedStylesElement[];\n};\n\ntype InjectedStylesInstance = {\n  readonly element: InjectedStylesElement;\n  readonly mountingElement: InjectedStylesElement;\n  readonly nonce: string;\n  readonly root: Node;\n};\n\nconst sharedInstances: InjectedStylesInstance[] = [];\n\nconst warnNonce = warnOnce('The elements passing to <InjectStyleElements> should not have \"nonce\" attribute set');\n\nfunction InjectStyleElements(props: InjectStyleElementsProps) {\n  const { at = document.head, nonce = '', styleElements } = validateProps(injectStyleElementsPropsSchema, props);\n\n  // The <link rel=\"stylesheet\"> and <style> element should not have nonce.\n  for (const styleElement of styleElements) {\n    if (styleElement.getAttribute('nonce')) {\n      warnNonce();\n      break;\n    }\n  }\n\n  useEffect(() => {\n    if (!at) {\n      return;\n    }\n\n    const instancesToRemoveOnUnmount: InjectedStylesInstance[] = [];\n\n    for (const element of styleElements) {\n      let instance: InjectedStylesInstance | undefined = sharedInstances.find(\n        instance => instance.element === element && instance.nonce === nonce && instance.root === at\n      );\n\n      if (!instance) {\n        const mountingElement = element.cloneNode(true) as InjectedStylesElement;\n\n        nonce ? mountingElement.setAttribute('nonce', nonce) : mountingElement.removeAttribute('nonce');\n\n        instance = Object.freeze({\n          element,\n          // Deep clone is required for <style>body { ... }</style> (text node inside).\n          mountingElement,\n          nonce,\n          root: at\n        });\n\n        mountingElement.hasAttribute('data-webchat-injected') ||\n          mountingElement.setAttribute('data-webchat-injected', '');\n\n        // When appending via useEffect(), make sure the injection order is correct.\n\n        // ```html\n        // <>\n        //   <InjectStyleElements styleElements={[stylesA1, stylesA2]} />\n        //   <InjectStyleElements styleElements={[stylesB]} />\n        // </>\n        // ```\n\n        // Will be injected in the following order to honor CSS cascading:\n\n        // ```html\n        // <head>\n        //   <style>... stylesA1 ...</style>\n        //   <style>... stylesA2 ...</style>\n        //   <style>... stylesB ...</style>\n        // </head>\n        // ```\n      }\n\n      // If the <style> elements is being reinjected, move it to the bottommost/prioritized position.\n      at.appendChild(instance.mountingElement);\n\n      // Remember instance to remove later.\n      instancesToRemoveOnUnmount.push(instance);\n\n      // Extraneous push is intentional. It is for ref counting.\n      sharedInstances.push(instance);\n    }\n\n    return () => {\n      for (const instance of instancesToRemoveOnUnmount) {\n        const index = sharedInstances.lastIndexOf(instance);\n\n        ~index && sharedInstances.splice(index, 1);\n\n        // When ref count goes to zero, unmount the element.\n        sharedInstances.includes(instance) || instance.mountingElement.remove();\n      }\n    };\n  }, [at, nonce, styleElements]);\n\n  return null;\n}\n\nexport default InjectStyleElements;\nexport { injectStyleElementsPropsSchema, type InjectStyleElementsProps };\n","import { useMemo } from 'react';\n\nfunction useStyles<T extends CSSModuleClasses>(styles: T): T {\n  // @ts-expect-error: entries/fromEntries don't allow to specify keys type\n  return useMemo(\n    () =>\n      Object.freeze(\n        Object.fromEntries(\n          Object.entries(styles).map(([baseClassName, resultClassName]) => [\n            baseClassName,\n            `${baseClassName} ${resultClassName}`\n          ])\n        )\n      ),\n    [styles]\n  );\n}\n\nexport default useStyles;\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [-1, 0, 2] }] */\n\nimport { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { type Action as AdaptiveCardAction, type OpenUrlAction, type SubmitAction } from 'adaptivecards';\nimport { ErrorBoxPolymiddlewareProxy } from 'botframework-webchat-api/middleware.js';\nimport { getTabIndex, hooks } from 'botframework-webchat-component';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport React, {\n  memo,\n  useCallback,\n  useEffect,\n  useLayoutEffect,\n  useMemo,\n  useRef,\n  type KeyboardEventHandler,\n  type MouseEventHandler\n} from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { any, boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport useAdaptiveCardsHostConfig from '../hooks/useAdaptiveCardsHostConfig';\nimport useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';\nimport { BotFrameworkCardAction } from './AdaptiveCardBuilder';\nimport useValueRef from './AdaptiveCardHacks/private/useValueRef';\nimport useActionShouldBePushButtonModEffect from './AdaptiveCardHacks/useActionShouldBePushButtonModEffect';\nimport useActiveElementModEffect from './AdaptiveCardHacks/useActiveElementModEffect';\nimport useDisabledModEffect from './AdaptiveCardHacks/useDisabledModEffect';\nimport usePersistValuesModEffect from './AdaptiveCardHacks/usePersistValuesModEffect';\nimport useRoleModEffect from './AdaptiveCardHacks/useRoleModEffect';\nimport { directLineCardActionSchema } from './private/directLineSchema';\nimport renderAdaptiveCard from './private/renderAdaptiveCard';\n\nimport styles from './AdaptiveCardRenderer.module.css';\n\nconst { useLocalizer, usePerformCardAction, useRenderMarkdownAsHTML, useScrollToEnd, useUIState } = hooks;\n\nconst adaptiveCardRendererPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    adaptiveCard: any(),\n    disabled: optional(boolean()),\n    replyToId: optional(string()),\n    tapAction: optional(directLineCardActionSchema)\n  }),\n  readonly()\n);\n\ntype AdaptiveCardRendererProps = InferInput<typeof adaptiveCardRendererPropsSchema>;\n\nfunction AdaptiveCardRenderer(props: AdaptiveCardRendererProps) {\n  const {\n    actionPerformedClassName,\n    adaptiveCard,\n    disabled: disabledFromProps,\n    replyToId,\n    tapAction\n  } = validateProps(adaptiveCardRendererPropsSchema, props);\n\n  const [{ GlobalSettings, HostConfig }] = useAdaptiveCardsPackage();\n  const [adaptiveCardsHostConfig] = useAdaptiveCardsHostConfig();\n  const [uiState] = useUIState();\n  const contentRef = useRef<HTMLDivElement>();\n  const localize = useLocalizer();\n  const performCardAction = usePerformCardAction();\n  const renderMarkdownAsHTML = useRenderMarkdownAsHTML('adaptive cards');\n  const scrollToEnd = useScrollToEnd();\n  const classNames = useStyles(styles);\n\n  const disabled = uiState === 'disabled' || disabledFromProps;\n  const tapActionRef = useValueRef(tapAction);\n\n  const disabledRef = useValueRef(disabled);\n\n  // TODO: [P2] #3199 We should consider using `adaptiveCard.selectAction` instead.\n  // The null check for \"tapAction\" is in \"handleClickAndKeyPressForTapAction\".\n  const handleClickAndKeyPress = useCallback<KeyboardEventHandler<HTMLDivElement> | MouseEventHandler<HTMLDivElement>>(\n    (event): void => {\n      const { key, type } = event as KeyboardEvent;\n      const target = event.target as HTMLDivElement;\n\n      // Some items, e.g. tappable text, cannot be disabled thru DOM attributes\n      const { current } = contentRef;\n      const adaptiveCardRoot = current.querySelector('.ac-adaptiveCard[tabindex=\"0\"]');\n\n      if (!adaptiveCardRoot) {\n        return console.warn(\n          'botframework-webchat: No Adaptive Card root container can be found; the card is probably on an unsupported Adaptive Card version.'\n        );\n      }\n\n      // For \"keypress\" event, we only listen to ENTER and SPACEBAR key.\n      if (type === 'keypress') {\n        if (key !== 'Enter' && key !== ' ') {\n          return;\n        }\n\n        event.preventDefault();\n      }\n\n      // We will call performCardAction if either:\n      // 1. We are on the target, or\n      // 2. The event-dispatching element is not interactive\n      if (target !== adaptiveCardRoot) {\n        const tabIndex = getTabIndex(target);\n\n        // If the user is clicking on something that is already clickable, do not allow them to click the card.\n        // E.g. a hero card can be tappable, and image and buttons inside the hero card can also be tappable.\n        if (typeof tabIndex === 'number' && tabIndex >= 0) {\n          return;\n        }\n      }\n\n      performCardAction(tapActionRef.current as DirectLineCardAction, undefined, { replyToId });\n      scrollToEnd();\n    },\n    [contentRef, performCardAction, replyToId, scrollToEnd, tapActionRef]\n  );\n\n  // Only listen to event if it is not disabled and have \"tapAction\" prop.\n  const handleClickAndKeyPressForTapAction = !disabled && tapAction ? handleClickAndKeyPress : undefined;\n\n  const handleExecuteAction = useCallback(\n    (action: AdaptiveCardAction): void => {\n      // Some items, e.g. tappable image, cannot be disabled thru DOM attributes\n      if (disabledRef.current) {\n        return;\n      }\n\n      const actionTypeName = action.getJsonTypeName();\n      const { iconUrl: image, title } = action;\n\n      // We cannot use \"instanceof\" check here, because web devs may bring their own version of Adaptive Cards package.\n      // We need to check using \"getJsonTypeName()\" instead.\n      if (actionTypeName === 'Action.OpenUrl') {\n        const { url: value } = action as OpenUrlAction;\n\n        performCardAction(\n          {\n            image,\n            title,\n            type: 'openUrl',\n            value\n          },\n          undefined,\n          { replyToId }\n        );\n      } else if (actionTypeName === 'Action.OpenUrlDialog') {\n        const { url: value } = action as OpenUrlAction;\n\n        performCardAction(\n          {\n            image,\n            title,\n            type: 'webchat:callURL',\n            value\n          },\n          undefined,\n          { replyToId }\n        );\n      } else if (actionTypeName === 'Action.Submit') {\n        const { data } = action as SubmitAction as {\n          data: string | BotFrameworkCardAction;\n        };\n\n        if (typeof data !== 'undefined') {\n          if (typeof data === 'string') {\n            performCardAction(\n              {\n                image,\n                title,\n                type: 'imBack',\n                value: data\n              },\n              undefined,\n              { replyToId }\n            );\n          } else if (data.__isBotFrameworkCardAction) {\n            performCardAction(data.cardAction, undefined, { replyToId });\n          } else {\n            performCardAction(\n              {\n                image,\n                title,\n                type: 'postBack',\n                value: data\n              },\n              undefined,\n              { replyToId }\n            );\n          }\n        }\n\n        scrollToEnd();\n      } else {\n        console.error(`Web Chat: received unknown action from Adaptive Cards`);\n        console.error(action);\n      }\n    },\n    [replyToId, disabledRef, performCardAction, scrollToEnd]\n  );\n\n  // For accessibility issue #1340, `tabindex=\"0\"` must not be set for the root container if it is not interactive.\n  const setTabIndexAtCardRoot = !!tapAction;\n\n  const [applyActionShouldBePushButtonMod, undoActionShouldBePushButtonMod] =\n    useActionShouldBePushButtonModEffect(adaptiveCard);\n  const [applyActiveElementMod, undoActiveElementMod] = useActiveElementModEffect(adaptiveCard);\n  const [applyDisabledMod, undoDisabledMod] = useDisabledModEffect(adaptiveCard);\n  const [applyPersistValuesMod, undoPersistValuesMod] = usePersistValuesModEffect(adaptiveCard);\n  const [applyRoleMod, undoRoleMod] = useRoleModEffect(adaptiveCard);\n\n  const { element, errors }: { element?: HTMLElement; errors?: Error[] } = useMemo(() => {\n    undoActionShouldBePushButtonMod();\n    undoActiveElementMod();\n    undoDisabledMod();\n    undoPersistValuesMod();\n    undoRoleMod();\n\n    return renderAdaptiveCard(adaptiveCard, {\n      adaptiveCardsHostConfig,\n      adaptiveCardsPackage: { GlobalSettings, HostConfig },\n      renderMarkdownAsHTML,\n      setTabIndexAtCardRoot\n    });\n  }, [\n    adaptiveCard,\n    adaptiveCardsHostConfig,\n    GlobalSettings,\n    HostConfig,\n    renderMarkdownAsHTML,\n    setTabIndexAtCardRoot,\n    undoActionShouldBePushButtonMod,\n    undoActiveElementMod,\n    undoDisabledMod,\n    undoPersistValuesMod,\n    undoRoleMod\n  ]);\n\n  useMemo(() => {\n    // Intentionally modifying the `onExecuteAction` because the API design of Adaptive Cards.\n    // eslint-disable-next-line react-hooks/immutability\n    adaptiveCard.onExecuteAction = handleExecuteAction;\n  }, [adaptiveCard, handleExecuteAction]);\n\n  useLayoutEffect(() => {\n    contentRef.current?.replaceChildren(element);\n  }, [contentRef, element]);\n\n  const elementRef = useRefFrom(element);\n  useEffect(() => () => elementRef.current?.remove(), [elementRef]);\n\n  // Apply all mods regardless whether the element changed or not.\n  // This is because we have undoed mods when we call the `useXXXModEffect` hook.\n  useLayoutEffect(() => {\n    if (element) {\n      applyActionShouldBePushButtonMod(element, actionPerformedClassName);\n      applyActiveElementMod(element);\n      applyDisabledMod(element, disabled);\n      applyPersistValuesMod(element);\n      applyRoleMod(element);\n    }\n  }, [\n    actionPerformedClassName,\n    applyActionShouldBePushButtonMod,\n    applyActiveElementMod,\n    applyDisabledMod,\n    applyPersistValuesMod,\n    applyRoleMod,\n    disabled,\n    element\n  ]);\n\n  errors?.length && console.warn('botframework-webchat: Failed to render Adaptive Cards.', errors);\n\n  return errors?.length ? (\n    <ErrorBoxPolymiddlewareProxy error={errors[0]} where={localize('ADAPTIVE_CARD_ERROR_BOX_TITLE_RENDER')} />\n  ) : (\n    <div\n      className={classNames['adaptive-card-renderer']}\n      onClick={handleClickAndKeyPressForTapAction as MouseEventHandler<HTMLDivElement>}\n      onKeyPress={handleClickAndKeyPressForTapAction as KeyboardEventHandler<HTMLDivElement>}\n      ref={contentRef}\n    />\n  );\n}\n\nexport default memo(AdaptiveCardRenderer);\nexport { adaptiveCardRendererPropsSchema, type AdaptiveCardRendererProps };\n","import { useRef } from 'react';\n\nimport type { RefObject } from 'react';\n\nexport default function useValueRef<T>(value: T): RefObject<T> {\n  const ref = useRef<T>(value);\n\n  ref.current = value;\n\n  return ref;\n}\n","import { useMemo, useRef } from 'react';\n\nimport addEventListenerWithUndo from '../../DOMManipulationWithUndo/addEventListenerWithUndo';\nimport bunchUndos from '../../DOMManipulationWithUndo/bunchUndos';\nimport durableAddClassWithUndo from '../../DOMManipulationWithUndo/durableAddClassWithUndo';\nimport setOrRemoveAttributeIfFalseWithUndo from '../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo';\nimport closest from './private/closest';\nimport findDOMNodeOwner from './private/findDOMNodeOwner';\nimport useAdaptiveCardModEffect from './private/useAdaptiveCardModEffect';\nimport usePrevious from './private/usePrevious';\n\nimport type { AdaptiveCard, CardObject } from 'adaptivecards';\nimport type { UndoFunction } from '../../DOMManipulationWithUndo/types/UndoFunction';\n\n/**\n * Accessibility: Action in ActionSet/CardElement should be push button.\n *\n * Pressing the action button is a decision-making process. The decision made by the end-user need to be read by the screen reader.\n * Thus, we need to indicate what decision the end-user made.\n *\n * Since action buttons are button, the intuitive way to indicate selection of a button is marking it as pressed.\n *\n * One exception is the `Action.ShowUrl` action. This button represents expand/collapse header of an accordion.\n * Thus, their state is indicated by `aria-expanded`, instead of `aria-pressed`.\n * However, we still need to remove other unnecessary ARIA fields.\n */\nexport default function useActionShouldBePushButtonModEffect(\n  adaptiveCard: AdaptiveCard\n): readonly [(cardElement: HTMLElement, actionPerformedClassName?: string | undefined) => void, () => void] {\n  const prevAdaptiveCard = usePrevious(adaptiveCard);\n  const pushedCardObjectsRef = useRef<Set<CardObject>>(new Set());\n\n  prevAdaptiveCard === adaptiveCard || pushedCardObjectsRef.current.clear();\n\n  const modder = useMemo(\n    () => (adaptiveCard: AdaptiveCard, cardElement: HTMLElement, actionPerformedClassName?: string | undefined) => {\n      const undoStack: UndoFunction[] = [];\n\n      Array.from(cardElement.querySelectorAll('button.ac-pushButton') as NodeListOf<HTMLButtonElement>).forEach(\n        actionElement => {\n          const cardObject = findDOMNodeOwner(adaptiveCard, actionElement);\n\n          if (!actionElement.hasAttribute('aria-expanded')) {\n            if (pushedCardObjectsRef.current.has(cardObject)) {\n              actionPerformedClassName &&\n                undoStack.push(durableAddClassWithUndo(actionElement, actionPerformedClassName));\n\n              undoStack.push(setOrRemoveAttributeIfFalseWithUndo(actionElement, 'aria-pressed', 'true'));\n            } else {\n              undoStack.push(setOrRemoveAttributeIfFalseWithUndo(actionElement, 'aria-pressed', 'false'));\n            }\n          }\n\n          undoStack.push(\n            setOrRemoveAttributeIfFalseWithUndo(actionElement, 'aria-posinset', false),\n            setOrRemoveAttributeIfFalseWithUndo(actionElement, 'aria-setsize', false),\n            setOrRemoveAttributeIfFalseWithUndo(actionElement, 'role', false)\n          );\n        }\n      );\n\n      undoStack.push(\n        addEventListenerWithUndo(\n          cardElement,\n          'click',\n          ({ target }) => {\n            // Depends on click location, `target` could be the <div> inside the <button class=\"ac-pushButton\">.\n            // Thus, we need to check if we the `target` is inside `button.ac-pushButton` or not.\n            const actionElement = closest(target as HTMLButtonElement, 'button.ac-pushButton');\n\n            if (!actionElement) {\n              return;\n            }\n\n            const cardObject = findDOMNodeOwner(adaptiveCard, actionElement);\n\n            if (\n              // Not an AC action.\n              !cardObject ||\n              // Ignores buttons which are supposed to be disabled.\n              actionElement.getAttribute('aria-disabled') === 'true' ||\n              // Mods all AC action buttons except those for `Action.ShowCard`, which has `aria-expanded` attribute.\n              actionElement.hasAttribute('aria-expanded')\n            ) {\n              return;\n            }\n\n            actionPerformedClassName &&\n              undoStack.push(durableAddClassWithUndo(actionElement, actionPerformedClassName));\n\n            undoStack.push(setOrRemoveAttributeIfFalseWithUndo(actionElement, 'aria-pressed', 'true'));\n\n            cardObject && pushedCardObjectsRef.current.add(cardObject);\n          },\n          { capture: true }\n        )\n      );\n\n      return () => bunchUndos(undoStack)();\n    },\n    [pushedCardObjectsRef]\n  );\n\n  return useAdaptiveCardModEffect(modder, adaptiveCard);\n}\n","// This is intended. This is a no-op function and intended to do nothing.\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noOp: () => void = () => {};\n\nexport default noOp;\n","import noOp from './private/noOp';\n\nimport type { UndoFunction } from './types/UndoFunction';\n\n/**\n * Listens to event. Returns a function, when called, will stop listening.\n */\nexport default function addEventListenerWithUndo(\n  element: HTMLElement | undefined,\n  name: string,\n  handler: EventListener,\n  options?: AddEventListenerOptions | boolean\n): UndoFunction {\n  if (!element) {\n    return noOp;\n  }\n\n  element.addEventListener(name, handler, options);\n\n  return () => element.removeEventListener(name, handler, options);\n}\n","import type { UndoFunction } from './types/UndoFunction';\n\nexport default function bunchUndos(fns: UndoFunction[]): UndoFunction {\n  let called: boolean;\n\n  return () => {\n    if (!called) {\n      called = true;\n      [...fns].reverse().forEach(fn => fn?.());\n    }\n  };\n}\n","/**\n * Adds a class to the `HTMLElement`. Returns `true` if the class is added, otherwise, `undefined`.\n */\n\nexport function addClass(element: HTMLElement, className: string): true | undefined {\n  const { classList } = element;\n\n  if (!classList.contains(className)) {\n    classList.add(className);\n\n    return true;\n  }\n}\n","import { addClass } from './private/addClass';\nimport noOp from './private/noOp';\n\nimport type { UndoFunction } from './types/UndoFunction';\n\n/**\n * Adds a class to the `HTMLElement` and re-add on mutations.\n *\n * @returns {function} A function, when called, will restore to previous state.\n */\nexport default function durableAddClassWithUndo(element: HTMLElement | undefined, className: string): UndoFunction {\n  if (element) {\n    addClass(element, className);\n\n    // After we add the class, keep observing the element to make sure the class is not removed.\n    const observer = new MutationObserver(() => addClass(element, className));\n\n    observer.observe(element, { attributes: true, attributeFilter: ['class'] });\n\n    return () => {\n      element.classList.remove(className);\n\n      observer.disconnect();\n    };\n  }\n\n  return noOp;\n}\n","/**\n * Gets the value of an attribute from an element.\n *\n * @returns {false | string} The value of the attribute. `false` if the attribute was not set.\n */\nexport default function getAttributeOrFalse(element: HTMLElement, qualifiedName: string): false | string {\n  return !!element && element.hasAttribute(qualifiedName) && (element.getAttribute(qualifiedName) || '');\n}\n","/**\n * Sets or removes an attribute from an element.\n *\n * @param {HTMLElement} element - The element to set or remove attribute from.\n * @param {string} qualifiedName - The name of the attribute.\n * @param {false | string} value - The value of the attribute. When passing `false`, remove the attribute.\n */\nexport default function setOrRemoveAttributeIfFalse(\n  element: HTMLElement | undefined,\n  qualifiedName: string,\n  value: false | string\n): void {\n  if (value === false) {\n    element?.removeAttribute(qualifiedName);\n  } else {\n    element?.setAttribute(qualifiedName, value);\n  }\n}\n","import getAttributeOrFalse from './private/getAttributeOrFalse';\nimport noOp from './private/noOp';\nimport setOrRemoveAttributeIfFalse from './private/setOrRemoveAttributeIfFalse';\n\nimport type { UndoFunction } from './types/UndoFunction';\n\n/**\n * Sets or removes an attribute from an element with an undo function.\n *\n * @param {HTMLElement} element - The element to set or remove attribute from.\n * @param {string} qualifiedName - The name of the attribute.\n * @param {false | string} value - The value of the attribute. When passing `false`, remove the attribute.\n *\n * @returns {() => void} An undo function, when called, will undo all manipulations by restoring values recorded at the time of the function call.\n */\nexport default function setOrRemoveAttributeIfFalseWithUndo(\n  element: HTMLElement | undefined,\n  qualifiedName: string,\n  value: false | string\n): UndoFunction {\n  if (!element) {\n    return noOp;\n  }\n\n  const prevValue = getAttributeOrFalse(element, qualifiedName);\n\n  if (prevValue === value) {\n    return noOp;\n  }\n\n  setOrRemoveAttributeIfFalse(element, qualifiedName, value);\n\n  return () => setOrRemoveAttributeIfFalse(element, qualifiedName, prevValue);\n}\n","// Ponyfill `HTMLElement.closest`.\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\nexport default function closest(element: HTMLElement, selector: string): HTMLElement | undefined {\n  if (typeof element.closest === 'function') {\n    return element.closest(selector);\n  }\n\n  let current: HTMLElement | null = element;\n\n  while (current) {\n    // \"msMatchesSelector\" is vendor-prefixed version of \"matches\".\n    if ((current.matches || (current['msMatchesSelector'] as (selector: string) => boolean)).call(current, selector)) {\n      return current;\n    }\n\n    current = current.parentElement;\n  }\n}\n","import type { AdaptiveCard, CardObject, ShowCardAction } from 'adaptivecards';\n\n// TODO: [P2] Remove this when Adaptive Card fixed their bug #7606.\n//            https://github.com/microsoft/AdaptiveCards/issues/7606\n//            Currently, their findDOMNodeOwner() returns bad result when passing an Action attached to the card.\nexport default function findDOMNodeOwner(adaptiveCard: AdaptiveCard, element: HTMLElement): CardObject | undefined {\n  for (let count = adaptiveCard.getActionCount(), index = 0; index < count; index++) {\n    const action = adaptiveCard.getActionAt(index);\n\n    if (action.renderedElement === element) {\n      return action;\n    }\n\n    if (action.getJsonTypeName() === 'Action.ShowCard') {\n      const { card } = action as ShowCardAction;\n      const cardObject = card && findDOMNodeOwner(card, element);\n\n      if (cardObject) {\n        return cardObject;\n      }\n    }\n  }\n\n  return adaptiveCard.findDOMNodeOwner(element);\n}\n","import { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport useLazyRef from './useLazyRef';\nimport useValueRef from './useValueRef';\n\nimport type { AdaptiveCard } from 'adaptivecards';\n\ntype ModFunction<TArgs extends unknown[] = []> = (\n  adaptiveCard: AdaptiveCard,\n  cardElement: HTMLElement,\n  ...args: TArgs\n) => () => void;\n\nclass Mod<TArgs extends unknown[]> {\n  constructor(mod: ModFunction<TArgs>) {\n    this.#mod = mod;\n  }\n\n  // @ts-ignore We are using Babel to transpile and it will transpile private modifier.\n  #mod: ModFunction<TArgs>;\n  // @ts-ignore We are using Babel to transpile and it will transpile private modifier.\n  #undo: (() => void) | undefined;\n\n  apply(adaptiveCard: AdaptiveCard | undefined, cardElement: HTMLElement | undefined, ...args: TArgs) {\n    this.#undo?.();\n    this.#undo = adaptiveCard && cardElement && this.#mod(adaptiveCard, cardElement, ...args);\n  }\n\n  undo() {\n    this.#undo?.();\n    this.#undo = undefined;\n  }\n}\n\n/**\n * Creates a mod effect for Adaptive Card.\n *\n * When this hook is executed, it will return two functions for applying and undo the mod.\n * It will also monitor the DOM tree and undo-then-reapply if mutation occurred.\n *\n * The first function must be called right after DOM is mounted. The second function must be called right before re-render.\n *\n * @return {[function, function]} Two functions, the first one to apply the mod, the second one to undo the mod.\n */\nexport default function useAdaptiveCardModEffect<TArgs extends unknown[]>(\n  modder: (adaptiveCard: AdaptiveCard, cardElement: HTMLElement, ...args: TArgs) => () => void,\n  adaptiveCard: AdaptiveCard\n): readonly [(cardElement: HTMLElement, ...args: TArgs) => void, () => void] {\n  const adaptiveCardRef = useValueRef(adaptiveCard);\n  const mod = useMemo(() => new Mod<TArgs>(modder), [modder]);\n  const reapplyRef = useRef<() => void>();\n\n  const observerRef = useLazyRef<MutationObserver>(\n    () =>\n      new MutationObserver(() => {\n        reapplyRef.current?.();\n      })\n  );\n\n  useEffect(\n    () => () => {\n      observerRef.current.disconnect();\n    },\n    [observerRef]\n  );\n\n  const handleApply = useCallback(\n    (cardElement: HTMLElement, ...args: TArgs) => {\n      if (adaptiveCardRef.current && cardElement) {\n        // Apply the mod immediately, then assign the function to reapply() so we can call later when mutation happens.\n        (reapplyRef.current = () => mod.apply(adaptiveCardRef.current, cardElement, ...args))();\n      }\n\n      const { current: observer } = observerRef;\n\n      observer.disconnect();\n      observer.observe(cardElement, { childList: true, subtree: true });\n    },\n    [adaptiveCardRef, observerRef, mod]\n  );\n\n  const handleUndo = useCallback(() => {\n    mod.undo();\n\n    // If we have undo-ed the mod, calling reapply() through MutationObserver should be no-op.\n    reapplyRef.current = undefined;\n  }, [mod, reapplyRef]);\n\n  return useMemo(\n    () => Object.freeze([handleApply, handleUndo]) as readonly [typeof handleApply, typeof handleUndo],\n    [handleApply, handleUndo]\n  );\n}\n","import { useRef } from 'react';\n\nimport type { MutableRefObject } from 'react';\n\nconst UNINITIALIZED = Symbol();\n\nexport default function useLazyRef<T>(refInit: () => T): MutableRefObject<T> {\n  const ref = useRef<T | typeof UNINITIALIZED>(UNINITIALIZED);\n\n  if (ref.current === UNINITIALIZED) {\n    ref.current = refInit();\n  }\n\n  return ref as MutableRefObject<T>;\n}\n","// TODO: [P0] #4133 Don't copy.\nimport { useEffect, useRef } from 'react';\n\nexport default function usePrevious<T>(value: T): T | undefined {\n  const ref = useRef<T>();\n\n  useEffect(() => {\n    ref.current = value;\n  });\n\n  return ref.current;\n}\n","import { useMemo, useRef } from 'react';\n\nimport findDOMNodeOwner from './private/findDOMNodeOwner';\nimport useAdaptiveCardModEffect from './private/useAdaptiveCardModEffect';\nimport usePrevious from './private/usePrevious';\n\nimport type { AdaptiveCard, CardObject } from 'adaptivecards';\n\n/**\n * Re-rendering: Last focused element must be persisted during render cycle.\n */\nexport default function useActiveElementModEffect(adaptiveCard: AdaptiveCard) {\n  const activeCardObjectRef = useRef<CardObject | undefined>();\n  const prevAdaptiveCard = usePrevious(adaptiveCard);\n\n  if (prevAdaptiveCard !== adaptiveCard) {\n    activeCardObjectRef.current = undefined;\n  }\n\n  const modder = useMemo(\n    () => (adaptiveCard: AdaptiveCard) => {\n      // When apply, if we have saved the `CardObject` that was focused, restore its focused to the newly rendered element.\n      activeCardObjectRef.current?.renderedElement?.focus?.();\n\n      // When undo, we are preparing for the next rendering.\n      // So, find and save the `CardObject` that is currently focused.\n      return () => {\n        activeCardObjectRef.current = findDOMNodeOwner(adaptiveCard, document.activeElement as HTMLElement);\n      };\n    },\n    [activeCardObjectRef]\n  );\n\n  return useAdaptiveCardModEffect(modder, adaptiveCard);\n}\n","import { useMemo } from 'react';\n\nimport bunchUndos from '../../DOMManipulationWithUndo/bunchUndos';\nimport durableDisableInputElementAccessiblyWithUndo from '../../DOMManipulationWithUndo/durableDisableInputElementAccessiblyWithUndo';\nimport useAdaptiveCardModEffect from './private/useAdaptiveCardModEffect';\n\nimport type { AdaptiveCard } from 'adaptivecards';\nimport type { UndoFunction } from '../../DOMManipulationWithUndo/types/UndoFunction';\n\n// This is intended. This is a no-op function and intended to do nothing.\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst NO_OP: UndoFunction = () => {};\n\n// In Adaptive Cards, <button> with \"aria-expanded\" attribute means it is makeshift of <details> and it is Action.ShowCard.\n// In HTML, <details> should not be disabled unless the accordion does not permit the panel to be collapsed.\n// So when we look for input elements, should skip <button> that mimick <details>.\nconst INPUT_ELEMENT_SELECTOR = 'button:not([aria-expanded]), input, select, textarea';\ntype InputElementType = HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n/**\n * Accessibility: Form fields in Adaptive Cards need to be disabled to reduce confusion for screen reader users.\n *\n * One exception is the `Action.ShowUrl`, this is because this action is expand/collapse of an accordion control.\n * Similar to `<details>`/`<summary>`, accordion must not allowed to be disabled.\n */\nexport default function useDisabledModEffect(\n  adaptiveCard: AdaptiveCard\n): readonly [(cardElement: HTMLElement, disabled: boolean) => void, () => void] {\n  const modder = useMemo(\n    () => (_, cardElement: HTMLElement, disabled: boolean) => {\n      if (!disabled) {\n        return NO_OP;\n      }\n\n      const undoStack: (() => void)[] = Array.from(\n        cardElement.querySelectorAll(INPUT_ELEMENT_SELECTOR) as NodeListOf<InputElementType>\n      ).map(element => durableDisableInputElementAccessiblyWithUndo(element));\n\n      return () => bunchUndos(undoStack)();\n    },\n    []\n  );\n\n  return useAdaptiveCardModEffect(modder, adaptiveCard);\n}\n","import addEventListenerWithUndo from './addEventListenerWithUndo';\nimport bunchUndos from './bunchUndos';\nimport noOp from './private/noOp';\nimport setOrRemoveAttributeIfFalseWithUndo from './setOrRemoveAttributeIfFalseWithUndo';\n\nimport type { UndoFunction } from './types/UndoFunction';\n\n/**\n * An event handler for disabling event bubbling and propagation.\n */\nfunction disabledHandler(event: Event): void {\n  event.preventDefault();\n  event.stopImmediatePropagation();\n  event.stopPropagation();\n}\n\nfunction disable(element: HTMLElement, undoStack: UndoFunction[]): void {\n  const tag = element.nodeName.toLowerCase();\n\n  /* eslint-disable-next-line default-case */\n  switch (tag) {\n    case 'button':\n    case 'input':\n    case 'select':\n    case 'textarea':\n      undoStack.push(\n        // \"click\" handler in capture phase to make sure we can block as much \"click\" event listeners as possible.\n        addEventListenerWithUndo(element, 'click', disabledHandler, { capture: true }),\n        setOrRemoveAttributeIfFalseWithUndo(element, 'aria-disabled', 'true'),\n        setOrRemoveAttributeIfFalseWithUndo(element, 'tabindex', '-1')\n      );\n\n      if (tag === 'input' || tag === 'textarea') {\n        undoStack.push(setOrRemoveAttributeIfFalseWithUndo(element, 'readonly', 'readonly'));\n      } else if (tag === 'select') {\n        undoStack.push(\n          ...Array.from(element.querySelectorAll('option') as NodeListOf<HTMLOptionElement>).map(option =>\n            setOrRemoveAttributeIfFalseWithUndo(option, 'disabled', 'disabled')\n          )\n        );\n      }\n\n      break;\n  }\n}\n\n/**\n * Disables an input element in accessible fashion with undo function.\n *\n * This is designed for accessibility and mimick the behavior of `disabled` attribute in accessible form:\n *\n * - Take away from focus ring;\n *   - If currently focused, do not move focus;\n * - Mark content as readonly.\n *\n * Thus, it should not impact hyperlinks or other contents which are not affected by `disabled` attribute.\n *\n * For simplicity, currently, we did not disable element with `contenteditable` attribute.\n *\n * We only disable these elements: `<button>`, `<input>`, `<select>`, `<textarea>`.\n *\n * We need durability as Adaptive Cards occasionally reset `tabindex=\"0\"`.\n *\n * @returns {function} A function, when called, will restore to previous state.\n */\nexport default function durableDisableInputElementAccessiblyWithUndo(element: HTMLElement | undefined): UndoFunction {\n  if (!element) {\n    return noOp;\n  }\n\n  const undoStack: UndoFunction[] = [];\n\n  const apply = () => disable(element, undoStack);\n\n  apply();\n\n  const observer = new MutationObserver(apply);\n\n  observer.observe(element, { attributeFilter: ['tabindex'] });\n\n  undoStack.push(() => observer.disconnect());\n\n  return bunchUndos(undoStack);\n}\n","import { useMemo, useRef } from 'react';\n\nimport useAdaptiveCardModEffect from './private/useAdaptiveCardModEffect';\nimport usePrevious from './private/usePrevious';\n\nimport type { AdaptiveCard, CardObject } from 'adaptivecards';\n\n/**\n * Gets all user-inputted values under a DOM node.\n *\n * We assume values are ID-ed. If not ID-ed (such as `<textarea>`), there will be only a single instance (no two `<textarea>`).\n */\nfunction getUserValues(element: HTMLElement | undefined): Set<string> {\n  if (!element) {\n    return new Set();\n  }\n\n  return Array.from(\n    element.querySelectorAll('input, option, textarea') as NodeListOf<\n      HTMLInputElement | HTMLOptionElement | HTMLTextAreaElement\n    >\n  ).reduce<Set<string>>((values, element) => {\n    if (element instanceof HTMLInputElement) {\n      const { type } = element;\n\n      if (type === 'checkbox' || type === 'radio') {\n        element.checked && values.add(element.value);\n      } else {\n        // ASSUMPTION: We expect CardObject will NOT mix <input type=\"text\"> with <input type=\"checkbox\">.\n        values.clear();\n        values.add(element.value);\n      }\n    } else if (element instanceof HTMLOptionElement) {\n      element.selected && values.add(element.value);\n    } else {\n      // ASSUMPTION: We expect CardObject will NOT mix <textarea> with <input type=\"checkbox\">.\n      values.clear();\n      values.add(element.value);\n    }\n\n    return values;\n  }, new Set());\n}\n\n/**\n * Set multiple user-inputted values under a DOM node.\n *\n * This function must be paired with `getUserValues`.\n */\nfunction setUserValues(element: HTMLElement | undefined, values: Set<string>): void {\n  if (!element) {\n    return;\n  }\n\n  // If the element does not support multiple choices, say <input type=\"text\"> or <textarea>, then, use the first value.\n  const defaultValue = Array.from(values)[0] || '';\n\n  (\n    element.querySelectorAll('input, option, textarea') as NodeListOf<\n      HTMLInputElement | HTMLOptionElement | HTMLTextAreaElement\n    >\n  ).forEach(element => {\n    if (element instanceof HTMLInputElement) {\n      const { type } = element;\n\n      if (type === 'checkbox' || type === 'radio') {\n        element.checked = values.has(element.value);\n      } else {\n        element.value = defaultValue;\n      }\n    } else if (element instanceof HTMLOptionElement) {\n      element.selected = values.has(element.value);\n    } else {\n      element.value = defaultValue;\n    }\n  });\n}\n\n/**\n * Re-rendering: Current user-inputted values must be saved and restored on re-render.\n */\nexport default function usePersistValuesModEffect(adaptiveCard: AdaptiveCard) {\n  const prevAdaptiveCard = usePrevious(adaptiveCard);\n  const valuesMapRef = useRef<Map<CardObject, Set<string>>>(new Map());\n\n  prevAdaptiveCard === adaptiveCard || valuesMapRef.current.clear();\n\n  const modder = useMemo(\n    () => (adaptiveCard: AdaptiveCard) => {\n      const { current: valuesMap } = valuesMapRef;\n\n      adaptiveCard.getAllInputs().forEach(cardObject => {\n        valuesMap.has(cardObject) && setUserValues(cardObject.renderedElement, valuesMap.get(cardObject));\n      });\n\n      return () => {\n        valuesMapRef.current = adaptiveCard\n          .getAllInputs()\n          .reduce<Map<CardObject, Set<string>>>((valuesMap, cardObject) => {\n            const value = getUserValues(cardObject.renderedElement);\n\n            return typeof value !== 'undefined' ? valuesMap.set(cardObject, value) : valuesMap;\n          }, new Map());\n      };\n    },\n    [valuesMapRef]\n  );\n\n  return useAdaptiveCardModEffect(modder, adaptiveCard);\n}\n","import { useMemo } from 'react';\n\nimport setOrRemoveAttributeIfFalseWithUndo from '../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo';\nimport useAdaptiveCardModEffect from './private/useAdaptiveCardModEffect';\n\nimport type { AdaptiveCard } from 'adaptivecards';\n\n/**\n * Accessibility: \"role\" attribute must be set if \"aria-label\" is set.\n *\n * It is possible to render an Adaptive Card with empty content but \"aria-label\" attribute. The Adaptive Cards JSON looks like:\n *\n * ```json\n * {\n *   \"type\": \"AdaptiveCard\",\n *   \"speak\": \"Hello, World!\",\n *   \"body\": [],\n *   \"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\n *   \"version\": \"1.5\"\n * }\n * ```\n *\n * The HTML output will be:\n *\n * ```html\n * <div class=\"ac-adaptiveCard\" aria-label=\"Hello, World!\"></div>\n * ```\n *\n * This violates WAI-ARIA because \"aria-label\" must not be set on an element without a \"role\".\n *\n * We need to set \"role\" attribute to \"form\" if the card has any input fields and is valid as a \"form\" role, otherwise, \"figure\".\n */\nexport default function useRoleModEffect(\n  adaptiveCard: AdaptiveCard\n): readonly [(cardElement: HTMLElement) => void, () => void] {\n  const modder = useMemo(\n    () => (_, cardElement: HTMLElement) =>\n      setOrRemoveAttributeIfFalseWithUndo(\n        cardElement,\n        'role',\n        // \"form\" role requires either \"aria-label\", \"aria-labelledby\", or \"title\".\n        (cardElement.querySelector('button, input, select, textarea') && cardElement.getAttribute('aria-label')) ||\n          cardElement.getAttribute('aria-labelledby') ||\n          cardElement.getAttribute('title')\n          ? 'form'\n          : 'figure'\n      ),\n    []\n  );\n\n  return useAdaptiveCardModEffect(modder, adaptiveCard);\n}\n","import {\n  any,\n  array,\n  boolean,\n  literal,\n  looseObject,\n  number,\n  object,\n  optional,\n  pipe,\n  readonly,\n  string,\n  union\n} from 'valibot';\n\n// TODO: Should build a better `directLineCardActionSchema`.\nconst directLineCardActionSchema = pipe(\n  looseObject({\n    image: optional(string()),\n    title: optional(string()),\n    type: string(),\n    value: optional(any())\n  }),\n  readonly()\n);\n\n// https://github.com/microsoft/botframework-sdk/blob/master/specs/botframework-activity/botframework-cards.md#media-cards\nconst directLineMediaCardSchema = pipe(\n  object({\n    aspect: optional(union([literal('4:3'), literal('16:9')])),\n    autoloop: optional(boolean()),\n    autostart: optional(boolean()),\n    buttons: optional(pipe(array(directLineCardActionSchema), readonly())),\n    duration: optional(string()),\n    // In the spec, \"image\" is of type \"thumbnailUrl\", which is simply a string.\n    image: optional(\n      pipe(\n        object({\n          url: string()\n        }),\n        readonly()\n      )\n    ),\n    media: pipe(array(pipe(object({ profile: optional(string()), url: string() }), readonly())), readonly()),\n    shareable: optional(boolean()),\n    subtitle: optional(string()),\n    text: optional(string()), // TODO: Media cards should not have `text` field.\n    title: optional(string()),\n    value: optional(any())\n  }),\n  readonly()\n);\n\n// https://github.com/microsoft/botframework-sdk/blob/master/specs/botframework-activity/botframework-cards.md#basic-cards\nconst directLineBasicCardSchema = pipe(\n  object({\n    buttons: optional(pipe(array(directLineCardActionSchema), readonly())),\n    images: optional(\n      pipe(\n        array(\n          pipe(\n            object({\n              alt: optional(string()),\n              tap: optional(directLineCardActionSchema),\n              url: optional(string())\n            }),\n            readonly()\n          )\n        ),\n        readonly()\n      )\n    ),\n    subtitle: optional(string()),\n    tap: optional(directLineCardActionSchema),\n    text: optional(string()),\n    title: optional(string())\n  }),\n  readonly()\n);\n\n// https://github.com/microsoft/botframework-sdk/blob/master/specs/botframework-activity/botframework-cards.md#receipt-card\nconst directLineReceiptCardSchema = pipe(\n  object({\n    buttons: optional(pipe(array(any()), readonly())),\n    facts: optional(\n      pipe(\n        array(\n          pipe(\n            object({\n              key: optional(string()),\n              value: optional(string())\n            }),\n            readonly()\n          )\n        ),\n        readonly()\n      )\n    ),\n    items: optional(\n      pipe(\n        array(\n          pipe(\n            object({\n              image: optional(\n                pipe(\n                  object({\n                    alt: string(),\n                    tap: optional(directLineCardActionSchema),\n                    url: string()\n                  }),\n                  readonly()\n                )\n              ),\n              price: string(),\n              quantity: optional(union([number(), string()])), // TODO: Should be string only.\n              subtitle: optional(string()),\n              tap: optional(directLineCardActionSchema),\n              text: optional(string()),\n              title: string()\n            }),\n            readonly()\n          )\n        ),\n        readonly()\n      )\n    ),\n    tap: optional(directLineCardActionSchema),\n    tax: optional(string()),\n    title: optional(string()),\n    total: optional(string()),\n    vat: optional(string())\n  }),\n  readonly()\n);\n\n// https://github.com/microsoft/botframework-sdk/blob/master/specs/botframework-activity/botframework-cards.md#Signin-card\nconst directLineSignInCardSchema = pipe(\n  object({\n    buttons: pipe(array(directLineCardActionSchema), readonly()),\n    text: optional(string())\n  }),\n  readonly()\n);\n\nexport {\n  directLineBasicCardSchema,\n  directLineCardActionSchema,\n  directLineMediaCardSchema,\n  directLineReceiptCardSchema,\n  directLineSignInCardSchema\n};\n","import type {\n  AdaptiveCard,\n  GlobalSettings as GlobalSettingsType,\n  HostConfig as HostConfigType,\n  IMarkdownProcessingResult\n} from 'adaptivecards';\n\n/**\n * Returns `true`, if the object is a plain object and not a class, otherwise, `false`.\n */\nfunction isPlainObject(obj) {\n  return Object.getPrototypeOf(obj) === Object.prototype;\n}\n\nexport default function renderAdaptiveCard(\n  adaptiveCard: AdaptiveCard,\n  {\n    adaptiveCardsHostConfig,\n    adaptiveCardsPackage: { GlobalSettings, HostConfig },\n    renderMarkdownAsHTML,\n    setTabIndexAtCardRoot\n  }: {\n    adaptiveCardsHostConfig?: HostConfigType;\n    adaptiveCardsPackage: {\n      GlobalSettings: typeof GlobalSettingsType;\n      HostConfig: typeof HostConfigType;\n    };\n    renderMarkdownAsHTML?: (markdown: string) => string;\n    setTabIndexAtCardRoot: boolean;\n  }\n): { element: HTMLElement } | { errors: Error[] } {\n  // Currently, the only way to set the Markdown engine is to set it thru static member of AdaptiveCard class\n\n  // TODO: [P3] Checks if we could make the \"renderMarkdownAsHTML\" per card\n  //       This could be limitations from Adaptive Cards package (not supported as of 1.2.5)\n  //       Because there could be timing difference between .parse and .render, we could be using wrong Markdown engine\n\n  // \"onProcessMarkdown\" is a static function but we are trying to scope it to the current object instead.\n  adaptiveCard.constructor['onProcessMarkdown'] = (text: string, result: IMarkdownProcessingResult) => {\n    if (renderMarkdownAsHTML) {\n      result.outputHtml = renderMarkdownAsHTML(text);\n      result.didProcess = true;\n    }\n  };\n\n  if (adaptiveCardsHostConfig) {\n    adaptiveCard.hostConfig = isPlainObject(adaptiveCardsHostConfig)\n      ? new HostConfig(adaptiveCardsHostConfig)\n      : adaptiveCardsHostConfig;\n  }\n\n  // For accessibility issue #1340, `tabindex=\"0\"` must not be set for the root container if it is not interactive.\n  GlobalSettings.setTabIndexAtCardRoot = setTabIndexAtCardRoot;\n\n  const { validationEvents } = adaptiveCard.validateProperties();\n\n  if (validationEvents.length) {\n    return { errors: validationEvents.reduce((items, { message }) => [...items, new Error(message)], [] as Error[]) };\n  }\n\n  let element: HTMLElement | undefined;\n\n  try {\n    element = adaptiveCard.render();\n  } catch (error) {\n    return { errors: [error] };\n  }\n\n  if (!element) {\n    return { errors: [new Error('Adaptive Card rendered as empty element')] };\n  }\n\n  return { element };\n}\n","import \"/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/AdaptiveCardRenderer.module_built.css\";\nconst classes = {\"adaptive-card-renderer\":\"wyhD4jG_adaptive-card-renderer\"}\nexport default classes\n\nconst _adaptive_card_renderer0 = classes[\"adaptive-card-renderer\"]\nexport { _adaptive_card_renderer0 as \"adaptive-card-renderer\" }\n","/* eslint react/no-array-index-key: \"off\" */\n\nimport { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { Components } from 'botframework-webchat-component';\nimport React, { memo } from 'react';\nimport { boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport CommonCard from './CommonCard';\nimport { directLineMediaCardSchema } from './private/directLineSchema';\n\nimport styles from './AnimationCardContent.module.css';\n\nconst { ImageContent, VideoContent } = Components;\n\nconst animationCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: directLineMediaCardSchema,\n    disabled: optional(boolean())\n  }),\n  readonly()\n);\n\ntype AnimationCardContentProps = InferInput<typeof animationCardContentPropsSchema>;\n\nfunction AnimationCardContent(props: AnimationCardContentProps) {\n  const { actionPerformedClassName, content, disabled } = validateProps(animationCardContentPropsSchema, props);\n\n  const { media = [] } = content;\n  const classNames = useStyles(styles);\n\n  return (\n    <div className={classNames['animation-card-attachment']}>\n      <ul className=\"media-list\">\n        {media.map(({ profile = '', url }, index) => (\n          <li key={index}>\n            {/\\.gif$/iu.test(url) ? <ImageContent alt={profile} src={url} /> : <VideoContent alt={profile} src={url} />}\n          </li>\n        ))}\n      </ul>\n      <CommonCard actionPerformedClassName={actionPerformedClassName} content={content} disabled={disabled} />\n    </div>\n  );\n}\n\nexport default memo(AnimationCardContent);\nexport { animationCardContentPropsSchema, type AnimationCardContentProps };\n","import PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\n\nimport { hooks } from 'botframework-webchat-component';\n\nimport AdaptiveCardBuilder from './AdaptiveCardBuilder';\nimport AdaptiveCardRenderer from './AdaptiveCardRenderer';\nimport useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';\nimport useStyleOptions from '../../hooks/useStyleOptions';\n\nconst { useDirection } = hooks;\n\nconst CommonCard = ({ actionPerformedClassName, content, disabled }) => {\n  const [adaptiveCardsPackage] = useAdaptiveCardsPackage();\n  const [direction] = useDirection();\n  const [styleOptions] = useStyleOptions();\n\n  const builtCard = useMemo(() => {\n    if (content) {\n      const builder = new AdaptiveCardBuilder(adaptiveCardsPackage, styleOptions, direction);\n\n      builder.addCommon(content);\n\n      return builder.card;\n    }\n  }, [adaptiveCardsPackage, content, direction, styleOptions]);\n\n  return (\n    <AdaptiveCardRenderer\n      actionPerformedClassName={actionPerformedClassName}\n      adaptiveCard={builtCard}\n      disabled={disabled}\n      tapAction={content && content.tap}\n    />\n  );\n};\n\nCommonCard.defaultProps = {\n  actionPerformedClassName: '',\n  disabled: undefined\n};\n\nCommonCard.propTypes = {\n  actionPerformedClassName: PropTypes.string,\n  content: PropTypes.shape({\n    tap: PropTypes.any\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default CommonCard;\n","import {\n  Column,\n  ColumnSet,\n  Container,\n  Image,\n  OpenUrlAction,\n  Size,\n  SizeAndUnit,\n  SizeUnit,\n  SubmitAction,\n  TextBlock,\n  TextColor,\n  TextSize,\n  TextWeight,\n  type AdaptiveCard,\n  type CardElement\n} from 'adaptivecards';\nimport type { DirectLineCardAction } from 'botframework-webchat-core';\nimport { isForbiddenPropertyName } from 'botframework-webchat-core';\n\nimport { type AdaptiveCardsPackage } from '../../types/AdaptiveCardsPackage';\nimport { type AdaptiveCardsStyleOptions } from '../AdaptiveCardsStyleOptions';\n\nexport interface BotFrameworkCardAction {\n  __isBotFrameworkCardAction: true;\n  cardAction: DirectLineCardAction;\n}\n\n// Adaptive Cards own `OpenUrlAction.JsonTypeName` was not made extensible.\n// @ts-expect-error\nclass OpenUrlDialogAction extends OpenUrlAction {\n  static readonly JsonTypeName: string = 'Action.OpenUrlDialog';\n\n  // eslint-disable-next-line class-methods-use-this\n  getJsonTypeName(): string {\n    return OpenUrlDialogAction.JsonTypeName;\n  }\n}\n\nfunction addCardAction(cardAction: DirectLineCardAction, includesOAuthButtons?: boolean) {\n  const { type } = cardAction;\n  let action;\n\n  if (\n    type === 'imBack' ||\n    type === 'messageBack' ||\n    type === 'postBack' ||\n    (type === 'signin' && includesOAuthButtons)\n  ) {\n    action = new SubmitAction();\n\n    action.data = {\n      __isBotFrameworkCardAction: true,\n      cardAction\n    };\n\n    action.title = (cardAction as { title: string }).title;\n  } else if (type === 'webchat:callURL') {\n    action = new OpenUrlDialogAction();\n\n    action.title = (cardAction as { title: string }).title;\n    action.url = cardAction.value;\n  } else {\n    action = new OpenUrlAction();\n\n    action.title = (cardAction as { title: string }).title;\n    action.url = cardAction.type === 'call' ? `tel:${cardAction.value}` : cardAction.value;\n  }\n\n  return action;\n}\n\nexport default class AdaptiveCardBuilder {\n  card: AdaptiveCard;\n  container: Container;\n  styleOptions: AdaptiveCardsStyleOptions;\n\n  constructor(\n    adaptiveCards: AdaptiveCardsPackage,\n    styleOptions: AdaptiveCardsStyleOptions,\n    direction: 'ltr' | 'rtl' | 'auto' = 'ltr'\n  ) {\n    this.card = new adaptiveCards.AdaptiveCard();\n    this.container = new Container();\n    this.container.rtl = direction === 'rtl';\n    this.styleOptions = styleOptions;\n\n    this.card.addItem(this.container);\n  }\n\n  addColumnSet(sizes: number[], container: Container = this.container, selectAction?: DirectLineCardAction) {\n    const columnSet = new ColumnSet();\n\n    columnSet.selectAction = selectAction && addCardAction(selectAction);\n    container.addItem(columnSet);\n\n    return sizes.map(size => {\n      const column = new Column();\n\n      column.width = new SizeAndUnit(size, SizeUnit.Weight);\n\n      columnSet.addColumn(column);\n\n      return column;\n    });\n  }\n\n  addItems(cardElements: CardElement[], container: Container = this.container) {\n    cardElements.forEach(cardElement => container.addItem(cardElement));\n  }\n\n  addTextBlock(text: string, template: Partial<TextBlock>, container: Container = this.container) {\n    if (typeof text !== 'undefined') {\n      const textblock = new TextBlock();\n\n      for (const prop in template) {\n        if (!isForbiddenPropertyName(prop)) {\n          // Mitigated through denylisting.\n          // eslint-disable-next-line security/detect-object-injection\n          textblock[prop] = template[prop];\n        }\n      }\n\n      textblock.text = text;\n\n      container.addItem(textblock);\n    }\n  }\n\n  addButtons(cardActions: readonly Readonly<DirectLineCardAction>[], includesOAuthButtons?: boolean) {\n    cardActions &&\n      cardActions.forEach(cardAction => {\n        this.card.addAction(addCardAction(cardAction, includesOAuthButtons));\n      });\n  }\n\n  addCommonHeaders(content: ICommonContent) {\n    const { richCardTitleOmitHeadingRole, richCardWrapTitle } = this.styleOptions;\n    this.addTextBlock(content.title, {\n      ...(richCardTitleOmitHeadingRole ? {} : { style: 'heading' }),\n      color: TextColor.Default,\n      size: TextSize.Medium,\n      weight: TextWeight.Bolder,\n      wrap: richCardWrapTitle\n    });\n    this.addTextBlock(content.subtitle, { color: TextColor.Default, isSubtle: true, wrap: richCardWrapTitle });\n    this.addTextBlock(content.text, { color: TextColor.Default, wrap: true });\n  }\n\n  addCommon(content: ICommonContent) {\n    this.addCommonHeaders(content);\n    this.addButtons(content.buttons);\n  }\n\n  addImage(url: string, container?: Container, selectAction?: Readonly<DirectLineCardAction>, altText?: string) {\n    container = container || this.container;\n\n    const image = new Image();\n\n    image.altText = altText;\n    image.url = url;\n    image.selectAction = selectAction && addCardAction(selectAction);\n    image.size = Size.Stretch;\n\n    container.addItem(image);\n  }\n}\n\nexport interface ICommonContent {\n  buttons?: readonly Readonly<DirectLineCardAction>[];\n  subtitle?: string;\n  text?: string;\n  title?: string;\n}\n","import \"/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/AnimationCardContent.module_built.css\";\nconst classes = {\"animation-card-attachment\":\"wY0NPGW_animation-card-attachment\"}\nexport default classes\n\nconst _animation_card_attachment0 = classes[\"animation-card-attachment\"]\nexport { _animation_card_attachment0 as \"animation-card-attachment\" }\n","/* eslint react/no-array-index-key: \"off\" */\n\nimport { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { Components } from 'botframework-webchat-component';\nimport React, { memo } from 'react';\nimport { boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport CommonCard from './CommonCard';\nimport { directLineMediaCardSchema } from './private/directLineSchema';\n\nimport styles from './AudioCardContent.module.css';\n\nconst { AudioContent } = Components;\n\nconst audioCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: directLineMediaCardSchema,\n    disabled: optional(boolean())\n  }),\n  readonly()\n);\n\ntype AudioCardContentProps = InferInput<typeof audioCardContentPropsSchema>;\n\nfunction AudioCardContent(props: AudioCardContentProps) {\n  const { actionPerformedClassName, content, disabled } = validateProps(audioCardContentPropsSchema, props);\n\n  const { autostart = false, autoloop = false, image: { url: imageURL = '' } = {}, media = [] } = content;\n  const classNames = useStyles(styles);\n\n  return (\n    <div className={classNames['audio-card-attachment']}>\n      <ul className=\"media-list\">\n        {media.map(({ url }, index) => (\n          <li key={index}>\n            <AudioContent autoPlay={autostart} loop={autoloop} poster={imageURL} src={url} />\n          </li>\n        ))}\n      </ul>\n      <CommonCard actionPerformedClassName={actionPerformedClassName} content={content} disabled={disabled} />\n    </div>\n  );\n}\n\nexport default memo(AudioCardContent);\nexport { audioCardContentPropsSchema, type AudioCardContentProps };\n","import \"/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/AudioCardContent.module_built.css\";\nconst classes = {\"audio-card-attachment\":\"wumka_G_audio-card-attachment\"}\nexport default classes\n\nconst _audio_card_attachment0 = classes[\"audio-card-attachment\"]\nexport { _audio_card_attachment0 as \"audio-card-attachment\" }\n","import { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { hooks } from 'botframework-webchat-component';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport React, { memo, useMemo } from 'react';\nimport { boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport useStyleOptions from '../../hooks/useStyleOptions';\nimport useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';\nimport AdaptiveCardBuilder from './AdaptiveCardBuilder';\nimport AdaptiveCardRenderer from './AdaptiveCardRenderer';\nimport { directLineBasicCardSchema } from './private/directLineSchema';\n\nconst { useDirection } = hooks;\n\nconst heroCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: directLineBasicCardSchema,\n    disabled: optional(boolean())\n  }),\n  readonly()\n);\n\ntype HeroCardContentProps = InferInput<typeof heroCardContentPropsSchema>;\n\nfunction HeroCardContent(props: HeroCardContentProps) {\n  const { actionPerformedClassName, content, disabled } = validateProps(heroCardContentPropsSchema, props);\n\n  const [adaptiveCardsPackage] = useAdaptiveCardsPackage();\n  const [styleOptions] = useStyleOptions();\n  const [direction] = useDirection();\n\n  const builtCard = useMemo(() => {\n    const builder = new AdaptiveCardBuilder(adaptiveCardsPackage, styleOptions, direction);\n\n    if (content) {\n      // TODO: Need to build `directLineCardActionSchema`.\n      (content.images || []).forEach(image =>\n        builder.addImage(image.url, null, image.tap as DirectLineCardAction, image.alt)\n      );\n\n      // TODO: Need to build `directLineCardActionSchema`.\n      builder.addCommon(content as typeof content & { buttons: readonly DirectLineCardAction[] });\n\n      return builder.card;\n    }\n  }, [adaptiveCardsPackage, content, direction, styleOptions]);\n\n  return (\n    <AdaptiveCardRenderer\n      actionPerformedClassName={actionPerformedClassName}\n      adaptiveCard={builtCard}\n      disabled={disabled}\n      tapAction={content && content.tap}\n    />\n  );\n}\n\nexport default memo(HeroCardContent);\nexport { heroCardContentPropsSchema, type HeroCardContentProps };\n","import { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { hooks } from 'botframework-webchat-component';\nimport React, { memo, useMemo } from 'react';\nimport { boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport useStyleOptions from '../../hooks/useStyleOptions';\nimport useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';\nimport AdaptiveCardBuilder from './AdaptiveCardBuilder';\nimport AdaptiveCardRenderer from './AdaptiveCardRenderer';\nimport { directLineSignInCardSchema } from './private/directLineSchema';\n\nconst { useDirection } = hooks;\n\nconst oauthCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: directLineSignInCardSchema,\n    disabled: optional(boolean())\n  }),\n  readonly()\n);\n\ntype OAuthCardContentProps = InferInput<typeof oauthCardContentPropsSchema>;\n\nfunction OAuthCardContent(props: OAuthCardContentProps) {\n  const { actionPerformedClassName, content, disabled } = validateProps(oauthCardContentPropsSchema, props);\n\n  const [adaptiveCardsPackage] = useAdaptiveCardsPackage();\n  const [direction] = useDirection();\n  const [styleOptions] = useStyleOptions();\n\n  const builtCard = useMemo(() => {\n    if (content) {\n      const builder = new AdaptiveCardBuilder(adaptiveCardsPackage, styleOptions, direction);\n\n      builder.addCommonHeaders(content as any);\n      builder.addButtons(content.buttons as any, true);\n\n      return builder.card;\n    }\n  }, [adaptiveCardsPackage, content, direction, styleOptions]);\n\n  return (\n    <AdaptiveCardRenderer\n      actionPerformedClassName={actionPerformedClassName}\n      adaptiveCard={builtCard}\n      disabled={disabled}\n    />\n  );\n}\n\nexport default memo(OAuthCardContent);\nexport { oauthCardContentPropsSchema, type OAuthCardContentProps };\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 10, 15, 25, 50, 75] }] */\n\nimport { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { hooks } from 'botframework-webchat-component';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport React, { memo, useMemo } from 'react';\nimport { boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport useStyleOptions from '../../hooks/useStyleOptions';\nimport useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';\nimport AdaptiveCardBuilder from './AdaptiveCardBuilder';\nimport AdaptiveCardRenderer from './AdaptiveCardRenderer';\nimport { directLineReceiptCardSchema } from './private/directLineSchema';\n\nconst { useDirection, useLocalizer } = hooks;\n\nfunction nullOrUndefined(obj) {\n  return obj === null || typeof obj === 'undefined';\n}\n\nconst receiptCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: directLineReceiptCardSchema,\n    disabled: optional(boolean())\n  }),\n  readonly()\n);\n\ntype ReceiptCardContentProps = InferInput<typeof receiptCardContentPropsSchema>;\n\nfunction ReceiptCardContent(props: ReceiptCardContentProps) {\n  const { actionPerformedClassName, content, disabled } = validateProps(receiptCardContentPropsSchema, props);\n\n  const [adaptiveCardsPackage] = useAdaptiveCardsPackage();\n  const [direction] = useDirection();\n  const [styleOptions] = useStyleOptions();\n  const localize = useLocalizer();\n\n  const taxText = localize('RECEIPT_CARD_TAX');\n  const totalText = localize('RECEIPT_CARD_TOTAL');\n  const vatText = localize('RECEIPT_CARD_VAT');\n\n  const builtCard = useMemo(() => {\n    const builder = new AdaptiveCardBuilder(adaptiveCardsPackage, styleOptions, direction);\n    const { HorizontalAlignment, TextSize, TextWeight } = adaptiveCardsPackage;\n    const { buttons, facts, items, tax, title, total, vat } = content;\n    const { richCardWrapTitle } = styleOptions;\n\n    if (content) {\n      builder.addTextBlock(title, { size: TextSize.Medium, weight: TextWeight.Bolder, wrap: richCardWrapTitle });\n\n      if (facts) {\n        const [firstFactColumn, lastFactColumn] = builder.addColumnSet([75, 25]);\n\n        facts.map(({ key, value }) => {\n          builder.addTextBlock(key, { size: TextSize.Medium }, firstFactColumn);\n          builder.addTextBlock(\n            value,\n            { size: TextSize.Medium, horizontalAlignment: HorizontalAlignment.Right },\n            lastFactColumn\n          );\n        });\n      }\n\n      items &&\n        items.map(({ image, price, quantity, subtitle, tap, text, title }) => {\n          let itemColumns;\n\n          if (image?.url) {\n            const [itemImageColumn, ...columns] = builder.addColumnSet([15, 75, 10]);\n\n            itemColumns = columns;\n            builder.addImage(image?.url, itemImageColumn, image?.tap as DirectLineCardAction, image?.alt);\n          } else {\n            itemColumns = builder.addColumnSet([75, 25], undefined, tap && (tap as DirectLineCardAction));\n          }\n\n          const [itemTitleColumn, itemPriceColumn] = itemColumns;\n\n          builder.addTextBlock(\n            quantity ? `${title} &times; ${quantity}` : title,\n            { size: TextSize.Medium, weight: TextWeight.Bolder, wrap: richCardWrapTitle },\n            itemTitleColumn\n          );\n          builder.addTextBlock(subtitle, { size: TextSize.Medium, wrap: richCardWrapTitle }, itemTitleColumn);\n          builder.addTextBlock(price, { horizontalAlignment: HorizontalAlignment.Right }, itemPriceColumn);\n\n          if (text) {\n            builder.addTextBlock(text, { size: TextSize.Medium, wrap: richCardWrapTitle }, itemTitleColumn);\n          }\n        });\n\n      if (!nullOrUndefined(vat)) {\n        const vatCol = builder.addColumnSet([75, 25]);\n\n        builder.addTextBlock(vatText, { size: TextSize.Medium, weight: TextWeight.Bolder }, vatCol[0]);\n        builder.addTextBlock(vat, { horizontalAlignment: HorizontalAlignment.Right }, vatCol[1]);\n      }\n\n      if (!nullOrUndefined(tax)) {\n        const taxCol = builder.addColumnSet([75, 25]);\n\n        builder.addTextBlock(taxText, { size: TextSize.Medium, weight: TextWeight.Bolder }, taxCol[0]);\n        builder.addTextBlock(tax, { horizontalAlignment: HorizontalAlignment.Right }, taxCol[1]);\n      }\n\n      if (!nullOrUndefined(total)) {\n        const totalCol = builder.addColumnSet([75, 25]);\n\n        builder.addTextBlock(totalText, { size: TextSize.Medium, weight: TextWeight.Bolder }, totalCol[0]);\n        builder.addTextBlock(\n          total,\n          { horizontalAlignment: HorizontalAlignment.Right, size: TextSize.Medium, weight: TextWeight.Bolder },\n          totalCol[1]\n        );\n      }\n\n      builder.addButtons(buttons);\n\n      return builder.card;\n    }\n  }, [adaptiveCardsPackage, content, direction, styleOptions, taxText, totalText, vatText]);\n\n  return (\n    <AdaptiveCardRenderer\n      actionPerformedClassName={actionPerformedClassName}\n      adaptiveCard={builtCard}\n      disabled={disabled}\n      tapAction={content && content.tap}\n    />\n  );\n}\n\nexport default memo(ReceiptCardContent);\nexport { receiptCardContentPropsSchema, type ReceiptCardContentProps };\n","import { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport React, { memo } from 'react';\nimport { boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport CommonCard from './CommonCard';\nimport { directLineSignInCardSchema } from './private/directLineSchema';\n\nimport styles from './SignInCardContent.module.css';\n\nconst signInCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: directLineSignInCardSchema,\n    disabled: optional(boolean())\n  }),\n  readonly()\n);\n\ntype SignInCardContentProps = InferInput<typeof signInCardContentPropsSchema>;\n\nfunction SignInCardContent(props: SignInCardContentProps) {\n  const { actionPerformedClassName, content, disabled } = validateProps(signInCardContentPropsSchema, props);\n\n  const classNames = useStyles(styles);\n\n  return (\n    <div className={classNames['sign-in-card-attachment']}>\n      <CommonCard actionPerformedClassName={actionPerformedClassName} content={content} disabled={disabled} />\n    </div>\n  );\n}\n\nexport default memo(SignInCardContent);\nexport { signInCardContentPropsSchema, type SignInCardContentProps };\n","import \"/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/SignInCardContent.module_built.css\";\nconst classes = {\"sign-in-card-attachment\":\"w1mc8QW_sign-in-card-attachment\"}\nexport default classes\n\nconst _sign_in_card_attachment0 = classes[\"sign-in-card-attachment\"]\nexport { _sign_in_card_attachment0 as \"sign-in-card-attachment\" }\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [25, 75] }] */\n\nimport { hooks } from 'botframework-webchat-component';\nimport React, { memo, useMemo } from 'react';\nimport { boolean, object, optional, parse, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport useStyleOptions from '../../hooks/useStyleOptions';\nimport useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';\nimport AdaptiveCardBuilder from './AdaptiveCardBuilder';\nimport AdaptiveCardRenderer from './AdaptiveCardRenderer';\nimport { directLineBasicCardSchema } from './private/directLineSchema';\n\nconst { useDirection } = hooks;\n\nconst thumbnailCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: directLineBasicCardSchema,\n    disabled: optional(boolean())\n  }),\n  readonly()\n);\n\ntype ThumbnailCardContentProps = InferInput<typeof thumbnailCardContentPropsSchema>;\n\nfunction ThumbnailCardContent(props: ThumbnailCardContentProps) {\n  const { actionPerformedClassName, content, disabled } = parse(thumbnailCardContentPropsSchema, props);\n\n  const [adaptiveCardsPackage] = useAdaptiveCardsPackage();\n  const [direction] = useDirection();\n  const [styleOptions] = useStyleOptions();\n\n  const builtCard = useMemo(() => {\n    if (content) {\n      const builder = new AdaptiveCardBuilder(adaptiveCardsPackage, styleOptions, direction);\n      const { TextSize, TextWeight } = adaptiveCardsPackage;\n      const { buttons, images, subtitle, text, title } = content;\n      const { richCardWrapTitle } = styleOptions;\n\n      if (images && images.length) {\n        const [firstColumn, lastColumn] = builder.addColumnSet([75, 25]);\n        const [{ alt, tap, url }] = images;\n\n        builder.addTextBlock(\n          title,\n          { size: TextSize.Medium, weight: TextWeight.Bolder, wrap: richCardWrapTitle },\n          firstColumn\n        );\n\n        builder.addTextBlock(subtitle, { isSubtle: true, wrap: richCardWrapTitle }, firstColumn);\n        builder.addImage(url, lastColumn, tap as any, alt);\n        builder.addTextBlock(text, { wrap: true });\n        builder.addButtons(buttons as any);\n      } else {\n        builder.addCommon(content as any);\n      }\n      return builder.card;\n    }\n  }, [adaptiveCardsPackage, direction, content, styleOptions]);\n\n  return (\n    <AdaptiveCardRenderer\n      actionPerformedClassName={actionPerformedClassName}\n      adaptiveCard={builtCard}\n      disabled={disabled}\n      tapAction={content && content.tap}\n    />\n  );\n}\n\nexport default memo(ThumbnailCardContent);\nexport { thumbnailCardContentPropsSchema, type ThumbnailCardContentProps };\n","/* eslint react/no-array-index-key: \"off\" */\n\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { Components } from 'botframework-webchat-component';\nimport React, { memo } from 'react';\nimport { boolean, object, optional, parse, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport CommonCard from './CommonCard';\nimport { directLineMediaCardSchema } from './private/directLineSchema';\n\nimport styles from './VideoCardContent.module.css';\n\nconst { VideoContent } = Components;\n\nconst videoCardContentPropsSchema = pipe(\n  object({\n    actionPerformedClassName: optional(string()),\n    content: directLineMediaCardSchema,\n    disabled: optional(boolean())\n  }),\n  readonly()\n);\n\ntype VideoCardContentProps = InferInput<typeof videoCardContentPropsSchema>;\n\nfunction VideoCardContent(props: VideoCardContentProps) {\n  const { actionPerformedClassName, content, disabled } = parse(videoCardContentPropsSchema, props);\n\n  const { autoloop, autostart, image: { url: imageURL } = { url: undefined }, media } = content;\n  const classNames = useStyles(styles);\n\n  return (\n    <div className={classNames['video-card-attachment']}>\n      <ul className=\"media-list\">\n        {media.map(({ url }, index) => (\n          <li key={index}>\n            <VideoContent autoPlay={autostart} loop={autoloop} poster={imageURL} src={url} />\n          </li>\n        ))}\n      </ul>\n      <CommonCard actionPerformedClassName={actionPerformedClassName} content={content} disabled={disabled} />\n    </div>\n  );\n}\n\nexport default memo(VideoCardContent);\nexport { videoCardContentPropsSchema, type VideoCardContentProps };\n","import \"/__w/1/s/BotFramework-WebChat/packages/bundle/src/adaptiveCards/Attachment/VideoCardContent.module_built.css\";\nconst classes = {\"video-card-attachment\":\"wddVVaa_video-card-attachment\"}\nexport default classes\n\nconst _video_card_attachment0 = classes[\"video-card-attachment\"]\nexport { _video_card_attachment0 as \"video-card-attachment\" }\n","import { AttachmentForScreenReaderMiddleware } from 'botframework-webchat-api';\nimport React from 'react';\n\nimport AdaptiveCardAttachment from './AttachmentForScreenReader/AdaptiveCardAttachment';\nimport RichCardAttachment from './AttachmentForScreenReader/RichCardAttachment';\n\nconst RICH_CARD_CONTENT_TYPES = [\n  'application/vnd.microsoft.card.animation',\n  'application/vnd.microsoft.card.audio',\n  'application/vnd.microsoft.card.hero',\n  'application/vnd.microsoft.card.oauth',\n  'application/vnd.microsoft.card.receipt',\n  'application/vnd.microsoft.card.signin',\n  'application/vnd.microsoft.card.thumbnail',\n  'application/vnd.microsoft.card.video'\n];\n\nexport default function createAdaptiveCardsAttachmentMiddleware(): AttachmentForScreenReaderMiddleware {\n  return () =>\n    next =>\n    (...args) => {\n      const [\n        {\n          activity,\n          attachment: { content, contentType }\n        }\n      ] = args;\n\n      return content && RICH_CARD_CONTENT_TYPES.includes(contentType)\n        ? () => <RichCardAttachment content={content} />\n        : content && contentType === 'application/vnd.microsoft.card.adaptive'\n          ? () => <AdaptiveCardAttachment content={content} replyToId={activity?.id} />\n          : next(...args);\n    };\n}\n","/* eslint-disable react/no-array-index-key */\n/* eslint-disable react/forbid-dom-props */\nimport { hooks } from 'botframework-webchat-component';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\n\nimport useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';\nimport useParseAdaptiveCardJSON from '../hooks/internal/useParseAdaptiveCardJSON';\nimport useUniqueId from '../hooks/internal/useUniqueId';\n\nconst { useLocalizer } = hooks;\n\n// Perform a depth-first search of the Adaptive Card tree.\nfunction walkAllItems(node, fn) {\n  fn(node);\n\n  if (node.getItemAt && node.getItemCount) {\n    for (let count = node.getItemCount(), index = 0; index < count; index++) {\n      walkAllItems(node.getItemAt(index), fn);\n    }\n  }\n\n  if (node.getActionAt && node.getActionCount) {\n    for (let count = node.getActionCount(), index = 0; index < count; index++) {\n      fn(node.getActionAt(index));\n    }\n  }\n}\n\nconst AdaptiveCardChoiceSetInput = ({ input: { choices, defaultValue, label } }) => {\n  const labelId = useUniqueId('webchat__id');\n  const defaultChoice = choices.find(({ value }) => defaultValue === value || (!defaultValue && !value));\n\n  return (\n    <div>\n      <select\n        aria-label={label}\n        aria-labelledby={!label && defaultChoice ? labelId : undefined}\n        defaultValue={defaultValue}\n        tabIndex={-1}\n      >\n        {choices.map(choice => (\n          <option id={!label && choice === defaultChoice ? labelId : undefined} key={choice.value} value={choice.value}>\n            {choice.title}\n          </option>\n        ))}\n      </select>\n    </div>\n  );\n};\n\nAdaptiveCardChoiceSetInput.propTypes = {\n  input: PropTypes.shape({\n    choices: PropTypes.arrayOf(\n      PropTypes.shape({\n        title: PropTypes.string,\n        value: PropTypes.any\n      })\n    ),\n    defaultValue: PropTypes.any,\n    label: PropTypes.string,\n    value: PropTypes.any\n  }).isRequired\n};\n\nconst AdaptiveCardAttachment = ({ content }) => {\n  const localize = useLocalizer();\n  const parseAdaptiveCardJSON = useParseAdaptiveCardJSON();\n  const [\n    {\n      ChoiceSetInput,\n      DateInput,\n      NumberInput,\n      OpenUrlAction,\n      ShowCardAction,\n      SubmitAction,\n      TextInput,\n      TimeInput,\n      ToggleInput\n    }\n  ] = useAdaptiveCardsPackage();\n\n  const card = useMemo(() => parseAdaptiveCardJSON(content, { ignoreErrors: true }), [content, parseAdaptiveCardJSON]);\n  const inputs = useMemo(() => {\n    const inputs = [];\n\n    walkAllItems(card, node => {\n      if (\n        node instanceof ChoiceSetInput ||\n        node instanceof DateInput ||\n        node instanceof NumberInput ||\n        node instanceof OpenUrlAction ||\n        node instanceof ShowCardAction ||\n        node instanceof SubmitAction ||\n        node instanceof TextInput ||\n        node instanceof TimeInput ||\n        node instanceof ToggleInput\n      ) {\n        inputs.push(node);\n      }\n    });\n\n    return inputs;\n  }, [\n    card,\n    ChoiceSetInput,\n    DateInput,\n    NumberInput,\n    OpenUrlAction,\n    ShowCardAction,\n    SubmitAction,\n    TextInput,\n    TimeInput,\n    ToggleInput\n  ]);\n\n  const cardLabel = localize('ATTACHMENT_CARD', card.speak || '', '', '');\n\n  return (\n    <article>\n      <div>{cardLabel}</div>\n      {inputs.map((input, index) =>\n        input instanceof ChoiceSetInput ? (\n          <AdaptiveCardChoiceSetInput input={input} key={index} />\n        ) : input instanceof DateInput ? (\n          <label key={index}>\n            {input.title}\n            <input placeholder={input.placeholder} tabIndex={-1} type=\"date\" />\n          </label>\n        ) : input instanceof NumberInput ? (\n          <label key={index}>\n            {input.title}\n            <input placeholder={input.placeholder} tabIndex={-1} type=\"number\" />\n          </label>\n        ) : input instanceof OpenUrlAction || input instanceof ShowCardAction || input instanceof SubmitAction ? (\n          <div key={index}>\n            <button tabIndex={-1} type=\"button\">\n              {input.title}\n            </button>\n          </div>\n        ) : input instanceof TextInput ? (\n          <label key={index}>\n            {input.title}\n            <input placeholder={input.placeholder} tabIndex={-1} type=\"text\" />\n          </label>\n        ) : input instanceof TimeInput ? (\n          <label key={index}>\n            {input.title}\n            <input placeholder={input.placeholder} tabIndex={-1} type=\"time\" />\n          </label>\n        ) : input instanceof ToggleInput ? (\n          <label key={index}>\n            {input.title}\n            <input defaultChecked={input.value === input.valueOn} tabIndex={-1} type=\"checkbox\" />\n          </label>\n        ) : (\n          false\n        )\n      )}\n    </article>\n  );\n};\n\nAdaptiveCardAttachment.propTypes = {\n  content: PropTypes.any.isRequired\n};\n\nexport default AdaptiveCardAttachment;\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 5, 36] }] */\n\nimport { useMemo } from 'react';\nimport random from 'math-random';\n\nexport default function useUniqueId(prefix?: string): string {\n  const id = useMemo(() => random().toString(36).substr(2, 5), []);\n\n  prefix = prefix ? `${prefix}--` : '';\n\n  return `${prefix}${id}`;\n}\n","/* eslint-disable react/no-array-index-key */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { hooks } from 'botframework-webchat-component';\n\nconst { useLocalizer } = hooks;\n\nconst RichCardAttachment = ({ content = {} }) => {\n  const localize = useLocalizer();\n  const { buttons, facts, image, images, items, subtitle, tax, text, title, total, vat } = content;\n\n  const taxLabel = localize('RECEIPT_CARD_TAX');\n  const totalLabel = localize('RECEIPT_CARD_TOTAL');\n  const vatLabel = localize('RECEIPT_CARD_VAT');\n\n  const cardLabel = localize('ATTACHMENT_CARD', title || '', subtitle || '', text || '');\n\n  return (\n    <article>\n      <div>{cardLabel}</div>\n      {!!image && !!image.alt && <img alt={image.alt} />}\n      {!!images && !!images.length && images.map(({ alt }, index) => <img alt={alt} key={index} />)}\n      {!!facts && !!facts.length && (\n        <dl>\n          {facts.map(({ key, value }, index) => (\n            <React.Fragment key={index}>\n              <dt>{key}</dt>\n              <dd>{value}</dd>\n            </React.Fragment>\n          ))}\n        </dl>\n      )}\n      {!!items && !!items.length && (\n        <ul>\n          {items.map(({ image, price, quantity, subtitle, text, title }, index) => (\n            <li key={index}>\n              {!!image && !!image.alt && <img alt={image.alt} />}\n              {!!title && <p>{title}</p>}\n              {!!subtitle && <p>{subtitle}</p>}\n              {!!text && <p>{text}</p>}\n              {!!quantity && <p>{quantity}</p>}\n              {!!price && <p>{price}</p>}\n            </li>\n          ))}\n        </ul>\n      )}\n      {!!vat && (\n        <p>\n          {vatLabel} {vat}\n        </p>\n      )}\n      {!!tax && (\n        <p>\n          {taxLabel} {tax}\n        </p>\n      )}\n      {!!total && (\n        <p>\n          {totalLabel} {total}\n        </p>\n      )}\n      {!!buttons && !!buttons.length && (\n        <div>\n          {buttons.map(({ title }, index) => (\n            <button key={index} tabIndex={-1} type=\"button\">\n              {title}\n            </button>\n          ))}\n        </div>\n      )}\n    </article>\n  );\n};\n\nRichCardAttachment.propTypes = {\n  content: PropTypes.any.isRequired\n};\n\nexport default RichCardAttachment;\n","import React from 'react';\n\nimport { AttachmentMiddleware } from 'botframework-webchat-api';\n\nimport AdaptiveCardAttachment from './Attachment/AdaptiveCardAttachment';\nimport AnimationCardAttachment from './Attachment/AnimationCardAttachment';\nimport AudioCardAttachment from './Attachment/AudioCardAttachment';\nimport HeroCardAttachment from './Attachment/HeroCardAttachment';\nimport OAuthCardAttachment from './Attachment/OAuthCardAttachment';\nimport ReceiptCardAttachment from './Attachment/ReceiptCardAttachment';\nimport SignInCardAttachment from './Attachment/SignInCardAttachment';\nimport ThumbnailCardAttachment from './Attachment/ThumbnailCardAttachment';\nimport VideoCardAttachment from './Attachment/VideoCardAttachment';\n\nexport default function createAdaptiveCardsAttachmentMiddleware(): AttachmentMiddleware {\n  // This is not returning a React component, but a render function.\n  return () =>\n    next =>\n    (...args) => {\n      const [{ activity, attachment }] = args;\n\n      return attachment.contentType === 'application/vnd.microsoft.card.hero' ? (\n        <HeroCardAttachment attachment={attachment} />\n      ) : attachment.contentType === 'application/vnd.microsoft.card.adaptive' ? (\n        <AdaptiveCardAttachment attachment={attachment} replyToId={activity?.id} />\n      ) : attachment.contentType === 'application/vnd.microsoft.card.animation' ? (\n        <AnimationCardAttachment attachment={attachment} />\n      ) : attachment.contentType === 'application/vnd.microsoft.card.audio' ? (\n        <AudioCardAttachment attachment={attachment} />\n      ) : attachment.contentType === 'application/vnd.microsoft.card.oauth' ? (\n        <OAuthCardAttachment attachment={attachment} />\n      ) : attachment.contentType === 'application/vnd.microsoft.card.receipt' ? (\n        <ReceiptCardAttachment attachment={attachment} />\n      ) : attachment.contentType === 'application/vnd.microsoft.card.signin' ? (\n        <SignInCardAttachment attachment={attachment} />\n      ) : attachment.contentType === 'application/vnd.microsoft.card.thumbnail' ? (\n        <ThumbnailCardAttachment attachment={attachment} />\n      ) : attachment.contentType === 'application/vnd.microsoft.card.video' ? (\n        <VideoCardAttachment attachment={attachment} />\n      ) : (\n        next(...args)\n      );\n    };\n}\n","import { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport React, { memo } from 'react';\nimport { any, boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport AdaptiveCardContent from './AdaptiveCardContent';\n\nconst adaptiveCardAttachmentPropsSchema = pipe(\n  object({\n    attachment: pipe(\n      object({\n        content: optional(any())\n      }),\n      readonly()\n    ),\n    disabled: optional(boolean()),\n    replyToId: optional(string())\n  }),\n  readonly()\n);\n\ntype AdaptiveCardAttachmentProps = InferInput<typeof adaptiveCardAttachmentPropsSchema>;\n\nfunction AdaptiveCardAttachment(props: AdaptiveCardAttachmentProps) {\n  const {\n    attachment: { content },\n    disabled,\n    replyToId\n  } = validateProps(adaptiveCardAttachmentPropsSchema, props);\n\n  return <AdaptiveCardContent content={content} disabled={disabled} replyToId={replyToId} />;\n}\n\nexport default memo(AdaptiveCardAttachment);\nexport { adaptiveCardAttachmentPropsSchema, type AdaptiveCardAttachmentProps };\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport AnimationCardContent from './AnimationCardContent';\n\nconst AnimationCardAttachment = ({ attachment: { content }, disabled }) => (\n  <AnimationCardContent content={content} disabled={disabled} />\n);\n\nAnimationCardAttachment.defaultProps = {\n  disabled: undefined\n};\n\nAnimationCardAttachment.propTypes = {\n  attachment: PropTypes.shape({\n    content: PropTypes.shape({\n      media: PropTypes.arrayOf(\n        PropTypes.shape({\n          profile: PropTypes.string,\n          url: PropTypes.string.isRequired\n        })\n      ).isRequired\n    }).isRequired\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default AnimationCardAttachment;\n","/* eslint react/no-array-index-key: \"off\" */\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport AudioCardContent from './AudioCardContent';\n\nconst AudioCardAttachment = ({ attachment: { content }, disabled }) => (\n  <AudioCardContent content={content} disabled={disabled} />\n);\n\nAudioCardAttachment.defaultProps = {\n  disabled: undefined\n};\n\nAudioCardAttachment.propTypes = {\n  attachment: PropTypes.shape({\n    content: PropTypes.shape({\n      autostart: PropTypes.bool,\n      autoloop: PropTypes.bool,\n      image: PropTypes.shape({\n        url: PropTypes.string.isRequired\n      }),\n      media: PropTypes.arrayOf(\n        PropTypes.shape({\n          url: PropTypes.string.isRequired\n        }).isRequired\n      ).isRequired\n    })\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default AudioCardAttachment;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport HeroCardContent from './HeroCardContent';\n\nconst HeroCardAttachment = ({ attachment: { content } = {}, disabled }) =>\n  !!content && <HeroCardContent content={content} disabled={disabled} />;\n\nHeroCardAttachment.defaultProps = {\n  disabled: undefined\n};\n\nHeroCardAttachment.propTypes = {\n  attachment: PropTypes.shape({\n    content: PropTypes.shape({\n      buttons: PropTypes.any,\n      images: PropTypes.arrayOf(\n        PropTypes.shape({\n          alt: PropTypes.string,\n          tap: PropTypes.any,\n          url: PropTypes.string.isRequired\n        })\n      ),\n      subtitle: PropTypes.string,\n      tap: PropTypes.any,\n      text: PropTypes.string,\n      title: PropTypes.string\n    }).isRequired\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default HeroCardAttachment;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport OAuthCardContent from './OAuthCardContent';\n\nconst OAuthCardAttachment = ({ attachment: { content } = {}, disabled }) => (\n  <OAuthCardContent content={content} disabled={disabled} />\n);\n\nOAuthCardAttachment.defaultProps = {\n  disabled: undefined\n};\n\nOAuthCardAttachment.propTypes = {\n  attachment: PropTypes.shape({\n    content: PropTypes.shape({\n      buttons: PropTypes.array\n    }).isRequired\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default OAuthCardAttachment;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport ReceiptCardContent from './ReceiptCardContent';\n\nconst ReceiptCardAttachment = ({ attachment: { content }, disabled }) => (\n  <ReceiptCardContent content={content} disabled={disabled} />\n);\n\nReceiptCardAttachment.defaultProps = {\n  disabled: undefined\n};\n\nReceiptCardAttachment.propTypes = {\n  attachment: PropTypes.shape({\n    content: PropTypes.shape({\n      buttons: PropTypes.array,\n      facts: PropTypes.arrayOf(\n        PropTypes.shape({\n          key: PropTypes.string,\n          value: PropTypes.string\n        })\n      ),\n      items: PropTypes.arrayOf(\n        PropTypes.shape({\n          image: PropTypes.shape({\n            alt: PropTypes.string.isRequired,\n            tap: PropTypes.any,\n            url: PropTypes.string.isRequired\n          }),\n          price: PropTypes.string.isRequired,\n          quantity: PropTypes.string,\n          subtitle: PropTypes.string,\n          tap: PropTypes.any,\n          text: PropTypes.string,\n          title: PropTypes.string.isRequired\n        })\n      ),\n      tap: PropTypes.any,\n      tax: PropTypes.string,\n      title: PropTypes.string,\n      total: PropTypes.string,\n      vat: PropTypes.string\n    }).isRequired\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default ReceiptCardAttachment;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport SignInCardContent from './SignInCardContent';\n\nconst SignInCardAttachment = ({ attachment: { content }, disabled }) => (\n  <SignInCardContent content={content} disabled={disabled} />\n);\n\nSignInCardAttachment.defaultProps = {\n  disabled: undefined\n};\n\nSignInCardAttachment.propTypes = {\n  attachment: PropTypes.shape({\n    content: PropTypes.any.isRequired\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default SignInCardAttachment;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport ThumbnailCardContent from './ThumbnailCardContent';\n\nconst ThumbnailCardAttachment = ({ attachment: { content }, disabled }) => (\n  <ThumbnailCardContent content={content} disabled={disabled} />\n);\n\nThumbnailCardAttachment.defaultProps = {\n  disabled: undefined\n};\n\nThumbnailCardAttachment.propTypes = {\n  attachment: PropTypes.shape({\n    content: PropTypes.shape({\n      buttons: PropTypes.array,\n      images: PropTypes.arrayOf(\n        PropTypes.shape({\n          alt: PropTypes.string.isRequired,\n          tap: PropTypes.any,\n          url: PropTypes.string.isRequired\n        })\n      ),\n      subtitle: PropTypes.string,\n      tap: PropTypes.any,\n      text: PropTypes.string,\n      title: PropTypes.string\n    }).isRequired\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default ThumbnailCardAttachment;\n","/* eslint react/no-array-index-key: \"off\" */\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport VideoCardContent from './VideoCardContent';\n\nconst VideoCardAttachment = ({ attachment: { content }, disabled }) => (\n  <VideoCardContent content={content} disabled={disabled} />\n);\n\nVideoCardAttachment.defaultProps = {\n  disabled: undefined\n};\n\nVideoCardAttachment.propTypes = {\n  attachment: PropTypes.shape({\n    content: PropTypes.shape({\n      autoloop: PropTypes.bool,\n      autostart: PropTypes.bool,\n      image: PropTypes.shape({\n        url: PropTypes.string.isRequired\n      }),\n      media: PropTypes.arrayOf(\n        PropTypes.shape({\n          profile: PropTypes.string.isRequired,\n          url: PropTypes.string\n        })\n      )\n    })\n  }).isRequired,\n  disabled: PropTypes.bool\n};\n\nexport default VideoCardAttachment;\n","import {\n  betterLinkDocumentMod,\n  parseDocumentFragmentFromString,\n  serializeDocumentFragmentIntoString,\n  type HighlightCodeFn\n} from 'botframework-webchat-component/internal.js';\nimport katex from 'katex';\nimport { micromark } from 'micromark';\nimport { gfm, gfmHtml } from 'micromark-extension-gfm';\n\nimport createStreamingRenderer, {\n  type StreamingNextOptions,\n  type StreamingNextResult,\n  type StreamingRenderer,\n  type StreamingRenderOptions\n} from './createStreamingRenderer';\nimport { math, mathHtml } from './mathExtension';\nimport { createDecorate } from './private/createDecorate';\nimport iterateLinkDefinitions from './private/iterateLinkDefinitions';\nimport { pre as respectCRLFPre } from './private/respectCRLF';\n\ntype RenderInit = Readonly<{\n  codeBlockCopyButtonTagName: string;\n  externalLinkAlt: string;\n  highlightCode: HighlightCodeFn;\n}>;\n\nexport default function render(\n  markdown: string,\n  { markdownRespectCRLF, markdownRenderHTML }: Readonly<{ markdownRespectCRLF: boolean; markdownRenderHTML?: boolean }>,\n  { externalLinkAlt }: RenderInit\n): string {\n  const linkDefinitions = Array.from(iterateLinkDefinitions(markdown));\n\n  if (markdownRespectCRLF) {\n    markdown = respectCRLFPre(markdown);\n  }\n\n  const decorate = createDecorate(linkDefinitions, externalLinkAlt);\n\n  const htmlAfterMarkdown = micromark(markdown, {\n    allowDangerousHtml: markdownRenderHTML ?? true,\n    // We need to handle links like cite:1 or other URL handlers.\n    // And we will remove dangerous protocol during sanitization.\n    allowDangerousProtocol: true,\n    extensions: [gfm(), math()],\n    htmlExtensions: [\n      gfmHtml(),\n      mathHtml({\n        renderMath: (content, isDisplay) =>\n          katex.renderToString(content, {\n            displayMode: isDisplay,\n            output: 'mathml'\n          })\n      })\n    ]\n  });\n\n  // TODO: [P1] In some future, we should apply \"better link\" and \"sanitization\" outside of the Markdown engine.\n  //       Particularly, apply them at `useRenderMarkdownAsHTML` instead of inside the default `renderMarkdown`.\n  //       If web devs want to bring their own Markdown engine, they don't need to rebuild \"better link\" and sanitization themselves.\n\n  const documentFragmentAfterMarkdown = parseDocumentFragmentFromString(htmlAfterMarkdown);\n\n  betterLinkDocumentMod(documentFragmentAfterMarkdown, decorate);\n\n  return serializeDocumentFragmentIntoString(documentFragmentAfterMarkdown).trim();\n}\n\nrender.createStreamingRenderer = createStreamingRenderer;\n\nexport { type StreamingNextOptions, type StreamingNextResult, type StreamingRenderer, type StreamingRenderOptions };\n","/* eslint-disable no-magic-numbers */\nimport katex from 'katex';\nimport { compile, parse, postprocess, preprocess } from 'micromark';\nimport { gfm, gfmHtml } from 'micromark-extension-gfm';\nimport type { Event, Options } from 'micromark-util-types';\nimport { betterLinkDocumentMod } from 'botframework-webchat-component/internal.js';\n\nimport { math, mathHtml } from './mathExtension';\nimport { createDecorate } from './private/createDecorate';\nimport extractDefinitionsFromEvents, { type MarkdownLinkDefinition } from './private/extractDefinitionsFromEvents';\nimport { pre as respectCRLFPre } from './private/respectCRLF';\n\ntype StreamingRenderInit = Readonly<{\n  externalLinkAlt: string;\n}>;\n\ntype StreamingRenderOptions = Readonly<{\n  markdownRenderHTML?: boolean | undefined;\n  markdownRespectCRLF: boolean;\n}>;\n\ntype StreamingNextOptions = Readonly<{\n  container: HTMLElement;\n  containerClassName?: string | undefined;\n  transformFragment?: ((fragment: DocumentFragment) => DocumentFragment) | undefined;\n}>;\n\ntype StreamingNextResult = Readonly<{\n  definitions: readonly MarkdownLinkDefinition[];\n}>;\n\ntype StreamingRenderer = Readonly<{\n  finalize: (options: StreamingNextOptions) => StreamingNextResult;\n  next: (chunk: string, options: StreamingNextOptions) => void;\n  reset: () => void;\n}>;\n\nexport const STREAMING_ERROR = Symbol('markdown streaming error');\n\n// Top-level block token types emitted by micromark.\n// An exit event at depth 0 for one of these types marks a committed block boundary.\nconst TOP_LEVEL_BLOCK_TYPES: ReadonlySet<string> = new Set([\n  'atxHeading',\n  'blockQuote',\n  'codeFenced',\n  'codeIndented',\n  'content',\n  'htmlFlow',\n  'listOrdered',\n  'listUnordered',\n  'setextHeading',\n  'table',\n  'thematicBreak',\n  'math'\n]);\n\ntype BlockBoundary = {\n  readonly endOffset: number;\n  readonly startOffset: number;\n  readonly type: string;\n};\n\nfunction findTopLevelBlocks(events: ReadonlyArray<Event>): readonly BlockBoundary[] {\n  const blocks: Array<{ endOffset: number; startOffset: number; type: string }> = [];\n  let depth = 0;\n\n  for (const [action, token] of events) {\n    if (!TOP_LEVEL_BLOCK_TYPES.has(token.type)) {\n      continue;\n    }\n\n    if (action === 'enter') {\n      if (!depth) {\n        blocks.push({ endOffset: -1, startOffset: token.start.offset, type: token.type });\n      }\n\n      depth++;\n    } else {\n      depth--;\n\n      if (!depth && blocks.length) {\n        blocks.at(-1).endOffset = token.end.offset;\n      }\n    }\n  }\n\n  return blocks;\n}\n\nexport default function createStreamingRenderer(\n  { markdownRenderHTML, markdownRespectCRLF }: StreamingRenderOptions,\n  { externalLinkAlt }: StreamingRenderInit\n): StreamingRenderer {\n  const micromarkOptions: Options = {\n    allowDangerousHtml: markdownRenderHTML ?? true,\n    allowDangerousProtocol: true,\n    extensions: [gfm(), math()],\n    htmlExtensions: [\n      gfmHtml(),\n      mathHtml({\n        renderMath: (content, isDisplay) =>\n          katex.renderToString(content, {\n            displayMode: isDisplay,\n            output: 'mathml'\n          })\n      })\n    ]\n  };\n\n  const domParser = new DOMParser();\n\n  // Parser state.\n  let previousMarkdown = '';\n  const emptyDefinitions: readonly MarkdownLinkDefinition[] = Object.freeze([]);\n\n  // DOM reconciliation state.\n  let wrapperDiv: HTMLDivElement | null = null;\n  let activeSentinel: Comment | null = null;\n\n  function parseEvents(source: string): Event[] {\n    return postprocess(\n      parse(micromarkOptions)\n        .document()\n        .write(preprocess()(source, undefined, true))\n    );\n  }\n\n  function applyTransform(\n    fragment: DocumentFragment,\n    transformFragment: ((fragment: DocumentFragment) => DocumentFragment) | undefined\n  ): DocumentFragment {\n    return transformFragment ? transformFragment(fragment) : fragment;\n  }\n\n  function ensureWrapper(container: HTMLElement, containerClassName: string | undefined): HTMLDivElement {\n    if (wrapperDiv && container.contains(wrapperDiv)) {\n      wrapperDiv.className = containerClassName || '';\n\n      return wrapperDiv;\n    }\n\n    const wrapper = document.createElement('div');\n\n    wrapper.className = containerClassName || '';\n    container.textContent = '';\n    container.appendChild(wrapper);\n    wrapperDiv = wrapper;\n    activeSentinel = null;\n\n    return wrapper;\n  }\n\n  function setError(error: unknown, wrapper: HTMLElement) {\n    wrapper.dataset.renderError = String(error instanceof Error ? error.message : error);\n    wrapper.dataset.renderErrorCount = String(Number(wrapper.dataset.renderErrorCount || '0') + 1);\n    // eslint-disable-next-line security/detect-object-injection\n    (wrapper as any)[STREAMING_ERROR] = error;\n  }\n\n  const knownDefinitions: Set<string> = new Set();\n  function extractDefinitions(events: ReadonlyArray<Event>) {\n    for (const [action, token, ctx] of events) {\n      token.type === 'definition' && action === 'exit' && knownDefinitions.add(ctx.sliceSerialize(token) + '\\n');\n    }\n  }\n\n  let lastStepDefinitionOffset = 0;\n  let lastCommittedBlockEndOffset = 0;\n  let stepEvents: Event[] = [];\n  function step(markdown: string): Event[] {\n    const markdownTail = markdown.slice(lastCommittedBlockEndOffset);\n\n    const doc = parse(micromarkOptions).document();\n    const prep = preprocess();\n\n    // Ensure definitions are resolved during parse phase\n    if (knownDefinitions.size) {\n      for (const definition of knownDefinitions) {\n        doc.write(prep(definition, undefined, false));\n      }\n\n      const lastDefinitionTokenOffset = doc.events.at(-1)?.[1].end.offset;\n      if (typeof lastDefinitionTokenOffset !== 'number') {\n        throw new Error('Failed to extract definition token offset');\n      }\n\n      lastStepDefinitionOffset = lastDefinitionTokenOffset;\n    } else {\n      lastStepDefinitionOffset = 0;\n    }\n\n    const tailEvents = doc.write(prep(markdownTail, undefined, true));\n    stepEvents = postprocess(tailEvents);\n    return stepEvents;\n  }\n\n  function commit(block: BlockBoundary): string {\n    const compiler = compile(micromarkOptions);\n\n    // Extract all available definitions to prevent compiler crashes\n    // on definitions appearing after the block boundary.\n    extractDefinitions(stepEvents);\n\n    // Rather than trying to restore compiler state, we parse and fed the definitions\n    // back to the compiler as if they appear in the markdown.\n    if (knownDefinitions.size) {\n      const doc = parse(micromarkOptions).document();\n      const prep = preprocess();\n      for (const definition of knownDefinitions) {\n        doc.write(prep(definition, undefined, false));\n      }\n\n      compiler(postprocess(doc.write(prep('', undefined, true))));\n    }\n\n    const newCommittedOffset = block.startOffset;\n    const newCommittedEvents = stepEvents.filter(([, token]) => token.start.offset < newCommittedOffset);\n\n    // Offset the committed block by the provided boundary start\n    // excluding the offset of definitions upserted during the step.\n    lastCommittedBlockEndOffset += newCommittedOffset - lastStepDefinitionOffset;\n\n    return compiler(newCommittedEvents);\n  }\n\n  function revert() {\n    lastStepDefinitionOffset = 0;\n    stepEvents = [];\n  }\n\n  function cleanup() {\n    revert();\n    activeSentinel = null;\n    lastCommittedBlockEndOffset = 0;\n    knownDefinitions.clear();\n  }\n\n  function renderNext(chunk: string, options: StreamingNextOptions): void {\n    const isAppend = !!previousMarkdown;\n    previousMarkdown += chunk;\n\n    if (!previousMarkdown) {\n      cleanup();\n\n      const wrapper = ensureWrapper(options.container, options.containerClassName);\n\n      wrapper.replaceChildren();\n\n      return;\n    }\n\n    let processedMarkdown = previousMarkdown;\n\n    if (markdownRespectCRLF) {\n      processedMarkdown = respectCRLFPre(processedMarkdown);\n    }\n\n    try {\n      // Incremental path: re-parse only from the last committed block boundary.\n      if (isAppend) {\n        const wrapper = ensureWrapper(options.container, options.containerClassName);\n\n        if (activeSentinel && wrapper.contains(activeSentinel)) {\n          const tailEvents = step(processedMarkdown);\n          const tailBlocks = findTopLevelBlocks(tailEvents);\n          const decorate = createDecorate(emptyDefinitions, externalLinkAlt);\n\n          if (tailBlocks.length <= 1) {\n            // Fast path: active block grew, no new committed blocks.\n            // Replace only the active zone (after sentinel).\n            const tailHTML = compile(micromarkOptions)(tailEvents);\n            const activeDoc = domParser.parseFromString(tailHTML.trim(), 'text/html');\n            const activeFragment = activeDoc.createDocumentFragment();\n\n            activeFragment.append(...Array.from(activeDoc.body.childNodes));\n            betterLinkDocumentMod(activeFragment, decorate);\n\n            const activeRange = document.createRange();\n\n            activeRange.setStartAfter(activeSentinel);\n            activeRange.setEndAfter(wrapper.lastChild!);\n            activeRange.deleteContents();\n\n            wrapper.append(applyTransform(activeFragment, options.transformFragment));\n          } else {\n            // New block boundary in tail: commit newly-finished blocks, replace active.\n            const committedTailHTML = commit(tailBlocks.at(-1));\n            const committedDoc = domParser.parseFromString(committedTailHTML, 'text/html');\n            const committedFragment = committedDoc.createDocumentFragment();\n\n            const activeEvents = step(processedMarkdown);\n            const activeHTML = compile(micromarkOptions)(activeEvents);\n            const activeDoc = domParser.parseFromString(activeHTML.trim(), 'text/html');\n            const activeFragment = activeDoc.createDocumentFragment();\n\n            committedFragment.append(...Array.from(committedDoc.body.childNodes));\n            betterLinkDocumentMod(committedFragment, decorate);\n\n            activeFragment.append(...Array.from(activeDoc.body.childNodes));\n            betterLinkDocumentMod(activeFragment, decorate);\n\n            // Remove old sentinel and active zone.\n            const tailRange = document.createRange();\n\n            tailRange.setStartBefore(activeSentinel);\n            tailRange.setEndAfter(wrapper.lastChild!);\n            tailRange.deleteContents();\n\n            // Append newly committed, new sentinel, active.\n            activeSentinel = document.createComment('');\n\n            wrapper.append(\n              applyTransform(committedFragment, options.transformFragment),\n              activeSentinel,\n              applyTransform(activeFragment, options.transformFragment)\n            );\n          }\n\n          return;\n        }\n      }\n    } catch (error) {\n      setError(error, ensureWrapper(options.container, options.containerClassName));\n    }\n\n    // Full reparse path.\n    cleanup();\n    const fullEvents = step(processedMarkdown);\n    const blocks = findTopLevelBlocks(fullEvents);\n    const wrapper = ensureWrapper(options.container, options.containerClassName);\n    const decorate = createDecorate(emptyDefinitions, externalLinkAlt);\n\n    try {\n      if (blocks.length >= 2) {\n        const committedHTML = commit(blocks.at(-1));\n        const committedDoc = domParser.parseFromString(committedHTML, 'text/html');\n        const committedFragment = committedDoc.createDocumentFragment();\n\n        const activeEvents = step(processedMarkdown);\n        const activeHTML = compile(micromarkOptions)(activeEvents);\n        const activeDoc = domParser.parseFromString(activeHTML.trim(), 'text/html');\n        const activeFragment = activeDoc.createDocumentFragment();\n\n        committedFragment.append(...Array.from(committedDoc.body.childNodes));\n        betterLinkDocumentMod(committedFragment, decorate);\n\n        activeFragment.append(...Array.from(activeDoc.body.childNodes));\n        betterLinkDocumentMod(activeFragment, decorate);\n\n        activeSentinel = document.createComment('');\n\n        wrapper.replaceChildren(\n          applyTransform(committedFragment, options.transformFragment),\n          activeSentinel,\n          applyTransform(activeFragment, options.transformFragment)\n        );\n\n        return;\n      }\n    } catch (error) {\n      setError(error, ensureWrapper(options.container, options.containerClassName));\n\n      cleanup();\n    }\n\n    // Single block — full replace, no sentinel.\n    activeSentinel = null;\n\n    const rawHTML = compile(micromarkOptions)(fullEvents);\n    const parsedDocument = domParser.parseFromString(rawHTML.trim(), 'text/html');\n    const fragment = parsedDocument.createDocumentFragment();\n\n    fragment.append(...Array.from(parsedDocument.body.childNodes));\n    betterLinkDocumentMod(fragment, decorate);\n\n    wrapper.replaceChildren(applyTransform(fragment, options.transformFragment));\n  }\n\n  return Object.freeze({\n    finalize(options: StreamingNextOptions): StreamingNextResult {\n      if (!previousMarkdown) {\n        const wrapper = ensureWrapper(options.container, options.containerClassName);\n\n        wrapper.replaceChildren();\n\n        return Object.freeze({ definitions: Object.freeze([]) });\n      }\n\n      let processedMarkdown = previousMarkdown;\n\n      if (markdownRespectCRLF) {\n        processedMarkdown = respectCRLFPre(processedMarkdown);\n      }\n\n      const fullEvents = parseEvents(processedMarkdown);\n      const rawHTML = compile(micromarkOptions)(fullEvents);\n      const finalDoc = domParser.parseFromString(rawHTML.trim(), 'text/html');\n      const fragment = finalDoc.createDocumentFragment();\n\n      const definitions = extractDefinitionsFromEvents(fullEvents);\n      const wrapper = ensureWrapper(options.container, options.containerClassName);\n      const decorate = createDecorate(definitions, externalLinkAlt);\n\n      fragment.append(...Array.from(finalDoc.body.childNodes));\n      betterLinkDocumentMod(fragment, decorate);\n\n      activeSentinel = null;\n\n      // Full replace on finalize — no incremental path needed.\n      wrapper.replaceChildren(applyTransform(fragment, options.transformFragment));\n\n      return Object.freeze({ definitions });\n    },\n\n    next(chunk: string, options: StreamingNextOptions): void {\n      try {\n        renderNext(chunk, options);\n      } finally {\n        revert();\n      }\n    },\n\n    reset(): void {\n      previousMarkdown = '';\n      cleanup();\n    }\n  });\n}\n\nexport {\n  type MarkdownLinkDefinition,\n  type StreamingNextOptions,\n  type StreamingNextResult,\n  type StreamingRenderer,\n  type StreamingRenderOptions\n};\n","/* eslint-disable @typescript-eslint/no-this-alias */\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable no-invalid-this */\n/* eslint-disable no-magic-numbers */\nimport { BACKSLASH, CLOSE_BRACKET, CLOSE_PAREN, DOLLAR, OPEN_BRACKET, OPEN_PAREN } from './constants';\nimport { markdownLineEnding, markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { type Code, type Effects, type State, type Tokenizer, type TokenizeContext } from 'micromark-util-types';\n\ntype MathTokenTypes = 'math' | 'mathChunk' | 'mathContent' | 'mathFence';\n\ntype MathEffects = Omit<Effects, 'enter' | 'exit'> & {\n  enter(type: MathTokenTypes): void;\n  exit(type: MathTokenTypes): void;\n};\n\n/**\n * Creates a math tokenizer for specified trigger code\n * @param TRIGGER_CODE - Delimiter trigger code\n * @param isInline - True when in inlie parsing mode\n */\nexport default (TRIGGER_CODE: typeof BACKSLASH | typeof DOLLAR, isInline: boolean) =>\n  function createTokenizer(effects: MathEffects, ok: State, nok: State) {\n    const self: TokenizeContext = this;\n\n    const OPEN_CODES = TRIGGER_CODE === DOLLAR ? [DOLLAR] : [OPEN_BRACKET, OPEN_PAREN];\n    const CLOSE_CODES = TRIGGER_CODE === DOLLAR ? [DOLLAR] : [CLOSE_BRACKET, CLOSE_PAREN];\n\n    let allowSpill: boolean;\n    let isDisplay: boolean;\n\n    const closeDelimiterConstruct = { tokenize: closeDelimiterTokenizer as any satisfies Tokenizer };\n\n    function closeDelimiterTokenizer(effects: MathEffects, ok: State, nok: State) {\n      return checkCloseTrigger;\n\n      function checkCloseTrigger(code: Code): State {\n        if (code !== TRIGGER_CODE) {\n          return nok(code);\n        }\n        effects.consume(code);\n        return checkCloseDelimiter;\n      }\n\n      function checkCloseDelimiter(code: Code): State {\n        if (!CLOSE_CODES.includes(code)) {\n          return nok(code);\n        }\n\n        effects.consume(code);\n        return ok;\n      }\n    }\n\n    return openTrigger;\n\n    function openTrigger(code: Code): State {\n      if (code !== TRIGGER_CODE) {\n        return nok(code);\n      }\n\n      effects.enter('math');\n      effects.enter('mathFence');\n      effects.consume(code);\n\n      return openDelimiter;\n    }\n\n    function openDelimiter(code: Code): State {\n      if (!OPEN_CODES.includes(code)) {\n        return nok(code);\n      }\n\n      allowSpill = code !== OPEN_PAREN;\n      isDisplay = code === OPEN_BRACKET ? true : code === OPEN_PAREN ? false : !isInline;\n\n      effects.consume(code);\n      effects.exit('mathFence');\n      effects.enter('mathContent');\n      effects.enter('mathChunk');\n\n      // Do not convert $$$$ into a formula\n      return TRIGGER_CODE === DOLLAR ? effects.check(closeDelimiterConstruct, nok, content) : content;\n    }\n\n    function content(code: Code): State {\n      // Ignore unclosed formulas when got end of input useful for streaming\n      if (code === null) {\n        return nok(code);\n      }\n\n      if (markdownLineEnding(code)) {\n        // Ignore inline formulas which don't have close delimiters if the line ended\n        if (isInline && !allowSpill) {\n          return nok(code);\n        }\n\n        // Allow $$[\\n]+$$ math to be rendered as display when multiline\n        isDisplay ||= TRIGGER_CODE === DOLLAR;\n\n        return consumeMathChunk(code);\n      }\n\n      if (code === TRIGGER_CODE) {\n        return effects.check(closeDelimiterConstruct, closeTrigger, consumeContent)(code);\n      }\n\n      if (code === BACKSLASH) {\n        effects.consume(code);\n        return escaped;\n      }\n\n      return consumeContent(code);\n    }\n\n    function consumeContent(code: Code): State {\n      effects.consume(code);\n      return content;\n    }\n\n    function consumeMathChunk(code: Code): State {\n      effects.consume(code);\n      effects.exit('mathChunk');\n      effects.enter('mathChunk');\n\n      return content;\n    }\n\n    function closeTrigger(code: Code): State {\n      if (code !== TRIGGER_CODE) {\n        return nok(code);\n      }\n\n      effects.exit('mathChunk');\n      effects.exit('mathContent');\n      effects.enter('mathFence');\n      effects.consume(code);\n\n      return closeDelimiter;\n    }\n\n    function closeDelimiter(code: Code): State {\n      if (!CLOSE_CODES.includes(code)) {\n        return nok(code);\n      }\n\n      effects.consume(code);\n      effects.exit('mathFence');\n      effects.exit('math');\n\n      const [, token] = self.events.at(-1);\n      Object.assign(token, {\n        isInline,\n        isDisplay\n      });\n\n      return TRIGGER_CODE === DOLLAR || isInline ? ok : blockEnding;\n    }\n\n    function escaped(code: Code): State {\n      // Allow escaping $ and \\\n      if (code !== DOLLAR && code !== BACKSLASH) {\n        return content(code);\n      }\n\n      effects.consume(code);\n      return content;\n    }\n\n    function blockEnding(code: Code): State {\n      if (markdownLineEndingOrSpace(code) || code === null) {\n        return ok(code);\n      }\n\n      return nok(code);\n    }\n  };\n","import type { Construct, Extension } from 'micromark-util-types';\nimport { BACKSLASH, DOLLAR } from './constants';\nimport makeConstructTokenizer from './tokenizer';\n\nexport default function math(): Extension {\n  const makeConstruct = (...args: Parameters<typeof makeConstructTokenizer>): Construct => ({\n    name: 'math',\n    // @ts-expect-error math is not known micromark token\n    tokenize: makeConstructTokenizer(...args)\n  });\n\n  return {\n    text: {\n      [BACKSLASH]: makeConstruct(BACKSLASH, true),\n      [DOLLAR]: makeConstruct(DOLLAR, true)\n    },\n    flow: {\n      [BACKSLASH]: makeConstruct(BACKSLASH, false),\n      [DOLLAR]: makeConstruct(DOLLAR, false)\n    }\n  };\n}\n","import { type HtmlExtension, type Token } from 'micromark-util-types';\n\nexport type CreateHtmlRendererOptions = {\n  renderMath?: ((content: string, isDisplay: boolean) => string) | undefined;\n};\n\nexport default function mathHtml(options: CreateHtmlRendererOptions = {}): HtmlExtension {\n  return {\n    exit: {\n      // @ts-expect-error math* are not known tokens in micromark\n      mathContent(token: Token) {\n        this.setData('content', this.sliceSerialize(token));\n      },\n      math(token: Token & { isInline: boolean; isDisplay: boolean }) {\n        const { isInline, isDisplay } = token;\n        const content = this.getData('content');\n\n        const defaults =\n          isDisplay && !isInline\n            ? ({ tag: options.renderMath ? 'figure' : 'pre', type: 'block' } as const)\n            : ({ tag: 'span', type: isDisplay ? 'block' : 'inline' } as const);\n\n        const render = (\n          content: string,\n          type: 'block' | 'inline' | 'error' = defaults.type,\n          tag: 'figure' | 'span' | 'pre' | 'code' = defaults.tag\n        ) => {\n          // Math could be scrollable, need to be tabbable.\n          this.tag(`<${tag} data-math-type=\"${type}\" tabindex=\"0\">`);\n          this.raw(content);\n          this.tag(`</${tag}>`);\n        };\n\n        try {\n          render(options.renderMath?.(content, isDisplay) ?? content);\n        } catch (error) {\n          console.warn('Math rendering error:', error);\n          render(content, 'error', isDisplay ? 'pre' : 'code');\n        }\n      }\n    }\n  };\n}\n","import type { BetterLinkDocumentModDecoration } from 'botframework-webchat-component/internal.js';\nimport { onErrorResumeNext } from 'botframework-webchat-core';\nimport { sanitizeUri } from 'micromark-util-sanitize-uri';\nimport type { MarkdownLinkDefinition } from './extractDefinitionsFromEvents';\n\nexport const ALLOWED_SCHEMES = ['data', 'http', 'https', 'ftp', 'mailto', 'sip', 'tel'];\n\nexport function createDecorate(\n  definitions: readonly MarkdownLinkDefinition[],\n  externalLinkAlt: string\n): (href: string, textContent: string) => BetterLinkDocumentModDecoration {\n  const linkDefinitions = definitions.map(definition =>\n    Object.freeze({\n      ...definition,\n      markupUrl: sanitizeUri(definition.url),\n      parsedUrl: onErrorResumeNext(() => new URL(definition.url))\n    })\n  );\n\n  const allowedSchemas = ALLOWED_SCHEMES.map(scheme => `${scheme}:`);\n\n  return (href: string, textContent: string): BetterLinkDocumentModDecoration => {\n    const decoration: BetterLinkDocumentModDecoration = {\n      rel: 'noopener noreferrer',\n      target: '_blank',\n      wrapZeroWidthSpace: true\n    };\n\n    const ariaLabelSegments: string[] = [textContent];\n    const classes: Set<string> = new Set();\n    const linkDefinition = linkDefinitions.find(({ url, markupUrl }) => url === href || (href && markupUrl === href));\n    const protocol = onErrorResumeNext(() => new URL(href).protocol);\n\n    if (linkDefinition) {\n      ariaLabelSegments.push(linkDefinition.title || linkDefinition?.parsedUrl?.host || linkDefinition.url);\n\n      // linkDefinition.identifier is uppercase, while linkDefinition.label is as-is.\n      linkDefinition.label === textContent && classes.add('render-markdown__pure-identifier');\n    }\n\n    // Let javascript: fell through. Our sanitizer will catch and remove it from <a href>.\n    // Otherwise, it will be turn into <button value=\"javascript:\"> and won't able to catch it.\n\n    // False-positive.\n    // eslint-disable-next-line no-script-url\n    if (protocol !== 'javascript:') {\n      // For links that would be sanitized out, let's turn them into a button so we could handle them later.\n      if (!allowedSchemas.includes(protocol)) {\n        decoration.asButton = true;\n\n        classes.add('render-markdown__citation');\n      } else if (protocol === 'http:' || protocol === 'https:') {\n        decoration.iconAlt = externalLinkAlt;\n        decoration.iconClassName = 'render-markdown__external-link-icon';\n\n        ariaLabelSegments.push(externalLinkAlt);\n      }\n    }\n    // The first segment is textContent. Putting textContent is aria-label is useless.\n    if (ariaLabelSegments.length > 1) {\n      // If \"aria-label\" is already applied, do not overwrite it.\n      decoration.ariaLabel = (value: string) => value || ariaLabelSegments.join(' ');\n    }\n\n    decoration.className = Array.from(classes).join(' ');\n\n    // However, \"title\" may be narrated by screen reader:\n    // - Edge\n    //   - <a> will narrate \"aria-label\" but not \"title\"\n    //   - <button> will narrate both \"aria-label\" and \"title\"\n    // - NVDA\n    //   - <a> will narrate both \"aria-label\" and \"title\"\n    //   - <button> will narrate both \"aria-label\" and \"title\"\n\n    // Title makes it very difficult to control narrations by the screen reader. Thus, we are disabling it in favor of \"aria-label\".\n    // This will not affect our accessibility compliance but UX. We could use a non-native tooltip or other forms of visual hint.\n\n    decoration.title = false;\n\n    return decoration;\n  };\n}\n","/**\n * Normalize an identifier (as found in references, definitions).\n *\n * Collapses markdown whitespace, trim, and then lower- and uppercase.\n *\n * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their\n * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different\n * uppercase character (U+0398 (`Θ`)).\n * So, to get a canonical form, we perform both lower- and uppercase.\n *\n * Using uppercase last makes sure keys will never interact with default\n * prototypal values (such as `constructor`): nothing in the prototype of\n * `Object` is uppercase.\n *\n * @param {string} value\n *   Identifier to normalize.\n * @returns {string}\n *   Normalized identifier.\n */\nexport function normalizeIdentifier(value) {\n  return (\n    value\n      // Collapse markdown whitespace.\n      .replace(/[\\t\\n\\r ]+/g, ' ')\n      // Trim.\n      .replace(/^ | $/g, '')\n      // Some characters are considered “uppercase”, but if their lowercase\n      // counterpart is uppercased will result in a different uppercase\n      // character.\n      // Hence, to get that form, we perform both lower- and uppercase.\n      // Upper case makes sure keys will not interact with default prototypal\n      // methods: no method is uppercase.\n      .toLowerCase()\n      .toUpperCase()\n  )\n}\n","import { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport type { Event } from 'micromark-util-types';\n\ntype MarkdownLinkDefinition = Readonly<{\n  identifier: string;\n  label?: string;\n  title?: string;\n  url: string;\n}>;\n\nexport default function extractDefinitionsFromEvents(events: readonly Event[]): readonly MarkdownLinkDefinition[] {\n  const definitions: MarkdownLinkDefinition[] = [];\n\n  let inDefinition = false;\n  let label = '';\n  let title = '';\n  let url = '';\n\n  for (const [action, token, context] of events) {\n    if (action === 'enter' && token.type === 'definition') {\n      inDefinition = true;\n      label = '';\n      title = '';\n      url = '';\n\n      continue;\n    }\n\n    if (!inDefinition || action !== 'exit') {\n      continue;\n    }\n\n    switch (token.type) {\n      case 'definitionLabelString':\n        label = context.sliceSerialize(token);\n        break;\n\n      case 'definitionDestinationString':\n        url = context.sliceSerialize(token);\n        break;\n\n      case 'definitionTitleString':\n        title = context.sliceSerialize(token);\n        break;\n\n      case 'definition':\n        definitions.push(\n          Object.freeze({\n            identifier: normalizeIdentifier(label),\n            label,\n            title,\n            url\n          })\n        );\n\n        inDefinition = false;\n        break;\n\n      default:\n        break;\n    }\n  }\n\n  return Object.freeze(definitions);\n}\n\nexport { type MarkdownLinkDefinition };\n","// TODO: We should find some other ways to do this.\nconst pre = (markdown: string): string =>\n  // IE11 does not support \"u\" flag and Babel could not remove it. We intentionally omitting the \"u\" flag here.\n  // eslint-disable-next-line require-unicode-regexp\n  markdown.replace(/\\n\\r|\\r\\n/g, carriageReturn => (carriageReturn === '\\n\\r' ? '\\r\\n' : '\\n\\r'));\n\nexport { pre };\n","import { fromMarkdown } from 'mdast-util-from-markdown';\nimport { type Definition, type Node } from 'mdast';\n\nfunction isDefinition(node: Node): node is Definition {\n  return node.type === 'definition';\n}\n\nexport default function* iterateLinkDefinitions(markdown: string): Generator<Definition, void, void> {\n  for (const topLevelNode of fromMarkdown(markdown).children) {\n    if (isDefinition(topLevelNode)) {\n      yield topLevelNode;\n    }\n  }\n}\n","import ReactWebChat, { type ReactWebChatProps } from 'botframework-webchat-component';\nimport React from 'react';\n\nimport AddFullBundle, { type AddFullBundleProps } from './AddFullBundle';\n\ntype FullReactWebChatProps = Readonly<ReactWebChatProps & Omit<AddFullBundleProps, 'children'>>;\n\n// Add additional props to <WebChat>, so it support additional features\nconst FullReactWebChat = (props: FullReactWebChatProps) => (\n  <AddFullBundle {...props}>{extraProps => <ReactWebChat {...props} {...extraProps} />}</AddFullBundle>\n);\n\nexport default FullReactWebChat;\n\nexport type { FullReactWebChatProps };\n","'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = function () { /* empty */ }.bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n  return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n    : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.49.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n  license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n  var Wrapper = function (a, b, c) {\n    if (this instanceof Wrapper) {\n      switch (arguments.length) {\n        case 0: return new NativeConstructor();\n        case 1: return new NativeConstructor(a);\n        case 2: return new NativeConstructor(a, b);\n      } return new NativeConstructor(a, b, c);\n    } return apply(NativeConstructor, this, arguments);\n  };\n  Wrapper.prototype = NativeConstructor.prototype;\n  return Wrapper;\n};\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var PROTO = options.proto;\n\n  var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n  var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n  var targetPrototype = target.prototype;\n\n  var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n  var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n  for (key in source) {\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contains in native\n    USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n    targetProperty = target[key];\n\n    if (USE_NATIVE) if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(nativeSource, key);\n      nativeProperty = descriptor && descriptor.value;\n    } else nativeProperty = nativeSource[key];\n\n    // export native or implementation\n    sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n    if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n    // bind methods to global for calling from export context\n    if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n    // wrap global constructors for prevent changes in this version\n    else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n    // make static versions for prototype methods\n    else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n    // default case\n    else resultProperty = sourceProperty;\n\n    // add a flag to not completely full polyfills\n    if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(resultProperty, 'sham', true);\n    }\n\n    createNonEnumerableProperty(target, key, resultProperty);\n\n    if (PROTO) {\n      VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n      if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n        createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n      }\n      // export virtual prototype methods\n      createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n      // export real prototype methods\n      if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n        createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n      }\n    }\n  }\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    if (length === 0) return !IS_INCLUDES && -1;\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el !== el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value !== value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var props = toIndexedObject(Properties);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n  return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n  activeXDocument = null;\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n  create: create\n});\n","'use strict';\nrequire('../../modules/es.object.create');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nmodule.exports = function create(P, D) {\n  return Object.create(P, D);\n};\n","'use strict';\nvar parent = require('../../es/object/create');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/create\");","/* eslint no-console: \"off\" */\n\nimport { useRef } from 'react';\n\nexport default function useDebugDeps(depsObject: Record<string, unknown>, name: string): void {\n  const depsMap = Object.freeze(new Map(Object.entries(depsObject)));\n  const prevDepsMapRef = useRef<ReadonlyMap<string, unknown> | undefined>();\n\n  const { current: prevDepsMap } = prevDepsMapRef;\n\n  // Ignores initial rendering.\n  if (prevDepsMap) {\n    const keys = new Set([...depsMap.keys(), ...prevDepsMap.keys()]);\n    const keysChanged = Array.from(keys).filter(key => !Object.is(depsMap.get(key), prevDepsMap.get(key)));\n\n    if (keysChanged.length) {\n      console.groupCollapsed(`Changes found in ${name}`);\n\n      keysChanged.forEach(key => console.log(key, { from: prevDepsMap.get(key), to: depsMap.get(key) }));\n\n      console.groupEnd();\n    }\n  }\n\n  prevDepsMapRef.current = depsMap;\n}\n","import {\n  useCallback,\n  useEffect,\n  useMemo,\n  useRef,\n  useState,\n  type DragEventHandler,\n  type DragEvent as ReactDragEvent\n} from 'react';\nimport { useRefFrom } from 'use-ref-from';\n\ntype DropZoneState = false | 'visible' | 'droppable';\n\nconst isFilesTransferEvent = (event: DragEvent) =>\n  !!event.dataTransfer?.types?.some(type => type.toLowerCase() === 'files');\n\nconst isOrIsDescendantOf = (target: unknown, ancestor: Node | null): boolean => {\n  if (!ancestor) {\n    return false;\n  }\n\n  if (target === ancestor) {\n    return true;\n  }\n\n  if (!(target instanceof HTMLElement)) {\n    return false;\n  }\n\n  let current: Node | null = target;\n  while ((current = current.parentNode)) {\n    if (current === ancestor) {\n      return true;\n    }\n  }\n\n  return false;\n};\n\n/**\n * Shared drag-and-drop state management hook for file drop zones.\n * Manages global document event listeners and drop zone state.\n *\n * @param onFilesAdded - Callback invoked when files are dropped\n * @returns Object containing dropZoneState, dropZoneRef, and event handlers\n */\nfunction useFileDropZone(onFilesAdded: (files: readonly File[]) => void): Readonly<{\n  dropZoneState: DropZoneState;\n  dropZoneRef: React.RefObject<HTMLDivElement>;\n  handleDragOver: DragEventHandler<unknown>;\n  handleDrop: DragEventHandler<HTMLDivElement>;\n}> {\n  const [dropZoneState, setDropZoneState] = useState<DropZoneState>(false);\n  const dropZoneRef = useRef<HTMLDivElement>(null);\n  const onFilesAddedRef = useRefFrom(onFilesAdded);\n\n  // Prevent default dragover behavior to enable drop event triggering.\n  // Browsers require this to fire subsequent drop events - without it,\n  // they would handle the drop directly (e.g., open files in new tabs).\n  // This is needed regardless of whether we prevent default drop behavior,\n  // as it ensures our dropzone receives the drop event first. If we allow\n  // default drop handling (by not calling preventDefault there), the browser\n  // will still process the drop after our event handlers complete.\n  const handleDragOver = useCallback((event: ReactDragEvent<unknown> | DragEvent) => {\n    event.preventDefault();\n  }, []);\n\n  useEffect(() => {\n    let entranceCounter = 0;\n\n    const handleDragEnter = (event: DragEvent) => {\n      document.addEventListener('dragover', handleDragOver);\n\n      entranceCounter++;\n\n      if (isFilesTransferEvent(event)) {\n        setDropZoneState(isOrIsDescendantOf(event.target, dropZoneRef.current) ? 'droppable' : 'visible');\n      }\n    };\n\n    const handleDragLeave = () => --entranceCounter <= 0 && setDropZoneState(false);\n\n    const handleDragEnd = () => {\n      document.removeEventListener('dragover', handleDragOver);\n\n      entranceCounter = 0;\n\n      setDropZoneState(false);\n    };\n\n    const handleDocumentDrop = (event: DragEvent) => {\n      if (!dropZoneRef.current?.contains(event.target as Node)) {\n        handleDragEnd();\n      }\n    };\n\n    document.addEventListener('dragend', handleDragEnd);\n    document.addEventListener('dragenter', handleDragEnter);\n    document.addEventListener('dragleave', handleDragLeave);\n    document.addEventListener('drop', handleDocumentDrop);\n\n    return () => {\n      document.removeEventListener('dragend', handleDragEnd);\n      document.removeEventListener('dragenter', handleDragEnter);\n      document.removeEventListener('dragleave', handleDragLeave);\n      document.removeEventListener('dragover', handleDragOver);\n      document.removeEventListener('drop', handleDocumentDrop);\n    };\n  }, [handleDragOver, setDropZoneState]);\n\n  const handleDrop = useCallback<DragEventHandler<HTMLDivElement>>(\n    event => {\n      event.preventDefault();\n\n      setDropZoneState(false);\n\n      if (!isFilesTransferEvent(event.nativeEvent)) {\n        return;\n      }\n\n      onFilesAddedRef.current(Object.freeze(Array.from(event.dataTransfer.files)));\n    },\n    [onFilesAddedRef]\n  );\n\n  return useMemo(\n    () =>\n      Object.freeze({\n        dropZoneRef,\n        dropZoneState,\n        handleDragOver,\n        handleDrop\n      }),\n    [dropZoneRef, dropZoneState, handleDragOver, handleDrop]\n  );\n}\n\nexport default useFileDropZone;\nexport { type DropZoneState };\n","import { useMemo, useRef } from 'react';\nimport type { RefObject } from 'react';\n\nexport default function useRefFrom<T>(value: T): RefObject<T> & { get current(): T } {\n  const ref = useRef<T>();\n\n  const readOnlyRef = useMemo(() => Object.create({}, { current: { get: () => ref.current } }), [ref]);\n\n  ref.current = value;\n\n  return readOnlyRef;\n}\n","var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>(a||b((a={exports:{}}).exports,a),a.exports);var l=(b,a,c,e)=>{if(a&&typeof a==\"object\"||typeof a==\"function\")for(let d of i(a))!k.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b};var n=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?f(c,\"default\",{value:b,enumerable:!0}):c,b));export{m as a,n as b};\n//# sourceMappingURL=chunk-73SFLUWV.mjs.map","'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = function () { /* empty */ }.bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n  return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n    : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.49.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n  license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n  var Wrapper = function (a, b, c) {\n    if (this instanceof Wrapper) {\n      switch (arguments.length) {\n        case 0: return new NativeConstructor();\n        case 1: return new NativeConstructor(a);\n        case 2: return new NativeConstructor(a, b);\n      } return new NativeConstructor(a, b, c);\n    } return apply(NativeConstructor, this, arguments);\n  };\n  Wrapper.prototype = NativeConstructor.prototype;\n  return Wrapper;\n};\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var PROTO = options.proto;\n\n  var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n  var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n  var targetPrototype = target.prototype;\n\n  var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n  var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n  for (key in source) {\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contains in native\n    USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n    targetProperty = target[key];\n\n    if (USE_NATIVE) if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(nativeSource, key);\n      nativeProperty = descriptor && descriptor.value;\n    } else nativeProperty = nativeSource[key];\n\n    // export native or implementation\n    sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n    if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n    // bind methods to global for calling from export context\n    if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n    // wrap global constructors for prevent changes in this version\n    else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n    // make static versions for prototype methods\n    else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n    // default case\n    else resultProperty = sourceProperty;\n\n    // add a flag to not completely full polyfills\n    if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(resultProperty, 'sham', true);\n    }\n\n    createNonEnumerableProperty(target, key, resultProperty);\n\n    if (PROTO) {\n      VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n      if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n        createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n      }\n      // export virtual prototype methods\n      createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n      // export real prototype methods\n      if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n        createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n      }\n    }\n  }\n};\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n  if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');\n  return it;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n  else object[key] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.toSpliced` method\n// https://tc39.es/ecma262/#sec-array.prototype.tospliced\n$({ target: 'Array', proto: true }, {\n  toSpliced: function toSpliced(start, deleteCount /* , ...items */) {\n    var O = toIndexedObject(this);\n    var len = lengthOfArrayLike(O);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var k = 0;\n    var insertCount, actualDeleteCount, newLen, A;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n    }\n    newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n    A = $Array(newLen);\n\n    for (; k < actualStart; k++) createProperty(A, k, O[k]);\n    for (; k < actualStart + insertCount; k++) createProperty(A, k, arguments[k - actualStart + 2]);\n    for (; k < newLen; k++) createProperty(A, k, O[k + actualDeleteCount - insertCount]);\n\n    return A;\n  }\n});\n\naddToUnscopables('toSpliced');\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn;\n","'use strict';\nrequire('../../modules/es.array.to-spliced');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'toSpliced');\n","'use strict';\nvar parent = require('../../es/array/to-spliced');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.array.to-spliced');\n","'use strict';\nvar parent = require('../../stable/array/to-spliced');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.array.to-spliced');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/array/to-spliced');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/array/to-spliced');\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n  return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n  if (userAgentStartsWith('Bun/')) return 'BUN';\n  if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n  if (userAgentStartsWith('Deno/')) return 'DENO';\n  if (userAgentStartsWith('Node.js/')) return 'NODE';\n  if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n  if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n  if (classof(globalThis.process) === 'process') return 'NODE';\n  if (globalThis.window && globalThis.document) return 'BROWSER';\n  return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n  if (options && options.enumerable) target[key] = value;\n  else createNonEnumerableProperty(target, key, value);\n  return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n  return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (isPossiblePrototype(argument)) return argument;\n  throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    requireObjectCoercible(O);\n    aPossiblePrototype(proto);\n    if (!isObject(O)) return O;\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n  var target = STATIC ? it : it && it.prototype;\n  if (target) {\n    if (!hasOwn(target, TO_STRING_TAG)) {\n      defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n    }\n    if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n      createNonEnumerableProperty(target, 'toString', toString);\n    }\n  }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineBuiltInAccessor(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, [], argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n  if (isConstructor(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n  if (passed < required) throw new $TypeError('Not enough arguments');\n  return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && /applewebkit/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n  // Deno throws a ReferenceError on `location` access without `--location` flag\n  $location = globalThis.location;\n});\n\nvar run = function (id) {\n  if (hasOwn(queue, id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar eventListener = function (event) {\n  run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n  // old engines have not location.origin\n  globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(handler) {\n    validateArgumentsLength(arguments.length, 1);\n    var fn = isCallable(handler) ? handler : Function(handler);\n    var args = arraySlice(arguments, 1);\n    queue[++counter] = function () {\n      apply(fn, undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (IS_NODE) {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = eventListener;\n    defer = bind(port.postMessage, port);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    globalThis.addEventListener &&\n    isCallable(globalThis.postMessage) &&\n    !globalThis.importScripts &&\n    $location && $location.protocol !== 'file:' &&\n    !fails(globalPostMessageDefer)\n  ) {\n    defer = globalPostMessageDefer;\n    globalThis.addEventListener('message', eventListener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n  if (!DESCRIPTORS) return globalThis[name];\n  var descriptor = getOwnPropertyDescriptor(globalThis, name);\n  return descriptor && descriptor.value;\n};\n","'use strict';\nvar Queue = function () {\n  this.head = null;\n  this.tail = null;\n};\n\nQueue.prototype = {\n  add: function (item) {\n    var entry = { item: item, next: null };\n    var tail = this.tail;\n    if (tail) tail.next = entry;\n    else this.head = entry;\n    this.tail = entry;\n  },\n  get: function () {\n    var entry = this.head;\n    if (entry) {\n      var next = this.head = entry.next;\n      if (next === null) this.tail = null;\n      return entry.item;\n    }\n  }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n  var queue = new Queue();\n\n  var flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (fn = queue.get()) try {\n      fn();\n    } catch (error) {\n      if (queue.head) notify();\n      throw error;\n    }\n    if (parent) parent.enter();\n  };\n\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    // workaround of WebKit ~ iOS Safari 10.1 bug\n    promise.constructor = Promise;\n    then = bind(promise.then, promise);\n    notify = function () {\n      then(flush);\n    };\n  // Node.js without promises\n  } else if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessage\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    // `webpack` dev server bug on IE global methods - use bind(fn, global)\n    macrotask = bind(macrotask, globalThis);\n    notify = function () {\n      macrotask(flush);\n    };\n  }\n\n  microtask = function (fn) {\n    if (!queue.head) notify();\n    queue.add(fn);\n  };\n}\n\nmodule.exports = microtask;\n","'use strict';\nmodule.exports = function (a, b) {\n  try {\n    // eslint-disable-next-line no-console -- safe\n    arguments.length === 1 ? console.error(a) : console.error(a, b);\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  /* eslint-disable no-self-assign -- prototype methods protection */\n  store.get = store.get;\n  store.has = store.has;\n  store.set = store.set;\n  /* eslint-enable no-self-assign -- prototype methods protection */\n  set = function (it, metadata) {\n    if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    store.set(it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return store.get(it) || {};\n  };\n  has = function (it) {\n    return store.has(it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n  // We can't detect it synchronously, so just check versions\n  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n  // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n  if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n    // Detect correctness of subclassing with @@species support\n    var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n    var FakePromise = function (exec) {\n      exec(function () { /* empty */ }, function () { /* empty */ });\n    };\n    var constructor = promise.constructor = {};\n    constructor[SPECIES] = FakePromise;\n    SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n    if (!SUBCLASSING) return true;\n  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n  } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n  CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n  REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n  SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aCallable(resolve);\n  this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n  var value = state.value;\n  var ok = state.state === FULFILLED;\n  var handler = ok ? reaction.ok : reaction.fail;\n  var resolve = reaction.resolve;\n  var reject = reaction.reject;\n  var domain = reaction.domain;\n  var result, then, exited;\n  try {\n    if (handler) {\n      if (!ok) {\n        if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n        state.rejection = HANDLED;\n      }\n      if (handler === true) result = value;\n      else {\n        if (domain) domain.enter();\n        result = handler(value); // can throw\n        if (domain) {\n          domain.exit();\n          exited = true;\n        }\n      }\n      if (result === reaction.promise) {\n        reject(new TypeError('Promise-chain cycle'));\n      } else if (then = isThenable(result)) {\n        call(then, result, resolve, reject);\n      } else resolve(result);\n    } else reject(value);\n  } catch (error) {\n    if (domain && !exited) domain.exit();\n    reject(error);\n  }\n};\n\nvar notify = function (state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  microtask(function () {\n    var reactions = state.reactions;\n    var reaction;\n    while (reaction = reactions.get()) {\n      callReaction(reaction, state);\n    }\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    globalThis.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, state, unwrap) {\n  return function (value) {\n    fn(state, value, unwrap);\n  };\n};\n\nvar internalReject = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          call(then, value,\n            bind(internalResolve, wrapper, state),\n            bind(internalReject, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(state, false);\n    }\n  } catch (error) {\n    internalReject({ done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromisePrototype);\n    aCallable(executor);\n    call(Internal, this);\n    var state = getInternalPromiseState(this);\n    try {\n      executor(bind(internalResolve, state), bind(internalReject, state));\n    } catch (error) {\n      internalReject(state, error);\n    }\n  };\n\n  PromisePrototype = PromiseConstructor.prototype;\n\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: new Queue(),\n      rejection: false,\n      state: PENDING,\n      value: null\n    });\n  };\n\n  // `Promise.prototype.then` method\n  // https://tc39.es/ecma262/#sec-promise.prototype.then\n  Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n    var state = getInternalPromiseState(this);\n    var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n    state.parent = true;\n    reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n    reaction.fail = isCallable(onRejected) && onRejected;\n    reaction.domain = IS_NODE ? process.domain : undefined;\n    if (state.state === PENDING) state.reactions.add(reaction);\n    else microtask(function () {\n      callReaction(reaction, state);\n    });\n    return reaction.promise;\n  });\n\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalPromiseState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, state);\n    this.reject = bind(internalReject, state);\n  };\n\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n    nativeThen = NativePromisePrototype.then;\n\n    if (!NATIVE_PROMISE_SUBCLASSING) {\n      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n      defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n        var that = this;\n        return new PromiseConstructor(function (resolve, reject) {\n          call(nativeThen, that, resolve, reject);\n        }).then(onFulfilled, onRejected);\n      // https://github.com/zloirock/core-js/issues/640\n      }, { unsafe: true });\n    }\n\n    // make `.constructor === Promise` work for native promise-based APIs\n    try {\n      delete NativePromisePrototype.constructor;\n    } catch (error) { /* empty */ }\n\n    // make `instanceof Promise` work for native promise-based APIs\n    if (setPrototypeOf) {\n      setPrototypeOf(NativePromisePrototype, PromisePrototype);\n    }\n  }\n}\n\n// `Promise` constructor\n// https://tc39.es/ecma262/#sec-promise-executor\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  Promise: PromiseConstructor\n});\n\nPromiseWrapper = path.Promise;\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n    || getMethod(it, '@@iterator')\n    || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n  throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n  var innerResult, innerError;\n  anObject(iterator);\n  try {\n    innerResult = getMethod(iterator, 'return');\n    if (!innerResult) {\n      if (kind === 'throw') throw value;\n      return value;\n    }\n    innerResult = call(innerResult, iterator);\n  } catch (error) {\n    innerError = true;\n    innerResult = error;\n  }\n  if (kind === 'throw') throw value;\n  if (innerError) throw innerResult;\n  anObject(innerResult);\n  return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_RECORD = !!(options && options.IS_RECORD);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = bind(unboundFunction, that);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    var $iterator = iterator;\n    iterator = undefined;\n    if ($iterator) iteratorClose($iterator, 'normal');\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_RECORD) {\n    iterator = iterable.iterator;\n  } else if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && isPrototypeOf(ResultPrototype, result)) return result;\n      } return new Result(false);\n    }\n    iterator = getIterator(iterable, iterFn);\n  }\n\n  next = IS_RECORD ? iterable.next : iterator.next;\n  while (!(step = call(next, iterator)).done) {\n    // `IteratorValue` errors should propagate without closing the iterator\n    var value = step.value;\n    try {\n      result = callFn(value);\n    } catch (error) {\n      if (iterator) iteratorClose(iterator, 'throw', error);\n      else throw error;\n    }\n    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n  } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  try {\n    if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n  NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        remaining++;\n        call($promiseResolve, C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n  'catch': function (onRejected) {\n    return this.then(undefined, onRejected);\n  }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n  var method = getBuiltIn('Promise').prototype['catch'];\n  if (NativePromisePrototype['catch'] !== method) {\n    defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n  }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      iterate(iterable, function (promise) {\n        call($promiseResolve, C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  reject: function reject(r) {\n    var capability = newPromiseCapabilityModule.f(this);\n    var capabilityReject = capability.reject;\n    capabilityReject(r);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n  resolve: function resolve(x) {\n    return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n  }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\n// `Promise.withResolvers` method\n// https://tc39.es/ecma262/#sec-promise.withResolvers\n$({ target: 'Promise', stat: true }, {\n  withResolvers: function withResolvers() {\n    var promiseCapability = newPromiseCapabilityModule.f(this);\n    return {\n      promise: promiseCapability.promise,\n      resolve: promiseCapability.resolve,\n      reject: promiseCapability.reject\n    };\n  }\n});\n","'use strict';\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.with-resolvers');\nvar call = require('../../internals/function-call');\nvar isCallable = require('../../internals/is-callable');\nvar path = require('../../internals/path');\n\nvar Promise = path.Promise;\nvar promiseWithResolvers = Promise.withResolvers;\n\nmodule.exports = function withResolvers() {\n  return call(promiseWithResolvers, isCallable(this) ? this : Promise);\n};\n","'use strict';\nvar parent = require('../../es/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.with-resolvers');\n","'use strict';\nvar parent = require('../../stable/promise/with-resolvers');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/promise/with-resolvers');\n","/// <reference lib=\"dom\" />\n\n// Courtesy of https://stackoverflow.com/a/67243723.\nfunction kebabCase(value: string): string {\n  return value.replace(/[A-Z]+(?![a-z])|[A-Z]/gu, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\n}\n\nexport default function setMetaTag(name: string, content: string): void;\nexport default function setMetaTag(name: string, contentMap: ReadonlyMap<string, string | undefined>): void;\n\nexport default function setMetaTag(name: string, contentMap: ReadonlyMap<string, string | undefined> | string): void {\n  try {\n    const { document } = globalThis;\n\n    if (typeof document !== 'undefined' && document.createElement && document.head && document.head.appendChild) {\n      const meta = document.querySelector(`html meta[name=\"${encodeURI(name)}\"]`) || document.createElement('meta');\n\n      meta.setAttribute('name', name);\n      meta.setAttribute(\n        'content',\n        typeof contentMap === 'string'\n          ? contentMap\n          : Array.from(contentMap.entries())\n              .map(([key, value]) => {\n                const name = kebabCase(encodeURIComponent(key));\n\n                return typeof value === 'undefined' ? name : `${name}=${encodeURIComponent(value)}`;\n              })\n              .join('; ')\n      );\n\n      document.head.appendChild(meta);\n    }\n  } catch {\n    // Intentionally left blank.\n  }\n}\n","import setMetaTag from './setMetaTag';\n\ntype BaseBuildInfoObject = {\n  readonly buildTool?: string | undefined;\n  readonly moduleFormat?: string | undefined;\n  readonly version?: string | undefined;\n};\n\ninterface ReadonlyBuildInfo {\n  get name(): string;\n  get object(): BaseBuildInfoObject;\n  get version(): string | undefined;\n\n  delete(key: string): void;\n  get(key: string): string | undefined;\n  set(key: 'variant', value: 'full' | 'full-es5' | 'minimal'): void;\n  set(key: string, value: string | undefined): void;\n}\n\nclass BuildInfo implements ReadonlyBuildInfo {\n  constructor(name: string) {\n    this.#name = name;\n  }\n\n  #map = new Map<string, string | undefined>();\n  #name: string;\n  #object: BaseBuildInfoObject = {};\n\n  get name() {\n    return this.#name;\n  }\n\n  get object() {\n    return this.#object;\n  }\n\n  get version(): string | undefined {\n    return this.#map.get('version');\n  }\n\n  #commit() {\n    setMetaTag(this.name, this.#map);\n\n    this.version && setMetaTag(`${this.name}:version`, this.version);\n  }\n\n  delete(key: string) {\n    this.#map.delete(key);\n  }\n\n  get(key: string): string | undefined {\n    return this.#map.get(key);\n  }\n\n  set(key: string, value: string | undefined): void {\n    this.#map.set(key, value);\n\n    Object.defineProperty(this.#object, key, {\n      configurable: true,\n      enumerable: true,\n      value,\n      writable: false\n    });\n\n    this.#commit();\n  }\n}\n\nfunction createBuildInfo(name: 'botframework-webchat' | `botframework-webchat:${string}`): ReadonlyBuildInfo {\n  return new BuildInfo(name);\n}\n\nexport default createBuildInfo;\nexport { type BuildInfo, type ReadonlyBuildInfo };\n","export default function once<P extends any[]>(fn: (...args: P) => void): (...args: P) => void {\n  let done = false;\n\n  return (...args) => {\n    if (!done) {\n      fn(...args);\n      done = true;\n    }\n  };\n}\n","import once from './private/once';\n\nexport default function warnOnce(message: string): (...args: any[]) => void {\n  return once((...args: any[]) => console.warn(`botframework-webchat: ${message}`, ...args));\n}\n","import warnOnce from './warnOnce';\n\nconst PROPERTY_DENYLIST = new Set<string | symbol>([\n  '__defineGetter__',\n  '__defineSetter__',\n  '__lookupGetter__',\n  '__lookupSetter__',\n  '__proto__',\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'prototype',\n  'toString',\n  'valueOf'\n]);\n\nexport default function deprecateObject<T extends { [key: string | symbol]: any }>(namespace: T, message: string): T {\n  const warnDeprecation = warnOnce(message);\n\n  return new Proxy<T>(namespace, {\n    get(target, p) {\n      if (\n        !PROPERTY_DENYLIST.has(p) &&\n        (typeof p === 'string'\n          ? Object.getOwnPropertyNames(target).includes(p)\n          : Object.getOwnPropertySymbols(target).includes(p))\n      ) {\n        warnDeprecation(p);\n\n        // Only can get own properties.\n        // eslint-disable-next-line security/detect-object-injection\n        return target[p];\n      }\n    }\n  });\n}\n","const FORBIDDEN_PROPERTY_NAMES: readonly string[] = Object.freeze(\n  Array.from(\n    new Set([\n      // As-of writing, `Object.prototype` includes:\n      //   __defineGetter__\n      //   __defineSetter__\n      //   __lookupGetter__\n      //   __lookupSetter\n      //   __proto__\n      //   constructor\n      //   hasOwnProperty\n      //   isPrototypeOf\n      //   propertyIsEnumerable\n      //   toLocaleString\n      //   toString\n      //   valueOf\n      ...Object.getOwnPropertyNames(Object.prototype),\n\n      'prototype'\n    ])\n  )\n);\n\nexport default function isForbiddenPropertyName(propertyName: string): boolean {\n  return FORBIDDEN_PROPERTY_NAMES.includes(propertyName);\n}\n","const OBJECT_PROTOTYPE = Object.prototype;\n\nexport default function isPlainObject(obj: unknown): boolean {\n  return Object.getPrototypeOf(obj) === OBJECT_PROTOTYPE;\n}\n","const MAX_ITERATION = 1_000_000;\n\nexport default function iterateEquals<T>(x: Iterable<T>, y: Iterable<T>): boolean {\n  const xIterator = x[Symbol.iterator]();\n  const yIterator = y[Symbol.iterator]();\n\n  if (Object.is(xIterator, yIterator)) {\n    throw new Error('Must not pass same instance twice');\n  }\n\n  for (let count = 0; count < MAX_ITERATION; count++) {\n    const resultX = xIterator.next();\n    const resultY = yIterator.next();\n\n    const { done: xDone } = resultX;\n    const { done: yDone } = resultY;\n\n    if (xDone && yDone) {\n      return true;\n    } else if (xDone || yDone || !Object.is(resultX.value, resultY.value)) {\n      break;\n    }\n  }\n\n  return false;\n}\n","const EMPTY_ARRAY: readonly any[] = Object.freeze([]);\n\n/** @deprecated Will be removed on or after 2028-03-16. */\nexport default function singleToArray<T>(singleOrArray: T | readonly T[]): readonly T[] {\n  return typeof singleOrArray === 'undefined'\n    ? (EMPTY_ARRAY as readonly T[])\n    : Object.freeze(Array.isArray(singleOrArray) ? [...singleOrArray] : [singleOrArray]);\n}\n","// @ts-expect-error: no types available\nimport coreJSToSpliced from 'core-js-pure/features/array/to-spliced.js';\n\nexport default function toSpliced<T>(array: readonly T[], start: number, deleteCount: number, ...items: T[]): T[] {\n  return coreJSToSpliced(array, start, deleteCount, ...items);\n}\n","// Promise.withResolvers() is about 90 KiB.\n// @ts-expect-error: no types available\nimport coreJSWithResolvers from 'core-js-pure/features/promise/with-resolvers.js';\n\nexport type PromiseWithResolvers<T> = {\n  promise: Promise<T>;\n  reject: (error: unknown) => void;\n  resolve: (value: T) => void;\n};\n\nexport default function withResolvers<T>(): PromiseWithResolvers<T> {\n  return coreJSWithResolvers();\n}\n","import { useEffect, useMemo, useRef, type DependencyList } from 'react';\n\nexport default function useMemoWithPrevious<T>(factory: (prevValue: T | undefined) => T, deps: DependencyList): T {\n  const prevValueRef = useRef<T>();\n  // We are building a `useMemo`-like hook, `deps` is passed as-is and `factory` is not one fo the dependencies.\n  // eslint-disable-next-line react-hooks/exhaustive-deps, react-hooks/use-memo\n  const value = useMemo<T>(() => factory(prevValueRef.current), deps);\n\n  useEffect(() => {\n    prevValueRef.current = value;\n  });\n\n  return value;\n}\n","import { iterateEquals } from '@msinternal/botframework-webchat-base/utils';\nimport { type DependencyList } from 'react';\nimport useMemoWithPrevious from './useMemoWithPrevious';\n\nexport default function useMemoIterable<T extends Iterable<unknown>>(factory: () => T, deps: DependencyList) {\n  return useMemoWithPrevious<T>(prevValue => {\n    const value = factory();\n\n    return typeof prevValue !== 'undefined' && iterateEquals(value, prevValue) ? prevValue : value;\n  }, deps);\n}\n","import { singleToArray, warnOnce, type OneOrMany } from '@msinternal/botframework-webchat-base/utils';\nimport { useMemoIterable } from '@msinternal/botframework-webchat-react-hooks';\nimport {\n  type AttachmentForScreenReaderMiddleware,\n  type AttachmentMiddleware,\n  type StyleOptions\n} from 'botframework-webchat-api';\nimport { type HTMLContentTransformMiddleware } from 'botframework-webchat-component';\nimport React, { memo, type ReactNode } from 'react';\n\nimport AdaptiveCardsComposer from './adaptiveCards/AdaptiveCardsComposer';\nimport { type AdaptiveCardsStyleOptions } from './adaptiveCards/AdaptiveCardsStyleOptions';\nimport ShikiComposer from './codeHighlighter/ShikiComposer';\nimport BundleStylesheet from './stylesheet/BundleStylesheet';\nimport { type AdaptiveCardsPackage } from './types/AdaptiveCardsPackage';\nimport { type StrictFullBundleStyleOptions } from './types/FullBundleStyleOptions';\nimport useComposerProps from './useComposerProps';\n\ntype AddFullBundleChildren = ({ extraStyleSet }: { extraStyleSet: any }) => ReactNode;\n\ntype AddFullBundleProps = Readonly<{\n  adaptiveCardsHostConfig?: any;\n  adaptiveCardsPackage?: AdaptiveCardsPackage;\n  attachmentForScreenReaderMiddleware?: OneOrMany<AttachmentForScreenReaderMiddleware>;\n  attachmentMiddleware?: OneOrMany<AttachmentMiddleware>;\n  children: AddFullBundleChildren;\n  htmlContentTransformMiddleware?: HTMLContentTransformMiddleware[];\n  nonce?: string | undefined;\n  renderMarkdown?: (\n    markdown: string,\n    newLineOptions: { markdownRespectCRLF: boolean },\n    linkOptions: { externalLinkAlt: string }\n  ) => string;\n  styleOptions?: StyleOptions & AdaptiveCardsStyleOptions;\n  styleSet?: any & { options: StrictFullBundleStyleOptions };\n\n  /** @deprecated Rename to \"adaptiveCardsHostConfig\" */\n  adaptiveCardHostConfig?: any;\n}>;\n\nconst adaptiveCardHostConfigDeprecation = warnOnce(\n  '\"adaptiveCardHostConfig\" is deprecated. Please use \"adaptiveCardsHostConfig\" instead. \"adaptiveCardHostConfig\" will be removed on or after 2022-01-01.'\n);\n\nfunction AddFullBundle({\n  adaptiveCardHostConfig,\n  adaptiveCardsHostConfig,\n  adaptiveCardsPackage,\n  attachmentForScreenReaderMiddleware: attachmentForScreenReaderMiddlewareFromProps,\n  attachmentMiddleware: attachmentMiddlewareFromProps,\n  children,\n  htmlContentTransformMiddleware,\n  nonce,\n  renderMarkdown,\n  styleOptions,\n  styleSet\n}: AddFullBundleProps) {\n  adaptiveCardHostConfig && adaptiveCardHostConfigDeprecation();\n\n  const attachmentForScreenReaderMiddleware = useMemoIterable<readonly AttachmentForScreenReaderMiddleware[]>(\n    () => singleToArray(attachmentForScreenReaderMiddlewareFromProps),\n    [attachmentForScreenReaderMiddlewareFromProps]\n  );\n\n  const attachmentMiddleware = useMemoIterable<readonly AttachmentMiddleware[]>(\n    () => singleToArray(attachmentMiddlewareFromProps),\n    [attachmentMiddlewareFromProps]\n  );\n\n  const patchedProps = useComposerProps({\n    attachmentForScreenReaderMiddleware,\n    attachmentMiddleware,\n    htmlContentTransformMiddleware,\n    renderMarkdown,\n    styleOptions,\n    styleSet\n  });\n\n  return (\n    <ShikiComposer>\n      <AdaptiveCardsComposer\n        adaptiveCardsHostConfig={adaptiveCardHostConfig || adaptiveCardsHostConfig}\n        adaptiveCardsPackage={adaptiveCardsPackage}\n      >\n        <BundleStylesheet at={styleOptions?.stylesRoot} nonce={nonce} />\n        {children(patchedProps)}\n      </AdaptiveCardsComposer>\n    </ShikiComposer>\n  );\n}\n\nexport default memo(AddFullBundle);\n\nexport type { AddFullBundleChildren, AddFullBundleProps };\n","import * as defaultAdaptiveCardsPackage from 'adaptivecards';\nimport React, { useMemo, type ReactNode } from 'react';\n\nimport { type AdaptiveCardsPackage } from '../types/AdaptiveCardsPackage';\nimport AdaptiveCardsContext from './AdaptiveCardsContext';\n\ntype AdaptiveCardsComposerProps = Readonly<{\n  adaptiveCardsHostConfig: any;\n  adaptiveCardsPackage: AdaptiveCardsPackage;\n  children?: ReactNode | undefined;\n}>;\n\nconst AdaptiveCardsComposer = ({\n  adaptiveCardsHostConfig,\n  adaptiveCardsPackage,\n  children\n}: AdaptiveCardsComposerProps) => {\n  const patchedAdaptiveCardsPackage = useMemo(\n    () => adaptiveCardsPackage || defaultAdaptiveCardsPackage,\n    [adaptiveCardsPackage]\n  );\n\n  const adaptiveCardsContext = useMemo(\n    () => ({\n      adaptiveCardsPackage: patchedAdaptiveCardsPackage,\n      hostConfigFromProps: adaptiveCardsHostConfig\n    }),\n    [adaptiveCardsHostConfig, patchedAdaptiveCardsPackage]\n  );\n\n  return <AdaptiveCardsContext.Provider value={adaptiveCardsContext}>{children}</AdaptiveCardsContext.Provider>;\n};\n\nexport default AdaptiveCardsComposer;\n","import { CodeHighlighterComposer, type HighlightCodeFn } from 'botframework-webchat-component/internal.js';\nimport React, { memo, ReactNode, useEffect, useState } from 'react';\nimport { type HighlighterCore } from 'shiki';\n\nimport createHighlighter from './shiki';\n\nconst createHighligtCodeWithShiki =\n  (shikiHiglighter: HighlighterCore): HighlightCodeFn =>\n  (code, language, options) =>\n    shikiHiglighter.codeToHtml(code, {\n      lang: language,\n      theme: options.theme\n    });\n\nfunction ShikiComposer({ children }: { readonly children: ReactNode | undefined }) {\n  const [highlightProps, setHighlightProps] = useState<Readonly<{ highlightCode: HighlightCodeFn }>>();\n\n  useEffect(() => {\n    let isMounted = true;\n    (async () =>\n      isMounted &&\n      setHighlightProps(\n        Object.freeze({\n          highlightCode: createHighligtCodeWithShiki(await createHighlighter())\n        })\n      ))();\n    return () => {\n      isMounted = false;\n    };\n  }, []);\n\n  return <CodeHighlighterComposer {...highlightProps}>{children}</CodeHighlighterComposer>;\n}\n\nexport default memo(ShikiComposer);\n","class ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nexport { ShikiError };\n","class ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nfunction getHeapMax() {\n  return 2147483648;\n}\nfunction _emscripten_get_now() {\n  return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\nasync function main(init) {\n  let wasmMemory;\n  let buffer;\n  const binding = {};\n  function updateGlobalBufferAndViews(buf) {\n    buffer = buf;\n    binding.HEAPU8 = new Uint8Array(buf);\n    binding.HEAPU32 = new Uint32Array(buf);\n  }\n  function _emscripten_memcpy_big(dest, src, num) {\n    binding.HEAPU8.copyWithin(dest, src, src + num);\n  }\n  function emscripten_realloc_buffer(size) {\n    try {\n      wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);\n      updateGlobalBufferAndViews(wasmMemory.buffer);\n      return 1;\n    } catch {\n    }\n  }\n  function _emscripten_resize_heap(requestedSize) {\n    const oldSize = binding.HEAPU8.length;\n    requestedSize = requestedSize >>> 0;\n    const maxHeapSize = getHeapMax();\n    if (requestedSize > maxHeapSize)\n      return false;\n    for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n      let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n      overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n      const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n      const replacement = emscripten_realloc_buffer(newSize);\n      if (replacement)\n        return true;\n    }\n    return false;\n  }\n  const UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : void 0;\n  function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n    const endIdx = idx + maxBytesToRead;\n    let endPtr = idx;\n    while (heapOrArray[endPtr] && !(endPtr >= endIdx))\n      ++endPtr;\n    if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n      return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n    }\n    let str = \"\";\n    while (idx < endPtr) {\n      let u0 = heapOrArray[idx++];\n      if (!(u0 & 128)) {\n        str += String.fromCharCode(u0);\n        continue;\n      }\n      const u1 = heapOrArray[idx++] & 63;\n      if ((u0 & 224) === 192) {\n        str += String.fromCharCode((u0 & 31) << 6 | u1);\n        continue;\n      }\n      const u2 = heapOrArray[idx++] & 63;\n      if ((u0 & 240) === 224) {\n        u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n      } else {\n        u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;\n      }\n      if (u0 < 65536) {\n        str += String.fromCharCode(u0);\n      } else {\n        const ch = u0 - 65536;\n        str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);\n      }\n    }\n    return str;\n  }\n  function UTF8ToString(ptr, maxBytesToRead) {\n    return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : \"\";\n  }\n  const asmLibraryArg = {\n    emscripten_get_now: _emscripten_get_now,\n    emscripten_memcpy_big: _emscripten_memcpy_big,\n    emscripten_resize_heap: _emscripten_resize_heap,\n    fd_write: () => 0\n  };\n  async function createWasm() {\n    const info = {\n      env: asmLibraryArg,\n      wasi_snapshot_preview1: asmLibraryArg\n    };\n    const exports = await init(info);\n    wasmMemory = exports.memory;\n    updateGlobalBufferAndViews(wasmMemory.buffer);\n    Object.assign(binding, exports);\n    binding.UTF8ToString = UTF8ToString;\n  }\n  await createWasm();\n  return binding;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n  __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n  return value;\n};\nlet onigBinding = null;\nfunction throwLastOnigError(onigBinding2) {\n  throw new ShikiError(onigBinding2.UTF8ToString(onigBinding2.getLastOnigError()));\n}\nclass UtfString {\n  constructor(str) {\n    __publicField(this, \"utf16Length\");\n    __publicField(this, \"utf8Length\");\n    __publicField(this, \"utf16Value\");\n    __publicField(this, \"utf8Value\");\n    __publicField(this, \"utf16OffsetToUtf8\");\n    __publicField(this, \"utf8OffsetToUtf16\");\n    const utf16Length = str.length;\n    const utf8Length = UtfString._utf8ByteLength(str);\n    const computeIndicesMapping = utf8Length !== utf16Length;\n    const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n    if (computeIndicesMapping)\n      utf16OffsetToUtf8[utf16Length] = utf8Length;\n    const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n    if (computeIndicesMapping)\n      utf8OffsetToUtf16[utf8Length] = utf16Length;\n    const utf8Value = new Uint8Array(utf8Length);\n    let i8 = 0;\n    for (let i16 = 0; i16 < utf16Length; i16++) {\n      const charCode = str.charCodeAt(i16);\n      let codePoint = charCode;\n      let wasSurrogatePair = false;\n      if (charCode >= 55296 && charCode <= 56319) {\n        if (i16 + 1 < utf16Length) {\n          const nextCharCode = str.charCodeAt(i16 + 1);\n          if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n            codePoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n            wasSurrogatePair = true;\n          }\n        }\n      }\n      if (computeIndicesMapping) {\n        utf16OffsetToUtf8[i16] = i8;\n        if (wasSurrogatePair)\n          utf16OffsetToUtf8[i16 + 1] = i8;\n        if (codePoint <= 127) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n        } else if (codePoint <= 2047) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n        } else if (codePoint <= 65535) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n          utf8OffsetToUtf16[i8 + 2] = i16;\n        } else {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n          utf8OffsetToUtf16[i8 + 2] = i16;\n          utf8OffsetToUtf16[i8 + 3] = i16;\n        }\n      }\n      if (codePoint <= 127) {\n        utf8Value[i8++] = codePoint;\n      } else if (codePoint <= 2047) {\n        utf8Value[i8++] = 192 | (codePoint & 1984) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      } else if (codePoint <= 65535) {\n        utf8Value[i8++] = 224 | (codePoint & 61440) >>> 12;\n        utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      } else {\n        utf8Value[i8++] = 240 | (codePoint & 1835008) >>> 18;\n        utf8Value[i8++] = 128 | (codePoint & 258048) >>> 12;\n        utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      }\n      if (wasSurrogatePair)\n        i16++;\n    }\n    this.utf16Length = utf16Length;\n    this.utf8Length = utf8Length;\n    this.utf16Value = str;\n    this.utf8Value = utf8Value;\n    this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n    this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n  }\n  static _utf8ByteLength(str) {\n    let result = 0;\n    for (let i = 0, len = str.length; i < len; i++) {\n      const charCode = str.charCodeAt(i);\n      let codepoint = charCode;\n      let wasSurrogatePair = false;\n      if (charCode >= 55296 && charCode <= 56319) {\n        if (i + 1 < len) {\n          const nextCharCode = str.charCodeAt(i + 1);\n          if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n            codepoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n            wasSurrogatePair = true;\n          }\n        }\n      }\n      if (codepoint <= 127)\n        result += 1;\n      else if (codepoint <= 2047)\n        result += 2;\n      else if (codepoint <= 65535)\n        result += 3;\n      else\n        result += 4;\n      if (wasSurrogatePair)\n        i++;\n    }\n    return result;\n  }\n  createString(onigBinding2) {\n    const result = onigBinding2.omalloc(this.utf8Length);\n    onigBinding2.HEAPU8.set(this.utf8Value, result);\n    return result;\n  }\n}\nconst _OnigString = class {\n  constructor(str) {\n    __publicField(this, \"id\", ++_OnigString.LAST_ID);\n    __publicField(this, \"_onigBinding\");\n    __publicField(this, \"content\");\n    __publicField(this, \"utf16Length\");\n    __publicField(this, \"utf8Length\");\n    __publicField(this, \"utf16OffsetToUtf8\");\n    __publicField(this, \"utf8OffsetToUtf16\");\n    __publicField(this, \"ptr\");\n    if (!onigBinding)\n      throw new ShikiError(\"Must invoke loadWasm first.\");\n    this._onigBinding = onigBinding;\n    this.content = str;\n    const utfString = new UtfString(str);\n    this.utf16Length = utfString.utf16Length;\n    this.utf8Length = utfString.utf8Length;\n    this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n    this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n    if (this.utf8Length < 1e4 && !_OnigString._sharedPtrInUse) {\n      if (!_OnigString._sharedPtr)\n        _OnigString._sharedPtr = onigBinding.omalloc(1e4);\n      _OnigString._sharedPtrInUse = true;\n      onigBinding.HEAPU8.set(utfString.utf8Value, _OnigString._sharedPtr);\n      this.ptr = _OnigString._sharedPtr;\n    } else {\n      this.ptr = utfString.createString(onigBinding);\n    }\n  }\n  convertUtf8OffsetToUtf16(utf8Offset) {\n    if (this.utf8OffsetToUtf16) {\n      if (utf8Offset < 0)\n        return 0;\n      if (utf8Offset > this.utf8Length)\n        return this.utf16Length;\n      return this.utf8OffsetToUtf16[utf8Offset];\n    }\n    return utf8Offset;\n  }\n  convertUtf16OffsetToUtf8(utf16Offset) {\n    if (this.utf16OffsetToUtf8) {\n      if (utf16Offset < 0)\n        return 0;\n      if (utf16Offset > this.utf16Length)\n        return this.utf8Length;\n      return this.utf16OffsetToUtf8[utf16Offset];\n    }\n    return utf16Offset;\n  }\n  dispose() {\n    if (this.ptr === _OnigString._sharedPtr)\n      _OnigString._sharedPtrInUse = false;\n    else\n      this._onigBinding.ofree(this.ptr);\n  }\n};\nlet OnigString = _OnigString;\n__publicField(OnigString, \"LAST_ID\", 0);\n__publicField(OnigString, \"_sharedPtr\", 0);\n// a pointer to a string of 10000 bytes\n__publicField(OnigString, \"_sharedPtrInUse\", false);\nclass OnigScanner {\n  constructor(patterns) {\n    __publicField(this, \"_onigBinding\");\n    __publicField(this, \"_ptr\");\n    if (!onigBinding)\n      throw new ShikiError(\"Must invoke loadWasm first.\");\n    const strPtrsArr = [];\n    const strLenArr = [];\n    for (let i = 0, len = patterns.length; i < len; i++) {\n      const utfString = new UtfString(patterns[i]);\n      strPtrsArr[i] = utfString.createString(onigBinding);\n      strLenArr[i] = utfString.utf8Length;\n    }\n    const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n    onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n    const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n    onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n    const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n    for (let i = 0, len = patterns.length; i < len; i++)\n      onigBinding.ofree(strPtrsArr[i]);\n    onigBinding.ofree(strLenPtr);\n    onigBinding.ofree(strPtrsPtr);\n    if (scannerPtr === 0)\n      throwLastOnigError(onigBinding);\n    this._onigBinding = onigBinding;\n    this._ptr = scannerPtr;\n  }\n  dispose() {\n    this._onigBinding.freeOnigScanner(this._ptr);\n  }\n  findNextMatchSync(string, startPosition, arg) {\n    let options = 0 /* None */;\n    if (typeof arg === \"number\") {\n      options = arg;\n    }\n    if (typeof string === \"string\") {\n      string = new OnigString(string);\n      const result = this._findNextMatchSync(string, startPosition, false, options);\n      string.dispose();\n      return result;\n    }\n    return this._findNextMatchSync(string, startPosition, false, options);\n  }\n  _findNextMatchSync(string, startPosition, debugCall, options) {\n    const onigBinding2 = this._onigBinding;\n    const resultPtr = onigBinding2.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n    if (resultPtr === 0) {\n      return null;\n    }\n    const HEAPU32 = onigBinding2.HEAPU32;\n    let offset = resultPtr / 4;\n    const index = HEAPU32[offset++];\n    const count = HEAPU32[offset++];\n    const captureIndices = [];\n    for (let i = 0; i < count; i++) {\n      const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n      const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n      captureIndices[i] = {\n        start: beg,\n        end,\n        length: end - beg\n      };\n    }\n    return {\n      index,\n      captureIndices\n    };\n  }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n  return typeof dataOrOptions.instantiator === \"function\";\n}\nfunction isInstantiatorModule(dataOrOptions) {\n  return typeof dataOrOptions.default === \"function\";\n}\nfunction isDataOptionsObject(dataOrOptions) {\n  return typeof dataOrOptions.data !== \"undefined\";\n}\nfunction isResponse(dataOrOptions) {\n  return typeof Response !== \"undefined\" && dataOrOptions instanceof Response;\n}\nfunction isArrayBuffer(data) {\n  return typeof ArrayBuffer !== \"undefined\" && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) || typeof Buffer !== \"undefined\" && Buffer.isBuffer?.(data) || typeof SharedArrayBuffer !== \"undefined\" && data instanceof SharedArrayBuffer || typeof Uint32Array !== \"undefined\" && data instanceof Uint32Array;\n}\nlet initPromise;\nfunction loadWasm(options) {\n  if (initPromise)\n    return initPromise;\n  async function _load() {\n    onigBinding = await main(async (info) => {\n      let instance = options;\n      instance = await instance;\n      if (typeof instance === \"function\")\n        instance = await instance(info);\n      if (typeof instance === \"function\")\n        instance = await instance(info);\n      if (isInstantiatorOptionsObject(instance)) {\n        instance = await instance.instantiator(info);\n      } else if (isInstantiatorModule(instance)) {\n        instance = await instance.default(info);\n      } else {\n        if (isDataOptionsObject(instance))\n          instance = instance.data;\n        if (isResponse(instance)) {\n          if (typeof WebAssembly.instantiateStreaming === \"function\")\n            instance = await _makeResponseStreamingLoader(instance)(info);\n          else\n            instance = await _makeResponseNonStreamingLoader(instance)(info);\n        } else if (isArrayBuffer(instance)) {\n          instance = await _makeArrayBufferLoader(instance)(info);\n        } else if (instance instanceof WebAssembly.Module) {\n          instance = await _makeArrayBufferLoader(instance)(info);\n        } else if (\"default\" in instance && instance.default instanceof WebAssembly.Module) {\n          instance = await _makeArrayBufferLoader(instance.default)(info);\n        }\n      }\n      if (\"instance\" in instance)\n        instance = instance.instance;\n      if (\"exports\" in instance)\n        instance = instance.exports;\n      return instance;\n    });\n  }\n  initPromise = _load();\n  return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n  return (importObject) => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n  return (importObject) => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n  return async (importObject) => {\n    const arrayBuffer = await data.arrayBuffer();\n    return WebAssembly.instantiate(arrayBuffer, importObject);\n  };\n}\n\nlet _defaultWasmLoader;\nfunction setDefaultWasmLoader(_loader) {\n  _defaultWasmLoader = _loader;\n}\nfunction getDefaultWasmLoader() {\n  return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n  if (options)\n    await loadWasm(options);\n  return {\n    createScanner(patterns) {\n      return new OnigScanner(patterns.map((p) => typeof p === \"string\" ? p : p.source));\n    },\n    createString(s) {\n      return new OnigString(s);\n    }\n  };\n}\nasync function createWasmOnigEngine(options) {\n  return createOnigurumaEngine(options);\n}\n\nexport { createOnigurumaEngine, createWasmOnigEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n","let _emitDeprecation = 3;\nlet _emitError = false;\nfunction enableDeprecationWarnings(emitDeprecation = true, emitError = false) {\n  _emitDeprecation = emitDeprecation;\n  _emitError = emitError;\n}\nfunction warnDeprecated(message, version = 3) {\n  if (!_emitDeprecation)\n    return;\n  if (typeof _emitDeprecation === \"number\" && version > _emitDeprecation)\n    return;\n  if (_emitError) {\n    throw new Error(`[SHIKI DEPRECATE]: ${message}`);\n  } else {\n    console.trace(`[SHIKI DEPRECATE]: ${message}`);\n  }\n}\n\nexport { enableDeprecationWarnings as e, warnDeprecated as w };\n","// src/utils.ts\nfunction clone(something) {\n  return doClone(something);\n}\nfunction doClone(something) {\n  if (Array.isArray(something)) {\n    return cloneArray(something);\n  }\n  if (something instanceof RegExp) {\n    return something;\n  }\n  if (typeof something === \"object\") {\n    return cloneObj(something);\n  }\n  return something;\n}\nfunction cloneArray(arr) {\n  let r = [];\n  for (let i = 0, len = arr.length; i < len; i++) {\n    r[i] = doClone(arr[i]);\n  }\n  return r;\n}\nfunction cloneObj(obj) {\n  let r = {};\n  for (let key in obj) {\n    r[key] = doClone(obj[key]);\n  }\n  return r;\n}\nfunction mergeObjects(target, ...sources) {\n  sources.forEach((source) => {\n    for (let key in source) {\n      target[key] = source[key];\n    }\n  });\n  return target;\n}\nfunction basename(path) {\n  const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n  if (idx === 0) {\n    return path;\n  } else if (~idx === path.length - 1) {\n    return basename(path.substring(0, path.length - 1));\n  } else {\n    return path.substr(~idx + 1);\n  }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n  static hasCaptures(regexSource) {\n    if (regexSource === null) {\n      return false;\n    }\n    CAPTURING_REGEX_SOURCE.lastIndex = 0;\n    return CAPTURING_REGEX_SOURCE.test(regexSource);\n  }\n  static replaceCaptures(regexSource, captureSource, captureIndices) {\n    return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n      let capture = captureIndices[parseInt(index || commandIndex, 10)];\n      if (capture) {\n        let result = captureSource.substring(capture.start, capture.end);\n        while (result[0] === \".\") {\n          result = result.substring(1);\n        }\n        switch (command) {\n          case \"downcase\":\n            return result.toLowerCase();\n          case \"upcase\":\n            return result.toUpperCase();\n          default:\n            return result;\n        }\n      } else {\n        return match;\n      }\n    });\n  }\n};\nfunction strcmp(a, b) {\n  if (a < b) {\n    return -1;\n  }\n  if (a > b) {\n    return 1;\n  }\n  return 0;\n}\nfunction strArrCmp(a, b) {\n  if (a === null && b === null) {\n    return 0;\n  }\n  if (!a) {\n    return -1;\n  }\n  if (!b) {\n    return 1;\n  }\n  let len1 = a.length;\n  let len2 = b.length;\n  if (len1 === len2) {\n    for (let i = 0; i < len1; i++) {\n      let res = strcmp(a[i], b[i]);\n      if (res !== 0) {\n        return res;\n      }\n    }\n    return 0;\n  }\n  return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n  if (/^#[0-9a-f]{6}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{8}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{3}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{4}$/i.test(hex)) {\n    return true;\n  }\n  return false;\n}\nfunction escapeRegExpCharacters(value) {\n  return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n  constructor(fn) {\n    this.fn = fn;\n  }\n  cache = /* @__PURE__ */ new Map();\n  get(key) {\n    if (this.cache.has(key)) {\n      return this.cache.get(key);\n    }\n    const value = this.fn(key);\n    this.cache.set(key, value);\n    return value;\n  }\n};\n\n// src/theme.ts\nvar Theme = class {\n  constructor(_colorMap, _defaults, _root) {\n    this._colorMap = _colorMap;\n    this._defaults = _defaults;\n    this._root = _root;\n  }\n  static createFromRawTheme(source, colorMap) {\n    return this.createFromParsedTheme(parseTheme(source), colorMap);\n  }\n  static createFromParsedTheme(source, colorMap) {\n    return resolveParsedThemeRules(source, colorMap);\n  }\n  _cachedMatchRoot = new CachedFn(\n    (scopeName) => this._root.match(scopeName)\n  );\n  getColorMap() {\n    return this._colorMap.getColorMap();\n  }\n  getDefaults() {\n    return this._defaults;\n  }\n  match(scopePath) {\n    if (scopePath === null) {\n      return this._defaults;\n    }\n    const scopeName = scopePath.scopeName;\n    const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n    const effectiveRule = matchingTrieElements.find(\n      (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n    );\n    if (!effectiveRule) {\n      return null;\n    }\n    return new StyleAttributes(\n      effectiveRule.fontStyle,\n      effectiveRule.foreground,\n      effectiveRule.background\n    );\n  }\n};\nvar ScopeStack = class _ScopeStack {\n  constructor(parent, scopeName) {\n    this.parent = parent;\n    this.scopeName = scopeName;\n  }\n  static push(path, scopeNames) {\n    for (const name of scopeNames) {\n      path = new _ScopeStack(path, name);\n    }\n    return path;\n  }\n  static from(...segments) {\n    let result = null;\n    for (let i = 0; i < segments.length; i++) {\n      result = new _ScopeStack(result, segments[i]);\n    }\n    return result;\n  }\n  push(scopeName) {\n    return new _ScopeStack(this, scopeName);\n  }\n  getSegments() {\n    let item = this;\n    const result = [];\n    while (item) {\n      result.push(item.scopeName);\n      item = item.parent;\n    }\n    result.reverse();\n    return result;\n  }\n  toString() {\n    return this.getSegments().join(\" \");\n  }\n  extends(other) {\n    if (this === other) {\n      return true;\n    }\n    if (this.parent === null) {\n      return false;\n    }\n    return this.parent.extends(other);\n  }\n  getExtensionIfDefined(base) {\n    const result = [];\n    let item = this;\n    while (item && item !== base) {\n      result.push(item.scopeName);\n      item = item.parent;\n    }\n    return item === base ? result.reverse() : void 0;\n  }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n  if (parentScopes.length === 0) {\n    return true;\n  }\n  for (let index = 0; index < parentScopes.length; index++) {\n    let scopePattern = parentScopes[index];\n    let scopeMustMatch = false;\n    if (scopePattern === \">\") {\n      if (index === parentScopes.length - 1) {\n        return false;\n      }\n      scopePattern = parentScopes[++index];\n      scopeMustMatch = true;\n    }\n    while (scopePath) {\n      if (_matchesScope(scopePath.scopeName, scopePattern)) {\n        break;\n      }\n      if (scopeMustMatch) {\n        return false;\n      }\n      scopePath = scopePath.parent;\n    }\n    if (!scopePath) {\n      return false;\n    }\n    scopePath = scopePath.parent;\n  }\n  return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n  return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n  constructor(fontStyle, foregroundId, backgroundId) {\n    this.fontStyle = fontStyle;\n    this.foregroundId = foregroundId;\n    this.backgroundId = backgroundId;\n  }\n};\nfunction parseTheme(source) {\n  if (!source) {\n    return [];\n  }\n  if (!source.settings || !Array.isArray(source.settings)) {\n    return [];\n  }\n  let settings = source.settings;\n  let result = [], resultLen = 0;\n  for (let i = 0, len = settings.length; i < len; i++) {\n    let entry = settings[i];\n    if (!entry.settings) {\n      continue;\n    }\n    let scopes;\n    if (typeof entry.scope === \"string\") {\n      let _scope = entry.scope;\n      _scope = _scope.replace(/^[,]+/, \"\");\n      _scope = _scope.replace(/[,]+$/, \"\");\n      scopes = _scope.split(\",\");\n    } else if (Array.isArray(entry.scope)) {\n      scopes = entry.scope;\n    } else {\n      scopes = [\"\"];\n    }\n    let fontStyle = -1 /* NotSet */;\n    if (typeof entry.settings.fontStyle === \"string\") {\n      fontStyle = 0 /* None */;\n      let segments = entry.settings.fontStyle.split(\" \");\n      for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n        let segment = segments[j];\n        switch (segment) {\n          case \"italic\":\n            fontStyle = fontStyle | 1 /* Italic */;\n            break;\n          case \"bold\":\n            fontStyle = fontStyle | 2 /* Bold */;\n            break;\n          case \"underline\":\n            fontStyle = fontStyle | 4 /* Underline */;\n            break;\n          case \"strikethrough\":\n            fontStyle = fontStyle | 8 /* Strikethrough */;\n            break;\n        }\n      }\n    }\n    let foreground = null;\n    if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n      foreground = entry.settings.foreground;\n    }\n    let background = null;\n    if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n      background = entry.settings.background;\n    }\n    for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n      let _scope = scopes[j].trim();\n      let segments = _scope.split(\" \");\n      let scope = segments[segments.length - 1];\n      let parentScopes = null;\n      if (segments.length > 1) {\n        parentScopes = segments.slice(0, segments.length - 1);\n        parentScopes.reverse();\n      }\n      result[resultLen++] = new ParsedThemeRule(\n        scope,\n        parentScopes,\n        i,\n        fontStyle,\n        foreground,\n        background\n      );\n    }\n  }\n  return result;\n}\nvar ParsedThemeRule = class {\n  constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n    this.scope = scope;\n    this.parentScopes = parentScopes;\n    this.index = index;\n    this.fontStyle = fontStyle;\n    this.foreground = foreground;\n    this.background = background;\n  }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n  FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n  FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n  FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n  FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n  FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n  FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n  return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n  parsedThemeRules.sort((a, b) => {\n    let r = strcmp(a.scope, b.scope);\n    if (r !== 0) {\n      return r;\n    }\n    r = strArrCmp(a.parentScopes, b.parentScopes);\n    if (r !== 0) {\n      return r;\n    }\n    return a.index - b.index;\n  });\n  let defaultFontStyle = 0 /* None */;\n  let defaultForeground = \"#000000\";\n  let defaultBackground = \"#ffffff\";\n  while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n    let incomingDefaults = parsedThemeRules.shift();\n    if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n      defaultFontStyle = incomingDefaults.fontStyle;\n    }\n    if (incomingDefaults.foreground !== null) {\n      defaultForeground = incomingDefaults.foreground;\n    }\n    if (incomingDefaults.background !== null) {\n      defaultBackground = incomingDefaults.background;\n    }\n  }\n  let colorMap = new ColorMap(_colorMap);\n  let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n  let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n  for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n    let rule = parsedThemeRules[i];\n    root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n  }\n  return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n  _isFrozen;\n  _lastColorId;\n  _id2color;\n  _color2id;\n  constructor(_colorMap) {\n    this._lastColorId = 0;\n    this._id2color = [];\n    this._color2id = /* @__PURE__ */ Object.create(null);\n    if (Array.isArray(_colorMap)) {\n      this._isFrozen = true;\n      for (let i = 0, len = _colorMap.length; i < len; i++) {\n        this._color2id[_colorMap[i]] = i;\n        this._id2color[i] = _colorMap[i];\n      }\n    } else {\n      this._isFrozen = false;\n    }\n  }\n  getId(color) {\n    if (color === null) {\n      return 0;\n    }\n    color = color.toUpperCase();\n    let value = this._color2id[color];\n    if (value) {\n      return value;\n    }\n    if (this._isFrozen) {\n      throw new Error(`Missing color in color map - ${color}`);\n    }\n    value = ++this._lastColorId;\n    this._color2id[color] = value;\n    this._id2color[value] = color;\n    return value;\n  }\n  getColorMap() {\n    return this._id2color.slice(0);\n  }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n  scopeDepth;\n  parentScopes;\n  fontStyle;\n  foreground;\n  background;\n  constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n    this.scopeDepth = scopeDepth;\n    this.parentScopes = parentScopes || emptyParentScopes;\n    this.fontStyle = fontStyle;\n    this.foreground = foreground;\n    this.background = background;\n  }\n  clone() {\n    return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n  }\n  static cloneArr(arr) {\n    let r = [];\n    for (let i = 0, len = arr.length; i < len; i++) {\n      r[i] = arr[i].clone();\n    }\n    return r;\n  }\n  acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n    if (this.scopeDepth > scopeDepth) {\n      console.log(\"how did this happen?\");\n    } else {\n      this.scopeDepth = scopeDepth;\n    }\n    if (fontStyle !== -1 /* NotSet */) {\n      this.fontStyle = fontStyle;\n    }\n    if (foreground !== 0) {\n      this.foreground = foreground;\n    }\n    if (background !== 0) {\n      this.background = background;\n    }\n  }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n  constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n    this._mainRule = _mainRule;\n    this._children = _children;\n    this._rulesWithParentScopes = rulesWithParentScopes;\n  }\n  _rulesWithParentScopes;\n  static _cmpBySpecificity(a, b) {\n    if (a.scopeDepth !== b.scopeDepth) {\n      return b.scopeDepth - a.scopeDepth;\n    }\n    let aParentIndex = 0;\n    let bParentIndex = 0;\n    while (true) {\n      if (a.parentScopes[aParentIndex] === \">\") {\n        aParentIndex++;\n      }\n      if (b.parentScopes[bParentIndex] === \">\") {\n        bParentIndex++;\n      }\n      if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n        break;\n      }\n      const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n      if (parentScopeLengthDiff !== 0) {\n        return parentScopeLengthDiff;\n      }\n      aParentIndex++;\n      bParentIndex++;\n    }\n    return b.parentScopes.length - a.parentScopes.length;\n  }\n  match(scope) {\n    if (scope !== \"\") {\n      let dotIndex = scope.indexOf(\".\");\n      let head;\n      let tail;\n      if (dotIndex === -1) {\n        head = scope;\n        tail = \"\";\n      } else {\n        head = scope.substring(0, dotIndex);\n        tail = scope.substring(dotIndex + 1);\n      }\n      if (this._children.hasOwnProperty(head)) {\n        return this._children[head].match(tail);\n      }\n    }\n    const rules = this._rulesWithParentScopes.concat(this._mainRule);\n    rules.sort(_ThemeTrieElement._cmpBySpecificity);\n    return rules;\n  }\n  insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n    if (scope === \"\") {\n      this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n      return;\n    }\n    let dotIndex = scope.indexOf(\".\");\n    let head;\n    let tail;\n    if (dotIndex === -1) {\n      head = scope;\n      tail = \"\";\n    } else {\n      head = scope.substring(0, dotIndex);\n      tail = scope.substring(dotIndex + 1);\n    }\n    let child;\n    if (this._children.hasOwnProperty(head)) {\n      child = this._children[head];\n    } else {\n      child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n      this._children[head] = child;\n    }\n    child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n  }\n  _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n    if (parentScopes === null) {\n      this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n      return;\n    }\n    for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n      let rule = this._rulesWithParentScopes[i];\n      if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n        rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n        return;\n      }\n    }\n    if (fontStyle === -1 /* NotSet */) {\n      fontStyle = this._mainRule.fontStyle;\n    }\n    if (foreground === 0) {\n      foreground = this._mainRule.foreground;\n    }\n    if (background === 0) {\n      background = this._mainRule.background;\n    }\n    this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n  }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n  static toBinaryStr(encodedTokenAttributes) {\n    return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n  }\n  static print(encodedTokenAttributes) {\n    const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n    const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n    const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n    const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n    const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n    console.log({\n      languageId,\n      tokenType,\n      fontStyle,\n      foreground,\n      background\n    });\n  }\n  static getLanguageId(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n  }\n  static getTokenType(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n  }\n  static containsBalancedBrackets(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n  }\n  static getFontStyle(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n  }\n  static getForeground(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n  }\n  static getBackground(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n  }\n  /**\n   * Updates the fields in `metadata`.\n   * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n   */\n  static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n    let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n    let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n    let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n    let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n    let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n    let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n    if (languageId !== 0) {\n      _languageId = languageId;\n    }\n    if (tokenType !== 8 /* NotSet */) {\n      _tokenType = fromOptionalTokenType(tokenType);\n    }\n    if (containsBalancedBrackets !== null) {\n      _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n    }\n    if (fontStyle !== -1 /* NotSet */) {\n      _fontStyle = fontStyle;\n    }\n    if (foreground !== 0) {\n      _foreground = foreground;\n    }\n    if (background !== 0) {\n      _background = background;\n    }\n    return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n  }\n};\nfunction toOptionalTokenType(standardType) {\n  return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n  return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n  const results = [];\n  const tokenizer = newTokenizer(selector);\n  let token = tokenizer.next();\n  while (token !== null) {\n    let priority = 0;\n    if (token.length === 2 && token.charAt(1) === \":\") {\n      switch (token.charAt(0)) {\n        case \"R\":\n          priority = 1;\n          break;\n        case \"L\":\n          priority = -1;\n          break;\n        default:\n          console.log(`Unknown priority ${token} in scope selector`);\n      }\n      token = tokenizer.next();\n    }\n    let matcher = parseConjunction();\n    results.push({ matcher, priority });\n    if (token !== \",\") {\n      break;\n    }\n    token = tokenizer.next();\n  }\n  return results;\n  function parseOperand() {\n    if (token === \"-\") {\n      token = tokenizer.next();\n      const expressionToNegate = parseOperand();\n      return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n    }\n    if (token === \"(\") {\n      token = tokenizer.next();\n      const expressionInParents = parseInnerExpression();\n      if (token === \")\") {\n        token = tokenizer.next();\n      }\n      return expressionInParents;\n    }\n    if (isIdentifier(token)) {\n      const identifiers = [];\n      do {\n        identifiers.push(token);\n        token = tokenizer.next();\n      } while (isIdentifier(token));\n      return (matcherInput) => matchesName(identifiers, matcherInput);\n    }\n    return null;\n  }\n  function parseConjunction() {\n    const matchers = [];\n    let matcher = parseOperand();\n    while (matcher) {\n      matchers.push(matcher);\n      matcher = parseOperand();\n    }\n    return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n  }\n  function parseInnerExpression() {\n    const matchers = [];\n    let matcher = parseConjunction();\n    while (matcher) {\n      matchers.push(matcher);\n      if (token === \"|\" || token === \",\") {\n        do {\n          token = tokenizer.next();\n        } while (token === \"|\" || token === \",\");\n      } else {\n        break;\n      }\n      matcher = parseConjunction();\n    }\n    return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n  }\n}\nfunction isIdentifier(token) {\n  return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n  let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n  let match = regex.exec(input);\n  return {\n    next: () => {\n      if (!match) {\n        return null;\n      }\n      const res = match[0];\n      match = regex.exec(input);\n      return res;\n    }\n  };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n  FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n  FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n  FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n  FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n  FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n  return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n  if (typeof str.dispose === \"function\") {\n    str.dispose();\n  }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n  constructor(scopeName) {\n    this.scopeName = scopeName;\n  }\n  toKey() {\n    return this.scopeName;\n  }\n};\nvar TopLevelRepositoryRuleReference = class {\n  constructor(scopeName, ruleName) {\n    this.scopeName = scopeName;\n    this.ruleName = ruleName;\n  }\n  toKey() {\n    return `${this.scopeName}#${this.ruleName}`;\n  }\n};\nvar ExternalReferenceCollector = class {\n  _references = [];\n  _seenReferenceKeys = /* @__PURE__ */ new Set();\n  get references() {\n    return this._references;\n  }\n  visitedRule = /* @__PURE__ */ new Set();\n  add(reference) {\n    const key = reference.toKey();\n    if (this._seenReferenceKeys.has(key)) {\n      return;\n    }\n    this._seenReferenceKeys.add(key);\n    this._references.push(reference);\n  }\n};\nvar ScopeDependencyProcessor = class {\n  constructor(repo, initialScopeName) {\n    this.repo = repo;\n    this.initialScopeName = initialScopeName;\n    this.seenFullScopeRequests.add(this.initialScopeName);\n    this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n  }\n  seenFullScopeRequests = /* @__PURE__ */ new Set();\n  seenPartialScopeRequests = /* @__PURE__ */ new Set();\n  Q;\n  processQueue() {\n    const q = this.Q;\n    this.Q = [];\n    const deps = new ExternalReferenceCollector();\n    for (const dep of q) {\n      collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n    }\n    for (const dep of deps.references) {\n      if (dep instanceof TopLevelRuleReference) {\n        if (this.seenFullScopeRequests.has(dep.scopeName)) {\n          continue;\n        }\n        this.seenFullScopeRequests.add(dep.scopeName);\n        this.Q.push(dep);\n      } else {\n        if (this.seenFullScopeRequests.has(dep.scopeName)) {\n          continue;\n        }\n        if (this.seenPartialScopeRequests.has(dep.toKey())) {\n          continue;\n        }\n        this.seenPartialScopeRequests.add(dep.toKey());\n        this.Q.push(dep);\n      }\n    }\n  }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n  const selfGrammar = repo.lookup(reference.scopeName);\n  if (!selfGrammar) {\n    if (reference.scopeName === baseGrammarScopeName) {\n      throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n    }\n    return;\n  }\n  const baseGrammar = repo.lookup(baseGrammarScopeName);\n  if (reference instanceof TopLevelRuleReference) {\n    collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n  } else {\n    collectExternalReferencesInTopLevelRepositoryRule(\n      reference.ruleName,\n      { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n      result\n    );\n  }\n  const injections = repo.injections(reference.scopeName);\n  if (injections) {\n    for (const injection of injections) {\n      result.add(new TopLevelRuleReference(injection));\n    }\n  }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n  if (context.repository && context.repository[ruleName]) {\n    const rule = context.repository[ruleName];\n    collectExternalReferencesInRules([rule], context, result);\n  }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n  if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n    collectExternalReferencesInRules(\n      context.selfGrammar.patterns,\n      { ...context, repository: context.selfGrammar.repository },\n      result\n    );\n  }\n  if (context.selfGrammar.injections) {\n    collectExternalReferencesInRules(\n      Object.values(context.selfGrammar.injections),\n      { ...context, repository: context.selfGrammar.repository },\n      result\n    );\n  }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n  for (const rule of rules) {\n    if (result.visitedRule.has(rule)) {\n      continue;\n    }\n    result.visitedRule.add(rule);\n    const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n    if (Array.isArray(rule.patterns)) {\n      collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n    }\n    const include = rule.include;\n    if (!include) {\n      continue;\n    }\n    const reference = parseInclude(include);\n    switch (reference.kind) {\n      case 0 /* Base */:\n        collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n        break;\n      case 1 /* Self */:\n        collectExternalReferencesInTopLevelRule(context, result);\n        break;\n      case 2 /* RelativeReference */:\n        collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n        break;\n      case 3 /* TopLevelReference */:\n      case 4 /* TopLevelRepositoryReference */:\n        const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n        if (selfGrammar) {\n          const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n          if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n            collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n          } else {\n            collectExternalReferencesInTopLevelRule(newContext, result);\n          }\n        } else {\n          if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n            result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n          } else {\n            result.add(new TopLevelRuleReference(reference.scopeName));\n          }\n        }\n        break;\n    }\n  }\n}\nvar BaseReference = class {\n  kind = 0 /* Base */;\n};\nvar SelfReference = class {\n  kind = 1 /* Self */;\n};\nvar RelativeReference = class {\n  constructor(ruleName) {\n    this.ruleName = ruleName;\n  }\n  kind = 2 /* RelativeReference */;\n};\nvar TopLevelReference = class {\n  constructor(scopeName) {\n    this.scopeName = scopeName;\n  }\n  kind = 3 /* TopLevelReference */;\n};\nvar TopLevelRepositoryReference = class {\n  constructor(scopeName, ruleName) {\n    this.scopeName = scopeName;\n    this.ruleName = ruleName;\n  }\n  kind = 4 /* TopLevelRepositoryReference */;\n};\nfunction parseInclude(include) {\n  if (include === \"$base\") {\n    return new BaseReference();\n  } else if (include === \"$self\") {\n    return new SelfReference();\n  }\n  const indexOfSharp = include.indexOf(\"#\");\n  if (indexOfSharp === -1) {\n    return new TopLevelReference(include);\n  } else if (indexOfSharp === 0) {\n    return new RelativeReference(include.substring(1));\n  } else {\n    const scopeName = include.substring(0, indexOfSharp);\n    const ruleName = include.substring(indexOfSharp + 1);\n    return new TopLevelRepositoryReference(scopeName, ruleName);\n  }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n  return id;\n}\nfunction ruleIdToNumber(id) {\n  return id;\n}\nvar Rule = class {\n  $location;\n  id;\n  _nameIsCapturing;\n  _name;\n  _contentNameIsCapturing;\n  _contentName;\n  constructor($location, id, name, contentName) {\n    this.$location = $location;\n    this.id = id;\n    this._name = name || null;\n    this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n    this._contentName = contentName || null;\n    this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n  }\n  get debugName() {\n    const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n    return `${this.constructor.name}#${this.id} @ ${location}`;\n  }\n  getName(lineText, captureIndices) {\n    if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n      return this._name;\n    }\n    return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n  }\n  getContentName(lineText, captureIndices) {\n    if (!this._contentNameIsCapturing || this._contentName === null) {\n      return this._contentName;\n    }\n    return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n  }\n};\nvar CaptureRule = class extends Rule {\n  retokenizeCapturedWithRuleId;\n  constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n    super($location, id, name, contentName);\n    this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n  }\n  dispose() {\n  }\n  collectPatterns(grammar, out) {\n    throw new Error(\"Not supported!\");\n  }\n  compile(grammar, endRegexSource) {\n    throw new Error(\"Not supported!\");\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    throw new Error(\"Not supported!\");\n  }\n};\nvar MatchRule = class extends Rule {\n  _match;\n  captures;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, match, captures) {\n    super($location, id, name, null);\n    this._match = new RegExpSource(match, this.id);\n    this.captures = captures;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  get debugMatchRegExp() {\n    return `${this._match.source}`;\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._match);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      this.collectPatterns(grammar, this._cachedCompiledPatterns);\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar IncludeOnlyRule = class extends Rule {\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, contentName, patterns) {\n    super($location, id, name, contentName);\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  collectPatterns(grammar, out) {\n    for (const pattern of this.patterns) {\n      const rule = grammar.getRule(pattern);\n      rule.collectPatterns(grammar, out);\n    }\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      this.collectPatterns(grammar, this._cachedCompiledPatterns);\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar BeginEndRule = class extends Rule {\n  _begin;\n  beginCaptures;\n  _end;\n  endHasBackReferences;\n  endCaptures;\n  applyEndPatternLast;\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n    super($location, id, name, contentName);\n    this._begin = new RegExpSource(begin, this.id);\n    this.beginCaptures = beginCaptures;\n    this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n    this.endHasBackReferences = this._end.hasBackReferences;\n    this.endCaptures = endCaptures;\n    this.applyEndPatternLast = applyEndPatternLast || false;\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  get debugBeginRegExp() {\n    return `${this._begin.source}`;\n  }\n  get debugEndRegExp() {\n    return `${this._end.source}`;\n  }\n  getEndWithResolvedBackReferences(lineText, captureIndices) {\n    return this._end.resolveBackReferences(lineText, captureIndices);\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._begin);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar, endRegexSource) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      for (const pattern of this.patterns) {\n        const rule = grammar.getRule(pattern);\n        rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n      }\n      if (this.applyEndPatternLast) {\n        this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n      } else {\n        this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n      }\n    }\n    if (this._end.hasBackReferences) {\n      if (this.applyEndPatternLast) {\n        this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n      } else {\n        this._cachedCompiledPatterns.setSource(0, endRegexSource);\n      }\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar BeginWhileRule = class extends Rule {\n  _begin;\n  beginCaptures;\n  whileCaptures;\n  _while;\n  whileHasBackReferences;\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  _cachedCompiledWhilePatterns;\n  constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n    super($location, id, name, contentName);\n    this._begin = new RegExpSource(begin, this.id);\n    this.beginCaptures = beginCaptures;\n    this.whileCaptures = whileCaptures;\n    this._while = new RegExpSource(_while, whileRuleId);\n    this.whileHasBackReferences = this._while.hasBackReferences;\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n    this._cachedCompiledWhilePatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n    if (this._cachedCompiledWhilePatterns) {\n      this._cachedCompiledWhilePatterns.dispose();\n      this._cachedCompiledWhilePatterns = null;\n    }\n  }\n  get debugBeginRegExp() {\n    return `${this._begin.source}`;\n  }\n  get debugWhileRegExp() {\n    return `${this._while.source}`;\n  }\n  getWhileWithResolvedBackReferences(lineText, captureIndices) {\n    return this._while.resolveBackReferences(lineText, captureIndices);\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._begin);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      for (const pattern of this.patterns) {\n        const rule = grammar.getRule(pattern);\n        rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n      }\n    }\n    return this._cachedCompiledPatterns;\n  }\n  compileWhile(grammar, endRegexSource) {\n    return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n  }\n  compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n    if (!this._cachedCompiledWhilePatterns) {\n      this._cachedCompiledWhilePatterns = new RegExpSourceList();\n      this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n    }\n    if (this._while.hasBackReferences) {\n      this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n    }\n    return this._cachedCompiledWhilePatterns;\n  }\n};\nvar RuleFactory = class _RuleFactory {\n  static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n    return helper.registerRule((id) => {\n      return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n    });\n  }\n  static getCompiledRuleId(desc, helper, repository) {\n    if (!desc.id) {\n      helper.registerRule((id) => {\n        desc.id = id;\n        if (desc.match) {\n          return new MatchRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.match,\n            _RuleFactory._compileCaptures(desc.captures, helper, repository)\n          );\n        }\n        if (typeof desc.begin === \"undefined\") {\n          if (desc.repository) {\n            repository = mergeObjects({}, repository, desc.repository);\n          }\n          let patterns = desc.patterns;\n          if (typeof patterns === \"undefined\" && desc.include) {\n            patterns = [{ include: desc.include }];\n          }\n          return new IncludeOnlyRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.contentName,\n            _RuleFactory._compilePatterns(patterns, helper, repository)\n          );\n        }\n        if (desc.while) {\n          return new BeginWhileRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.contentName,\n            desc.begin,\n            _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n            desc.while,\n            _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n            _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n          );\n        }\n        return new BeginEndRule(\n          desc.$vscodeTextmateLocation,\n          desc.id,\n          desc.name,\n          desc.contentName,\n          desc.begin,\n          _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n          desc.end,\n          _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n          desc.applyEndPatternLast,\n          _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n        );\n      });\n    }\n    return desc.id;\n  }\n  static _compileCaptures(captures, helper, repository) {\n    let r = [];\n    if (captures) {\n      let maximumCaptureId = 0;\n      for (const captureId in captures) {\n        if (captureId === \"$vscodeTextmateLocation\") {\n          continue;\n        }\n        const numericCaptureId = parseInt(captureId, 10);\n        if (numericCaptureId > maximumCaptureId) {\n          maximumCaptureId = numericCaptureId;\n        }\n      }\n      for (let i = 0; i <= maximumCaptureId; i++) {\n        r[i] = null;\n      }\n      for (const captureId in captures) {\n        if (captureId === \"$vscodeTextmateLocation\") {\n          continue;\n        }\n        const numericCaptureId = parseInt(captureId, 10);\n        let retokenizeCapturedWithRuleId = 0;\n        if (captures[captureId].patterns) {\n          retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n        }\n        r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n      }\n    }\n    return r;\n  }\n  static _compilePatterns(patterns, helper, repository) {\n    let r = [];\n    if (patterns) {\n      for (let i = 0, len = patterns.length; i < len; i++) {\n        const pattern = patterns[i];\n        let ruleId = -1;\n        if (pattern.include) {\n          const reference = parseInclude(pattern.include);\n          switch (reference.kind) {\n            case 0 /* Base */:\n            case 1 /* Self */:\n              ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n              break;\n            case 2 /* RelativeReference */:\n              let localIncludedRule = repository[reference.ruleName];\n              if (localIncludedRule) {\n                ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n              } else {\n              }\n              break;\n            case 3 /* TopLevelReference */:\n            case 4 /* TopLevelRepositoryReference */:\n              const externalGrammarName = reference.scopeName;\n              const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n              const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n              if (externalGrammar) {\n                if (externalGrammarInclude) {\n                  let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n                  if (externalIncludedRule) {\n                    ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n                  } else {\n                  }\n                } else {\n                  ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n                }\n              } else {\n              }\n              break;\n          }\n        } else {\n          ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n        }\n        if (ruleId !== -1) {\n          const rule = helper.getRule(ruleId);\n          let skipRule = false;\n          if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n            if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n              skipRule = true;\n            }\n          }\n          if (skipRule) {\n            continue;\n          }\n          r.push(ruleId);\n        }\n      }\n    }\n    return {\n      patterns: r,\n      hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n    };\n  }\n};\nvar RegExpSource = class _RegExpSource {\n  source;\n  ruleId;\n  hasAnchor;\n  hasBackReferences;\n  _anchorCache;\n  constructor(regExpSource, ruleId) {\n    if (regExpSource && typeof regExpSource === \"string\") {\n      const len = regExpSource.length;\n      let lastPushedPos = 0;\n      let output = [];\n      let hasAnchor = false;\n      for (let pos = 0; pos < len; pos++) {\n        const ch = regExpSource.charAt(pos);\n        if (ch === \"\\\\\") {\n          if (pos + 1 < len) {\n            const nextCh = regExpSource.charAt(pos + 1);\n            if (nextCh === \"z\") {\n              output.push(regExpSource.substring(lastPushedPos, pos));\n              output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n              lastPushedPos = pos + 2;\n            } else if (nextCh === \"A\" || nextCh === \"G\") {\n              hasAnchor = true;\n            }\n            pos++;\n          }\n        }\n      }\n      this.hasAnchor = hasAnchor;\n      if (lastPushedPos === 0) {\n        this.source = regExpSource;\n      } else {\n        output.push(regExpSource.substring(lastPushedPos, len));\n        this.source = output.join(\"\");\n      }\n    } else {\n      this.hasAnchor = false;\n      this.source = regExpSource;\n    }\n    if (this.hasAnchor) {\n      this._anchorCache = this._buildAnchorCache();\n    } else {\n      this._anchorCache = null;\n    }\n    this.ruleId = ruleId;\n    if (typeof this.source === \"string\") {\n      this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n    } else {\n      this.hasBackReferences = false;\n    }\n  }\n  clone() {\n    return new _RegExpSource(this.source, this.ruleId);\n  }\n  setSource(newSource) {\n    if (this.source === newSource) {\n      return;\n    }\n    this.source = newSource;\n    if (this.hasAnchor) {\n      this._anchorCache = this._buildAnchorCache();\n    }\n  }\n  resolveBackReferences(lineText, captureIndices) {\n    if (typeof this.source !== \"string\") {\n      throw new Error(\"This method should only be called if the source is a string\");\n    }\n    let capturedValues = captureIndices.map((capture) => {\n      return lineText.substring(capture.start, capture.end);\n    });\n    BACK_REFERENCING_END.lastIndex = 0;\n    return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n      return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n    });\n  }\n  _buildAnchorCache() {\n    if (typeof this.source !== \"string\") {\n      throw new Error(\"This method should only be called if the source is a string\");\n    }\n    let A0_G0_result = [];\n    let A0_G1_result = [];\n    let A1_G0_result = [];\n    let A1_G1_result = [];\n    let pos, len, ch, nextCh;\n    for (pos = 0, len = this.source.length; pos < len; pos++) {\n      ch = this.source.charAt(pos);\n      A0_G0_result[pos] = ch;\n      A0_G1_result[pos] = ch;\n      A1_G0_result[pos] = ch;\n      A1_G1_result[pos] = ch;\n      if (ch === \"\\\\\") {\n        if (pos + 1 < len) {\n          nextCh = this.source.charAt(pos + 1);\n          if (nextCh === \"A\") {\n            A0_G0_result[pos + 1] = \"\\uFFFF\";\n            A0_G1_result[pos + 1] = \"\\uFFFF\";\n            A1_G0_result[pos + 1] = \"A\";\n            A1_G1_result[pos + 1] = \"A\";\n          } else if (nextCh === \"G\") {\n            A0_G0_result[pos + 1] = \"\\uFFFF\";\n            A0_G1_result[pos + 1] = \"G\";\n            A1_G0_result[pos + 1] = \"\\uFFFF\";\n            A1_G1_result[pos + 1] = \"G\";\n          } else {\n            A0_G0_result[pos + 1] = nextCh;\n            A0_G1_result[pos + 1] = nextCh;\n            A1_G0_result[pos + 1] = nextCh;\n            A1_G1_result[pos + 1] = nextCh;\n          }\n          pos++;\n        }\n      }\n    }\n    return {\n      A0_G0: A0_G0_result.join(\"\"),\n      A0_G1: A0_G1_result.join(\"\"),\n      A1_G0: A1_G0_result.join(\"\"),\n      A1_G1: A1_G1_result.join(\"\")\n    };\n  }\n  resolveAnchors(allowA, allowG) {\n    if (!this.hasAnchor || !this._anchorCache || typeof this.source !== \"string\") {\n      return this.source;\n    }\n    if (allowA) {\n      if (allowG) {\n        return this._anchorCache.A1_G1;\n      } else {\n        return this._anchorCache.A1_G0;\n      }\n    } else {\n      if (allowG) {\n        return this._anchorCache.A0_G1;\n      } else {\n        return this._anchorCache.A0_G0;\n      }\n    }\n  }\n};\nvar RegExpSourceList = class {\n  _items;\n  _hasAnchors;\n  _cached;\n  _anchorCache;\n  constructor() {\n    this._items = [];\n    this._hasAnchors = false;\n    this._cached = null;\n    this._anchorCache = {\n      A0_G0: null,\n      A0_G1: null,\n      A1_G0: null,\n      A1_G1: null\n    };\n  }\n  dispose() {\n    this._disposeCaches();\n  }\n  _disposeCaches() {\n    if (this._cached) {\n      this._cached.dispose();\n      this._cached = null;\n    }\n    if (this._anchorCache.A0_G0) {\n      this._anchorCache.A0_G0.dispose();\n      this._anchorCache.A0_G0 = null;\n    }\n    if (this._anchorCache.A0_G1) {\n      this._anchorCache.A0_G1.dispose();\n      this._anchorCache.A0_G1 = null;\n    }\n    if (this._anchorCache.A1_G0) {\n      this._anchorCache.A1_G0.dispose();\n      this._anchorCache.A1_G0 = null;\n    }\n    if (this._anchorCache.A1_G1) {\n      this._anchorCache.A1_G1.dispose();\n      this._anchorCache.A1_G1 = null;\n    }\n  }\n  push(item) {\n    this._items.push(item);\n    this._hasAnchors = this._hasAnchors || item.hasAnchor;\n  }\n  unshift(item) {\n    this._items.unshift(item);\n    this._hasAnchors = this._hasAnchors || item.hasAnchor;\n  }\n  length() {\n    return this._items.length;\n  }\n  setSource(index, newSource) {\n    if (this._items[index].source !== newSource) {\n      this._disposeCaches();\n      this._items[index].setSource(newSource);\n    }\n  }\n  compile(onigLib) {\n    if (!this._cached) {\n      let regExps = this._items.map((e) => e.source);\n      this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n    }\n    return this._cached;\n  }\n  compileAG(onigLib, allowA, allowG) {\n    if (!this._hasAnchors) {\n      return this.compile(onigLib);\n    } else {\n      if (allowA) {\n        if (allowG) {\n          if (!this._anchorCache.A1_G1) {\n            this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A1_G1;\n        } else {\n          if (!this._anchorCache.A1_G0) {\n            this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A1_G0;\n        }\n      } else {\n        if (allowG) {\n          if (!this._anchorCache.A0_G1) {\n            this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A0_G1;\n        } else {\n          if (!this._anchorCache.A0_G0) {\n            this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A0_G0;\n        }\n      }\n    }\n  }\n  _resolveAnchors(onigLib, allowA, allowG) {\n    let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n    return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n  }\n};\nvar CompiledRule = class {\n  constructor(onigLib, regExps, rules) {\n    this.regExps = regExps;\n    this.rules = rules;\n    this.scanner = onigLib.createOnigScanner(regExps);\n  }\n  scanner;\n  dispose() {\n    if (typeof this.scanner.dispose === \"function\") {\n      this.scanner.dispose();\n    }\n  }\n  toString() {\n    const r = [];\n    for (let i = 0, len = this.rules.length; i < len; i++) {\n      r.push(\"   - \" + this.rules[i] + \": \" + this.regExps[i]);\n    }\n    return r.join(\"\\n\");\n  }\n  findNextMatchSync(string, startPosition, options) {\n    const result = this.scanner.findNextMatchSync(string, startPosition, options);\n    if (!result) {\n      return null;\n    }\n    return {\n      ruleId: this.rules[result.index],\n      captureIndices: result.captureIndices\n    };\n  }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n  constructor(languageId, tokenType) {\n    this.languageId = languageId;\n    this.tokenType = tokenType;\n  }\n};\nvar BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n  _defaultAttributes;\n  _embeddedLanguagesMatcher;\n  constructor(initialLanguageId, embeddedLanguages) {\n    this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n    this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n  }\n  getDefaultAttributes() {\n    return this._defaultAttributes;\n  }\n  getBasicScopeAttributes(scopeName) {\n    if (scopeName === null) {\n      return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n    }\n    return this._getBasicScopeAttributes.get(scopeName);\n  }\n  static _NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n  _getBasicScopeAttributes = new CachedFn((scopeName) => {\n    const languageId = this._scopeToLanguage(scopeName);\n    const standardTokenType = this._toStandardTokenType(scopeName);\n    return new BasicScopeAttributes(languageId, standardTokenType);\n  });\n  /**\n   * Given a produced TM scope, return the language that token describes or null if unknown.\n   * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n   */\n  _scopeToLanguage(scope) {\n    return this._embeddedLanguagesMatcher.match(scope) || 0;\n  }\n  _toStandardTokenType(scopeName) {\n    const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n    if (!m) {\n      return 8 /* NotSet */;\n    }\n    switch (m[1]) {\n      case \"comment\":\n        return 1 /* Comment */;\n      case \"string\":\n        return 2 /* String */;\n      case \"regex\":\n        return 3 /* RegEx */;\n      case \"meta.embedded\":\n        return 0 /* Other */;\n    }\n    throw new Error(\"Unexpected match for standard token type!\");\n  }\n  static STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\n};\nvar ScopeMatcher = class {\n  values;\n  scopesRegExp;\n  constructor(values) {\n    if (values.length === 0) {\n      this.values = null;\n      this.scopesRegExp = null;\n    } else {\n      this.values = new Map(values);\n      const escapedScopes = values.map(\n        ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n      );\n      escapedScopes.sort();\n      escapedScopes.reverse();\n      this.scopesRegExp = new RegExp(\n        `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n        \"\"\n      );\n    }\n  }\n  match(scope) {\n    if (!this.scopesRegExp) {\n      return void 0;\n    }\n    const m = scope.match(this.scopesRegExp);\n    if (!m) {\n      return void 0;\n    }\n    return this.values.get(m[1]);\n  }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n  InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n  constructor(stack, stoppedEarly) {\n    this.stack = stack;\n    this.stoppedEarly = stoppedEarly;\n  }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n  const lineLength = lineText.content.length;\n  let STOP = false;\n  let anchorPosition = -1;\n  if (checkWhileConditions) {\n    const whileCheckResult = _checkWhileConditions(\n      grammar,\n      lineText,\n      isFirstLine,\n      linePos,\n      stack,\n      lineTokens\n    );\n    stack = whileCheckResult.stack;\n    linePos = whileCheckResult.linePos;\n    isFirstLine = whileCheckResult.isFirstLine;\n    anchorPosition = whileCheckResult.anchorPosition;\n  }\n  const startTime = Date.now();\n  while (!STOP) {\n    if (timeLimit !== 0) {\n      const elapsedTime = Date.now() - startTime;\n      if (elapsedTime > timeLimit) {\n        return new TokenizeStringResult(stack, true);\n      }\n    }\n    scanNext();\n  }\n  return new TokenizeStringResult(stack, false);\n  function scanNext() {\n    if (false) {\n      console.log(\"\");\n      console.log(\n        `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n      );\n    }\n    const r = matchRuleOrInjections(\n      grammar,\n      lineText,\n      isFirstLine,\n      linePos,\n      stack,\n      anchorPosition\n    );\n    if (!r) {\n      lineTokens.produce(stack, lineLength);\n      STOP = true;\n      return;\n    }\n    const captureIndices = r.captureIndices;\n    const matchedRuleId = r.matchedRuleId;\n    const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n    if (matchedRuleId === endRuleId) {\n      const poppedRule = stack.getRule(grammar);\n      if (false) {\n        console.log(\n          \"  popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n        );\n      }\n      lineTokens.produce(stack, captureIndices[0].start);\n      stack = stack.withContentNameScopesList(stack.nameScopesList);\n      handleCaptures(\n        grammar,\n        lineText,\n        isFirstLine,\n        stack,\n        lineTokens,\n        poppedRule.endCaptures,\n        captureIndices\n      );\n      lineTokens.produce(stack, captureIndices[0].end);\n      const popped = stack;\n      stack = stack.parent;\n      anchorPosition = popped.getAnchorPos();\n      if (!hasAdvanced && popped.getEnterPos() === linePos) {\n        if (false) {\n          console.error(\n            \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n          );\n        }\n        stack = popped;\n        lineTokens.produce(stack, lineLength);\n        STOP = true;\n        return;\n      }\n    } else {\n      const _rule = grammar.getRule(matchedRuleId);\n      lineTokens.produce(stack, captureIndices[0].start);\n      const beforePush = stack;\n      const scopeName = _rule.getName(lineText.content, captureIndices);\n      const nameScopesList = stack.contentNameScopesList.pushAttributed(\n        scopeName,\n        grammar\n      );\n      stack = stack.push(\n        matchedRuleId,\n        linePos,\n        anchorPosition,\n        captureIndices[0].end === lineLength,\n        null,\n        nameScopesList,\n        nameScopesList\n      );\n      if (_rule instanceof BeginEndRule) {\n        const pushedRule = _rule;\n        if (false) {\n          console.log(\n            \"  pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n          );\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          pushedRule.beginCaptures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        anchorPosition = captureIndices[0].end;\n        const contentName = pushedRule.getContentName(\n          lineText.content,\n          captureIndices\n        );\n        const contentNameScopesList = nameScopesList.pushAttributed(\n          contentName,\n          grammar\n        );\n        stack = stack.withContentNameScopesList(contentNameScopesList);\n        if (pushedRule.endHasBackReferences) {\n          stack = stack.withEndRule(\n            pushedRule.getEndWithResolvedBackReferences(\n              lineText.content,\n              captureIndices\n            )\n          );\n        }\n        if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n          if (false) {\n            console.error(\n              \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n            );\n          }\n          stack = stack.pop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      } else if (_rule instanceof BeginWhileRule) {\n        const pushedRule = _rule;\n        if (false) {\n          console.log(\"  pushing \" + pushedRule.debugName);\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          pushedRule.beginCaptures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        anchorPosition = captureIndices[0].end;\n        const contentName = pushedRule.getContentName(\n          lineText.content,\n          captureIndices\n        );\n        const contentNameScopesList = nameScopesList.pushAttributed(\n          contentName,\n          grammar\n        );\n        stack = stack.withContentNameScopesList(contentNameScopesList);\n        if (pushedRule.whileHasBackReferences) {\n          stack = stack.withEndRule(\n            pushedRule.getWhileWithResolvedBackReferences(\n              lineText.content,\n              captureIndices\n            )\n          );\n        }\n        if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n          if (false) {\n            console.error(\n              \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n            );\n          }\n          stack = stack.pop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      } else {\n        const matchingRule = _rule;\n        if (false) {\n          console.log(\n            \"  matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n          );\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          matchingRule.captures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        stack = stack.pop();\n        if (!hasAdvanced) {\n          if (false) {\n            console.error(\n              \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n            );\n          }\n          stack = stack.safePop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      }\n    }\n    if (captureIndices[0].end > linePos) {\n      linePos = captureIndices[0].end;\n      isFirstLine = false;\n    }\n  }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n  let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n  const whileRules = [];\n  for (let node = stack; node; node = node.pop()) {\n    const nodeRule = node.getRule(grammar);\n    if (nodeRule instanceof BeginWhileRule) {\n      whileRules.push({\n        rule: nodeRule,\n        stack: node\n      });\n    }\n  }\n  for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n    const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n    const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n    if (false) {\n      console.log(\"  scanning for while rule\");\n      console.log(ruleScanner.toString());\n    }\n    if (r) {\n      const matchedRuleId = r.ruleId;\n      if (matchedRuleId !== whileRuleId) {\n        stack = whileRule.stack.pop();\n        break;\n      }\n      if (r.captureIndices && r.captureIndices.length) {\n        lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n        handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n        lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n        anchorPosition = r.captureIndices[0].end;\n        if (r.captureIndices[0].end > linePos) {\n          linePos = r.captureIndices[0].end;\n          isFirstLine = false;\n        }\n      }\n    } else {\n      if (false) {\n        console.log(\"  popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n      }\n      stack = whileRule.stack.pop();\n      break;\n    }\n  }\n  return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n  const injections = grammar.getInjections();\n  if (injections.length === 0) {\n    return matchResult;\n  }\n  const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n  if (!injectionResult) {\n    return matchResult;\n  }\n  if (!matchResult) {\n    return injectionResult;\n  }\n  const matchResultScore = matchResult.captureIndices[0].start;\n  const injectionResultScore = injectionResult.captureIndices[0].start;\n  if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n    return injectionResult;\n  }\n  return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  const rule = stack.getRule(grammar);\n  const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n  const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n  if (r) {\n    return {\n      captureIndices: r.captureIndices,\n      matchedRuleId: r.ruleId\n    };\n  }\n  return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  let bestMatchRating = Number.MAX_VALUE;\n  let bestMatchCaptureIndices = null;\n  let bestMatchRuleId;\n  let bestMatchResultPriority = 0;\n  const scopes = stack.contentNameScopesList.getScopeNames();\n  for (let i = 0, len = injections.length; i < len; i++) {\n    const injection = injections[i];\n    if (!injection.matcher(scopes)) {\n      continue;\n    }\n    const rule = grammar.getRule(injection.ruleId);\n    const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n    const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n    if (!matchResult) {\n      continue;\n    }\n    if (false) {\n      console.log(`  matched injection: ${injection.debugSelector}`);\n      console.log(ruleScanner.toString());\n    }\n    const matchRating = matchResult.captureIndices[0].start;\n    if (matchRating >= bestMatchRating) {\n      continue;\n    }\n    bestMatchRating = matchRating;\n    bestMatchCaptureIndices = matchResult.captureIndices;\n    bestMatchRuleId = matchResult.ruleId;\n    bestMatchResultPriority = injection.priority;\n    if (bestMatchRating === linePos) {\n      break;\n    }\n  }\n  if (bestMatchCaptureIndices) {\n    return {\n      priorityMatch: bestMatchResultPriority === -1,\n      captureIndices: bestMatchCaptureIndices,\n      matchedRuleId: bestMatchRuleId\n    };\n  }\n  return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n  if (UseOnigurumaFindOptions) {\n    const ruleScanner2 = rule.compile(grammar, endRegexSource);\n    const findOptions = getFindOptions(allowA, allowG);\n    return { ruleScanner: ruleScanner2, findOptions };\n  }\n  const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n  return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n  if (UseOnigurumaFindOptions) {\n    const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n    const findOptions = getFindOptions(allowA, allowG);\n    return { ruleScanner: ruleScanner2, findOptions };\n  }\n  const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n  return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n  let options = 0 /* None */;\n  if (!allowA) {\n    options |= 1 /* NotBeginString */;\n  }\n  if (!allowG) {\n    options |= 4 /* NotBeginPosition */;\n  }\n  return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n  if (captures.length === 0) {\n    return;\n  }\n  const lineTextContent = lineText.content;\n  const len = Math.min(captures.length, captureIndices.length);\n  const localStack = [];\n  const maxEnd = captureIndices[0].end;\n  for (let i = 0; i < len; i++) {\n    const captureRule = captures[i];\n    if (captureRule === null) {\n      continue;\n    }\n    const captureIndex = captureIndices[i];\n    if (captureIndex.length === 0) {\n      continue;\n    }\n    if (captureIndex.start > maxEnd) {\n      break;\n    }\n    while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n      lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n      localStack.pop();\n    }\n    if (localStack.length > 0) {\n      lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n    } else {\n      lineTokens.produce(stack, captureIndex.start);\n    }\n    if (captureRule.retokenizeCapturedWithRuleId) {\n      const scopeName = captureRule.getName(lineTextContent, captureIndices);\n      const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n      const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n      const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n      const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n      const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n      _tokenizeString(\n        grammar,\n        onigSubStr,\n        isFirstLine && captureIndex.start === 0,\n        captureIndex.start,\n        stackClone,\n        lineTokens,\n        false,\n        /* no time limit */\n        0\n      );\n      disposeOnigString(onigSubStr);\n      continue;\n    }\n    const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n    if (captureRuleScopeName !== null) {\n      const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n      const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n      localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n    }\n  }\n  while (localStack.length > 0) {\n    lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n    localStack.pop();\n  }\n}\nvar LocalStackElement = class {\n  scopes;\n  endPos;\n  constructor(scopes, endPos) {\n    this.scopes = scopes;\n    this.endPos = endPos;\n  }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n  return new Grammar(\n    scopeName,\n    grammar,\n    initialLanguage,\n    embeddedLanguages,\n    tokenTypes,\n    balancedBracketSelectors,\n    grammarRepository,\n    onigLib\n  );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n  const matchers = createMatchers(selector, nameMatcher);\n  const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n  for (const matcher of matchers) {\n    result.push({\n      debugSelector: selector,\n      matcher: matcher.matcher,\n      ruleId,\n      grammar,\n      priority: matcher.priority\n    });\n  }\n}\nfunction nameMatcher(identifers, scopes) {\n  if (scopes.length < identifers.length) {\n    return false;\n  }\n  let lastIndex = 0;\n  return identifers.every((identifier) => {\n    for (let i = lastIndex; i < scopes.length; i++) {\n      if (scopesAreMatching(scopes[i], identifier)) {\n        lastIndex = i + 1;\n        return true;\n      }\n    }\n    return false;\n  });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n  if (!thisScopeName) {\n    return false;\n  }\n  if (thisScopeName === scopeName) {\n    return true;\n  }\n  const len = scopeName.length;\n  return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n  constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n    this._rootScopeName = _rootScopeName;\n    this.balancedBracketSelectors = balancedBracketSelectors;\n    this._onigLib = _onigLib;\n    this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n      initialLanguage,\n      embeddedLanguages\n    );\n    this._rootId = -1;\n    this._lastRuleId = 0;\n    this._ruleId2desc = [null];\n    this._includedGrammars = {};\n    this._grammarRepository = grammarRepository;\n    this._grammar = initGrammar(grammar, null);\n    this._injections = null;\n    this._tokenTypeMatchers = [];\n    if (tokenTypes) {\n      for (const selector of Object.keys(tokenTypes)) {\n        const matchers = createMatchers(selector, nameMatcher);\n        for (const matcher of matchers) {\n          this._tokenTypeMatchers.push({\n            matcher: matcher.matcher,\n            type: tokenTypes[selector]\n          });\n        }\n      }\n    }\n  }\n  _rootId;\n  _lastRuleId;\n  _ruleId2desc;\n  _includedGrammars;\n  _grammarRepository;\n  _grammar;\n  _injections;\n  _basicScopeAttributesProvider;\n  _tokenTypeMatchers;\n  get themeProvider() {\n    return this._grammarRepository;\n  }\n  dispose() {\n    for (const rule of this._ruleId2desc) {\n      if (rule) {\n        rule.dispose();\n      }\n    }\n  }\n  createOnigScanner(sources) {\n    return this._onigLib.createOnigScanner(sources);\n  }\n  createOnigString(sources) {\n    return this._onigLib.createOnigString(sources);\n  }\n  getMetadataForScope(scope) {\n    return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n  }\n  _collectInjections() {\n    const grammarRepository = {\n      lookup: (scopeName2) => {\n        if (scopeName2 === this._rootScopeName) {\n          return this._grammar;\n        }\n        return this.getExternalGrammar(scopeName2);\n      },\n      injections: (scopeName2) => {\n        return this._grammarRepository.injections(scopeName2);\n      }\n    };\n    const result = [];\n    const scopeName = this._rootScopeName;\n    const grammar = grammarRepository.lookup(scopeName);\n    if (grammar) {\n      const rawInjections = grammar.injections;\n      if (rawInjections) {\n        for (let expression in rawInjections) {\n          collectInjections(\n            result,\n            expression,\n            rawInjections[expression],\n            this,\n            grammar\n          );\n        }\n      }\n      const injectionScopeNames = this._grammarRepository.injections(scopeName);\n      if (injectionScopeNames) {\n        injectionScopeNames.forEach((injectionScopeName) => {\n          const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n          if (injectionGrammar) {\n            const selector = injectionGrammar.injectionSelector;\n            if (selector) {\n              collectInjections(\n                result,\n                selector,\n                injectionGrammar,\n                this,\n                injectionGrammar\n              );\n            }\n          }\n        });\n      }\n    }\n    result.sort((i1, i2) => i1.priority - i2.priority);\n    return result;\n  }\n  getInjections() {\n    if (this._injections === null) {\n      this._injections = this._collectInjections();\n    }\n    return this._injections;\n  }\n  registerRule(factory) {\n    const id = ++this._lastRuleId;\n    const result = factory(ruleIdFromNumber(id));\n    this._ruleId2desc[id] = result;\n    return result;\n  }\n  getRule(ruleId) {\n    return this._ruleId2desc[ruleIdToNumber(ruleId)];\n  }\n  getExternalGrammar(scopeName, repository) {\n    if (this._includedGrammars[scopeName]) {\n      return this._includedGrammars[scopeName];\n    } else if (this._grammarRepository) {\n      const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n      if (rawIncludedGrammar) {\n        this._includedGrammars[scopeName] = initGrammar(\n          rawIncludedGrammar,\n          repository && repository.$base\n        );\n        return this._includedGrammars[scopeName];\n      }\n    }\n    return void 0;\n  }\n  tokenizeLine(lineText, prevState, timeLimit = 0) {\n    const r = this._tokenize(lineText, prevState, false, timeLimit);\n    return {\n      tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n      ruleStack: r.ruleStack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n  tokenizeLine2(lineText, prevState, timeLimit = 0) {\n    const r = this._tokenize(lineText, prevState, true, timeLimit);\n    return {\n      tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n      ruleStack: r.ruleStack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n  _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n    if (this._rootId === -1) {\n      this._rootId = RuleFactory.getCompiledRuleId(\n        this._grammar.repository.$self,\n        this,\n        this._grammar.repository\n      );\n      this.getInjections();\n    }\n    let isFirstLine;\n    if (!prevState || prevState === StateStackImpl.NULL) {\n      isFirstLine = true;\n      const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n      const defaultStyle = this.themeProvider.getDefaults();\n      const defaultMetadata = EncodedTokenMetadata.set(\n        0,\n        rawDefaultMetadata.languageId,\n        rawDefaultMetadata.tokenType,\n        null,\n        defaultStyle.fontStyle,\n        defaultStyle.foregroundId,\n        defaultStyle.backgroundId\n      );\n      const rootScopeName = this.getRule(this._rootId).getName(\n        null,\n        null\n      );\n      let scopeList;\n      if (rootScopeName) {\n        scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n          rootScopeName,\n          defaultMetadata,\n          this\n        );\n      } else {\n        scopeList = AttributedScopeStack.createRoot(\n          \"unknown\",\n          defaultMetadata\n        );\n      }\n      prevState = new StateStackImpl(\n        null,\n        this._rootId,\n        -1,\n        -1,\n        false,\n        null,\n        scopeList,\n        scopeList\n      );\n    } else {\n      isFirstLine = false;\n      prevState.reset();\n    }\n    lineText = lineText + \"\\n\";\n    const onigLineText = this.createOnigString(lineText);\n    const lineLength = onigLineText.content.length;\n    const lineTokens = new LineTokens(\n      emitBinaryTokens,\n      lineText,\n      this._tokenTypeMatchers,\n      this.balancedBracketSelectors\n    );\n    const r = _tokenizeString(\n      this,\n      onigLineText,\n      isFirstLine,\n      0,\n      prevState,\n      lineTokens,\n      true,\n      timeLimit\n    );\n    disposeOnigString(onigLineText);\n    return {\n      lineLength,\n      lineTokens,\n      ruleStack: r.stack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n};\nfunction initGrammar(grammar, base) {\n  grammar = clone(grammar);\n  grammar.repository = grammar.repository || {};\n  grammar.repository.$self = {\n    $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n    patterns: grammar.patterns,\n    name: grammar.scopeName\n  };\n  grammar.repository.$base = base || grammar.repository.$self;\n  return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n  /**\n   * Invariant:\n   * ```\n   * if (parent && !scopePath.extends(parent.scopePath)) {\n   * \tthrow new Error();\n   * }\n   * ```\n   */\n  constructor(parent, scopePath, tokenAttributes) {\n    this.parent = parent;\n    this.scopePath = scopePath;\n    this.tokenAttributes = tokenAttributes;\n  }\n  static fromExtension(namesScopeList, contentNameScopesList) {\n    let current = namesScopeList;\n    let scopeNames = namesScopeList?.scopePath ?? null;\n    for (const frame of contentNameScopesList) {\n      scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n      current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n    }\n    return current;\n  }\n  static createRoot(scopeName, tokenAttributes) {\n    return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n  }\n  static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n    const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n    const scopePath = new ScopeStack(null, scopeName);\n    const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n    const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n      tokenAttributes,\n      rawRootMetadata,\n      rootStyle\n    );\n    return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n  }\n  get scopeName() {\n    return this.scopePath.scopeName;\n  }\n  toString() {\n    return this.getScopeNames().join(\" \");\n  }\n  equals(other) {\n    return _AttributedScopeStack.equals(this, other);\n  }\n  static equals(a, b) {\n    do {\n      if (a === b) {\n        return true;\n      }\n      if (!a && !b) {\n        return true;\n      }\n      if (!a || !b) {\n        return false;\n      }\n      if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n        return false;\n      }\n      a = a.parent;\n      b = b.parent;\n    } while (true);\n  }\n  static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n    let fontStyle = -1 /* NotSet */;\n    let foreground = 0;\n    let background = 0;\n    if (styleAttributes !== null) {\n      fontStyle = styleAttributes.fontStyle;\n      foreground = styleAttributes.foregroundId;\n      background = styleAttributes.backgroundId;\n    }\n    return EncodedTokenMetadata.set(\n      existingTokenAttributes,\n      basicScopeAttributes.languageId,\n      basicScopeAttributes.tokenType,\n      null,\n      fontStyle,\n      foreground,\n      background\n    );\n  }\n  pushAttributed(scopePath, grammar) {\n    if (scopePath === null) {\n      return this;\n    }\n    if (scopePath.indexOf(\" \") === -1) {\n      return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n    }\n    const scopes = scopePath.split(/ /g);\n    let result = this;\n    for (const scope of scopes) {\n      result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n    }\n    return result;\n  }\n  static _pushAttributed(target, scopeName, grammar) {\n    const rawMetadata = grammar.getMetadataForScope(scopeName);\n    const newPath = target.scopePath.push(scopeName);\n    const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n    const metadata = _AttributedScopeStack.mergeAttributes(\n      target.tokenAttributes,\n      rawMetadata,\n      scopeThemeMatchResult\n    );\n    return new _AttributedScopeStack(target, newPath, metadata);\n  }\n  getScopeNames() {\n    return this.scopePath.getSegments();\n  }\n  getExtensionIfDefined(base) {\n    const result = [];\n    let self = this;\n    while (self && self !== base) {\n      result.push({\n        encodedTokenAttributes: self.tokenAttributes,\n        scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n      });\n      self = self.parent;\n    }\n    return self === base ? result.reverse() : void 0;\n  }\n};\nvar StateStackImpl = class _StateStackImpl {\n  /**\n   * Invariant:\n   * ```\n   * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n   * \tthrow new Error();\n   * }\n   * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n   * \tthrow new Error();\n   * }\n   * ```\n   */\n  constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n    this.parent = parent;\n    this.ruleId = ruleId;\n    this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n    this.endRule = endRule;\n    this.nameScopesList = nameScopesList;\n    this.contentNameScopesList = contentNameScopesList;\n    this.depth = this.parent ? this.parent.depth + 1 : 1;\n    this._enterPos = enterPos;\n    this._anchorPos = anchorPos;\n  }\n  _stackElementBrand = void 0;\n  // TODO remove me\n  static NULL = new _StateStackImpl(\n    null,\n    0,\n    0,\n    0,\n    false,\n    null,\n    null,\n    null\n  );\n  /**\n   * The position on the current line where this state was pushed.\n   * This is relevant only while tokenizing a line, to detect endless loops.\n   * Its value is meaningless across lines.\n   */\n  _enterPos;\n  /**\n   * The captured anchor position when this stack element was pushed.\n   * This is relevant only while tokenizing a line, to restore the anchor position when popping.\n   * Its value is meaningless across lines.\n   */\n  _anchorPos;\n  /**\n   * The depth of the stack.\n   */\n  depth;\n  equals(other) {\n    if (other === null) {\n      return false;\n    }\n    return _StateStackImpl._equals(this, other);\n  }\n  static _equals(a, b) {\n    if (a === b) {\n      return true;\n    }\n    if (!this._structuralEquals(a, b)) {\n      return false;\n    }\n    return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n  }\n  /**\n   * A structural equals check. Does not take into account `scopes`.\n   */\n  static _structuralEquals(a, b) {\n    do {\n      if (a === b) {\n        return true;\n      }\n      if (!a && !b) {\n        return true;\n      }\n      if (!a || !b) {\n        return false;\n      }\n      if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n        return false;\n      }\n      a = a.parent;\n      b = b.parent;\n    } while (true);\n  }\n  clone() {\n    return this;\n  }\n  static _reset(el) {\n    while (el) {\n      el._enterPos = -1;\n      el._anchorPos = -1;\n      el = el.parent;\n    }\n  }\n  reset() {\n    _StateStackImpl._reset(this);\n  }\n  pop() {\n    return this.parent;\n  }\n  safePop() {\n    if (this.parent) {\n      return this.parent;\n    }\n    return this;\n  }\n  push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n    return new _StateStackImpl(\n      this,\n      ruleId,\n      enterPos,\n      anchorPos,\n      beginRuleCapturedEOL,\n      endRule,\n      nameScopesList,\n      contentNameScopesList\n    );\n  }\n  getEnterPos() {\n    return this._enterPos;\n  }\n  getAnchorPos() {\n    return this._anchorPos;\n  }\n  getRule(grammar) {\n    return grammar.getRule(this.ruleId);\n  }\n  toString() {\n    const r = [];\n    this._writeString(r, 0);\n    return \"[\" + r.join(\",\") + \"]\";\n  }\n  _writeString(res, outIndex) {\n    if (this.parent) {\n      outIndex = this.parent._writeString(res, outIndex);\n    }\n    res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n    return outIndex;\n  }\n  withContentNameScopesList(contentNameScopeStack) {\n    if (this.contentNameScopesList === contentNameScopeStack) {\n      return this;\n    }\n    return this.parent.push(\n      this.ruleId,\n      this._enterPos,\n      this._anchorPos,\n      this.beginRuleCapturedEOL,\n      this.endRule,\n      this.nameScopesList,\n      contentNameScopeStack\n    );\n  }\n  withEndRule(endRule) {\n    if (this.endRule === endRule) {\n      return this;\n    }\n    return new _StateStackImpl(\n      this.parent,\n      this.ruleId,\n      this._enterPos,\n      this._anchorPos,\n      this.beginRuleCapturedEOL,\n      endRule,\n      this.nameScopesList,\n      this.contentNameScopesList\n    );\n  }\n  // Used to warn of endless loops\n  hasSameRuleAs(other) {\n    let el = this;\n    while (el && el._enterPos === other._enterPos) {\n      if (el.ruleId === other.ruleId) {\n        return true;\n      }\n      el = el.parent;\n    }\n    return false;\n  }\n  toStateStackFrame() {\n    return {\n      ruleId: ruleIdToNumber(this.ruleId),\n      beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n      endRule: this.endRule,\n      nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n      contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n    };\n  }\n  static pushFrame(self, frame) {\n    const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n    return new _StateStackImpl(\n      self,\n      ruleIdFromNumber(frame.ruleId),\n      frame.enterPos ?? -1,\n      frame.anchorPos ?? -1,\n      frame.beginRuleCapturedEOL,\n      frame.endRule,\n      namesScopeList,\n      AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n    );\n  }\n};\nvar BalancedBracketSelectors = class {\n  balancedBracketScopes;\n  unbalancedBracketScopes;\n  allowAny = false;\n  constructor(balancedBracketScopes, unbalancedBracketScopes) {\n    this.balancedBracketScopes = balancedBracketScopes.flatMap(\n      (selector) => {\n        if (selector === \"*\") {\n          this.allowAny = true;\n          return [];\n        }\n        return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n      }\n    );\n    this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n      (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n    );\n  }\n  get matchesAlways() {\n    return this.allowAny && this.unbalancedBracketScopes.length === 0;\n  }\n  get matchesNever() {\n    return this.balancedBracketScopes.length === 0 && !this.allowAny;\n  }\n  match(scopes) {\n    for (const excluder of this.unbalancedBracketScopes) {\n      if (excluder(scopes)) {\n        return false;\n      }\n    }\n    for (const includer of this.balancedBracketScopes) {\n      if (includer(scopes)) {\n        return true;\n      }\n    }\n    return this.allowAny;\n  }\n};\nvar LineTokens = class {\n  constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n    this.balancedBracketSelectors = balancedBracketSelectors;\n    this._emitBinaryTokens = emitBinaryTokens;\n    this._tokenTypeOverrides = tokenTypeOverrides;\n    if (false) {\n      this._lineText = lineText;\n    } else {\n      this._lineText = null;\n    }\n    this._tokens = [];\n    this._binaryTokens = [];\n    this._lastTokenEndIndex = 0;\n  }\n  _emitBinaryTokens;\n  /**\n   * defined only if `false`.\n   */\n  _lineText;\n  /**\n   * used only if `_emitBinaryTokens` is false.\n   */\n  _tokens;\n  /**\n   * used only if `_emitBinaryTokens` is true.\n   */\n  _binaryTokens;\n  _lastTokenEndIndex;\n  _tokenTypeOverrides;\n  produce(stack, endIndex) {\n    this.produceFromScopes(stack.contentNameScopesList, endIndex);\n  }\n  produceFromScopes(scopesList, endIndex) {\n    if (this._lastTokenEndIndex >= endIndex) {\n      return;\n    }\n    if (this._emitBinaryTokens) {\n      let metadata = scopesList?.tokenAttributes ?? 0;\n      let containsBalancedBrackets = false;\n      if (this.balancedBracketSelectors?.matchesAlways) {\n        containsBalancedBrackets = true;\n      }\n      if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n        const scopes2 = scopesList?.getScopeNames() ?? [];\n        for (const tokenType of this._tokenTypeOverrides) {\n          if (tokenType.matcher(scopes2)) {\n            metadata = EncodedTokenMetadata.set(\n              metadata,\n              0,\n              toOptionalTokenType(tokenType.type),\n              null,\n              -1 /* NotSet */,\n              0,\n              0\n            );\n          }\n        }\n        if (this.balancedBracketSelectors) {\n          containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n        }\n      }\n      if (containsBalancedBrackets) {\n        metadata = EncodedTokenMetadata.set(\n          metadata,\n          0,\n          8 /* NotSet */,\n          containsBalancedBrackets,\n          -1 /* NotSet */,\n          0,\n          0\n        );\n      }\n      if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n        this._lastTokenEndIndex = endIndex;\n        return;\n      }\n      this._binaryTokens.push(this._lastTokenEndIndex);\n      this._binaryTokens.push(metadata);\n      this._lastTokenEndIndex = endIndex;\n      return;\n    }\n    const scopes = scopesList?.getScopeNames() ?? [];\n    this._tokens.push({\n      startIndex: this._lastTokenEndIndex,\n      endIndex,\n      // value: lineText.substring(lastTokenEndIndex, endIndex),\n      scopes\n    });\n    this._lastTokenEndIndex = endIndex;\n  }\n  getResult(stack, lineLength) {\n    if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n      this._tokens.pop();\n    }\n    if (this._tokens.length === 0) {\n      this._lastTokenEndIndex = -1;\n      this.produce(stack, lineLength);\n      this._tokens[this._tokens.length - 1].startIndex = 0;\n    }\n    return this._tokens;\n  }\n  getBinaryResult(stack, lineLength) {\n    if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n      this._binaryTokens.pop();\n      this._binaryTokens.pop();\n    }\n    if (this._binaryTokens.length === 0) {\n      this._lastTokenEndIndex = -1;\n      this.produce(stack, lineLength);\n      this._binaryTokens[this._binaryTokens.length - 2] = 0;\n    }\n    const result = new Uint32Array(this._binaryTokens.length);\n    for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n      result[i] = this._binaryTokens[i];\n    }\n    return result;\n  }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n  constructor(theme, _onigLib) {\n    this._onigLib = _onigLib;\n    this._theme = theme;\n  }\n  _grammars = /* @__PURE__ */ new Map();\n  _rawGrammars = /* @__PURE__ */ new Map();\n  _injectionGrammars = /* @__PURE__ */ new Map();\n  _theme;\n  dispose() {\n    for (const grammar of this._grammars.values()) {\n      grammar.dispose();\n    }\n  }\n  setTheme(theme) {\n    this._theme = theme;\n  }\n  getColorMap() {\n    return this._theme.getColorMap();\n  }\n  /**\n   * Add `grammar` to registry and return a list of referenced scope names\n   */\n  addGrammar(grammar, injectionScopeNames) {\n    this._rawGrammars.set(grammar.scopeName, grammar);\n    if (injectionScopeNames) {\n      this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n    }\n  }\n  /**\n   * Lookup a raw grammar.\n   */\n  lookup(scopeName) {\n    return this._rawGrammars.get(scopeName);\n  }\n  /**\n   * Returns the injections for the given grammar\n   */\n  injections(targetScope) {\n    return this._injectionGrammars.get(targetScope);\n  }\n  /**\n   * Get the default theme settings\n   */\n  getDefaults() {\n    return this._theme.getDefaults();\n  }\n  /**\n   * Match a scope in the theme.\n   */\n  themeMatch(scopePath) {\n    return this._theme.match(scopePath);\n  }\n  /**\n   * Lookup a grammar.\n   */\n  grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n    if (!this._grammars.has(scopeName)) {\n      let rawGrammar = this._rawGrammars.get(scopeName);\n      if (!rawGrammar) {\n        return null;\n      }\n      this._grammars.set(scopeName, createGrammar(\n        scopeName,\n        rawGrammar,\n        initialLanguage,\n        embeddedLanguages,\n        tokenTypes,\n        balancedBracketSelectors,\n        this,\n        this._onigLib\n      ));\n    }\n    return this._grammars.get(scopeName);\n  }\n};\n\n// src/index.ts\nvar Registry = class {\n  _options;\n  _syncRegistry;\n  _ensureGrammarCache;\n  constructor(options) {\n    this._options = options;\n    this._syncRegistry = new SyncRegistry(\n      Theme.createFromRawTheme(options.theme, options.colorMap),\n      options.onigLib\n    );\n    this._ensureGrammarCache = /* @__PURE__ */ new Map();\n  }\n  dispose() {\n    this._syncRegistry.dispose();\n  }\n  /**\n   * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n   */\n  setTheme(theme, colorMap) {\n    this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n  }\n  /**\n   * Returns a lookup array for color ids.\n   */\n  getColorMap() {\n    return this._syncRegistry.getColorMap();\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   * Please do not use language id 0.\n   */\n  loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n    return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   * Please do not use language id 0.\n   */\n  loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n    return this._loadGrammar(\n      initialScopeName,\n      initialLanguage,\n      configuration.embeddedLanguages,\n      configuration.tokenTypes,\n      new BalancedBracketSelectors(\n        configuration.balancedBracketSelectors || [],\n        configuration.unbalancedBracketSelectors || []\n      )\n    );\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   */\n  loadGrammar(initialScopeName) {\n    return this._loadGrammar(initialScopeName, 0, null, null, null);\n  }\n  _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n    const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n    while (dependencyProcessor.Q.length > 0) {\n      dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n      dependencyProcessor.processQueue();\n    }\n    return this._grammarForScopeName(\n      initialScopeName,\n      initialLanguage,\n      embeddedLanguages,\n      tokenTypes,\n      balancedBracketSelectors\n    );\n  }\n  _loadSingleGrammar(scopeName) {\n    if (!this._ensureGrammarCache.has(scopeName)) {\n      this._doLoadSingleGrammar(scopeName);\n      this._ensureGrammarCache.set(scopeName, true);\n    }\n  }\n  _doLoadSingleGrammar(scopeName) {\n    const grammar = this._options.loadGrammar(scopeName);\n    if (grammar) {\n      const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n      this._syncRegistry.addGrammar(grammar, injections);\n    }\n  }\n  /**\n   * Adds a rawGrammar.\n   */\n  addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n    this._syncRegistry.addGrammar(rawGrammar, injections);\n    return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n  }\n  /**\n   * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n   */\n  _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n    return this._syncRegistry.grammarForScopeName(\n      scopeName,\n      initialLanguage,\n      embeddedLanguages,\n      tokenTypes,\n      balancedBracketSelectors\n    );\n  }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n  EncodedTokenMetadata,\n  FindOption,\n  FontStyle,\n  INITIAL,\n  Registry,\n  Theme,\n  disposeOnigString\n};\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n  'area',\n  'base',\n  'basefont',\n  'bgsound',\n  'br',\n  'col',\n  'command',\n  'embed',\n  'frame',\n  'hr',\n  'image',\n  'img',\n  'input',\n  'keygen',\n  'link',\n  'meta',\n  'param',\n  'source',\n  'track',\n  'wbr'\n]\n","/**\n * @import {Schema as SchemaType, Space} from 'property-information'\n */\n\n/** @type {SchemaType} */\nexport class Schema {\n  /**\n   * @param {SchemaType['property']} property\n   *   Property.\n   * @param {SchemaType['normal']} normal\n   *   Normal.\n   * @param {Space | undefined} [space]\n   *   Space.\n   * @returns\n   *   Schema.\n   */\n  constructor(property, normal, space) {\n    this.normal = normal\n    this.property = property\n\n    if (space) {\n      this.space = space\n    }\n  }\n}\n\nSchema.prototype.normal = {}\nSchema.prototype.property = {}\nSchema.prototype.space = undefined\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {ReadonlyArray<Schema>} definitions\n *   Definitions.\n * @param {Space | undefined} [space]\n *   Space.\n * @returns {Schema}\n *   Schema.\n */\nexport function merge(definitions, space) {\n  /** @type {Record<string, Info>} */\n  const property = {}\n  /** @type {Record<string, string>} */\n  const normal = {}\n\n  for (const definition of definitions) {\n    Object.assign(property, definition.property)\n    Object.assign(normal, definition.normal)\n  }\n\n  return new Schema(property, normal, space)\n}\n","/**\n * Get the cleaned case insensitive form of an attribute or property.\n *\n * @param {string} value\n *   An attribute-like or property-like name.\n * @returns {string}\n *   Value that can be used to look up the properly cased property on a\n *   `Schema`.\n */\nexport function normalize(value) {\n  return value.toLowerCase()\n}\n","/**\n * @import {Info as InfoType} from 'property-information'\n */\n\n/** @type {InfoType} */\nexport class Info {\n  /**\n   * @param {string} property\n   *   Property.\n   * @param {string} attribute\n   *   Attribute.\n   * @returns\n   *   Info.\n   */\n  constructor(property, attribute) {\n    this.attribute = attribute\n    this.property = property\n  }\n}\n\nInfo.prototype.attribute = ''\nInfo.prototype.booleanish = false\nInfo.prototype.boolean = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.defined = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.number = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.property = ''\nInfo.prototype.spaceSeparated = false\nInfo.prototype.space = undefined\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n  return 2 ** ++powers\n}\n","/**\n * @import {Space} from 'property-information'\n */\n\nimport {Info} from './info.js'\nimport * as types from './types.js'\n\nconst checks = /** @type {ReadonlyArray<keyof typeof types>} */ (\n  Object.keys(types)\n)\n\nexport class DefinedInfo extends Info {\n  /**\n   * @constructor\n   * @param {string} property\n   *   Property.\n   * @param {string} attribute\n   *   Attribute.\n   * @param {number | null | undefined} [mask]\n   *   Mask.\n   * @param {Space | undefined} [space]\n   *   Space.\n   * @returns\n   *   Info.\n   */\n  constructor(property, attribute, mask, space) {\n    let index = -1\n\n    super(property, attribute)\n\n    mark(this, 'space', space)\n\n    if (typeof mask === 'number') {\n      while (++index < checks.length) {\n        const check = checks[index]\n        mark(this, checks[index], (mask & types[check]) === types[check])\n      }\n    }\n  }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @template {keyof DefinedInfo} Key\n *   Key type.\n * @param {DefinedInfo} values\n *   Info.\n * @param {Key} key\n *   Key.\n * @param {DefinedInfo[Key]} value\n *   Value.\n * @returns {undefined}\n *   Nothing.\n */\nfunction mark(values, key, value) {\n  if (value) {\n    values[key] = value\n  }\n}\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\n/**\n * @typedef Definition\n *   Definition of a schema.\n * @property {Record<string, string> | undefined} [attributes]\n *   Normalzed names to special attribute case.\n * @property {ReadonlyArray<string> | undefined} [mustUseProperty]\n *   Normalized names that must be set as properties.\n * @property {Record<string, number | null>} properties\n *   Property names to their types.\n * @property {Space | undefined} [space]\n *   Space.\n * @property {Transform} transform\n *   Transform a property name.\n */\n\n/**\n * @callback Transform\n *   Transform.\n * @param {Record<string, string>} attributes\n *   Attributes.\n * @param {string} property\n *   Property.\n * @returns {string}\n *   Attribute.\n */\n\nimport {normalize} from '../normalize.js'\nimport {DefinedInfo} from './defined-info.js'\nimport {Schema} from './schema.js'\n\n/**\n * @param {Definition} definition\n *   Definition.\n * @returns {Schema}\n *   Schema.\n */\nexport function create(definition) {\n  /** @type {Record<string, Info>} */\n  const properties = {}\n  /** @type {Record<string, string>} */\n  const normals = {}\n\n  for (const [property, value] of Object.entries(definition.properties)) {\n    const info = new DefinedInfo(\n      property,\n      definition.transform(definition.attributes || {}, property),\n      value,\n      definition.space\n    )\n\n    if (\n      definition.mustUseProperty &&\n      definition.mustUseProperty.includes(property)\n    ) {\n      info.mustUseProperty = true\n    }\n\n    properties[property] = info\n\n    normals[normalize(property)] = property\n    normals[normalize(info.attribute)] = property\n  }\n\n  return new Schema(properties, normals, definition.space)\n}\n","import {create} from './util/create.js'\nimport {booleanish, number, spaceSeparated} from './util/types.js'\n\nexport const aria = create({\n  properties: {\n    ariaActiveDescendant: null,\n    ariaAtomic: booleanish,\n    ariaAutoComplete: null,\n    ariaBusy: booleanish,\n    ariaChecked: booleanish,\n    ariaColCount: number,\n    ariaColIndex: number,\n    ariaColSpan: number,\n    ariaControls: spaceSeparated,\n    ariaCurrent: null,\n    ariaDescribedBy: spaceSeparated,\n    ariaDetails: null,\n    ariaDisabled: booleanish,\n    ariaDropEffect: spaceSeparated,\n    ariaErrorMessage: null,\n    ariaExpanded: booleanish,\n    ariaFlowTo: spaceSeparated,\n    ariaGrabbed: booleanish,\n    ariaHasPopup: null,\n    ariaHidden: booleanish,\n    ariaInvalid: null,\n    ariaKeyShortcuts: null,\n    ariaLabel: null,\n    ariaLabelledBy: spaceSeparated,\n    ariaLevel: number,\n    ariaLive: null,\n    ariaModal: booleanish,\n    ariaMultiLine: booleanish,\n    ariaMultiSelectable: booleanish,\n    ariaOrientation: null,\n    ariaOwns: spaceSeparated,\n    ariaPlaceholder: null,\n    ariaPosInSet: number,\n    ariaPressed: booleanish,\n    ariaReadOnly: booleanish,\n    ariaRelevant: null,\n    ariaRequired: booleanish,\n    ariaRoleDescription: spaceSeparated,\n    ariaRowCount: number,\n    ariaRowIndex: number,\n    ariaRowSpan: number,\n    ariaSelected: booleanish,\n    ariaSetSize: number,\n    ariaSort: null,\n    ariaValueMax: number,\n    ariaValueMin: number,\n    ariaValueNow: number,\n    ariaValueText: null,\n    role: null\n  },\n  transform(_, property) {\n    return property === 'role'\n      ? property\n      : 'aria-' + property.slice(4).toLowerCase()\n  }\n})\n","/**\n * @param {Record<string, string>} attributes\n *   Attributes.\n * @param {string} attribute\n *   Attribute.\n * @returns {string}\n *   Transformed attribute.\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n  return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n *   Attributes.\n * @param {string} property\n *   Property.\n * @returns {string}\n *   Transformed property.\n */\nexport function caseInsensitiveTransform(attributes, property) {\n  return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n  booleanish,\n  boolean,\n  commaSeparated,\n  number,\n  overloadedBoolean,\n  spaceSeparated\n} from './util/types.js'\n\nexport const html = create({\n  attributes: {\n    acceptcharset: 'accept-charset',\n    classname: 'class',\n    htmlfor: 'for',\n    httpequiv: 'http-equiv'\n  },\n  mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n  properties: {\n    // Standard Properties.\n    abbr: null,\n    accept: commaSeparated,\n    acceptCharset: spaceSeparated,\n    accessKey: spaceSeparated,\n    action: null,\n    allow: null,\n    allowFullScreen: boolean,\n    allowPaymentRequest: boolean,\n    allowUserMedia: boolean,\n    alt: null,\n    as: null,\n    async: boolean,\n    autoCapitalize: null,\n    autoComplete: spaceSeparated,\n    autoFocus: boolean,\n    autoPlay: boolean,\n    blocking: spaceSeparated,\n    capture: null,\n    charSet: null,\n    checked: boolean,\n    cite: null,\n    className: spaceSeparated,\n    cols: number,\n    colSpan: null,\n    content: null,\n    contentEditable: booleanish,\n    controls: boolean,\n    controlsList: spaceSeparated,\n    coords: number | commaSeparated,\n    crossOrigin: null,\n    data: null,\n    dateTime: null,\n    decoding: null,\n    default: boolean,\n    defer: boolean,\n    dir: null,\n    dirName: null,\n    disabled: boolean,\n    download: overloadedBoolean,\n    draggable: booleanish,\n    encType: null,\n    enterKeyHint: null,\n    fetchPriority: null,\n    form: null,\n    formAction: null,\n    formEncType: null,\n    formMethod: null,\n    formNoValidate: boolean,\n    formTarget: null,\n    headers: spaceSeparated,\n    height: number,\n    hidden: overloadedBoolean,\n    high: number,\n    href: null,\n    hrefLang: null,\n    htmlFor: spaceSeparated,\n    httpEquiv: spaceSeparated,\n    id: null,\n    imageSizes: null,\n    imageSrcSet: null,\n    inert: boolean,\n    inputMode: null,\n    integrity: null,\n    is: null,\n    isMap: boolean,\n    itemId: null,\n    itemProp: spaceSeparated,\n    itemRef: spaceSeparated,\n    itemScope: boolean,\n    itemType: spaceSeparated,\n    kind: null,\n    label: null,\n    lang: null,\n    language: null,\n    list: null,\n    loading: null,\n    loop: boolean,\n    low: number,\n    manifest: null,\n    max: null,\n    maxLength: number,\n    media: null,\n    method: null,\n    min: null,\n    minLength: number,\n    multiple: boolean,\n    muted: boolean,\n    name: null,\n    nonce: null,\n    noModule: boolean,\n    noValidate: boolean,\n    onAbort: null,\n    onAfterPrint: null,\n    onAuxClick: null,\n    onBeforeMatch: null,\n    onBeforePrint: null,\n    onBeforeToggle: null,\n    onBeforeUnload: null,\n    onBlur: null,\n    onCancel: null,\n    onCanPlay: null,\n    onCanPlayThrough: null,\n    onChange: null,\n    onClick: null,\n    onClose: null,\n    onContextLost: null,\n    onContextMenu: null,\n    onContextRestored: null,\n    onCopy: null,\n    onCueChange: null,\n    onCut: null,\n    onDblClick: null,\n    onDrag: null,\n    onDragEnd: null,\n    onDragEnter: null,\n    onDragExit: null,\n    onDragLeave: null,\n    onDragOver: null,\n    onDragStart: null,\n    onDrop: null,\n    onDurationChange: null,\n    onEmptied: null,\n    onEnded: null,\n    onError: null,\n    onFocus: null,\n    onFormData: null,\n    onHashChange: null,\n    onInput: null,\n    onInvalid: null,\n    onKeyDown: null,\n    onKeyPress: null,\n    onKeyUp: null,\n    onLanguageChange: null,\n    onLoad: null,\n    onLoadedData: null,\n    onLoadedMetadata: null,\n    onLoadEnd: null,\n    onLoadStart: null,\n    onMessage: null,\n    onMessageError: null,\n    onMouseDown: null,\n    onMouseEnter: null,\n    onMouseLeave: null,\n    onMouseMove: null,\n    onMouseOut: null,\n    onMouseOver: null,\n    onMouseUp: null,\n    onOffline: null,\n    onOnline: null,\n    onPageHide: null,\n    onPageShow: null,\n    onPaste: null,\n    onPause: null,\n    onPlay: null,\n    onPlaying: null,\n    onPopState: null,\n    onProgress: null,\n    onRateChange: null,\n    onRejectionHandled: null,\n    onReset: null,\n    onResize: null,\n    onScroll: null,\n    onScrollEnd: null,\n    onSecurityPolicyViolation: null,\n    onSeeked: null,\n    onSeeking: null,\n    onSelect: null,\n    onSlotChange: null,\n    onStalled: null,\n    onStorage: null,\n    onSubmit: null,\n    onSuspend: null,\n    onTimeUpdate: null,\n    onToggle: null,\n    onUnhandledRejection: null,\n    onUnload: null,\n    onVolumeChange: null,\n    onWaiting: null,\n    onWheel: null,\n    open: boolean,\n    optimum: number,\n    pattern: null,\n    ping: spaceSeparated,\n    placeholder: null,\n    playsInline: boolean,\n    popover: null,\n    popoverTarget: null,\n    popoverTargetAction: null,\n    poster: null,\n    preload: null,\n    readOnly: boolean,\n    referrerPolicy: null,\n    rel: spaceSeparated,\n    required: boolean,\n    reversed: boolean,\n    rows: number,\n    rowSpan: number,\n    sandbox: spaceSeparated,\n    scope: null,\n    scoped: boolean,\n    seamless: boolean,\n    selected: boolean,\n    shadowRootClonable: boolean,\n    shadowRootDelegatesFocus: boolean,\n    shadowRootMode: null,\n    shape: null,\n    size: number,\n    sizes: null,\n    slot: null,\n    span: number,\n    spellCheck: booleanish,\n    src: null,\n    srcDoc: null,\n    srcLang: null,\n    srcSet: null,\n    start: number,\n    step: null,\n    style: null,\n    tabIndex: number,\n    target: null,\n    title: null,\n    translate: null,\n    type: null,\n    typeMustMatch: boolean,\n    useMap: null,\n    value: booleanish,\n    width: number,\n    wrap: null,\n    writingSuggestions: null,\n\n    // Legacy.\n    // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n    align: null, // Several. Use CSS `text-align` instead,\n    aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n    archive: spaceSeparated, // `<object>`. List of URIs to archives\n    axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n    background: null, // `<body>`. Use CSS `background-image` instead\n    bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n    border: number, // `<table>`. Use CSS `border-width` instead,\n    borderColor: null, // `<table>`. Use CSS `border-color` instead,\n    bottomMargin: number, // `<body>`\n    cellPadding: null, // `<table>`\n    cellSpacing: null, // `<table>`\n    char: null, // Several table elements. When `align=char`, sets the character to align on\n    charOff: null, // Several table elements. When `char`, offsets the alignment\n    classId: null, // `<object>`\n    clear: null, // `<br>`. Use CSS `clear` instead\n    code: null, // `<object>`\n    codeBase: null, // `<object>`\n    codeType: null, // `<object>`\n    color: null, // `<font>` and `<hr>`. Use CSS instead\n    compact: boolean, // Lists. Use CSS to reduce space between items instead\n    declare: boolean, // `<object>`\n    event: null, // `<script>`\n    face: null, // `<font>`. Use CSS instead\n    frame: null, // `<table>`\n    frameBorder: null, // `<iframe>`. Use CSS `border` instead\n    hSpace: number, // `<img>` and `<object>`\n    leftMargin: number, // `<body>`\n    link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n    longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n    lowSrc: null, // `<img>`. Use a `<picture>`\n    marginHeight: number, // `<body>`\n    marginWidth: number, // `<body>`\n    noResize: boolean, // `<frame>`\n    noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n    noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n    noWrap: boolean, // `<td>` and `<th>`\n    object: null, // `<applet>`\n    profile: null, // `<head>`\n    prompt: null, // `<isindex>`\n    rev: null, // `<link>`\n    rightMargin: number, // `<body>`\n    rules: null, // `<table>`\n    scheme: null, // `<meta>`\n    scrolling: booleanish, // `<frame>`. Use overflow in the child context\n    standby: null, // `<object>`\n    summary: null, // `<table>`\n    text: null, // `<body>`. Use CSS `color` instead\n    topMargin: number, // `<body>`\n    valueType: null, // `<param>`\n    version: null, // `<html>`. Use a doctype.\n    vAlign: null, // Several. Use CSS `vertical-align` instead\n    vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n    vSpace: number, // `<img>` and `<object>`\n\n    // Non-standard Properties.\n    allowTransparency: null,\n    autoCorrect: null,\n    autoSave: null,\n    disablePictureInPicture: boolean,\n    disableRemotePlayback: boolean,\n    prefix: null,\n    property: null,\n    results: number,\n    security: null,\n    unselectable: null\n  },\n  space: 'html',\n  transform: caseInsensitiveTransform\n})\n","import {caseSensitiveTransform} from './util/case-sensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n  boolean,\n  commaOrSpaceSeparated,\n  commaSeparated,\n  number,\n  spaceSeparated\n} from './util/types.js'\n\nexport const svg = create({\n  attributes: {\n    accentHeight: 'accent-height',\n    alignmentBaseline: 'alignment-baseline',\n    arabicForm: 'arabic-form',\n    baselineShift: 'baseline-shift',\n    capHeight: 'cap-height',\n    className: 'class',\n    clipPath: 'clip-path',\n    clipRule: 'clip-rule',\n    colorInterpolation: 'color-interpolation',\n    colorInterpolationFilters: 'color-interpolation-filters',\n    colorProfile: 'color-profile',\n    colorRendering: 'color-rendering',\n    crossOrigin: 'crossorigin',\n    dataType: 'datatype',\n    dominantBaseline: 'dominant-baseline',\n    enableBackground: 'enable-background',\n    fillOpacity: 'fill-opacity',\n    fillRule: 'fill-rule',\n    floodColor: 'flood-color',\n    floodOpacity: 'flood-opacity',\n    fontFamily: 'font-family',\n    fontSize: 'font-size',\n    fontSizeAdjust: 'font-size-adjust',\n    fontStretch: 'font-stretch',\n    fontStyle: 'font-style',\n    fontVariant: 'font-variant',\n    fontWeight: 'font-weight',\n    glyphName: 'glyph-name',\n    glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n    glyphOrientationVertical: 'glyph-orientation-vertical',\n    hrefLang: 'hreflang',\n    horizAdvX: 'horiz-adv-x',\n    horizOriginX: 'horiz-origin-x',\n    horizOriginY: 'horiz-origin-y',\n    imageRendering: 'image-rendering',\n    letterSpacing: 'letter-spacing',\n    lightingColor: 'lighting-color',\n    markerEnd: 'marker-end',\n    markerMid: 'marker-mid',\n    markerStart: 'marker-start',\n    navDown: 'nav-down',\n    navDownLeft: 'nav-down-left',\n    navDownRight: 'nav-down-right',\n    navLeft: 'nav-left',\n    navNext: 'nav-next',\n    navPrev: 'nav-prev',\n    navRight: 'nav-right',\n    navUp: 'nav-up',\n    navUpLeft: 'nav-up-left',\n    navUpRight: 'nav-up-right',\n    onAbort: 'onabort',\n    onActivate: 'onactivate',\n    onAfterPrint: 'onafterprint',\n    onBeforePrint: 'onbeforeprint',\n    onBegin: 'onbegin',\n    onCancel: 'oncancel',\n    onCanPlay: 'oncanplay',\n    onCanPlayThrough: 'oncanplaythrough',\n    onChange: 'onchange',\n    onClick: 'onclick',\n    onClose: 'onclose',\n    onCopy: 'oncopy',\n    onCueChange: 'oncuechange',\n    onCut: 'oncut',\n    onDblClick: 'ondblclick',\n    onDrag: 'ondrag',\n    onDragEnd: 'ondragend',\n    onDragEnter: 'ondragenter',\n    onDragExit: 'ondragexit',\n    onDragLeave: 'ondragleave',\n    onDragOver: 'ondragover',\n    onDragStart: 'ondragstart',\n    onDrop: 'ondrop',\n    onDurationChange: 'ondurationchange',\n    onEmptied: 'onemptied',\n    onEnd: 'onend',\n    onEnded: 'onended',\n    onError: 'onerror',\n    onFocus: 'onfocus',\n    onFocusIn: 'onfocusin',\n    onFocusOut: 'onfocusout',\n    onHashChange: 'onhashchange',\n    onInput: 'oninput',\n    onInvalid: 'oninvalid',\n    onKeyDown: 'onkeydown',\n    onKeyPress: 'onkeypress',\n    onKeyUp: 'onkeyup',\n    onLoad: 'onload',\n    onLoadedData: 'onloadeddata',\n    onLoadedMetadata: 'onloadedmetadata',\n    onLoadStart: 'onloadstart',\n    onMessage: 'onmessage',\n    onMouseDown: 'onmousedown',\n    onMouseEnter: 'onmouseenter',\n    onMouseLeave: 'onmouseleave',\n    onMouseMove: 'onmousemove',\n    onMouseOut: 'onmouseout',\n    onMouseOver: 'onmouseover',\n    onMouseUp: 'onmouseup',\n    onMouseWheel: 'onmousewheel',\n    onOffline: 'onoffline',\n    onOnline: 'ononline',\n    onPageHide: 'onpagehide',\n    onPageShow: 'onpageshow',\n    onPaste: 'onpaste',\n    onPause: 'onpause',\n    onPlay: 'onplay',\n    onPlaying: 'onplaying',\n    onPopState: 'onpopstate',\n    onProgress: 'onprogress',\n    onRateChange: 'onratechange',\n    onRepeat: 'onrepeat',\n    onReset: 'onreset',\n    onResize: 'onresize',\n    onScroll: 'onscroll',\n    onSeeked: 'onseeked',\n    onSeeking: 'onseeking',\n    onSelect: 'onselect',\n    onShow: 'onshow',\n    onStalled: 'onstalled',\n    onStorage: 'onstorage',\n    onSubmit: 'onsubmit',\n    onSuspend: 'onsuspend',\n    onTimeUpdate: 'ontimeupdate',\n    onToggle: 'ontoggle',\n    onUnload: 'onunload',\n    onVolumeChange: 'onvolumechange',\n    onWaiting: 'onwaiting',\n    onZoom: 'onzoom',\n    overlinePosition: 'overline-position',\n    overlineThickness: 'overline-thickness',\n    paintOrder: 'paint-order',\n    panose1: 'panose-1',\n    pointerEvents: 'pointer-events',\n    referrerPolicy: 'referrerpolicy',\n    renderingIntent: 'rendering-intent',\n    shapeRendering: 'shape-rendering',\n    stopColor: 'stop-color',\n    stopOpacity: 'stop-opacity',\n    strikethroughPosition: 'strikethrough-position',\n    strikethroughThickness: 'strikethrough-thickness',\n    strokeDashArray: 'stroke-dasharray',\n    strokeDashOffset: 'stroke-dashoffset',\n    strokeLineCap: 'stroke-linecap',\n    strokeLineJoin: 'stroke-linejoin',\n    strokeMiterLimit: 'stroke-miterlimit',\n    strokeOpacity: 'stroke-opacity',\n    strokeWidth: 'stroke-width',\n    tabIndex: 'tabindex',\n    textAnchor: 'text-anchor',\n    textDecoration: 'text-decoration',\n    textRendering: 'text-rendering',\n    transformOrigin: 'transform-origin',\n    typeOf: 'typeof',\n    underlinePosition: 'underline-position',\n    underlineThickness: 'underline-thickness',\n    unicodeBidi: 'unicode-bidi',\n    unicodeRange: 'unicode-range',\n    unitsPerEm: 'units-per-em',\n    vAlphabetic: 'v-alphabetic',\n    vHanging: 'v-hanging',\n    vIdeographic: 'v-ideographic',\n    vMathematical: 'v-mathematical',\n    vectorEffect: 'vector-effect',\n    vertAdvY: 'vert-adv-y',\n    vertOriginX: 'vert-origin-x',\n    vertOriginY: 'vert-origin-y',\n    wordSpacing: 'word-spacing',\n    writingMode: 'writing-mode',\n    xHeight: 'x-height',\n    // These were camelcased in Tiny. Now lowercased in SVG 2\n    playbackOrder: 'playbackorder',\n    timelineBegin: 'timelinebegin'\n  },\n  properties: {\n    about: commaOrSpaceSeparated,\n    accentHeight: number,\n    accumulate: null,\n    additive: null,\n    alignmentBaseline: null,\n    alphabetic: number,\n    amplitude: number,\n    arabicForm: null,\n    ascent: number,\n    attributeName: null,\n    attributeType: null,\n    azimuth: number,\n    bandwidth: null,\n    baselineShift: null,\n    baseFrequency: null,\n    baseProfile: null,\n    bbox: null,\n    begin: null,\n    bias: number,\n    by: null,\n    calcMode: null,\n    capHeight: number,\n    className: spaceSeparated,\n    clip: null,\n    clipPath: null,\n    clipPathUnits: null,\n    clipRule: null,\n    color: null,\n    colorInterpolation: null,\n    colorInterpolationFilters: null,\n    colorProfile: null,\n    colorRendering: null,\n    content: null,\n    contentScriptType: null,\n    contentStyleType: null,\n    crossOrigin: null,\n    cursor: null,\n    cx: null,\n    cy: null,\n    d: null,\n    dataType: null,\n    defaultAction: null,\n    descent: number,\n    diffuseConstant: number,\n    direction: null,\n    display: null,\n    dur: null,\n    divisor: number,\n    dominantBaseline: null,\n    download: boolean,\n    dx: null,\n    dy: null,\n    edgeMode: null,\n    editable: null,\n    elevation: number,\n    enableBackground: null,\n    end: null,\n    event: null,\n    exponent: number,\n    externalResourcesRequired: null,\n    fill: null,\n    fillOpacity: number,\n    fillRule: null,\n    filter: null,\n    filterRes: null,\n    filterUnits: null,\n    floodColor: null,\n    floodOpacity: null,\n    focusable: null,\n    focusHighlight: null,\n    fontFamily: null,\n    fontSize: null,\n    fontSizeAdjust: null,\n    fontStretch: null,\n    fontStyle: null,\n    fontVariant: null,\n    fontWeight: null,\n    format: null,\n    fr: null,\n    from: null,\n    fx: null,\n    fy: null,\n    g1: commaSeparated,\n    g2: commaSeparated,\n    glyphName: commaSeparated,\n    glyphOrientationHorizontal: null,\n    glyphOrientationVertical: null,\n    glyphRef: null,\n    gradientTransform: null,\n    gradientUnits: null,\n    handler: null,\n    hanging: number,\n    hatchContentUnits: null,\n    hatchUnits: null,\n    height: null,\n    href: null,\n    hrefLang: null,\n    horizAdvX: number,\n    horizOriginX: number,\n    horizOriginY: number,\n    id: null,\n    ideographic: number,\n    imageRendering: null,\n    initialVisibility: null,\n    in: null,\n    in2: null,\n    intercept: number,\n    k: number,\n    k1: number,\n    k2: number,\n    k3: number,\n    k4: number,\n    kernelMatrix: commaOrSpaceSeparated,\n    kernelUnitLength: null,\n    keyPoints: null, // SEMI_COLON_SEPARATED\n    keySplines: null, // SEMI_COLON_SEPARATED\n    keyTimes: null, // SEMI_COLON_SEPARATED\n    kerning: null,\n    lang: null,\n    lengthAdjust: null,\n    letterSpacing: null,\n    lightingColor: null,\n    limitingConeAngle: number,\n    local: null,\n    markerEnd: null,\n    markerMid: null,\n    markerStart: null,\n    markerHeight: null,\n    markerUnits: null,\n    markerWidth: null,\n    mask: null,\n    maskContentUnits: null,\n    maskUnits: null,\n    mathematical: null,\n    max: null,\n    media: null,\n    mediaCharacterEncoding: null,\n    mediaContentEncodings: null,\n    mediaSize: number,\n    mediaTime: null,\n    method: null,\n    min: null,\n    mode: null,\n    name: null,\n    navDown: null,\n    navDownLeft: null,\n    navDownRight: null,\n    navLeft: null,\n    navNext: null,\n    navPrev: null,\n    navRight: null,\n    navUp: null,\n    navUpLeft: null,\n    navUpRight: null,\n    numOctaves: null,\n    observer: null,\n    offset: null,\n    onAbort: null,\n    onActivate: null,\n    onAfterPrint: null,\n    onBeforePrint: null,\n    onBegin: null,\n    onCancel: null,\n    onCanPlay: null,\n    onCanPlayThrough: null,\n    onChange: null,\n    onClick: null,\n    onClose: null,\n    onCopy: null,\n    onCueChange: null,\n    onCut: null,\n    onDblClick: null,\n    onDrag: null,\n    onDragEnd: null,\n    onDragEnter: null,\n    onDragExit: null,\n    onDragLeave: null,\n    onDragOver: null,\n    onDragStart: null,\n    onDrop: null,\n    onDurationChange: null,\n    onEmptied: null,\n    onEnd: null,\n    onEnded: null,\n    onError: null,\n    onFocus: null,\n    onFocusIn: null,\n    onFocusOut: null,\n    onHashChange: null,\n    onInput: null,\n    onInvalid: null,\n    onKeyDown: null,\n    onKeyPress: null,\n    onKeyUp: null,\n    onLoad: null,\n    onLoadedData: null,\n    onLoadedMetadata: null,\n    onLoadStart: null,\n    onMessage: null,\n    onMouseDown: null,\n    onMouseEnter: null,\n    onMouseLeave: null,\n    onMouseMove: null,\n    onMouseOut: null,\n    onMouseOver: null,\n    onMouseUp: null,\n    onMouseWheel: null,\n    onOffline: null,\n    onOnline: null,\n    onPageHide: null,\n    onPageShow: null,\n    onPaste: null,\n    onPause: null,\n    onPlay: null,\n    onPlaying: null,\n    onPopState: null,\n    onProgress: null,\n    onRateChange: null,\n    onRepeat: null,\n    onReset: null,\n    onResize: null,\n    onScroll: null,\n    onSeeked: null,\n    onSeeking: null,\n    onSelect: null,\n    onShow: null,\n    onStalled: null,\n    onStorage: null,\n    onSubmit: null,\n    onSuspend: null,\n    onTimeUpdate: null,\n    onToggle: null,\n    onUnload: null,\n    onVolumeChange: null,\n    onWaiting: null,\n    onZoom: null,\n    opacity: null,\n    operator: null,\n    order: null,\n    orient: null,\n    orientation: null,\n    origin: null,\n    overflow: null,\n    overlay: null,\n    overlinePosition: number,\n    overlineThickness: number,\n    paintOrder: null,\n    panose1: null,\n    path: null,\n    pathLength: number,\n    patternContentUnits: null,\n    patternTransform: null,\n    patternUnits: null,\n    phase: null,\n    ping: spaceSeparated,\n    pitch: null,\n    playbackOrder: null,\n    pointerEvents: null,\n    points: null,\n    pointsAtX: number,\n    pointsAtY: number,\n    pointsAtZ: number,\n    preserveAlpha: null,\n    preserveAspectRatio: null,\n    primitiveUnits: null,\n    propagate: null,\n    property: commaOrSpaceSeparated,\n    r: null,\n    radius: null,\n    referrerPolicy: null,\n    refX: null,\n    refY: null,\n    rel: commaOrSpaceSeparated,\n    rev: commaOrSpaceSeparated,\n    renderingIntent: null,\n    repeatCount: null,\n    repeatDur: null,\n    requiredExtensions: commaOrSpaceSeparated,\n    requiredFeatures: commaOrSpaceSeparated,\n    requiredFonts: commaOrSpaceSeparated,\n    requiredFormats: commaOrSpaceSeparated,\n    resource: null,\n    restart: null,\n    result: null,\n    rotate: null,\n    rx: null,\n    ry: null,\n    scale: null,\n    seed: null,\n    shapeRendering: null,\n    side: null,\n    slope: null,\n    snapshotTime: null,\n    specularConstant: number,\n    specularExponent: number,\n    spreadMethod: null,\n    spacing: null,\n    startOffset: null,\n    stdDeviation: null,\n    stemh: null,\n    stemv: null,\n    stitchTiles: null,\n    stopColor: null,\n    stopOpacity: null,\n    strikethroughPosition: number,\n    strikethroughThickness: number,\n    string: null,\n    stroke: null,\n    strokeDashArray: commaOrSpaceSeparated,\n    strokeDashOffset: null,\n    strokeLineCap: null,\n    strokeLineJoin: null,\n    strokeMiterLimit: number,\n    strokeOpacity: number,\n    strokeWidth: null,\n    style: null,\n    surfaceScale: number,\n    syncBehavior: null,\n    syncBehaviorDefault: null,\n    syncMaster: null,\n    syncTolerance: null,\n    syncToleranceDefault: null,\n    systemLanguage: commaOrSpaceSeparated,\n    tabIndex: number,\n    tableValues: null,\n    target: null,\n    targetX: number,\n    targetY: number,\n    textAnchor: null,\n    textDecoration: null,\n    textRendering: null,\n    textLength: null,\n    timelineBegin: null,\n    title: null,\n    transformBehavior: null,\n    type: null,\n    typeOf: commaOrSpaceSeparated,\n    to: null,\n    transform: null,\n    transformOrigin: null,\n    u1: null,\n    u2: null,\n    underlinePosition: number,\n    underlineThickness: number,\n    unicode: null,\n    unicodeBidi: null,\n    unicodeRange: null,\n    unitsPerEm: number,\n    values: null,\n    vAlphabetic: number,\n    vMathematical: number,\n    vectorEffect: null,\n    vHanging: number,\n    vIdeographic: number,\n    version: null,\n    vertAdvY: number,\n    vertOriginX: number,\n    vertOriginY: number,\n    viewBox: null,\n    viewTarget: null,\n    visibility: null,\n    width: null,\n    widths: null,\n    wordSpacing: null,\n    writingMode: null,\n    x: null,\n    x1: null,\n    x2: null,\n    xChannelSelector: null,\n    xHeight: number,\n    y: null,\n    y1: null,\n    y2: null,\n    yChannelSelector: null,\n    z: null,\n    zoomAndPan: null\n  },\n  space: 'svg',\n  transform: caseSensitiveTransform\n})\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n  properties: {\n    xLinkActuate: null,\n    xLinkArcRole: null,\n    xLinkHref: null,\n    xLinkRole: null,\n    xLinkShow: null,\n    xLinkTitle: null,\n    xLinkType: null\n  },\n  space: 'xlink',\n  transform(_, property) {\n    return 'xlink:' + property.slice(5).toLowerCase()\n  }\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n  attributes: {xmlnsxlink: 'xmlns:xlink'},\n  properties: {xmlnsXLink: null, xmlns: null},\n  space: 'xmlns',\n  transform: caseInsensitiveTransform\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n  properties: {xmlBase: null, xmlLang: null, xmlSpace: null},\n  space: 'xml',\n  transform(_, property) {\n    return 'xml:' + property.slice(3).toLowerCase()\n  }\n})\n","/**\n * @import {Schema} from 'property-information'\n */\n\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\nimport {normalize} from './normalize.js'\n\nconst cap = /[A-Z]/g\nconst dash = /-[a-z]/g\nconst valid = /^data[-\\w.:]+$/i\n\n/**\n * Look up info on a property.\n *\n * In most cases the given `schema` contains info on the property.\n * All standard,\n * most legacy,\n * and some non-standard properties are supported.\n * For these cases,\n * the returned `Info` has hints about the value of the property.\n *\n * `name` can also be a valid data attribute or property,\n * in which case an `Info` object with the correctly cased `attribute` and\n * `property` is returned.\n *\n * `name` can be an unknown attribute,\n * in which case an `Info` object with `attribute` and `property` set to the\n * given name is returned.\n * It is not recommended to provide unsupported legacy or recently specced\n * properties.\n *\n *\n * @param {Schema} schema\n *   Schema;\n *   either the `html` or `svg` export.\n * @param {string} value\n *   An attribute-like or property-like name;\n *   it will be passed through `normalize` to hopefully find the correct info.\n * @returns {Info}\n *   Info.\n */\nexport function find(schema, value) {\n  const normal = normalize(value)\n  let property = value\n  let Type = Info\n\n  if (normal in schema.normal) {\n    return schema.property[schema.normal[normal]]\n  }\n\n  if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n    // Attribute or property.\n    if (value.charAt(4) === '-') {\n      // Turn it into a property.\n      const rest = value.slice(5).replace(dash, camelcase)\n      property = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n    } else {\n      // Turn it into an attribute.\n      const rest = value.slice(4)\n\n      if (!dash.test(rest)) {\n        let dashes = rest.replace(cap, kebab)\n\n        if (dashes.charAt(0) !== '-') {\n          dashes = '-' + dashes\n        }\n\n        value = 'data' + dashes\n      }\n    }\n\n    Type = DefinedInfo\n  }\n\n  return new Type(property, value)\n}\n\n/**\n * @param {string} $0\n *   Value.\n * @returns {string}\n *   Kebab.\n */\nfunction kebab($0) {\n  return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n *   Value.\n * @returns {string}\n *   Camel.\n */\nfunction camelcase($0) {\n  return $0.charAt(1).toUpperCase()\n}\n","// Note: types exposed from `index.d.ts`.\nimport {merge} from './lib/util/merge.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\nimport {xlink} from './lib/xlink.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {xml} from './lib/xml.js'\n\nexport {hastToReact} from './lib/hast-to-react.js'\n\nexport const html = merge([aria, htmlBase, xlink, xmlns, xml], 'html')\n\nexport {find} from './lib/find.js'\nexport {normalize} from './lib/normalize.js'\n\nexport const svg = merge([aria, svgBase, xlink, xmlns, xml], 'svg')\n","/**\n * @callback Handler\n *   Handle a value, with a certain ID field set to a certain value.\n *   The ID field is passed to `zwitch`, and it’s value is this function’s\n *   place on the `handlers` record.\n * @param {...any} parameters\n *   Arbitrary parameters passed to the zwitch.\n *   The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n *   Anything!\n */\n\n/**\n * @callback UnknownHandler\n *   Handle values that do have a certain ID field, but it’s set to a value\n *   that is not listed in the `handlers` record.\n * @param {unknown} value\n *   An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n *   Arbitrary parameters passed to the zwitch.\n * @returns {any}\n *   Anything!\n */\n\n/**\n * @callback InvalidHandler\n *   Handle values that do not have a certain ID field.\n * @param {unknown} value\n *   Any unknown value.\n * @param {...any} rest\n *   Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n *   This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n *   Configuration (required).\n * @property {Invalid} [invalid]\n *   Handler to use for invalid values.\n * @property {Unknown} [unknown]\n *   Handler to use for unknown values.\n * @property {Handlers} [handlers]\n *   Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n *   Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n *   Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n  const settings = options || {}\n\n  /**\n   * Handle one value.\n   *\n   * Based on the bound `key`, a respective handler will be called.\n   * If `value` is not an object, or doesn’t have a `key` property, the special\n   * “invalid” handler will be called.\n   * If `value` has an unknown `key`, the special “unknown” handler will be\n   * called.\n   *\n   * All arguments, and the context object, are passed through to the handler,\n   * and it’s result is returned.\n   *\n   * @this {unknown}\n   *   Any context object.\n   * @param {unknown} [value]\n   *   Any value.\n   * @param {...unknown} parameters\n   *   Arbitrary parameters passed to the zwitch.\n   * @property {Handler} invalid\n   *   Handle for values that do not have a certain ID field.\n   * @property {Handler} unknown\n   *   Handle values that do have a certain ID field, but it’s set to a value\n   *   that is not listed in the `handlers` record.\n   * @property {Handlers} handlers\n   *   Record of handlers.\n   * @returns {unknown}\n   *   Anything.\n   */\n  function one(value, ...parameters) {\n    /** @type {Handler|undefined} */\n    let fn = one.invalid\n    const handlers = one.handlers\n\n    if (value && own.call(value, key)) {\n      // @ts-expect-error Indexable.\n      const id = String(value[key])\n      // @ts-expect-error Indexable.\n      fn = own.call(handlers, id) ? handlers[id] : one.unknown\n    }\n\n    if (fn) {\n      return fn.call(this, value, ...parameters)\n    }\n  }\n\n  one.handlers = settings.handlers || {}\n  one.invalid = settings.invalid\n  one.unknown = settings.unknown\n\n  // @ts-expect-error: matches!\n  return one\n}\n","/**\n * @typedef CoreOptions\n * @property {ReadonlyArray<string>} [subset=[]]\n *   Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n *   Whether to only escape possibly dangerous characters.\n *   Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n *   Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\nconst defaultSubsetRegex = /[\"&'<>`]/g\nconst surrogatePairsRegex = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g\nconst controlCharactersRegex =\n  // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n  /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g\nconst regexEscapeRegex = /[|\\\\{}()[\\]^$+*?.]/g\n\n/** @type {WeakMap<ReadonlyArray<string>, RegExp>} */\nconst subsetToRegexCache = new WeakMap()\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n  value = value.replace(\n    options.subset\n      ? charactersToExpressionCached(options.subset)\n      : defaultSubsetRegex,\n    basic\n  )\n\n  if (options.subset || options.escapeOnly) {\n    return value\n  }\n\n  return (\n    value\n      // Surrogate pairs.\n      .replace(surrogatePairsRegex, surrogate)\n      // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n      // non-ASCII ones).\n      .replace(controlCharactersRegex, basic)\n  )\n\n  /**\n   * @param {string} pair\n   * @param {number} index\n   * @param {string} all\n   */\n  function surrogate(pair, index, all) {\n    return options.format(\n      (pair.charCodeAt(0) - 0xd800) * 0x400 +\n        pair.charCodeAt(1) -\n        0xdc00 +\n        0x10000,\n      all.charCodeAt(index + 2),\n      options\n    )\n  }\n\n  /**\n   * @param {string} character\n   * @param {number} index\n   * @param {string} all\n   */\n  function basic(character, index, all) {\n    return options.format(\n      character.charCodeAt(0),\n      all.charCodeAt(index + 1),\n      options\n    )\n  }\n}\n\n/**\n * A wrapper function that caches the result of `charactersToExpression` with a WeakMap.\n * This can improve performance when tooling calls `charactersToExpression` repeatedly\n * with the same subset.\n *\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpressionCached(subset) {\n  let cached = subsetToRegexCache.get(subset)\n\n  if (!cached) {\n    cached = charactersToExpression(subset)\n    subsetToRegexCache.set(subset, cached)\n  }\n\n  return cached\n}\n\n/**\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n  /** @type {Array<string>} */\n  const groups = []\n  let index = -1\n\n  while (++index < subset.length) {\n    groups.push(subset[index].replace(regexEscapeRegex, '\\\\$&'))\n  }\n\n  return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n","const hexadecimalRegex = /[\\dA-Fa-f]/\n\n/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n  const value = '&#x' + code.toString(16).toUpperCase()\n  return omit && next && !hexadecimalRegex.test(String.fromCharCode(next))\n    ? value\n    : value + ';'\n}\n","const decimalRegex = /\\d/\n\n/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n  const value = '&#' + String(code)\n  return omit && next && !decimalRegex.test(String.fromCharCode(next))\n    ? value\n    : value + ';'\n}\n","/**\n * List of legacy HTML named character references that don’t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n  'AElig',\n  'AMP',\n  'Aacute',\n  'Acirc',\n  'Agrave',\n  'Aring',\n  'Atilde',\n  'Auml',\n  'COPY',\n  'Ccedil',\n  'ETH',\n  'Eacute',\n  'Ecirc',\n  'Egrave',\n  'Euml',\n  'GT',\n  'Iacute',\n  'Icirc',\n  'Igrave',\n  'Iuml',\n  'LT',\n  'Ntilde',\n  'Oacute',\n  'Ocirc',\n  'Ograve',\n  'Oslash',\n  'Otilde',\n  'Ouml',\n  'QUOT',\n  'REG',\n  'THORN',\n  'Uacute',\n  'Ucirc',\n  'Ugrave',\n  'Uuml',\n  'Yacute',\n  'aacute',\n  'acirc',\n  'acute',\n  'aelig',\n  'agrave',\n  'amp',\n  'aring',\n  'atilde',\n  'auml',\n  'brvbar',\n  'ccedil',\n  'cedil',\n  'cent',\n  'copy',\n  'curren',\n  'deg',\n  'divide',\n  'eacute',\n  'ecirc',\n  'egrave',\n  'eth',\n  'euml',\n  'frac12',\n  'frac14',\n  'frac34',\n  'gt',\n  'iacute',\n  'icirc',\n  'iexcl',\n  'igrave',\n  'iquest',\n  'iuml',\n  'laquo',\n  'lt',\n  'macr',\n  'micro',\n  'middot',\n  'nbsp',\n  'not',\n  'ntilde',\n  'oacute',\n  'ocirc',\n  'ograve',\n  'ordf',\n  'ordm',\n  'oslash',\n  'otilde',\n  'ouml',\n  'para',\n  'plusmn',\n  'pound',\n  'quot',\n  'raquo',\n  'reg',\n  'sect',\n  'shy',\n  'sup1',\n  'sup2',\n  'sup3',\n  'szlig',\n  'thorn',\n  'times',\n  'uacute',\n  'ucirc',\n  'ugrave',\n  'uml',\n  'uuml',\n  'yacute',\n  'yen',\n  'yuml'\n]\n","/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n  nbsp: ' ',\n  iexcl: '¡',\n  cent: '¢',\n  pound: '£',\n  curren: '¤',\n  yen: '¥',\n  brvbar: '¦',\n  sect: '§',\n  uml: '¨',\n  copy: '©',\n  ordf: 'ª',\n  laquo: '«',\n  not: '¬',\n  shy: '­',\n  reg: '®',\n  macr: '¯',\n  deg: '°',\n  plusmn: '±',\n  sup2: '²',\n  sup3: '³',\n  acute: '´',\n  micro: 'µ',\n  para: '¶',\n  middot: '·',\n  cedil: '¸',\n  sup1: '¹',\n  ordm: 'º',\n  raquo: '»',\n  frac14: '¼',\n  frac12: '½',\n  frac34: '¾',\n  iquest: '¿',\n  Agrave: 'À',\n  Aacute: 'Á',\n  Acirc: 'Â',\n  Atilde: 'Ã',\n  Auml: 'Ä',\n  Aring: 'Å',\n  AElig: 'Æ',\n  Ccedil: 'Ç',\n  Egrave: 'È',\n  Eacute: 'É',\n  Ecirc: 'Ê',\n  Euml: 'Ë',\n  Igrave: 'Ì',\n  Iacute: 'Í',\n  Icirc: 'Î',\n  Iuml: 'Ï',\n  ETH: 'Ð',\n  Ntilde: 'Ñ',\n  Ograve: 'Ò',\n  Oacute: 'Ó',\n  Ocirc: 'Ô',\n  Otilde: 'Õ',\n  Ouml: 'Ö',\n  times: '×',\n  Oslash: 'Ø',\n  Ugrave: 'Ù',\n  Uacute: 'Ú',\n  Ucirc: 'Û',\n  Uuml: 'Ü',\n  Yacute: 'Ý',\n  THORN: 'Þ',\n  szlig: 'ß',\n  agrave: 'à',\n  aacute: 'á',\n  acirc: 'â',\n  atilde: 'ã',\n  auml: 'ä',\n  aring: 'å',\n  aelig: 'æ',\n  ccedil: 'ç',\n  egrave: 'è',\n  eacute: 'é',\n  ecirc: 'ê',\n  euml: 'ë',\n  igrave: 'ì',\n  iacute: 'í',\n  icirc: 'î',\n  iuml: 'ï',\n  eth: 'ð',\n  ntilde: 'ñ',\n  ograve: 'ò',\n  oacute: 'ó',\n  ocirc: 'ô',\n  otilde: 'õ',\n  ouml: 'ö',\n  divide: '÷',\n  oslash: 'ø',\n  ugrave: 'ù',\n  uacute: 'ú',\n  ucirc: 'û',\n  uuml: 'ü',\n  yacute: 'ý',\n  thorn: 'þ',\n  yuml: 'ÿ',\n  fnof: 'ƒ',\n  Alpha: 'Α',\n  Beta: 'Β',\n  Gamma: 'Γ',\n  Delta: 'Δ',\n  Epsilon: 'Ε',\n  Zeta: 'Ζ',\n  Eta: 'Η',\n  Theta: 'Θ',\n  Iota: 'Ι',\n  Kappa: 'Κ',\n  Lambda: 'Λ',\n  Mu: 'Μ',\n  Nu: 'Ν',\n  Xi: 'Ξ',\n  Omicron: 'Ο',\n  Pi: 'Π',\n  Rho: 'Ρ',\n  Sigma: 'Σ',\n  Tau: 'Τ',\n  Upsilon: 'Υ',\n  Phi: 'Φ',\n  Chi: 'Χ',\n  Psi: 'Ψ',\n  Omega: 'Ω',\n  alpha: 'α',\n  beta: 'β',\n  gamma: 'γ',\n  delta: 'δ',\n  epsilon: 'ε',\n  zeta: 'ζ',\n  eta: 'η',\n  theta: 'θ',\n  iota: 'ι',\n  kappa: 'κ',\n  lambda: 'λ',\n  mu: 'μ',\n  nu: 'ν',\n  xi: 'ξ',\n  omicron: 'ο',\n  pi: 'π',\n  rho: 'ρ',\n  sigmaf: 'ς',\n  sigma: 'σ',\n  tau: 'τ',\n  upsilon: 'υ',\n  phi: 'φ',\n  chi: 'χ',\n  psi: 'ψ',\n  omega: 'ω',\n  thetasym: 'ϑ',\n  upsih: 'ϒ',\n  piv: 'ϖ',\n  bull: '•',\n  hellip: '…',\n  prime: '′',\n  Prime: '″',\n  oline: '‾',\n  frasl: '⁄',\n  weierp: '℘',\n  image: 'ℑ',\n  real: 'ℜ',\n  trade: '™',\n  alefsym: 'ℵ',\n  larr: '←',\n  uarr: '↑',\n  rarr: '→',\n  darr: '↓',\n  harr: '↔',\n  crarr: '↵',\n  lArr: '⇐',\n  uArr: '⇑',\n  rArr: '⇒',\n  dArr: '⇓',\n  hArr: '⇔',\n  forall: '∀',\n  part: '∂',\n  exist: '∃',\n  empty: '∅',\n  nabla: '∇',\n  isin: '∈',\n  notin: '∉',\n  ni: '∋',\n  prod: '∏',\n  sum: '∑',\n  minus: '−',\n  lowast: '∗',\n  radic: '√',\n  prop: '∝',\n  infin: '∞',\n  ang: '∠',\n  and: '∧',\n  or: '∨',\n  cap: '∩',\n  cup: '∪',\n  int: '∫',\n  there4: '∴',\n  sim: '∼',\n  cong: '≅',\n  asymp: '≈',\n  ne: '≠',\n  equiv: '≡',\n  le: '≤',\n  ge: '≥',\n  sub: '⊂',\n  sup: '⊃',\n  nsub: '⊄',\n  sube: '⊆',\n  supe: '⊇',\n  oplus: '⊕',\n  otimes: '⊗',\n  perp: '⊥',\n  sdot: '⋅',\n  lceil: '⌈',\n  rceil: '⌉',\n  lfloor: '⌊',\n  rfloor: '⌋',\n  lang: '〈',\n  rang: '〉',\n  loz: '◊',\n  spades: '♠',\n  clubs: '♣',\n  hearts: '♥',\n  diams: '♦',\n  quot: '\"',\n  amp: '&',\n  lt: '<',\n  gt: '>',\n  OElig: 'Œ',\n  oelig: 'œ',\n  Scaron: 'Š',\n  scaron: 'š',\n  Yuml: 'Ÿ',\n  circ: 'ˆ',\n  tilde: '˜',\n  ensp: ' ',\n  emsp: ' ',\n  thinsp: ' ',\n  zwnj: '‌',\n  zwj: '‍',\n  lrm: '‎',\n  rlm: '‏',\n  ndash: '–',\n  mdash: '—',\n  lsquo: '‘',\n  rsquo: '’',\n  sbquo: '‚',\n  ldquo: '“',\n  rdquo: '”',\n  bdquo: '„',\n  dagger: '†',\n  Dagger: '‡',\n  permil: '‰',\n  lsaquo: '‹',\n  rsaquo: '›',\n  euro: '€'\n}\n","/**\n * List of legacy (that don’t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n  'cent',\n  'copy',\n  'divide',\n  'gt',\n  'lt',\n  'not',\n  'para',\n  'times'\n]\n","import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n  if (own.call(characterEntitiesHtml4, key)) {\n    characters[characterEntitiesHtml4[key]] = key\n  }\n}\n\nconst notAlphanumericRegex = /[^\\dA-Za-z]/\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n  const character = String.fromCharCode(code)\n\n  if (own.call(characters, character)) {\n    const name = characters[character]\n    const value = '&' + name\n\n    if (\n      omit &&\n      characterEntitiesLegacy.includes(name) &&\n      !dangerous.includes(name) &&\n      (!attribute ||\n        (next &&\n          next !== 61 /* `=` */ &&\n          notAlphanumericRegex.test(String.fromCharCode(next))))\n    ) {\n      return value\n    }\n\n    return value + ';'\n  }\n\n  return ''\n}\n","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n *   Prefer named character references (`&amp;`) where possible.\n * @property {boolean} [useShortestReferences=false]\n *   Prefer the shortest possible reference, if that results in less bytes.\n *   **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n *   Whether to omit semicolons when possible.\n *   **Note**: This creates what HTML calls “parse errors” but is otherwise still valid HTML — don’t use this except when building a minifier.\n *   Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n *   Create character references which don’t fail in attributes.\n *   **Note**: `attribute` only applies when operating dangerously with\n *   `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n  let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n  /** @type {string|undefined} */\n  let named\n\n  if (options.useNamedReferences || options.useShortestReferences) {\n    named = toNamed(\n      code,\n      next,\n      options.omitOptionalSemicolons,\n      options.attribute\n    )\n  }\n\n  // Use the shortest numeric reference when requested.\n  // A simple algorithm would use decimal for all code points under 100, as\n  // those are shorter than hexadecimal:\n  //\n  // * `&#99;` vs `&#x63;` (decimal shorter)\n  // * `&#100;` vs `&#x64;` (equal)\n  //\n  // However, because we take `next` into consideration when `omit` is used,\n  // And it would be possible that decimals are shorter on bigger values as\n  // well if `next` is hexadecimal but not decimal, we instead compare both.\n  if (\n    (options.useShortestReferences || !named) &&\n    options.useShortestReferences\n  ) {\n    const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n    if (decimal.length < numeric.length) {\n      numeric = decimal\n    }\n  }\n\n  return named &&\n    (!options.useShortestReferences || named.length < numeric.length)\n    ? named\n    : numeric\n}\n","/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n *   Value to encode.\n * @param {Options} [options]\n *   Configuration.\n * @returns {string}\n *   Encoded value.\n */\nexport function stringifyEntities(value, options) {\n  return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n *   Value to encode.\n * @param {LightOptions} [options]\n *   Configuration.\n * @returns {string}\n *   Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n  return core(value, Object.assign({format: formatBasic}, options))\n}\n","/**\n * @import {Comment, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\nconst htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g\n\n// Declare arrays as variables so it can be cached by `stringifyEntities`\nconst bogusCommentEntitySubset = ['>']\nconst commentEntitySubset = ['<', '>']\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n *   Node to handle.\n * @param {number | undefined} _1\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _2\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n  // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n  return state.settings.bogusComments\n    ? '<?' +\n        stringifyEntities(\n          node.value,\n          Object.assign({}, state.settings.characterReferences, {\n            subset: bogusCommentEntitySubset\n          })\n        ) +\n        '>'\n    : '<!--' + node.value.replace(htmlCommentRegex, encode) + '-->'\n\n  /**\n   * @param {string} $0\n   */\n  function encode($0) {\n    return stringifyEntities(\n      $0,\n      Object.assign({}, state.settings.characterReferences, {\n        subset: commentEntitySubset\n      })\n    )\n  }\n}\n","/**\n * @import {Doctype, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {Doctype} _1\n *   Node to handle.\n * @param {number | undefined} _2\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _3\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n  return (\n    '<!' +\n    (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n    (state.settings.tightDoctype ? '' : ' ') +\n    'html>'\n  )\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n *   Value to search in.\n * @param {string} character\n *   Character (or substring) to look for.\n * @return {number}\n *   Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n  const source = String(value)\n\n  if (typeof character !== 'string') {\n    throw new TypeError('Expected character')\n  }\n\n  let count = 0\n  let index = source.indexOf(character)\n\n  while (index !== -1) {\n    count++\n    index = source.indexOf(character, index + character.length)\n  }\n\n  return count\n}\n","/**\n * @typedef Options\n *   Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n *   Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n *   Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n *   Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n *   Comma-separated tokens.\n * @returns {Array<string>}\n *   List of tokens.\n */\nexport function parse(value) {\n  /** @type {Array<string>} */\n  const tokens = []\n  const input = String(value || '')\n  let index = input.indexOf(',')\n  let start = 0\n  /** @type {boolean} */\n  let end = false\n\n  while (!end) {\n    if (index === -1) {\n      index = input.length\n      end = true\n    }\n\n    const token = input.slice(start, index).trim()\n\n    if (token || !end) {\n      tokens.push(token)\n    }\n\n    start = index + 1\n    index = input.indexOf(',', start)\n  }\n\n  return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n *   List of tokens.\n * @param {Options} [options]\n *   Configuration for `stringify` (optional).\n * @returns {string}\n *   Comma-separated tokens.\n */\nexport function stringify(values, options) {\n  const settings = options || {}\n\n  // Ensure the last empty entry is seen.\n  const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n  return input\n    .join(\n      (settings.padRight ? ' ' : '') +\n        ',' +\n        (settings.padLeft === false ? '' : ' ')\n    )\n    .trim()\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n *   Space-separated tokens.\n * @returns {Array<string>}\n *   List of tokens.\n */\nexport function parse(value) {\n  const input = String(value || '').trim()\n  return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n *   List of tokens.\n * @returns {string}\n *   Space-separated tokens.\n */\nexport function stringify(values) {\n  return values.join(' ').trim()\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See <https://infra.spec.whatwg.org/#ascii-whitespace>.\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n *   Thing to check (`Node` or `string`).\n * @returns {boolean}\n *   Whether the `value` is inter-element whitespace (`boolean`): consisting of\n *   zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n *   (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n *   whose `value` field is checked.\n */\nexport function whitespace(thing) {\n  return typeof thing === 'object'\n    ? thing.type === 'text'\n      ? empty(thing.value)\n      : false\n    : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n  return value.replace(re, '') === ''\n}\n","/**\n * @import {Parents, RootContent} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/** @type {Array<RootContent>} */\nconst emptyChildren = []\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n  return sibling\n\n  /**\n   * Find applicable siblings in a direction.\n   *\n   * @template {Parents} Parent\n   *   Parent type.\n   * @param {Parent | undefined} parent\n   *   Parent.\n   * @param {number | undefined} index\n   *   Index of child in `parent`.\n   * @param {boolean | undefined} [includeWhitespace=false]\n   *   Whether to include whitespace (default: `false`).\n   * @returns {Parent extends {children: Array<infer Child>} ? Child | undefined : never}\n   *   Child of parent.\n   */\n  function sibling(parent, index, includeWhitespace) {\n    const siblings = parent ? parent.children : emptyChildren\n    let offset = (index || 0) + increment\n    let next = siblings[offset]\n\n    if (!includeWhitespace) {\n      while (next && whitespace(next)) {\n        offset += increment\n        next = siblings[offset]\n      }\n    }\n\n    // @ts-expect-error: it’s a correct child.\n    return next\n  }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\n/**\n * @callback OmitHandle\n *   Check if a tag can be omitted.\n * @param {Element} element\n *   Element to check.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether to omit a tag.\n *\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n *   Omission handlers, where each key is a tag name, and each value is the\n *   corresponding handler.\n * @returns {OmitHandle}\n *   Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n  return omit\n\n  /**\n   * Check if a given node can have a tag omitted.\n   *\n   * @type {OmitHandle}\n   */\n  function omit(node, index, parent) {\n    return (\n      own.call(handlers, node.tagName) &&\n      handlers[node.tagName](node, index, parent)\n    )\n  }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n  body,\n  caption: headOrColgroupOrCaption,\n  colgroup: headOrColgroupOrCaption,\n  dd,\n  dt,\n  head: headOrColgroupOrCaption,\n  html,\n  li,\n  optgroup,\n  option,\n  p,\n  rp: rubyElement,\n  rt: rubyElement,\n  tbody,\n  td: cells,\n  tfoot,\n  th: cells,\n  thead,\n  tr\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n  const next = siblingAfter(parent, index, true)\n  return (\n    !next ||\n    (next.type !== 'comment' &&\n      !(next.type === 'text' && whitespace(next.value.charAt(0))))\n  )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction p(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return next\n    ? next.type === 'element' &&\n        (next.tagName === 'address' ||\n          next.tagName === 'article' ||\n          next.tagName === 'aside' ||\n          next.tagName === 'blockquote' ||\n          next.tagName === 'details' ||\n          next.tagName === 'div' ||\n          next.tagName === 'dl' ||\n          next.tagName === 'fieldset' ||\n          next.tagName === 'figcaption' ||\n          next.tagName === 'figure' ||\n          next.tagName === 'footer' ||\n          next.tagName === 'form' ||\n          next.tagName === 'h1' ||\n          next.tagName === 'h2' ||\n          next.tagName === 'h3' ||\n          next.tagName === 'h4' ||\n          next.tagName === 'h5' ||\n          next.tagName === 'h6' ||\n          next.tagName === 'header' ||\n          next.tagName === 'hgroup' ||\n          next.tagName === 'hr' ||\n          next.tagName === 'main' ||\n          next.tagName === 'menu' ||\n          next.tagName === 'nav' ||\n          next.tagName === 'ol' ||\n          next.tagName === 'p' ||\n          next.tagName === 'pre' ||\n          next.tagName === 'section' ||\n          next.tagName === 'table' ||\n          next.tagName === 'ul')\n    : !parent ||\n        // Confusing parent.\n        !(\n          parent.type === 'element' &&\n          (parent.tagName === 'a' ||\n            parent.tagName === 'audio' ||\n            parent.tagName === 'del' ||\n            parent.tagName === 'ins' ||\n            parent.tagName === 'map' ||\n            parent.tagName === 'noscript' ||\n            parent.tagName === 'video')\n        )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return Boolean(\n    next &&\n      next.type === 'element' &&\n      (next.tagName === 'dt' || next.tagName === 'dd')\n  )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'dt' || next.tagName === 'dd'))\n  )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'rp' || next.tagName === 'rt'))\n  )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'option' || next.tagName === 'optgroup'))\n  )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return Boolean(\n    next &&\n      next.type === 'element' &&\n      (next.tagName === 'tbody' || next.tagName === 'tfoot')\n  )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n  )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n  return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'td' || next.tagName === 'th'))\n  )\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter, siblingBefore} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n  body,\n  colgroup,\n  head,\n  html,\n  tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction html(node) {\n  const head = siblingAfter(node, -1)\n  return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction head(node) {\n  /** @type {Set<string>} */\n  const seen = new Set()\n\n  // Whether `srcdoc` or not,\n  // make sure the content model at least doesn’t have too many `base`s/`title`s.\n  for (const child of node.children) {\n    if (\n      child.type === 'element' &&\n      (child.tagName === 'base' || child.tagName === 'title')\n    ) {\n      if (seen.has(child.tagName)) return false\n      seen.add(child.tagName)\n    }\n  }\n\n  // “May be omitted if the element is empty,\n  // or if the first thing inside the head element is an element.”\n  const child = node.children[0]\n  return !child || child.type === 'element'\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction body(node) {\n  const head = siblingAfter(node, -1, true)\n\n  return (\n    !head ||\n    (head.type !== 'comment' &&\n      !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n      !(\n        head.type === 'element' &&\n        (head.tagName === 'meta' ||\n          head.tagName === 'link' ||\n          head.tagName === 'script' ||\n          head.tagName === 'style' ||\n          head.tagName === 'template')\n      ))\n  )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it’s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n  const previous = siblingBefore(parent, index)\n  const head = siblingAfter(node, -1, true)\n\n  // Previous colgroup was already omitted.\n  if (\n    parent &&\n    previous &&\n    previous.type === 'element' &&\n    previous.tagName === 'colgroup' &&\n    closing(previous, parent.children.indexOf(previous), parent)\n  ) {\n    return false\n  }\n\n  return Boolean(head && head.type === 'element' && head.tagName === 'col')\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n  const previous = siblingBefore(parent, index)\n  const head = siblingAfter(node, -1)\n\n  // Previous table section was already omitted.\n  if (\n    parent &&\n    previous &&\n    previous.type === 'element' &&\n    (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n    closing(previous, parent.children.indexOf(previous), parent)\n  ) {\n    return false\n  }\n\n  return Boolean(head && head.type === 'element' && head.tagName === 'tr')\n}\n","/**\n * @import {Element, Parents, Properties} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {find, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {closing} from '../omission/closing.js'\nimport {opening} from '../omission/opening.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'double' | 'name' | 'single' | 'unquoted', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n  // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n  name: [\n    ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n    ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n  unquoted: [\n    ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n    ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n  single: [\n    [\"&'\".split(''), '\"&\\'`'.split('')],\n    [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n  double: [\n    ['\"&'.split(''), '\"&\\'`'.split('')],\n    ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n  ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function element(node, index, parent, state) {\n  const schema = state.schema\n  const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n  let selfClosing =\n    schema.space === 'svg'\n      ? state.settings.closeEmptyElements\n      : state.settings.voids.includes(node.tagName.toLowerCase())\n  /** @type {Array<string>} */\n  const parts = []\n  /** @type {string} */\n  let last\n\n  if (schema.space === 'html' && node.tagName === 'svg') {\n    state.schema = svg\n  }\n\n  const attributes = serializeAttributes(state, node.properties)\n\n  const content = state.all(\n    schema.space === 'html' && node.tagName === 'template' ? node.content : node\n  )\n\n  state.schema = schema\n\n  // If the node is categorised as void, but it has children, remove the\n  // categorisation.\n  // This enables for example `menuitem`s, which are void in W3C HTML but not\n  // void in WHATWG HTML, to be stringified properly.\n  // Note: `menuitem` has since been removed from the HTML spec, and so is no\n  // longer void.\n  if (content) selfClosing = false\n\n  if (attributes || !omit || !opening(node, index, parent)) {\n    parts.push('<', node.tagName, attributes ? ' ' + attributes : '')\n\n    if (\n      selfClosing &&\n      (schema.space === 'svg' || state.settings.closeSelfClosing)\n    ) {\n      last = attributes.charAt(attributes.length - 1)\n      if (\n        !state.settings.tightSelfClosing ||\n        last === '/' ||\n        (last && last !== '\"' && last !== \"'\")\n      ) {\n        parts.push(' ')\n      }\n\n      parts.push('/')\n    }\n\n    parts.push('>')\n  }\n\n  parts.push(content)\n\n  if (!selfClosing && (!omit || !closing(node, index, parent))) {\n    parts.push('</' + node.tagName + '>')\n  }\n\n  return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} properties\n * @returns {string}\n */\nfunction serializeAttributes(state, properties) {\n  /** @type {Array<string>} */\n  const values = []\n  let index = -1\n  /** @type {string} */\n  let key\n\n  if (properties) {\n    for (key in properties) {\n      if (properties[key] !== null && properties[key] !== undefined) {\n        const value = serializeAttribute(state, key, properties[key])\n        if (value) values.push(value)\n      }\n    }\n  }\n\n  while (++index < values.length) {\n    const last = state.settings.tightAttributes\n      ? values[index].charAt(values[index].length - 1)\n      : undefined\n\n    // In tight mode, don’t add a space after quoted attributes.\n    if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n      values[index] += ' '\n    }\n  }\n\n  return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {Properties[keyof Properties]} value\n * @returns {string}\n */\nfunction serializeAttribute(state, key, value) {\n  const info = find(state.schema, key)\n  const x =\n    state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n  const y = state.settings.allowDangerousCharacters ? 0 : 1\n  let quote = state.quote\n  /** @type {string | undefined} */\n  let result\n\n  if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n    value = true\n  } else if (\n    (info.boolean || info.overloadedBoolean) &&\n    (typeof value !== 'string' || value === info.attribute || value === '')\n  ) {\n    value = Boolean(value)\n  }\n\n  if (\n    value === null ||\n    value === undefined ||\n    value === false ||\n    (typeof value === 'number' && Number.isNaN(value))\n  ) {\n    return ''\n  }\n\n  const name = stringifyEntities(\n    info.attribute,\n    Object.assign({}, state.settings.characterReferences, {\n      // Always encode without parse errors in non-HTML.\n      subset: constants.name[x][y]\n    })\n  )\n\n  // No value.\n  // There is currently only one boolean property in SVG: `[download]` on\n  // `<a>`.\n  // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n  // so I can’t test if dropping the value works.\n  // But I assume that it should:\n  //\n  // ```html\n  // <!doctype html>\n  // <svg viewBox=\"0 0 100 100\">\n  //   <a href=https://example.com download>\n  //     <circle cx=50 cy=40 r=35 />\n  //   </a>\n  // </svg>\n  // ```\n  //\n  // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n  if (value === true) return name\n\n  // `spaces` doesn’t accept a second argument, but it’s given here just to\n  // keep the code cleaner.\n  value = Array.isArray(value)\n    ? (info.commaSeparated ? commas : spaces)(value, {\n        padLeft: !state.settings.tightCommaSeparatedLists\n      })\n    : String(value)\n\n  if (state.settings.collapseEmptyAttributes && !value) return name\n\n  // Check unquoted value.\n  if (state.settings.preferUnquoted) {\n    result = stringifyEntities(\n      value,\n      Object.assign({}, state.settings.characterReferences, {\n        attribute: true,\n        subset: constants.unquoted[x][y]\n      })\n    )\n  }\n\n  // If we don’t want unquoted, or if `value` contains character references when\n  // unquoted…\n  if (result !== value) {\n    // If the alternative is less common than `quote`, switch.\n    if (\n      state.settings.quoteSmart &&\n      ccount(value, quote) > ccount(value, state.alternative)\n    ) {\n      quote = state.alternative\n    }\n\n    result =\n      quote +\n      stringifyEntities(\n        value,\n        Object.assign({}, state.settings.characterReferences, {\n          // Always encode without parse errors in non-HTML.\n          subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n          attribute: true\n        })\n      ) +\n      quote\n  }\n\n  // Don’t add a `=` for unquoted empties.\n  return name + (result ? '=' + result : result)\n}\n","/**\n * @import {Parents, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n// Declare array as variable so it can be cached by `stringifyEntities`\nconst textEntitySubset = ['<', '&']\n\n/**\n * Serialize a text node.\n *\n * @param {Raw | Text} node\n *   Node to handle.\n * @param {number | undefined} _\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function text(node, _, parent, state) {\n  // Check if content of `node` should be escaped.\n  return parent &&\n    parent.type === 'element' &&\n    (parent.tagName === 'script' || parent.tagName === 'style')\n    ? node.value\n    : stringifyEntities(\n        node.value,\n        Object.assign({}, state.settings.characterReferences, {\n          subset: textEntitySubset\n        })\n      )\n}\n","/**\n * @import {Parents} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function raw(node, index, parent, state) {\n  return state.settings.allowDangerousHtml\n    ? node.value\n    : text(node, index, parent, state)\n}\n","/**\n * @import {Parents, Root} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n *   Node to handle.\n * @param {number | undefined} _1\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _2\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function root(node, _1, _2, state) {\n  return state.all(node)\n}\n","/**\n * @import {Nodes, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Nodes, index: number | undefined, parent: Parents | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n  invalid,\n  unknown,\n  handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n *   Unknown value.\n * @returns {never}\n *   Never.\n */\nfunction invalid(node) {\n  throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node_\n *  Unknown node.\n * @returns {never}\n *   Never.\n */\nfunction unknown(node_) {\n  // `type` is guaranteed by runtime JS.\n  const node = /** @type {Nodes} */ (node_)\n  throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n","/**\n * @import {Nodes, Parents, RootContent} from 'hast'\n * @import {Schema} from 'property-information'\n * @import {Options as StringifyEntitiesOptions} from 'stringify-entities'\n */\n\n/**\n * @typedef {Omit<StringifyEntitiesOptions, 'attribute' | 'escapeOnly' | 'subset'>} CharacterReferences\n *\n * @typedef Options\n *   Configuration.\n * @property {boolean | null | undefined} [allowDangerousCharacters=false]\n *   Do not encode some characters which cause XSS vulnerabilities in older\n *   browsers (default: `false`).\n *\n *   > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Allow `raw` nodes and insert them as raw HTML (default: `false`).\n *\n *   When `false`, `Raw` nodes are encoded.\n *\n *   > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowParseErrors=false]\n *   Do not encode characters which cause parse errors (even though they work),\n *   to save bytes (default: `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [bogusComments=false]\n *   Use “bogus comments” instead of comments to save byes: `<?charlie>`\n *   instead of `<!--charlie-->` (default: `false`).\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {CharacterReferences | null | undefined} [characterReferences]\n *   Configure how to serialize character references (optional).\n * @property {boolean | null | undefined} [closeEmptyElements=false]\n *   Close SVG elements without any content with slash (`/`) on the opening tag\n *   instead of an end tag: `<circle />` instead of `<circle></circle>`\n *   (default: `false`).\n *\n *   See `tightSelfClosing` to control whether a space is used before the\n *   slash.\n *\n *   Not used in the HTML space.\n * @property {boolean | null | undefined} [closeSelfClosing=false]\n *   Close self-closing nodes with an extra slash (`/`): `<img />` instead of\n *   `<img>` (default: `false`).\n *\n *   See `tightSelfClosing` to control whether a space is used before the\n *   slash.\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [collapseEmptyAttributes=false]\n *   Collapse empty attributes: get `class` instead of `class=\"\"` (default:\n *   `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: boolean attributes (such as `hidden`) are always collapsed.\n * @property {boolean | null | undefined} [omitOptionalTags=false]\n *   Omit optional opening and closing tags (default: `false`).\n *\n *   For example, in `<ol><li>one</li><li>two</li></ol>`, both `</li>` closing\n *   tags can be omitted.\n *   The first because it’s followed by another `li`, the last because it’s\n *   followed by nothing.\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [preferUnquoted=false]\n *   Leave attributes unquoted if that results in less bytes (default: `false`).\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [quoteSmart=false]\n *   Use the other quote if that results in less bytes (default: `false`).\n * @property {Quote | null | undefined} [quote='\"']\n *   Preferred quote to use (default: `'\"'`).\n * @property {Space | null | undefined} [space='html']\n *   When an `<svg>` element is found in the HTML space, this package already\n *   automatically switches to and from the SVG space when entering and exiting\n *   it (default: `'html'`).\n *\n *   > 👉 **Note**: hast is not XML.\n *   > It supports SVG as embedded in HTML.\n *   > It does not support the features available in XML.\n *   > Passing SVG might break but fragments of modern SVG should be fine.\n *   > Use [`xast`][xast] if you need to support SVG as XML.\n * @property {boolean | null | undefined} [tightAttributes=false]\n *   Join attributes together, without whitespace, if possible: get\n *   `class=\"a b\"title=\"c d\"` instead of `class=\"a b\" title=\"c d\"` to save\n *   bytes (default: `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightCommaSeparatedLists=false]\n *   Join known comma-separated attribute values with just a comma (`,`),\n *   instead of padding them on the right as well (`,␠`, where `␠` represents a\n *   space) (default: `false`).\n * @property {boolean | null | undefined} [tightDoctype=false]\n *   Drop unneeded spaces in doctypes: `<!doctypehtml>` instead of\n *   `<!doctype html>` to save bytes (default: `false`).\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightSelfClosing=false]\n *   Do not use an extra space when closing self-closing elements: `<img/>`\n *   instead of `<img />` (default: `false`).\n *\n *   > 👉 **Note**: only used if `closeSelfClosing: true` or\n *   > `closeEmptyElements: true`.\n * @property {boolean | null | undefined} [upperDoctype=false]\n *   Use a `<!DOCTYPE…` instead of `<!doctype…` (default: `false`).\n *\n *   Useless except for XHTML.\n * @property {ReadonlyArray<string> | null | undefined} [voids]\n *   Tag names of elements to serialize without closing tag (default: `html-void-elements`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: It’s highly unlikely that you want to pass this, because\n *   > hast is not for XML, and HTML will not add more void elements.\n *\n * @typedef {'\"' | \"'\"} Quote\n *   HTML quotes for attribute values.\n *\n * @typedef {Omit<Required<{[key in keyof Options]: Exclude<Options[key], null | undefined>}>, 'space' | 'quote'>} Settings\n *\n * @typedef {'html' | 'svg'} Space\n *   Namespace.\n *\n * @typedef State\n *   Info passed around about the current state.\n * @property {(node: Parents | undefined) => string} all\n *   Serialize the children of a parent node.\n * @property {Quote} alternative\n *   Alternative quote.\n * @property {(node: Nodes, index: number | undefined, parent: Parents | undefined) => string} one\n *   Serialize one node.\n * @property {Quote} quote\n *   Preferred quote.\n * @property {Schema} schema\n *   Current schema.\n * @property {Settings} settings\n *   User configuration.\n */\n\nimport {htmlVoidElements} from 'html-void-elements'\nimport {html, svg} from 'property-information'\nimport {handle} from './handle/index.js'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/** @type {CharacterReferences} */\nconst emptyCharacterReferences = {}\n\n/** @type {Array<never>} */\nconst emptyChildren = []\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Array<RootContent> | Nodes} tree\n *   Tree to serialize.\n * @param {Options | null | undefined} [options]\n *   Configuration (optional).\n * @returns {string}\n *   Serialized HTML.\n */\nexport function toHtml(tree, options) {\n  const options_ = options || emptyOptions\n  const quote = options_.quote || '\"'\n  const alternative = quote === '\"' ? \"'\" : '\"'\n\n  if (quote !== '\"' && quote !== \"'\") {\n    throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n  }\n\n  /** @type {State} */\n  const state = {\n    one,\n    all,\n    settings: {\n      omitOptionalTags: options_.omitOptionalTags || false,\n      allowParseErrors: options_.allowParseErrors || false,\n      allowDangerousCharacters: options_.allowDangerousCharacters || false,\n      quoteSmart: options_.quoteSmart || false,\n      preferUnquoted: options_.preferUnquoted || false,\n      tightAttributes: options_.tightAttributes || false,\n      upperDoctype: options_.upperDoctype || false,\n      tightDoctype: options_.tightDoctype || false,\n      bogusComments: options_.bogusComments || false,\n      tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n      tightSelfClosing: options_.tightSelfClosing || false,\n      collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n      allowDangerousHtml: options_.allowDangerousHtml || false,\n      voids: options_.voids || htmlVoidElements,\n      characterReferences:\n        options_.characterReferences || emptyCharacterReferences,\n      closeSelfClosing: options_.closeSelfClosing || false,\n      closeEmptyElements: options_.closeEmptyElements || false\n    },\n    schema: options_.space === 'svg' ? svg : html,\n    quote,\n    alternative\n  }\n\n  return state.one(\n    Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n    undefined,\n    undefined\n  )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n *   Info passed around about the current state.\n * @param {Nodes} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {string}\n *   Serialized node.\n */\nfunction one(node, index, parent) {\n  return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n *   Info passed around about the current state.\n * @param {Parents | undefined} parent\n *   Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n  /** @type {Array<string>} */\n  const results = []\n  const children = (parent && parent.children) || emptyChildren\n  let index = -1\n\n  while (++index < children.length) {\n    results[index] = this.one(children[index], index, parent)\n  }\n\n  return results.join('')\n}\n","const r = String.raw;\nconst seq = r`(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})`;\nconst sTags = r`\\u{E0061}-\\u{E007A}`;\nexport default () => new RegExp(r`[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[${sTags}]{2}[\\u{E0030}-\\u{E0039}${sTags}]{1,3}\\u{E007F}|${seq}(?:\\u200D${seq})*`, 'gu');\n","// Separating some utils for improved tree shaking of the `./internals` export\n\nconst noncapturingDelim = String.raw`\\(\\?(?:[:=!>A-Za-z\\-]|<[=!]|\\(DEFINE\\))`;\n\n/**\nUpdates the array in place by incrementing each value greater than or equal to the threshold.\n@param {Array<number>} arr\n@param {number} threshold\n*/\nfunction incrementIfAtLeast(arr, threshold) {\n  for (let i = 0; i < arr.length; i++) {\n    if (arr[i] >= threshold) {\n      arr[i]++;\n    }\n  }\n}\n\n/**\n@param {string} str\n@param {number} pos\n@param {string} oldValue\n@param {string} newValue\n@returns {string}\n*/\nfunction spliceStr(str, pos, oldValue, newValue) {\n  return str.slice(0, pos) + newValue + str.slice(pos + oldValue.length);\n}\n\nexport {\n  incrementIfAtLeast,\n  noncapturingDelim,\n  spliceStr,\n};\n","// Constant properties for tracking regex syntax context\nexport const Context = Object.freeze({\n  DEFAULT: 'DEFAULT',\n  CHAR_CLASS: 'CHAR_CLASS',\n});\n\n/**\nReplaces all unescaped instances of a regex pattern in the given context, using a replacement\nstring or callback.\n\nDoesn't skip over complete multicharacter tokens (only `\\` plus its folowing char) so must be used\nwith knowledge of what's safe to do given regex syntax. Assumes UnicodeSets-mode syntax.\n@param {string} expression Search target\n@param {string} needle Search as a regex pattern, with flags `su` applied\n@param {string | (match: RegExpExecArray, details: {\n  context: 'DEFAULT' | 'CHAR_CLASS';\n  negated: boolean;\n}) => string} replacement\n@param {'DEFAULT' | 'CHAR_CLASS'} [context] All contexts if not specified\n@returns {string} Updated expression\n@example\nconst str = '.\\\\.\\\\\\\\.[[\\\\.].].';\nreplaceUnescaped(str, '\\\\.', '@');\n// → '@\\\\.\\\\\\\\@[[\\\\.]@]@'\nreplaceUnescaped(str, '\\\\.', '@', Context.DEFAULT);\n// → '@\\\\.\\\\\\\\@[[\\\\.].]@'\nreplaceUnescaped(str, '\\\\.', '@', Context.CHAR_CLASS);\n// → '.\\\\.\\\\\\\\.[[\\\\.]@].'\n*/\nexport function replaceUnescaped(expression, needle, replacement, context) {\n  const re = new RegExp(String.raw`${needle}|(?<$skip>\\[\\^?|\\\\?.)`, 'gsu');\n  const negated = [false];\n  let numCharClassesOpen = 0;\n  let result = '';\n  for (const match of expression.matchAll(re)) {\n    const {0: m, groups: {$skip}} = match;\n    if (!$skip && (!context || (context === Context.DEFAULT) === !numCharClassesOpen)) {\n      if (replacement instanceof Function) {\n        result += replacement(match, {\n          context: numCharClassesOpen ? Context.CHAR_CLASS : Context.DEFAULT,\n          negated: negated[negated.length - 1],\n        });\n      } else {\n        result += replacement;\n      }\n      continue;\n    }\n    if (m[0] === '[') {\n      numCharClassesOpen++;\n      negated.push(m[1] === '^');\n    } else if (m === ']' && numCharClassesOpen) {\n      numCharClassesOpen--;\n      negated.pop();\n    }\n    result += m;\n  }\n  return result;\n}\n\n/**\nRuns a callback for each unescaped instance of a regex pattern in the given context.\n\nDoesn't skip over complete multicharacter tokens (only `\\` plus its folowing char) so must be used\nwith knowledge of what's safe to do given regex syntax. Assumes UnicodeSets-mode syntax.\n@param {string} expression Search target\n@param {string} needle Search as a regex pattern, with flags `su` applied\n@param {(match: RegExpExecArray, details: {\n  context: 'DEFAULT' | 'CHAR_CLASS';\n  negated: boolean;\n}) => void} callback\n@param {'DEFAULT' | 'CHAR_CLASS'} [context] All contexts if not specified\n*/\nexport function forEachUnescaped(expression, needle, callback, context) {\n  // Do this the easy way\n  replaceUnescaped(expression, needle, callback, context);\n}\n\n/**\nReturns a match object for the first unescaped instance of a regex pattern in the given context, or\n`null`.\n\nDoesn't skip over complete multicharacter tokens (only `\\` plus its folowing char) so must be used\nwith knowledge of what's safe to do given regex syntax. Assumes UnicodeSets-mode syntax.\n@param {string} expression Search target\n@param {string} needle Search as a regex pattern, with flags `su` applied\n@param {number} [pos] Offset to start the search\n@param {'DEFAULT' | 'CHAR_CLASS'} [context] All contexts if not specified\n@returns {RegExpExecArray | null}\n*/\nexport function execUnescaped(expression, needle, pos = 0, context) {\n  // Quick partial test; avoid the loop if not needed\n  if (!(new RegExp(needle, 'su').test(expression))) {\n    return null;\n  }\n  const re = new RegExp(`${needle}|(?<$skip>\\\\\\\\?.)`, 'gsu');\n  re.lastIndex = pos;\n  let numCharClassesOpen = 0;\n  let match;\n  while (match = re.exec(expression)) {\n    const {0: m, groups: {$skip}} = match;\n    if (!$skip && (!context || (context === Context.DEFAULT) === !numCharClassesOpen)) {\n      return match;\n    }\n    if (m === '[') {\n      numCharClassesOpen++;\n    } else if (m === ']' && numCharClassesOpen) {\n      numCharClassesOpen--;\n    }\n    // Avoid an infinite loop on zero-length matches\n    if (re.lastIndex == match.index) {\n      re.lastIndex++;\n    }\n  }\n  return null;\n}\n\n/**\nChecks whether an unescaped instance of a regex pattern appears in the given context.\n\nDoesn't skip over complete multicharacter tokens (only `\\` plus its folowing char) so must be used\nwith knowledge of what's safe to do given regex syntax. Assumes UnicodeSets-mode syntax.\n@param {string} expression Search target\n@param {string} needle Search as a regex pattern, with flags `su` applied\n@param {'DEFAULT' | 'CHAR_CLASS'} [context] All contexts if not specified\n@returns {boolean} Whether the pattern was found\n*/\nexport function hasUnescaped(expression, needle, context) {\n  // Do this the easy way\n  return !!execUnescaped(expression, needle, 0, context);\n}\n\n/**\nExtracts the full contents of a group (subpattern) from the given expression, accounting for\nescaped characters, nested groups, and character classes. The group is identified by the position\nwhere its contents start (the string index just after the group's opening delimiter). Returns the\nrest of the string if the group is unclosed.\n\nAssumes UnicodeSets-mode syntax.\n@param {string} expression Search target\n@param {number} contentsStartPos\n@returns {string}\n*/\nexport function getGroupContents(expression, contentsStartPos) {\n  const token = /\\\\?./gsu;\n  token.lastIndex = contentsStartPos;\n  let contentsEndPos = expression.length;\n  let numCharClassesOpen = 0;\n  // Starting search within an open group, after the group's opening\n  let numGroupsOpen = 1;\n  let match;\n  while (match = token.exec(expression)) {\n    const [m] = match;\n    if (m === '[') {\n      numCharClassesOpen++;\n    } else if (!numCharClassesOpen) {\n      if (m === '(') {\n        numGroupsOpen++;\n      } else if (m === ')') {\n        numGroupsOpen--;\n        if (!numGroupsOpen) {\n          contentsEndPos = match.index;\n          break;\n        }\n      }\n    } else if (m === ']') {\n      numCharClassesOpen--;\n    }\n  }\n  return expression.slice(contentsStartPos, contentsEndPos);\n}\n","import {incrementIfAtLeast, noncapturingDelim, spliceStr} from './utils-internals.js';\nimport {Context, replaceUnescaped} from 'regex-utilities';\n/**\n@import {PluginData, PluginResult} from './regex.js';\n*/\n\nconst atomicPluginToken = new RegExp(String.raw`(?<noncapturingStart>${noncapturingDelim})|(?<capturingStart>\\((?:\\?<[^>]+>)?)|\\\\?.`, 'gsu');\n\n/**\nApply transformations for atomic groups: `(?>…)`.\n@param {string} expression\n@param {PluginData} [data]\n@returns {Required<PluginResult>}\n*/\nfunction atomic(expression, data) {\n  const hiddenCaptures = data?.hiddenCaptures ?? [];\n  // Capture transfer is used by <github.com/slevithan/oniguruma-to-es>\n  let captureTransfers = data?.captureTransfers ?? new Map();\n  if (!/\\(\\?>/.test(expression)) {\n    return {\n      pattern: expression,\n      captureTransfers,\n      hiddenCaptures,\n    };\n  }\n\n  const aGDelim = '(?>';\n  const emulatedAGDelim = '(?:(?=(';\n  const captureNumMap = [0];\n  const addedHiddenCaptures = [];\n  let numCapturesBeforeAG = 0;\n  let numAGs = 0;\n  let aGPos = NaN;\n  let hasProcessedAG;\n  do {\n    hasProcessedAG = false;\n    let numCharClassesOpen = 0;\n    let numGroupsOpenInAG = 0;\n    let inAG = false;\n    let match;\n    atomicPluginToken.lastIndex = Number.isNaN(aGPos) ? 0 : aGPos + emulatedAGDelim.length;\n    while (match = atomicPluginToken.exec(expression)) {\n      const {0: m, index, groups: {capturingStart, noncapturingStart}} = match;\n      if (m === '[') {\n        numCharClassesOpen++;\n      } else if (!numCharClassesOpen) {\n\n        if (m === aGDelim && !inAG) {\n          aGPos = index;\n          inAG = true;\n        } else if (inAG && noncapturingStart) {\n          numGroupsOpenInAG++;\n        } else if (capturingStart) {\n          if (inAG) {\n            numGroupsOpenInAG++;\n          } else {\n            numCapturesBeforeAG++;\n            captureNumMap.push(numCapturesBeforeAG + numAGs);\n          }\n        } else if (m === ')' && inAG) {\n          if (!numGroupsOpenInAG) {\n            numAGs++;\n            const addedCaptureNum = numCapturesBeforeAG + numAGs;\n            // Replace `expression` and use `<$$N>` as a temporary wrapper for the backref so it\n            // can avoid backref renumbering afterward. Wrap the whole substitution (including the\n            // lookahead and following backref) in a noncapturing group to handle following\n            // quantifiers and literal digits\n            expression = `${expression.slice(0, aGPos)}${emulatedAGDelim}${\n                expression.slice(aGPos + aGDelim.length, index)\n              }))<$$${addedCaptureNum}>)${expression.slice(index + 1)}`;\n            hasProcessedAG = true;\n            addedHiddenCaptures.push(addedCaptureNum);\n            incrementIfAtLeast(hiddenCaptures, addedCaptureNum);\n            if (captureTransfers.size) {\n              const newCaptureTransfers = new Map();\n              captureTransfers.forEach((from, to) => {\n                newCaptureTransfers.set(\n                  to >= addedCaptureNum ? to + 1 : to,\n                  from.map(f => f >= addedCaptureNum ? f + 1 : f)\n                );\n              });\n              captureTransfers = newCaptureTransfers;\n            }\n            break;\n          }\n          numGroupsOpenInAG--;\n        }\n\n      } else if (m === ']') {\n        numCharClassesOpen--;\n      }\n    }\n  // Start over from the beginning of the atomic group's contents, in case the processed group\n  // contains additional atomic groups\n  } while (hasProcessedAG);\n\n  hiddenCaptures.push(...addedHiddenCaptures);\n\n  // Second pass to adjust numbered backrefs\n  expression = replaceUnescaped(\n    expression,\n    String.raw`\\\\(?<backrefNum>[1-9]\\d*)|<\\$\\$(?<wrappedBackrefNum>\\d+)>`,\n    ({0: m, groups: {backrefNum, wrappedBackrefNum}}) => {\n      if (backrefNum) {\n        const bNum = +backrefNum;\n        if (bNum > captureNumMap.length - 1) {\n          throw new Error(`Backref \"${m}\" greater than number of captures`);\n        }\n        return `\\\\${captureNumMap[bNum]}`;\n      }\n      return `\\\\${wrappedBackrefNum}`;\n    },\n    Context.DEFAULT\n  );\n\n  return {\n    pattern: expression,\n    captureTransfers,\n    hiddenCaptures,\n  };\n}\n\nconst baseQuantifier = String.raw`(?:[?*+]|\\{\\d+(?:,\\d*)?\\})`;\n// Complete tokenizer for base syntax; doesn't (need to) know about character-class-only syntax\nconst possessivePluginToken = new RegExp(String.raw`\n\\\\(?: \\d+\n  | c[A-Za-z]\n  | [gk]<[^>]+>\n  | [pPu]\\{[^\\}]+\\}\n  | u[A-Fa-f\\d]{4}\n  | x[A-Fa-f\\d]{2}\n  )\n| \\((?: \\? (?: [:=!>]\n  | <(?:[=!]|[^>]+>)\n  | [A-Za-z\\-]+:\n  | \\(DEFINE\\)\n  ))?\n| (?<qBase>${baseQuantifier})(?<qMod>[?+]?)(?<invalidQ>[?*+\\{]?)\n| \\\\?.\n`.replace(/\\s+/g, ''), 'gsu');\n\n/**\nTransform posessive quantifiers into atomic groups. The posessessive quantifiers are:\n`?+`, `*+`, `++`, `{N}+`, `{N,}+`, `{N,N}+`.\nThis follows Java, PCRE, Perl, and Python.\nPossessive quantifiers in Oniguruma and Onigmo are only: `?+`, `*+`, `++`.\n@param {string} expression\n@returns {PluginResult}\n*/\nfunction possessive(expression) {\n  if (!(new RegExp(`${baseQuantifier}\\\\+`).test(expression))) {\n    return {\n      pattern: expression,\n    };\n  }\n\n  const openGroupIndices = [];\n  let lastGroupIndex = null;\n  let lastCharClassIndex = null;\n  let lastToken = '';\n  let numCharClassesOpen = 0;\n  let match;\n  possessivePluginToken.lastIndex = 0;\n  while (match = possessivePluginToken.exec(expression)) {\n    const {0: m, index, groups: {qBase, qMod, invalidQ}} = match;\n    if (m === '[') {\n      if (!numCharClassesOpen) {\n        lastCharClassIndex = index;\n      }\n      numCharClassesOpen++;\n    } else if (m === ']') {\n      if (numCharClassesOpen) {\n        numCharClassesOpen--;\n      // Unmatched `]`\n      } else {\n        lastCharClassIndex = null;\n      }\n    } else if (!numCharClassesOpen) {\n\n      if (qMod === '+' && lastToken && !lastToken.startsWith('(')) {\n        // Invalid following quantifier would become valid via the wrapping group\n        if (invalidQ) {\n          throw new Error(`Invalid quantifier \"${m}\"`);\n        }\n        let charsAdded = -1; // -1 for removed trailing `+`\n        // Possessivizing fixed repetition quantifiers like `{2}` does't change their behavior, so\n        // avoid doing so (convert them to greedy)\n        if (/^\\{\\d+\\}$/.test(qBase)) {\n          expression = spliceStr(expression, index + qBase.length, qMod, '');\n        } else {\n          if (lastToken === ')' || lastToken === ']') {\n            const nodeIndex = lastToken === ')' ? lastGroupIndex : lastCharClassIndex;\n            // Unmatched `)` would break out of the wrapping group and mess with handling.\n            // Unmatched `]` wouldn't be a problem, but it's unnecessary to have dedicated support\n            // for unescaped `]++` since this won't work with flag u or v anyway\n            if (nodeIndex === null) {\n              throw new Error(`Invalid unmatched \"${lastToken}\"`);\n            }\n            expression = `${expression.slice(0, nodeIndex)}(?>${expression.slice(nodeIndex, index)}${qBase})${expression.slice(index + m.length)}`;\n          } else {\n            expression = `${expression.slice(0, index - lastToken.length)}(?>${lastToken}${qBase})${expression.slice(index + m.length)}`;\n          }\n          charsAdded += 4; // `(?>)`\n        }\n        possessivePluginToken.lastIndex += charsAdded;\n      } else if (m[0] === '(') {\n        openGroupIndices.push(index);\n      } else if (m === ')') {\n        lastGroupIndex = openGroupIndices.length ? openGroupIndices.pop() : null;\n      }\n\n    }\n    lastToken = m;\n  }\n\n  return {\n    pattern: expression,\n  };\n}\n\nexport {\n  atomic,\n  possessive,\n};\n","import {Context, forEachUnescaped, getGroupContents, hasUnescaped, replaceUnescaped} from 'regex-utilities';\n\nconst r = String.raw;\nconst gRToken = r`\\\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`;\nconst recursiveToken = r`\\(\\?R=(?<rDepth>[^\\)]+)\\)|${gRToken}`;\nconst namedCaptureDelim = r`\\(\\?<(?![=!])(?<captureName>[^>]+)>`;\nconst captureDelim = r`${namedCaptureDelim}|(?<unnamed>\\()(?!\\?)`;\nconst token = new RegExp(r`${namedCaptureDelim}|${recursiveToken}|\\(\\?|\\\\?.`, 'gsu');\nconst overlappingRecursionMsg = 'Cannot use multiple overlapping recursions';\n\n/**\n@param {string} pattern\n@param {{\n  flags?: string;\n  captureTransfers?: Map<number, Array<number>>;\n  hiddenCaptures?: Array<number>;\n  mode?: 'plugin' | 'external';\n}} [data]\n@returns {{\n  pattern: string;\n  captureTransfers: Map<number, Array<number>>;\n  hiddenCaptures: Array<number>;\n}}\n*/\nfunction recursion(pattern, data) {\n  const {hiddenCaptures, mode} = {\n    hiddenCaptures: [],\n    mode: 'plugin',\n    ...data,\n  };\n  // Capture transfer is used by <github.com/slevithan/oniguruma-to-es>\n  let captureTransfers = data?.captureTransfers ?? new Map();\n  // Keep the initial fail-check (which avoids unneeded processing) as fast as possible by testing\n  // without the accuracy improvement of using `hasUnescaped` with `Context.DEFAULT`\n  if (!(new RegExp(recursiveToken, 'su').test(pattern))) {\n    return {\n      pattern,\n      captureTransfers,\n      hiddenCaptures,\n    };\n  }\n  if (mode === 'plugin' && hasUnescaped(pattern, r`\\(\\?\\(DEFINE\\)`, Context.DEFAULT)) {\n    throw new Error('DEFINE groups cannot be used with recursion');\n  }\n\n  const addedHiddenCaptures = [];\n  const hasNumberedBackref = hasUnescaped(pattern, r`\\\\[1-9]`, Context.DEFAULT);\n  const groupContentsStartPos = new Map();\n  const openGroups = [];\n  let hasRecursed = false;\n  let numCharClassesOpen = 0;\n  let numCapturesPassed = 0;\n  let match;\n  token.lastIndex = 0;\n  while ((match = token.exec(pattern))) {\n    const {0: m, groups: {captureName, rDepth, gRNameOrNum, gRDepth}} = match;\n    if (m === '[') {\n      numCharClassesOpen++;\n    } else if (!numCharClassesOpen) {\n\n      // `(?R=N)`\n      if (rDepth) {\n        assertMaxInBounds(rDepth);\n        if (hasRecursed) {\n          throw new Error(overlappingRecursionMsg);\n        }\n        if (hasNumberedBackref) {\n          // Could add support for numbered backrefs with extra effort, but it's probably not worth\n          // it. To trigger this error, the regex must include recursion and one of the following:\n          // - An interpolated regex that contains a numbered backref (since other numbered\n          //   backrefs are prevented by implicit flag n).\n          // - A numbered backref, when flag n is explicitly disabled.\n          // Note that Regex+'s extended syntax (atomic groups and sometimes subroutines) can also\n          // add numbered backrefs, but those work fine because external plugins like this one run\n          // *before* the transformation of built-in syntax extensions\n          throw new Error(\n            // When used in `external` mode by transpilers other than Regex+, backrefs might have\n            // gone through conversion from named to numbered, so avoid a misleading error\n            `${mode === 'external' ? 'Backrefs' : 'Numbered backrefs'} cannot be used with global recursion`\n          );\n        }\n        const left = pattern.slice(0, match.index);\n        const right = pattern.slice(token.lastIndex);\n        if (hasUnescaped(right, recursiveToken, Context.DEFAULT)) {\n          throw new Error(overlappingRecursionMsg);\n        }\n        const reps = +rDepth - 1;\n        pattern = makeRecursive(\n          left,\n          right,\n          reps,\n          false,\n          hiddenCaptures,\n          addedHiddenCaptures,\n          numCapturesPassed\n        );\n        captureTransfers = mapCaptureTransfers(\n          captureTransfers,\n          left,\n          reps,\n          addedHiddenCaptures.length,\n          0,\n          numCapturesPassed\n        );\n        // No need to parse further\n        break;\n      // `\\g<name&R=N>`, `\\g<number&R=N>`\n      } else if (gRNameOrNum) {\n        assertMaxInBounds(gRDepth);\n        let isWithinReffedGroup = false;\n        for (const g of openGroups) {\n          if (g.name === gRNameOrNum || g.num === +gRNameOrNum) {\n            isWithinReffedGroup = true;\n            if (g.hasRecursedWithin) {\n              throw new Error(overlappingRecursionMsg);\n            }\n            break;\n          }\n        }\n        if (!isWithinReffedGroup) {\n          throw new Error(r`Recursive \\g cannot be used outside the referenced group \"${\n            mode === 'external' ? gRNameOrNum : r`\\g<${gRNameOrNum}&R=${gRDepth}>`\n          }\"`);\n        }\n        const startPos = groupContentsStartPos.get(gRNameOrNum);\n        const groupContents = getGroupContents(pattern, startPos);\n        if (\n          hasNumberedBackref &&\n          hasUnescaped(groupContents, r`${namedCaptureDelim}|\\((?!\\?)`, Context.DEFAULT)\n        ) {\n          throw new Error(\n            // When used in `external` mode by transpilers other than Regex+, backrefs might have\n            // gone through conversion from named to numbered, so avoid a misleading error\n            `${mode === 'external' ? 'Backrefs' : 'Numbered backrefs'} cannot be used with recursion of capturing groups`\n          );\n        }\n        const groupContentsLeft = pattern.slice(startPos, match.index);\n        const groupContentsRight = groupContents.slice(groupContentsLeft.length + m.length);\n        const numAddedHiddenCapturesPreExpansion = addedHiddenCaptures.length;\n        const reps = +gRDepth - 1;\n        const expansion = makeRecursive(\n          groupContentsLeft,\n          groupContentsRight,\n          reps,\n          true,\n          hiddenCaptures,\n          addedHiddenCaptures,\n          numCapturesPassed\n        );\n        captureTransfers = mapCaptureTransfers(\n          captureTransfers,\n          groupContentsLeft,\n          reps,\n          addedHiddenCaptures.length - numAddedHiddenCapturesPreExpansion,\n          numAddedHiddenCapturesPreExpansion,\n          numCapturesPassed\n        );\n        const pre = pattern.slice(0, startPos);\n        const post = pattern.slice(startPos + groupContents.length);\n        // Modify the string we're looping over\n        pattern = `${pre}${expansion}${post}`;\n        // Step forward for the next loop iteration\n        token.lastIndex += expansion.length - m.length - groupContentsLeft.length - groupContentsRight.length;\n        openGroups.forEach(g => g.hasRecursedWithin = true);\n        hasRecursed = true;\n      } else if (captureName) {\n        numCapturesPassed++;\n        groupContentsStartPos.set(String(numCapturesPassed), token.lastIndex);\n        groupContentsStartPos.set(captureName, token.lastIndex);\n        openGroups.push({\n          num: numCapturesPassed,\n          name: captureName,\n        });\n      } else if (m[0] === '(') {\n        const isUnnamedCapture = m === '(';\n        if (isUnnamedCapture) {\n          numCapturesPassed++;\n          groupContentsStartPos.set(String(numCapturesPassed), token.lastIndex);\n        }\n        openGroups.push(isUnnamedCapture ? {num: numCapturesPassed} : {});\n      } else if (m === ')') {\n        openGroups.pop();\n      }\n\n    } else if (m === ']') {\n      numCharClassesOpen--;\n    }\n  }\n\n  hiddenCaptures.push(...addedHiddenCaptures);\n\n  return {\n    pattern,\n    captureTransfers,\n    hiddenCaptures,\n  };\n}\n\n/**\n@param {string} max\n*/\nfunction assertMaxInBounds(max) {\n  const errMsg = `Max depth must be integer between 2 and 100; used ${max}`;\n  if (!/^[1-9]\\d*$/.test(max)) {\n    throw new Error(errMsg);\n  }\n  max = +max;\n  if (max < 2 || max > 100) {\n    throw new Error(errMsg);\n  }\n}\n\n/**\n@param {string} left\n@param {string} right\n@param {number} reps\n@param {boolean} isSubpattern\n@param {Array<number>} hiddenCaptures\n@param {Array<number>} addedHiddenCaptures\n@param {number} numCapturesPassed\n@returns {string}\n*/\nfunction makeRecursive(\n  left,\n  right,\n  reps,\n  isSubpattern,\n  hiddenCaptures,\n  addedHiddenCaptures,\n  numCapturesPassed\n) {\n  const namesInRecursed = new Set();\n  // Can skip this work if not needed\n  if (isSubpattern) {\n    forEachUnescaped(left + right, namedCaptureDelim, ({groups: {captureName}}) => {\n      namesInRecursed.add(captureName);\n    }, Context.DEFAULT);\n  }\n  const rest = [\n    reps,\n    isSubpattern ? namesInRecursed : null,\n    hiddenCaptures,\n    addedHiddenCaptures,\n    numCapturesPassed,\n  ];\n  // Depth 2: 'left(?:left(?:)right)right'\n  // Depth 3: 'left(?:left(?:left(?:)right)right)right'\n  // Empty group in the middle separates tokens and absorbs a following quantifier if present\n  return `${left}${\n    repeatWithDepth(`(?:${left}`, 'forward', ...rest)\n  }(?:)${\n    repeatWithDepth(`${right})`, 'backward', ...rest)\n  }${right}`;\n}\n\n/**\n@param {string} pattern\n@param {'forward' | 'backward'} direction\n@param {number} reps\n@param {Set<string> | null} namesInRecursed\n@param {Array<number>} hiddenCaptures\n@param {Array<number>} addedHiddenCaptures\n@param {number} numCapturesPassed\n@returns {string}\n*/\nfunction repeatWithDepth(\n  pattern,\n  direction,\n  reps,\n  namesInRecursed,\n  hiddenCaptures,\n  addedHiddenCaptures,\n  numCapturesPassed\n) {\n  const startNum = 2;\n  const getDepthNum = i => direction === 'forward' ? (i + startNum) : (reps - i + startNum - 1);\n  let result = '';\n  for (let i = 0; i < reps; i++) {\n    const depthNum = getDepthNum(i);\n    result += replaceUnescaped(\n      pattern,\n      r`${captureDelim}|\\\\k<(?<backref>[^>]+)>`,\n      ({0: m, groups: {captureName, unnamed, backref}}) => {\n        if (backref && namesInRecursed && !namesInRecursed.has(backref)) {\n          // Don't alter backrefs to groups outside the recursed subpattern\n          return m;\n        }\n        const suffix = `_$${depthNum}`;\n        if (unnamed || captureName) {\n          const addedCaptureNum = numCapturesPassed + addedHiddenCaptures.length + 1;\n          addedHiddenCaptures.push(addedCaptureNum);\n          incrementIfAtLeast(hiddenCaptures, addedCaptureNum);\n          return unnamed ? m : `(?<${captureName}${suffix}>`;\n        }\n        return r`\\k<${backref}${suffix}>`;\n      },\n      Context.DEFAULT\n    );\n  }\n  return result;\n}\n\n/**\nUpdates the array in place by incrementing each value greater than or equal to the threshold.\n@param {Array<number>} arr\n@param {number} threshold\n*/\nfunction incrementIfAtLeast(arr, threshold) {\n  for (let i = 0; i < arr.length; i++) {\n    if (arr[i] >= threshold) {\n      arr[i]++;\n    }\n  }\n}\n\n/**\n@param {Map<number, Array<number>>} captureTransfers\n@param {string} left\n@param {number} reps\n@param {number} numCapturesAddedInExpansion\n@param {number} numAddedHiddenCapturesPreExpansion\n@param {number} numCapturesPassed\n@returns {Map<number, Array<number>>}\n*/\nfunction mapCaptureTransfers(captureTransfers, left, reps, numCapturesAddedInExpansion, numAddedHiddenCapturesPreExpansion, numCapturesPassed) {\n  if (captureTransfers.size && numCapturesAddedInExpansion) {\n    let numCapturesInLeft = 0;\n    forEachUnescaped(left, captureDelim, () => numCapturesInLeft++, Context.DEFAULT);\n    // Is 0 for global recursion\n    const recursionDelimCaptureNum = numCapturesPassed - numCapturesInLeft + numAddedHiddenCapturesPreExpansion;\n    const newCaptureTransfers = new Map();\n    captureTransfers.forEach((from, to) => {\n      const numCapturesInRight = (numCapturesAddedInExpansion - (numCapturesInLeft * reps)) / reps;\n      const numCapturesAddedInLeft = numCapturesInLeft * reps;\n      const newTo = to > (recursionDelimCaptureNum + numCapturesInLeft) ? to + numCapturesAddedInExpansion : to;\n      const newFrom = [];\n      for (const f of from) {\n        // Before the recursed subpattern\n        if (f <= recursionDelimCaptureNum) {\n          newFrom.push(f);\n        // After the recursed subpattern\n        } else if (f > (recursionDelimCaptureNum + numCapturesInLeft + numCapturesInRight)) {\n          newFrom.push(f + numCapturesAddedInExpansion);\n        // Within the recursed subpattern, on the left of the recursion token\n        } else if (f <= (recursionDelimCaptureNum + numCapturesInLeft)) {\n          for (let i = 0; i <= reps; i++) {\n            newFrom.push(f + (numCapturesInLeft * i));\n          }\n        // Within the recursed subpattern, on the right of the recursion token\n        } else {\n          for (let i = 0; i <= reps; i++) {\n            newFrom.push(f + numCapturesAddedInLeft + (numCapturesInRight * i));\n          }\n        }\n      }\n      newCaptureTransfers.set(newTo, newFrom);\n    });\n    return newCaptureTransfers;\n  }\n  return captureTransfers;\n}\n\nexport {\n  recursion,\n};\n","import {EsVersion, Target} from './options.js';\n\nconst cp = String.fromCodePoint;\nconst r = String.raw;\n\nconst envFlags = {\n  flagGroups: (() => {\n    try {\n      new RegExp('(?i:)');\n    } catch {\n      return false;\n    }\n    return true;\n  })(),\n  unicodeSets: (() => {\n    try {\n      new RegExp('', 'v');\n    } catch {\n      return false;\n    }\n    return true;\n  })(),\n};\n// Detect WebKit bug: <github.com/slevithan/oniguruma-to-es/issues/30>\nenvFlags.literalHyphenIncorrectlyCreatesRange = (() => {\n  if (!envFlags.unicodeSets) {\n    return false;\n  }\n  try {\n    new RegExp(r`[\\d\\-a]`, 'v');\n  } catch {\n    return true;\n  }\n  return false;\n})();\n\nfunction getNewCurrentFlags(current, {enable, disable}) {\n  return {\n    dotAll: !disable?.dotAll && !!(enable?.dotAll || current.dotAll),\n    ignoreCase: !disable?.ignoreCase && !!(enable?.ignoreCase || current.ignoreCase),\n  };\n}\n\nfunction getOrInsert(map, key, defaultValue) {\n  if (!map.has(key)) {\n    map.set(key, defaultValue);\n  }\n  return map.get(key);\n}\n\n/**\n@param {keyof Target} target\n@param {keyof Target} min\n@returns {boolean}\n*/\nfunction isMinTarget(target, min) {\n  return EsVersion[target] >= EsVersion[min];\n}\n\nfunction throwIfNot(value, msg) {\n  if (!value) {\n    throw new Error(msg ?? 'Value expected');\n  }\n  return value;\n}\n\nexport {\n  cp,\n  envFlags,\n  getNewCurrentFlags,\n  getOrInsert,\n  isMinTarget,\n  r,\n  throwIfNot,\n};\n","import {envFlags} from './utils.js';\n\nconst Accuracy = /** @type {const} */ ({\n  default: 'default',\n  strict: 'strict',\n});\n\nconst EsVersion = {\n  ES2025: 2025,\n  ES2024: 2024,\n  ES2018: 2018,\n};\n\nconst Target = /** @type {const} */ ({\n  auto: 'auto',\n  ES2025: 'ES2025',\n  ES2024: 'ES2024',\n  ES2018: 'ES2018',\n});\n\n/**\nReturns a complete set of options, with default values set for options that weren't provided.\n@param {import('.').ToRegExpOptions} [options]\n@returns {Required<import('.').ToRegExpOptions>}\n*/\nfunction getOptions(options) {\n  if (options?.target !== undefined && !Target[options.target]) {\n    throw new Error(`Unexpected target \"${options.target}\"`)\n  }\n  // Set default values\n  const opts = {\n    // Sets the level of emulation rigor/strictness.\n    accuracy: 'default',\n    // Disables advanced emulation that relies on returning a `RegExp` subclass, resulting in\n    // certain patterns not being emulatable.\n    avoidSubclass: false,\n    // Oniguruma flags; a string with `i`, `m`, `x`, `D`, `S`, `W` in any order (all optional).\n    // Oniguruma's `m` is equivalent to JavaScript's `s` (`dotAll`).\n    flags: '',\n    // Include JavaScript flag `g` (`global`) in the result.\n    global: false,\n    // Include JavaScript flag `d` (`hasIndices`) in the result.\n    hasIndices: false,\n    // Delay regex construction until first use if the transpiled pattern is at least this length.\n    lazyCompileLength: Infinity,\n    // JavaScript version used for generated regexes. Using `auto` detects the best value based on\n    // your environment. Later targets allow faster processing, simpler generated source, and\n    // support for additional features.\n    target: 'auto',\n    // Disables optimizations that simplify the pattern when it doesn't change the meaning.\n    verbose: false,\n    ...options,\n    // Advanced options that override standard behavior, error checking, and flags when enabled.\n    rules: {\n      // Useful with TextMate grammars that merge backreferences across patterns.\n      allowOrphanBackrefs: false,\n      // Use ASCII-based `\\b` and `\\B`, which increases search performance of generated regexes.\n      asciiWordBoundaries: false,\n      // Allow unnamed captures and numbered calls (backreferences and subroutines) when using\n      // named capture. This is Oniguruma option `ONIG_OPTION_CAPTURE_GROUP`; on by default in\n      // `vscode-oniguruma`.\n      captureGroup: false,\n      // Change the recursion depth limit from Oniguruma's `20` to an integer `2`–`20`.\n      recursionLimit: 20,\n      // `^` as `\\A`; `$` as`\\Z`. Improves search performance of generated regexes without changing\n      // meaning if searching line by line. This is Oniguruma option `ONIG_OPTION_SINGLELINE`.\n      singleline: false,\n      ...(options?.rules),\n    },\n  };\n  if (opts.target === 'auto') {\n    opts.target = envFlags.flagGroups ? 'ES2025' : (envFlags.unicodeSets ? 'ES2024' : 'ES2018');\n  }\n  return opts;\n}\n\nexport {\n  Accuracy,\n  EsVersion,\n  getOptions,\n  Target,\n};\n","import {cp, r} from './utils.js';\n\nconst CharsWithoutIgnoreCaseExpansion = new Set([\n  cp(0x130), // İ\n  cp(0x131), // ı\n]);\n\nfunction getIgnoreCaseMatchChars(char) {\n  // Some chars should not match the chars they case swap to\n  if (CharsWithoutIgnoreCaseExpansion.has(char)) {\n    return [char];\n  }\n  const set = new Set();\n  const lower = char.toLowerCase();\n  // Everything else is based on `lower`\n  const upper = lower.toUpperCase();\n  const title = LowerToTitleCaseMap.get(lower);\n  const altLower = LowerToAlternativeLowerCaseMap.get(lower);\n  const altUpper = LowerToAlternativeUpperCaseMap.get(lower);\n  // Exclude ucase if multiple chars; count code point length. Excludes ucase versions of German\n  // es-zed 'ß', ligatures like 'ﬀ', and chars with no precomposed ucase like 'ŉ'. See\n  // <unicode.org/Public/UNIDATA/SpecialCasing.txt>\n  if ([...upper].length === 1) {\n    set.add(upper);\n  }\n  altUpper && set.add(altUpper);\n  title && set.add(title);\n  // Lcase of 'İ' is multiple chars, but it's excluded by `CharsWithoutIgnoreCaseExpansion`\n  set.add(lower);\n  altLower && set.add(altLower);\n  return [...set];\n}\n\n// The following set includes:\n// - All ES2024 general categories and their aliases (all are supported by Oniguruma). See\n//   <github.com/mathiasbynens/unicode-match-property-value-ecmascript/blob/main/data/mappings.js>\n// - All ES2024 binary properties and their aliases (all are supported by Oniguruma). See\n//   <tc39.es/ecma262/multipage/text-processing.html#table-binary-unicode-properties>\n// Unicode properties must be mapped to property names supported by JS, and must also apply JS's\n// stricter rules for casing, whitespace, and underscores in Unicode property names. In order to\n// remain lightweight, this library assumes properties not in this list are Unicode script names\n// (which require a `Script=` or `sc=` prefix in JS). Unlike JS, Oniguruma doesn't support script\n// extensions, and it supports some properties that aren't supported in JS (including blocks with\n// an `In_` prefix). See also:\n// - Properties supported in Oniguruma: <github.com/kkos/oniguruma/blob/master/doc/UNICODE_PROPERTIES>\n// - Properties supported in JS by spec version: <github.com/eslint-community/regexpp/blob/main/src/unicode/properties.ts>\nconst JsUnicodeProperties = new Set(\n`C Other\nCc Control cntrl\nCf Format\nCn Unassigned\nCo Private_Use\nCs Surrogate\nL Letter\nLC Cased_Letter\nLl Lowercase_Letter\nLm Modifier_Letter\nLo Other_Letter\nLt Titlecase_Letter\nLu Uppercase_Letter\nM Mark Combining_Mark\nMc Spacing_Mark\nMe Enclosing_Mark\nMn Nonspacing_Mark\nN Number\nNd Decimal_Number digit\nNl Letter_Number\nNo Other_Number\nP Punctuation punct\nPc Connector_Punctuation\nPd Dash_Punctuation\nPe Close_Punctuation\nPf Final_Punctuation\nPi Initial_Punctuation\nPo Other_Punctuation\nPs Open_Punctuation\nS Symbol\nSc Currency_Symbol\nSk Modifier_Symbol\nSm Math_Symbol\nSo Other_Symbol\nZ Separator\nZl Line_Separator\nZp Paragraph_Separator\nZs Space_Separator\nASCII\nASCII_Hex_Digit AHex\nAlphabetic Alpha\nAny\nAssigned\nBidi_Control Bidi_C\nBidi_Mirrored Bidi_M\nCase_Ignorable CI\nCased\nChanges_When_Casefolded CWCF\nChanges_When_Casemapped CWCM\nChanges_When_Lowercased CWL\nChanges_When_NFKC_Casefolded CWKCF\nChanges_When_Titlecased CWT\nChanges_When_Uppercased CWU\nDash\nDefault_Ignorable_Code_Point DI\nDeprecated Dep\nDiacritic Dia\nEmoji\nEmoji_Component EComp\nEmoji_Modifier EMod\nEmoji_Modifier_Base EBase\nEmoji_Presentation EPres\nExtended_Pictographic ExtPict\nExtender Ext\nGrapheme_Base Gr_Base\nGrapheme_Extend Gr_Ext\nHex_Digit Hex\nIDS_Binary_Operator IDSB\nIDS_Trinary_Operator IDST\nID_Continue IDC\nID_Start IDS\nIdeographic Ideo\nJoin_Control Join_C\nLogical_Order_Exception LOE\nLowercase Lower\nMath\nNoncharacter_Code_Point NChar\nPattern_Syntax Pat_Syn\nPattern_White_Space Pat_WS\nQuotation_Mark QMark\nRadical\nRegional_Indicator RI\nSentence_Terminal STerm\nSoft_Dotted SD\nTerminal_Punctuation Term\nUnified_Ideograph UIdeo\nUppercase Upper\nVariation_Selector VS\nWhite_Space space\nXID_Continue XIDC\nXID_Start XIDS`.split(/\\s/)\n);\n\nconst JsUnicodePropertiesMap = new Map();\nfor (const p of JsUnicodeProperties) {\n  JsUnicodePropertiesMap.set(slug(p), p);\n}\n\nconst JsUnicodePropertiesOfStrings = new Set([\n  // ES2024 properties of strings; none are supported by Oniguruma\n  'Basic_Emoji',\n  'Emoji_Keycap_Sequence',\n  'RGI_Emoji',\n  'RGI_Emoji_Flag_Sequence',\n  'RGI_Emoji_Modifier_Sequence',\n  'RGI_Emoji_Tag_Sequence',\n  'RGI_Emoji_ZWJ_Sequence',\n]);\n\nconst JsUnicodePropertiesOfStringsMap = new Map();\nfor (const p of JsUnicodePropertiesOfStrings) {\n  JsUnicodePropertiesOfStringsMap.set(slug(p), p);\n}\n\nconst LowerToAlternativeLowerCaseMap = new Map([\n  ['s', cp(0x17F)], // s, ſ\n  [cp(0x17F), 's'], // ſ, s\n]);\n\nconst LowerToAlternativeUpperCaseMap = new Map([\n  [cp(0xDF), cp(0x1E9E)], // ß, ẞ\n  [cp(0x6B), cp(0x212A)], // k, K (Kelvin)\n  [cp(0xE5), cp(0x212B)], // å, Å (Angstrom)\n  [cp(0x3C9), cp(0x2126)], // ω, Ω (Ohm)\n]);\n\n// See <github.com/node-unicode/unicode-16.0.0/tree/main/General_Category/Titlecase_Letter>\nconst LowerToTitleCaseMap = new Map([\n  titleEntry(0x1C5),\n  titleEntry(0x1C8),\n  titleEntry(0x1CB),\n  titleEntry(0x1F2),\n  ...titleRange(0x1F88, 0x1F8F),\n  ...titleRange(0x1F98, 0x1F9F),\n  ...titleRange(0x1FA8, 0x1FAF),\n  titleEntry(0x1FBC),\n  titleEntry(0x1FCC),\n  titleEntry(0x1FFC),\n]);\n\n// Unlike Oniguruma's Unicode properties via `\\p` and `\\P`, these names are case sensitive and\n// don't allow inserting whitespace and underscores. Definitions at\n// <github.com/kkos/oniguruma/blob/master/doc/RE> (see: POSIX bracket: Unicode Case)\n// Note: Handling in the transformer assumes all values here are a single, negateable node that's\n// not pre-negated at the top level. It also uses ASCII versions of `graph` and `print` for target\n// `ES2018` (which doesn't allow intersection) if `accuracy` isn't `strict`\nconst PosixClassesMap = new Map([\n  ['alnum', r`[\\p{Alpha}\\p{Nd}]`],\n  ['alpha', r`\\p{Alpha}`],\n  ['ascii', r`\\p{ASCII}`],\n  ['blank', r`[\\p{Zs}\\t]`],\n  ['cntrl', r`\\p{cntrl}`],\n  ['digit', r`\\p{Nd}`],\n  ['graph', r`[\\P{space}&&\\P{cntrl}&&\\P{Cn}&&\\P{Cs}]`],\n  ['lower', r`\\p{Lower}`],\n  ['print', r`[[\\P{space}&&\\P{cntrl}&&\\P{Cn}&&\\P{Cs}]\\p{Zs}]`],\n  ['punct', r`[\\p{P}\\p{S}]`], // New value from Oniguruma 6.9.9\n  ['space', r`\\p{space}`],\n  ['upper', r`\\p{Upper}`],\n  ['word', r`[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}]`],\n  ['xdigit', r`\\p{AHex}`],\n]);\n\n// Apart from the property names provided by Unicode, Oniguruma explicitly adds several names (see\n// <github.com/kkos/oniguruma/blob/master/doc/RE>) that can be used within `\\p{}` and `\\P{}` (those\n// below). These should be listed here in lowercase, though they aren't case sensitive when used\nconst PosixProperties = new Set([\n  'alnum',\n  'blank',\n  'graph',\n  'print',\n  'word',\n  'xdigit',\n  // The following are available with the same name in JS (see `JsUnicodeProperties`), so can be\n  // handled as standard Unicode properties\n  // 'alpha', // (JS: Alpha)\n  // 'ascii', // (JS: ASCII)\n  // 'cntrl', // (JS: cntrl)\n  // 'digit', // (JS: digit)\n  // 'lower', // (JS: Lower)\n  // 'punct', // (JS: punct)\n  // 'space', // (JS: space)\n  // 'upper', // (JS: Upper)\n]);\n\nfunction range(start, end) {\n  // const range = Array.from(Array(end + 1 - start), (_, i) => i + start);\n  // const range = Array(end + 1 - start).fill(start).map((x, i) => x + i);\n  const range = [];\n  for (let i = start; i <= end; i++) {\n    range.push(i);\n  }\n  return range;\n}\n\n// Generates a Unicode property lookup name: lowercase, without spaces, hyphens, underscores\nfunction slug(name) {\n  return name.replace(/[- _]+/g, '').toLowerCase();\n}\n\nfunction titleEntry(codePoint) {\n  const char = cp(codePoint);\n  return [char.toLowerCase(), char];\n}\n\nfunction titleRange(start, end) {\n  return range(start, end).map(codePoint => titleEntry(codePoint));\n}\n\nconst UnicodePropertiesWithSpecificCase = new Set([\n  'Lower', 'Lowercase',\n  'Upper', 'Uppercase',\n  'Ll', 'Lowercase_Letter',\n  'Lt', 'Titlecase_Letter',\n  'Lu', 'Uppercase_Letter',\n  // The `Changes_When_*` properties (and their aliases) could be included, but they're very rare.\n  // Some other properties include a handful of chars with specific cases only, but these chars are\n  // generally extreme edge cases and using such properties case insensitively generally produces\n  // undesired behavior anyway\n]);\n\nexport {\n  getIgnoreCaseMatchChars,\n  JsUnicodeProperties,\n  JsUnicodePropertiesMap,\n  JsUnicodePropertiesOfStringsMap,\n  PosixClassesMap,\n  PosixProperties,\n  slug,\n  UnicodePropertiesWithSpecificCase,\n};\n","import {PosixClassesMap} from './unicode.js';\nimport {r} from './utils.js';\n\nconst TokenTypes = /** @type {const} */ ({\n  Alternator: 'Alternator',\n  Assertion: 'Assertion',\n  Backreference: 'Backreference',\n  Character: 'Character',\n  CharacterClassClose: 'CharacterClassClose',\n  CharacterClassHyphen: 'CharacterClassHyphen',\n  CharacterClassIntersector: 'CharacterClassIntersector',\n  CharacterClassOpen: 'CharacterClassOpen',\n  CharacterSet: 'CharacterSet',\n  Directive: 'Directive',\n  GroupClose: 'GroupClose',\n  GroupOpen: 'GroupOpen',\n  Subroutine: 'Subroutine',\n  Quantifier: 'Quantifier',\n  // These aren't allowed in char classes, so they aren't equivalent to JS `[\\q{}]`\n  VariableLengthCharacterSet: 'VariableLengthCharacterSet',\n  // Intermediate representation not included in results\n  EscapedNumber: 'EscapedNumber',\n});\n\nconst TokenCharacterSetKinds = {\n  any: 'any',\n  digit: 'digit',\n  dot: 'dot',\n  hex: 'hex',\n  non_newline: 'non_newline',\n  posix: 'posix',\n  property: 'property',\n  space: 'space',\n  word: 'word',\n};\n\nconst TokenDirectiveKinds = {\n  flags: 'flags',\n  keep: 'keep',\n};\n\nconst TokenGroupKinds = {\n  absent_repeater: 'absent_repeater',\n  atomic: 'atomic',\n  capturing: 'capturing',\n  group: 'group',\n  lookahead: 'lookahead',\n  lookbehind: 'lookbehind',\n};\n\nconst EscapeCharCodes = new Map([\n  ['a',  7], // alert/bell (Not available in JS)\n  ['b',  8], // backspace (only in char classes)\n  ['e', 27], // escape (Not available in JS)\n  ['f', 12], // form feed\n  ['n', 10], // line feed\n  ['r', 13], // carriage return\n  ['t',  9], // horizontal tab\n  ['v', 11], // vertical tab\n]);\n\nconst charClassOpenPattern = r`\\[\\^?`;\nconst sharedEscapesPattern = `${\n  // Control char\n  'c.? | C(?:-.?)?'\n}|${\n  // Unicode property; Onig considers `\\p` an identity escape, but e.g. `\\p{`, `\\p{ ^L}`, and\n  // `\\p{gc=L}` are invalid\n  r`[pP]\\{(?:\\^?[-\\x20_]*[A-Za-z][-\\x20\\w]*\\})?`\n}|${\n  // Hex encoded byte sequence; attempt match before other `\\xNN` hex char\n  r`x[89A-Fa-f]\\p{AHex}(?:\\\\x[89A-Fa-f]\\p{AHex})*`\n}|${\n  // Hex char\n  r`u(?:\\p{AHex}{4})? | x\\{[^\\}]*\\}? | x\\p{AHex}{0,2}`\n}|${\n  // Enclosed octal code point\n  r`o\\{[^\\}]*\\}?`\n}|${\n  // Escaped number\n  r`\\d{1,3}`\n}`;\n// Even with flag x, Onig doesn't allow whitespace to separate a quantifier from the `?` or `+`\n// that makes it lazy or possessive. Possessive suffixes don't apply to interval quantifiers\nconst quantifierRe = /[?*+][?+]?|\\{(?:\\d+(?:,\\d*)?|,\\d+)\\}\\??/;\nconst tokenRe = new RegExp(r`\n  \\\\ (?:\n    ${sharedEscapesPattern}\n    | [gk]<[^>]*>?\n    | [gk]'[^']*'?\n    | .\n  )\n  | \\( (?:\n    \\? (?:\n      [:=!>({]\n      | <[=!]\n      | <[^>]*>\n      | '[^']*'\n      | ~\\|?\n      | #(?:[^)\\\\]|\\\\.?)*\n      | [^:)]*[:)]\n    )?\n    | \\*\n  )?\n  | ${quantifierRe.source}\n  | ${charClassOpenPattern}\n  | .\n`.replace(/\\s+/g, ''), 'gsu');\nconst charClassTokenRe = new RegExp(r`\n  \\\\ (?:\n    ${sharedEscapesPattern}\n    | .\n  )\n  | \\[:(?:\\^?\\p{Alpha}+|\\^):\\]\n  | ${charClassOpenPattern}\n  | &&\n  | .\n`.replace(/\\s+/g, ''), 'gsu');\n\n/**\n@typedef {{\n  type: keyof TokenTypes;\n  raw: string;\n  [key: string]: string | number | boolean;\n}} Token\n@typedef {{\n  tokens: Array<Token>;\n  flags: {\n    dotAll: boolean;\n    extended: boolean;\n    ignoreCase: boolean;\n  };\n  rules: {\n    captureGroup: boolean;\n    singleline: boolean;\n  };\n}} TokenizerResult\n*/\n/**\n@param {string} pattern Oniguruma pattern.\n@param {string} [flags] Oniguruma flags.\n@param {{\n  captureGroup?: boolean;\n  singleline?: boolean;\n}} [rules] Oniguruma compile-time options.\n@returns {TokenizerResult}\n*/\nfunction tokenize(pattern, flags = '', rules) {\n  rules = {\n    // `ONIG_OPTION_CAPTURE_GROUP`\n    captureGroup: false,\n    // `ONIG_OPTION_SINGLELINE`\n    singleline: false,\n    ...rules,\n  };\n  if (typeof pattern !== 'string') {\n    throw new Error('String expected as pattern');\n  }\n  if (!/^[imxDSW]*$/.test(flags)) {\n    throw new Error(`Flags \"${flags}\" includes unsupported value`);\n  }\n  const extended = flags.includes('x');\n  const xStack = [extended];\n  const context = {\n    captureGroup: rules.captureGroup,\n    getCurrentModX: () => xStack.at(-1),\n    numOpenGroups: 0,\n    popModX() {xStack.pop()},\n    pushModX(isXOn) {xStack.push(isXOn)},\n    replaceCurrentModX(isXOn) {xStack[xStack.length - 1] = isXOn},\n    singleline: rules.singleline,\n  };\n  let tokens = [];\n  let match;\n  tokenRe.lastIndex = 0;\n  while ((match = tokenRe.exec(pattern))) {\n    const result = getTokenWithDetails(context, pattern, match[0], tokenRe.lastIndex);\n    if (result.tokens) {\n      tokens.push(...result.tokens);\n    } else if (result.token) {\n      tokens.push(result.token);\n    }\n    if (result.lastIndex !== undefined) {\n      tokenRe.lastIndex = result.lastIndex;\n    }\n  }\n\n  const potentialUnnamedCaptureTokens = [];\n  let numNamedAndOptInUnnamedCaptures = 0;\n  tokens.forEach(t => {\n    if (t.type === TokenTypes.GroupOpen) {\n      if (t.kind === TokenGroupKinds.capturing) {\n        t.number = ++numNamedAndOptInUnnamedCaptures;\n      } else if (t.raw === '(') {\n        potentialUnnamedCaptureTokens.push(t);\n      }\n    }\n  });\n  // Enable unnamed capturing groups if no named captures (when `captureGroup` not enabled)\n  if (!numNamedAndOptInUnnamedCaptures) {\n    potentialUnnamedCaptureTokens.forEach((t, i) => {\n      t.kind = TokenGroupKinds.capturing;\n      t.number = i + 1;\n    });\n  }\n  const numCaptures = numNamedAndOptInUnnamedCaptures || potentialUnnamedCaptureTokens.length;\n  // Can now split escaped nums accurately, accounting for number of captures\n  tokens = tokens.map(\n    t => t.type === TokenTypes.EscapedNumber ? splitEscapedNumToken(t, numCaptures) : t\n  ).flat();\n\n  return {\n    tokens,\n    flags: {\n      ignoreCase: flags.includes('i'),\n      // Flag m is called `multiline` in Onig, but that has a different meaning in JS. Onig flag m\n      // is equivalent to JS flag s\n      dotAll: flags.includes('m'),\n      // Flag x is fully handled during tokenization\n      extended,\n      // Flags D, S, W are currently only supported as top-level flags\n      digitIsAscii: flags.includes('D'),\n      spaceIsAscii: flags.includes('S'),\n      wordIsAscii: flags.includes('W'),\n    },\n    rules,\n  };\n}\n\nfunction getTokenWithDetails(context, pattern, m, lastIndex) {\n  const [m0, m1] = m;\n\n  if (m0 === '[') {\n    const result = getAllTokensForCharClass(pattern, m, lastIndex);\n    return {\n      // Array of all of the char class's tokens\n      tokens: result.tokens,\n      // Jump forward to the end of the char class\n      lastIndex: result.lastIndex,\n    };\n  }\n\n  if (m0 === '\\\\') {\n    if ('AbBGzZ'.includes(m1)) {\n      return {\n        token: createToken(TokenTypes.Assertion, m, {\n          kind: m,\n        }),\n      };\n    }\n    if (/^\\\\g[<']/.test(m)) {\n      if (!/^\\\\g(?:<[^>]+>|'[^']+')$/.test(m)) {\n        throw new Error(`Invalid group name \"${m}\"`);\n      }\n      return {\n        token: createToken(TokenTypes.Subroutine, m),\n      };\n    }\n    if (/^\\\\k[<']/.test(m)) {\n      if (!/^\\\\k(?:<[^>]+>|'[^']+')$/.test(m)) {\n        throw new Error(`Invalid group name \"${m}\"`);\n      }\n      return {\n        token: createToken(TokenTypes.Backreference, m),\n      };\n    }\n    if (m1 === 'K') {\n      return {\n        token: createToken(TokenTypes.Directive, m, {\n          kind: TokenDirectiveKinds.keep,\n        }),\n      };\n    }\n    if (m1 === 'N') {\n      return {\n        token: createToken(TokenTypes.CharacterSet, m, {\n          kind: TokenCharacterSetKinds.non_newline,\n        }),\n      };\n    }\n    if (m1 === 'O') {\n      return {\n        token: createToken(TokenTypes.CharacterSet, m, {\n          kind: TokenCharacterSetKinds.any,\n        }),\n      };\n    }\n    if ('RX'.includes(m1)) {\n      return {\n        token: createToken(TokenTypes.VariableLengthCharacterSet, m, {\n          kind: m,\n        }),\n      };\n    }\n    // Grapheme boundaries not yet unsupported; avoid treating as an identity escape\n    if ('yY'.includes(m1)) {\n      throw new Error(`Unsupported grapheme boundary \"${m}\"`);\n    }\n    // Run last since it assumes an identity escape as final condition\n    const result = createTokenForSharedEscape(m, {inCharClass: false});\n    return Array.isArray(result) ? {tokens: result} : {token: result};\n  }\n\n  if (m0 === '(') {\n    if (m === '(*') {\n      throw new Error(`Unsupported named callout \"${m}\"`);\n    }\n    if (m === '(?{') {\n      throw new Error(`Unsupported callout \"${m}\"`);\n    }\n    // Comment group\n    if (m === '(?#') {\n      // The closing unescaped `)` isn't included in the match\n      if (pattern[lastIndex] !== ')') {\n        throw new Error('Unclosed comment group \"(?#\"');\n      }\n      return {\n        lastIndex: lastIndex + 1,\n      };\n    }\n    // Flag modifier (directive or group opener)\n    if (/^\\(\\?[-imx]+[:)]$/.test(m)) {\n      return {\n        token: createTokenForFlagMod(m, context),\n      };\n    }\n    // --- Remaining group types all reuse current flag x status ---\n    context.pushModX(context.getCurrentModX());\n    context.numOpenGroups++;\n    if (\n      // Unnamed capture if no named captures present and `captureGroup` not enabled, else\n      // noncapturing group\n      (m === '(' && !context.captureGroup) ||\n      // Noncapturing group\n      m === '(?:'\n    ) {\n      return {\n        token: createToken(TokenTypes.GroupOpen, m, {\n          // For `(`, will later change to `capturing` and add `number` prop if no named captures\n          kind: TokenGroupKinds.group,\n        }),\n      };\n    }\n    // Atomic group\n    if (m === '(?>') {\n      return {\n        token: createToken(TokenTypes.GroupOpen, m, {\n          kind: TokenGroupKinds.atomic,\n        }),\n      };\n    }\n    // Lookaround\n    if (m === '(?=' || m === '(?!' || m === '(?<=' || m === '(?<!') {\n      return {\n        token: createToken(TokenTypes.GroupOpen, m, {\n          kind: m[2] === '<' ? TokenGroupKinds.lookbehind : TokenGroupKinds.lookahead,\n          negate: m.endsWith('!'),\n        }),\n      };\n    }\n    // Unnamed capture when `captureGroup` enabled, or named capture (checked after lookbehind due\n    // to similar syntax)\n    if (\n      (m === '(' && context.captureGroup) ||\n      (m.startsWith('(?<') && m.endsWith('>')) ||\n      (m.startsWith(\"(?'\") && m.endsWith(\"'\"))\n    ) {\n      const token = createToken(TokenTypes.GroupOpen, m, {\n        kind: TokenGroupKinds.capturing,\n        // Will add `number` prop in a second pass\n      });\n      if (m !== '(') {\n        token.name = m.slice(3, -1);\n      }\n      return {\n        token,\n      };\n    }\n    if (m.startsWith('(?~')) {\n      if (m === '(?~|') {\n        throw new Error(`Unsupported absent function kind \"${m}\"`);\n      }\n      return {\n        token: createToken(TokenTypes.GroupOpen, m, {\n          kind: TokenGroupKinds.absent_repeater,\n        }),\n      };\n    }\n    if (m === '(?(') {\n      // Some forms are supportable; can be added\n      throw new Error(`Unsupported conditional \"${m}\"`);\n    }\n    throw new Error(`Invalid or unsupported group option \"${m}\"`);\n  }\n  if (m === ')') {\n    context.popModX();\n    context.numOpenGroups--;\n    if (context.numOpenGroups < 0) {\n      throw new Error('Unmatched \")\"');\n    }\n    return {\n      token: createToken(TokenTypes.GroupClose, m),\n    };\n  }\n\n  if (m === '#' && context.getCurrentModX()) {\n    // Onig's only line break char is line feed\n    const end = pattern.indexOf('\\n', lastIndex);\n    return {\n      // Jump forward to the end of the comment\n      lastIndex: end === -1 ? pattern.length : end,\n    };\n  }\n  if (/^\\s$/.test(m) && context.getCurrentModX()) {\n    const re = /\\s+/y;\n    re.lastIndex = lastIndex;\n    const rest = re.exec(pattern);\n    return {\n      // Jump forward to the end of the whitespace\n      lastIndex: rest ? re.lastIndex : lastIndex,\n    };\n  }\n\n  if (m === '.') {\n    return {\n      token: createToken(TokenTypes.CharacterSet, m, {\n        kind: TokenCharacterSetKinds.dot,\n      }),\n    };\n  }\n\n  if (m === '^' || m === '$') {\n    const kind = context.singleline ? {\n      '^': r`\\A`,\n      '$': r`\\Z`,\n    }[m] : m;\n    return {\n      token: createToken(TokenTypes.Assertion, m, {\n        kind,\n      }),\n    };\n  }\n\n  if (m === '|') {\n    return {\n      token: createToken(TokenTypes.Alternator, m),\n    };\n  }\n\n  if (quantifierRe.test(m)) {\n    return {\n      token: createTokenForQuantifier(m),\n    };\n  }\n\n  assertSingleCodePoint(m);\n  return {\n    token: createToken(TokenTypes.Character, m, {\n      value: m.codePointAt(0),\n    }),\n  };\n}\n\nfunction getAllTokensForCharClass(pattern, opener, lastIndex) {\n  const tokens = [createToken(TokenTypes.CharacterClassOpen, opener, {\n    negate: opener[1] === '^',\n  })];\n  let numCharClassesOpen = 1;\n  let match;\n  charClassTokenRe.lastIndex = lastIndex;\n  while ((match = charClassTokenRe.exec(pattern))) {\n    const m = match[0];\n    // Start of nested char class\n    // POSIX classes are handled as a single token; not as a nested char class\n    if (m[0] === '[' && m[1] !== ':') {\n      numCharClassesOpen++;\n      tokens.push(createToken(TokenTypes.CharacterClassOpen, m, {\n        negate: m[1] === '^',\n      }));\n    } else if (m === ']') {\n      if (tokens.at(-1).type === TokenTypes.CharacterClassOpen) {\n        // Allow unescaped `]` as leading char\n        tokens.push(createToken(TokenTypes.Character, m, {\n          value: 93,\n        }));\n      } else {\n        numCharClassesOpen--;\n        tokens.push(createToken(TokenTypes.CharacterClassClose, m));\n        if (!numCharClassesOpen) {\n          break;\n        }\n      }\n    } else {\n      const result = createTokenForAnyTokenWithinCharClass(m);\n      if (Array.isArray(result)) {\n        tokens.push(...result);\n      } else {\n        tokens.push(result);\n      }\n    }\n  }\n  return {\n    tokens,\n    lastIndex: charClassTokenRe.lastIndex || pattern.length,\n  }\n}\n\nfunction createTokenForAnyTokenWithinCharClass(raw) {\n  if (raw[0] === '\\\\') {\n    // Assumes an identity escape as final condition\n    return createTokenForSharedEscape(raw, {inCharClass: true});\n  }\n  // POSIX class: `[:name:]` or `[:^name:]`\n  if (raw[0] === '[') {\n    const posix = /\\[:(?<negate>\\^?)(?<name>[a-z]+):\\]/.exec(raw);\n    if (!posix || !PosixClassesMap.get(posix.groups.name)) {\n      throw new Error(`Invalid POSIX class \"${raw}\"`);\n    }\n    return createToken(TokenTypes.CharacterSet, raw, {\n      kind: TokenCharacterSetKinds.posix,\n      negate: !!posix.groups.negate,\n      value: posix.groups.name,\n    });\n  }\n  // Range (possibly invalid) or literal hyphen\n  if (raw === '-') {\n    return createToken(TokenTypes.CharacterClassHyphen, raw);\n  }\n  if (raw === '&&') {\n    return createToken(TokenTypes.CharacterClassIntersector, raw);\n  }\n  assertSingleCodePoint(raw);\n  return createToken(TokenTypes.Character, raw, {\n    value: raw.codePointAt(0),\n  });\n}\n\n// Tokens shared by base syntax and char class syntax that start with `\\`\nfunction createTokenForSharedEscape(raw, {inCharClass}) {\n  const char1 = raw[1];\n  if (char1 === 'c' || char1 === 'C') {\n    return createTokenForControlChar(raw);\n  }\n  if ('dDhHsSwW'.includes(char1)) {\n    return createTokenForShorthandCharClass(raw);\n  }\n  if (raw.startsWith(r`\\o{`)) {\n    throw new Error(`Incomplete, invalid, or unsupported octal code point \"${raw}\"`);\n  }\n  if (/^\\\\[pP]\\{/.test(raw)) {\n    if (raw.length === 3) {\n      throw new Error(`Incomplete or invalid Unicode property \"${raw}\"`);\n    }\n    return createTokenForUnicodeProperty(raw);\n  }\n  // Hex UTF-8 encoded byte sequence\n  if (/^\\\\x[89A-Fa-f]\\p{AHex}/u.test(raw)) {\n    try {\n      const bytes = raw.split(/\\\\x/).slice(1).map(hex => parseInt(hex, 16));\n      const decoded = new TextDecoder('utf-8', {\n        ignoreBOM: true,\n        fatal: true,\n      }).decode(new Uint8Array(bytes));\n      const encoder = new TextEncoder();\n      const tokens = [...decoded].map(char => {\n        // Since this regenerates `raw`, it might have different casing for hex A-F than the input\n        const raw = [...encoder.encode(char)].map(byte => `\\\\x${byte.toString(16)}`).join('');\n        return createToken(TokenTypes.Character, raw, {\n          value: char.codePointAt(0),\n        });\n      });\n      return tokens;\n    } catch {\n      throw new Error(`Multibyte code \"${raw}\" incomplete or invalid in Oniguruma`);\n    }\n  }\n  if (char1 === 'u' || char1 === 'x') {\n    return createToken(TokenTypes.Character, raw, {\n      value: getValidatedHexCharCode(raw),\n    });\n  }\n  if (EscapeCharCodes.has(char1)) {\n    return createToken(TokenTypes.Character, raw, {\n      value: EscapeCharCodes.get(char1),\n    });\n  }\n  // Escaped number: backref (possibly invalid), null, octal, or identity escape, possibly followed\n  // by 1-2 literal digits\n  if (/\\d/.test(char1)) {\n    return createToken(TokenTypes.EscapedNumber, raw, {\n      inCharClass,\n    });\n  }\n  if (raw === '\\\\') {\n    throw new Error(r`Incomplete escape \"\\\"`);\n  }\n  // Meta `\\M-x` and `\\M-\\C-x` are unsupported; avoid treating as an identity escape\n  if (char1 === 'M') {\n    // Supportable; see <github.com/kkos/oniguruma/blob/master/doc/SYNTAX.md#12-onig_syn_op2_esc_capital_m_bar_meta-enable-m-x>, <github.com/kkos/oniguruma/blob/43a8c3f3daf263091f3a74019d4b32ebb6417093/src/regparse.c#L4695>, <https://github.com/ammar/regexp_parser/blob/8851030feda68223d74f502335fb254a20d77016/lib/regexp_parser/expression/classes/escape_sequence.rb#L75>\n    throw new Error(`Unsupported meta \"${raw}\"`);\n  }\n  // Identity escape; count code point length\n  if ([...raw].length === 2) {\n    return createToken(TokenTypes.Character, raw, {\n      value: raw.codePointAt(1),\n    });\n  }\n  throw new Error(`Unexpected escape \"${raw}\"`);\n}\n\n/**\n@param {keyof TokenTypes} type\n@param {string} raw\n@param {{[key: string]: string | number | boolean;}} [data]\n@returns {Token}\n*/\nfunction createToken(type, raw, data) {\n  return {\n    type,\n    raw,\n    ...data,\n  };\n}\n\n// Expects `\\cx` or `\\C-x`\nfunction createTokenForControlChar(raw) {\n  const char = raw[1] === 'c' ? raw[2] : raw[3];\n  if (!char || !/[A-Za-z]/.test(char)) {\n    // Unlike JS, Onig allows any char to follow `\\c` or `\\C-`, but this is an extreme edge case\n    // Supportable; see <github.com/kkos/oniguruma/blob/master/doc/SYNTAX.md#11-onig_syn_op2_esc_capital_c_bar_control-enable-c-x>, <github.com/kkos/oniguruma/blob/43a8c3f3daf263091f3a74019d4b32ebb6417093/src/regparse.c#L4695>\n    throw new Error(`Unsupported control character \"${raw}\"`);\n  }\n  return createToken(TokenTypes.Character, raw, {\n    value: char.toUpperCase().codePointAt(0) - 64,\n  });\n}\n\nfunction createTokenForFlagMod(raw, context) {\n  // Allows multiple `-` and solo `-` without `on` or `off` flags\n  let {on, off} = /^\\(\\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(raw).groups;\n  off ??= '';\n  // Flag x is used directly by the tokenizer since it changes how to interpret the pattern\n  const isXOn = (context.getCurrentModX() || on.includes('x')) && !off.includes('x');\n  const enabledFlags = getFlagPropsForToken(on);\n  const disabledFlags = getFlagPropsForToken(off);\n  const flagChanges = {};\n  enabledFlags && (flagChanges.enable = enabledFlags);\n  disabledFlags && (flagChanges.disable = disabledFlags);\n  // Flag directive; ex: `(?im-x)`\n  if (raw.endsWith(')')) {\n    // Replace flag x value until the end of the current group\n    context.replaceCurrentModX(isXOn);\n    // Can't remove flag directives without flags like `(?-)`; they affect following quantifiers\n    return createToken(TokenTypes.Directive, raw, {\n      kind: TokenDirectiveKinds.flags,\n      flags: flagChanges,\n    });\n  }\n  // Flag group opener; ex: `(?im-x:`\n  if (raw.endsWith(':')) {\n    context.pushModX(isXOn);\n    context.numOpenGroups++;\n    const token = createToken(TokenTypes.GroupOpen, raw, {\n      kind: TokenGroupKinds.group,\n    });\n    if (enabledFlags || disabledFlags) {\n      token.flags = flagChanges;\n    }\n    return token;\n  }\n  throw new Error(`Unexpected flag modifier \"${raw}\"`);\n}\n\nfunction createTokenForQuantifier(raw) {\n  const data = {};\n  if (raw[0] === '{') {\n    const {min, max} = /^\\{(?<min>\\d*)(?:,(?<max>\\d*))?/.exec(raw).groups;\n    const limit = 100_000;\n    if (+min > limit || +max > limit) {\n      throw new Error('Quantifier value unsupported in Oniguruma');\n    }\n    data.min = +min;\n    data.max = max === undefined ? +min : (max === '' ? Infinity : +max);\n    data.greedy = !raw.endsWith('?');\n    // By default, Onig doesn't support making interval quantifiers possessive\n    data.possessive = false;\n  } else {\n    data.min = raw[0] === '+' ? 1 : 0;\n    data.max = raw[0] === '?' ? 1 : Infinity;\n    data.greedy = raw[1] !== '?';\n    data.possessive = raw[1] === '+';\n  }\n  return createToken(TokenTypes.Quantifier, raw, data);\n}\n\nfunction createTokenForShorthandCharClass(raw) {\n  const lower = raw[1].toLowerCase();\n  return createToken(TokenTypes.CharacterSet, raw, {\n    kind: {\n      'd': TokenCharacterSetKinds.digit,\n      'h': TokenCharacterSetKinds.hex, // Not available in JS\n      's': TokenCharacterSetKinds.space, // Different than JS\n      'w': TokenCharacterSetKinds.word,\n    }[lower],\n    negate: raw[1] !== lower,\n  });\n}\n\nfunction createTokenForUnicodeProperty(raw) {\n  const {p, neg, value} = /^\\\\(?<p>[pP])\\{(?<neg>\\^?)(?<value>[^}]+)/.exec(raw).groups;\n  const negate = (p === 'P' && !neg) || (p === 'p' && !!neg);\n  return createToken(TokenTypes.CharacterSet, raw, {\n    kind: TokenCharacterSetKinds.property,\n    negate,\n    value,\n  });\n}\n\nfunction getFlagPropsForToken(flags) {\n  // Don't include `false` for flags that aren't included\n  const obj = {};\n  if (flags.includes('i')) {\n    obj.ignoreCase = true;\n  }\n  if (flags.includes('m')) {\n    // Onig flag m is equivalent to JS flag s\n    obj.dotAll = true;\n  }\n  if (flags.includes('x')) {\n    obj.extended = true;\n  }\n  return Object.keys(obj).length ? obj : null;\n}\n\n// - Unenclosed `\\xNN` above 0x7F is handled elsewhere as a UTF-8 encoded byte sequence\n// - Enclosed `\\x{}` with value above 0x10FFFF is allowed here; handled in the parser\nfunction getValidatedHexCharCode(raw) {\n  // Note: Onig (tested 6.9.8) has a bug where bare `\\u` and `\\x` are identity escapes if they\n  // appear at the very end of the pattern, so e.g. `\\u` matches `u`, but `\\u0`, `\\u.`, and `[\\u]`\n  // are all errors, and `\\x.` and `[\\x]` aren't errors but instead the `\\x` is equivalent to `\\0`.\n  // Don't emulate these bugs (see #21), and just treat these cases as errors. Also, Onig treats\n  // incomplete `\\x{` (with the brace and not immediately followed by a hex digit) as an identity\n  // escape, so e.g. `\\x{` matches `x{` and `^\\x{,2}$` matches `xx`, but `\\x{2,}` and `\\x{0,2}` are\n  // errors. Don't emulate this pointless ambiguity; just treat incomplete `\\x{` as an error\n  if (/^(?:\\\\u(?!\\p{AHex}{4})|\\\\x(?!\\p{AHex}{1,2}|\\{\\p{AHex}{1,8}\\}))/u.test(raw)) {\n    throw new Error(`Incomplete or invalid escape \"${raw}\"`);\n  }\n  // Might include leading 0s\n  const hex = raw[2] === '{' ?\n    /^\\\\x\\{\\s*(?<hex>\\p{AHex}+)/u.exec(raw).groups.hex :\n    raw.slice(2);\n  const dec = parseInt(hex, 16);\n  return dec;\n}\n\n// Value is 1-3 digits, which can be a backref (possibly invalid), null, octal, or identity escape,\n// possibly followed by 1-2 literal digits\nfunction splitEscapedNumToken(token, numCaptures) {\n  const {raw, inCharClass} = token;\n  // Keep any leading 0s since they indicate octal\n  const value = raw.slice(1);\n  // Backref (possibly invalid)\n  if (\n    !inCharClass &&\n    ( // Single digit 1-9 outside a char class is always treated as a backref\n      (value !== '0' && value.length === 1) ||\n      // Leading 0 makes it octal; backrefs can't include following literal digits\n      (value[0] !== '0' && +value <= numCaptures)\n    )\n  ) {\n    return [createToken(TokenTypes.Backreference, raw)];\n  }\n  const tokens = [];\n  // Returns 1-3 matches; the first (only) might be octal\n  const matches = value.match(/^[0-7]+|\\d/g);\n  for (let i = 0; i < matches.length; i++) {\n    const m = matches[i];\n    let value;\n    // Octal digits are 0-7\n    if (i === 0 && m !== '8' && m !== '9') {\n      value = parseInt(m, 8);\n      if (value > 0o177) {\n        // Octal UTF-8 encoded byte sequence; not yet supported\n        throw new Error(r`Octal encoded byte above 177 unsupported \"${raw}\"`);\n      }\n    } else {\n      value = m.codePointAt(0);\n    }\n    tokens.push(createToken(TokenTypes.Character, (i === 0 ? '\\\\' : '') + m, {\n      value,\n    }));\n  }\n  return tokens;\n}\n\nfunction assertSingleCodePoint(raw) {\n  if ([...raw].length !== 1) {\n    throw new Error(`Expected \"${raw}\" to be a single code point`);\n  }\n}\n\nexport {\n  tokenize,\n  TokenCharacterSetKinds,\n  TokenDirectiveKinds,\n  TokenGroupKinds,\n  TokenTypes,\n};\n","import {AstAssertionKinds, AstTypes} from './parse.js';\n\nfunction hasOnlyChild({alternatives}, kidFn) {\n  return (\n    alternatives.length === 1 &&\n    alternatives[0].elements.length === 1 &&\n    (!kidFn || kidFn(alternatives[0].elements[0]))\n  );\n}\n\nfunction isAlwaysZeroLength({type}) {\n  return type === AstTypes.Assertion || type === AstTypes.Directive;\n}\n\nfunction isAlwaysNonZeroLength(node) {\n  const types = [\n    AstTypes.Character,\n    AstTypes.CharacterClass,\n    AstTypes.CharacterSet,\n  ];\n  return types.includes(node.type) || (\n    node.type === AstTypes.Quantifier &&\n    node.min &&\n    types.includes(node.element.type)\n  );\n}\n\n// Consumptive groups add to the match.\n// - Includes: Capturing, named capturing, noncapturing, atomic, and flag groups.\n// - Excludes: Lookarounds.\n//   - Special case: Absent functions are consumptive (and negated, quantified) but are different\n//     in other ways so are excluded here.\n// See also `AstTypeAliases.AnyGroup`.\nfunction isConsumptiveGroup({type}) {\n  return type === AstTypes.CapturingGroup || type === AstTypes.Group;\n}\n\nfunction isLookaround({type, kind}) {\n  return (\n    type === AstTypes.Assertion &&\n    (kind === AstAssertionKinds.lookahead || kind === AstAssertionKinds.lookbehind)\n  );\n}\n\nexport {\n  hasOnlyChild,\n  isAlwaysNonZeroLength,\n  isAlwaysZeroLength,\n  isConsumptiveGroup,\n  isLookaround,\n};\n","import {AstTypes} from './parse.js';\nimport {throwIfNot} from './utils.js';\nimport {isConsumptiveGroup, isLookaround} from './utils-ast.js';\n\nfunction traverse(path, state, visitor) {\n  let ast = path.node;\n  while (ast.parent) {\n    ast = ast.parent;\n  }\n  function traverseArray(array, parent) {\n    for (let i = 0; i < array.length; i++) {\n      const keyShift = traverseNode(array[i], parent, i, array);\n      i = Math.max(-1, i + keyShift);\n    }\n  }\n  function traverseNode(node, parent = null, key = null, container = null) {\n    let keyShift = 0;\n    let skipTraversingKidsOfPath = false;\n    const path = {\n      node,\n      parent,\n      key,\n      container,\n      ast,\n      remove() {\n        throwIfNot(container, 'Container expected').splice(Math.max(0, key + keyShift), 1);\n        keyShift -= 1;\n      },\n      removeAllNextSiblings() {\n        return throwIfNot(container, 'Container expected').splice(key + 1);\n      },\n      removeAllPrevSiblings() {\n        const shifted = key + keyShift;\n        keyShift -= shifted;\n        return throwIfNot(container, 'Container expected').splice(0, Math.max(0, shifted));\n      },\n      replaceWith(newNode) {\n        setParent(newNode, parent);\n        if (container) {\n          container[Math.max(0, key + keyShift)] = newNode;\n        } else {\n          parent[key] = newNode;\n        }\n      },\n      skip() {\n        skipTraversingKidsOfPath = true;\n      },\n    };\n    const visitorKey = getAstTypeAliases(node).find(key => !!visitor[key]);\n    const methods = visitorKey && visitor[visitorKey];\n    const enterFn = typeof methods === 'function' ? methods : methods?.enter;\n    const exitFn = methods?.exit;\n    enterFn?.(path, state);\n    if (!skipTraversingKidsOfPath) {\n      switch (node.type) {\n        case AstTypes.Regex:\n          traverseNode(node.pattern, node, 'pattern');\n          traverseNode(node.flags, node, 'flags');\n          break;\n        case AstTypes.Alternative:\n        case AstTypes.CharacterClass:\n          traverseArray(node.elements, node);\n          break;\n        case AstTypes.Assertion:\n          if (isLookaround(node)) {\n            traverseArray(node.alternatives, node);\n          }\n          break;\n        case AstTypes.Backreference:\n        case AstTypes.Character:\n        case AstTypes.CharacterSet:\n        case AstTypes.Directive:\n        case AstTypes.Flags:\n        case AstTypes.Recursion:\n        case AstTypes.Subroutine:\n        case AstTypes.VariableLengthCharacterSet:\n          break;\n        case AstTypes.AbsentFunction:\n        case AstTypes.CapturingGroup:\n        case AstTypes.Group:\n        case AstTypes.Pattern:\n          traverseArray(node.alternatives, node);\n          break;\n        case AstTypes.CharacterClassIntersection:\n          traverseArray(node.classes, node);\n          break;\n        case AstTypes.CharacterClassRange:\n          traverseNode(node.min, node, 'min');\n          traverseNode(node.max, node, 'max');\n          break;\n        case AstTypes.Quantifier:\n          traverseNode(node.element, node, 'element');\n          break;\n        default:\n          throw new Error(`Unexpected node type \"${node.type}\"`);\n      }\n    }\n    exitFn?.(path, state);\n    return keyShift;\n  }\n  traverseNode(path.node, path.parent, path.key, path.container);\n}\n\nconst AstTypeAliases = {\n  AnyGroup: 'AnyGroup',\n  AnyNode: 'AnyNode',\n};\n\nfunction getAstTypeAliases(node) {\n  const types = [AstTypeAliases.AnyNode];\n  if (isConsumptiveGroup(node) || isLookaround(node)) {\n    types.push(AstTypeAliases.AnyGroup);\n  }\n  types.push(node.type);\n  return types;\n}\n\nfunction setParent(node, parent) {\n  // The traverser can work with ASTs whose nodes include or don't include `parent` props, so only\n  // update the parent if a prop for it exists\n  if ('parent' in parent) {\n    node.parent = parent;\n  }\n}\n\nexport {\n  traverse,\n};\n","import {TokenCharacterSetKinds, TokenDirectiveKinds, TokenGroupKinds, TokenTypes} from './tokenize.js';\nimport {traverse} from './traverse.js';\nimport {JsUnicodePropertiesMap, JsUnicodePropertiesOfStringsMap, PosixProperties, slug} from './unicode.js';\nimport {getOrInsert, r, throwIfNot} from './utils.js';\nimport {hasOnlyChild} from './utils-ast.js';\n\nconst AstTypes = {\n  AbsentFunction: 'AbsentFunction',\n  Alternative: 'Alternative',\n  Assertion: 'Assertion',\n  Backreference: 'Backreference',\n  CapturingGroup: 'CapturingGroup',\n  Character: 'Character',\n  CharacterClass: 'CharacterClass',\n  CharacterClassIntersection: 'CharacterClassIntersection',\n  CharacterClassRange: 'CharacterClassRange',\n  CharacterSet: 'CharacterSet',\n  Directive: 'Directive',\n  Flags: 'Flags',\n  Group: 'Group',\n  Pattern: 'Pattern',\n  Quantifier: 'Quantifier',\n  Regex: 'Regex',\n  Subroutine: 'Subroutine',\n  VariableLengthCharacterSet: 'VariableLengthCharacterSet',\n  // Used only by the transformer for Regex+ ASTs\n  Recursion: 'Recursion',\n};\n\nconst AstAbsentFunctionKinds = {\n  // See <github.com/slevithan/oniguruma-to-es/issues/13>\n  repeater: 'repeater',\n};\n\nconst AstAssertionKinds = {\n  line_end: 'line_end',\n  line_start: 'line_start',\n  lookahead: 'lookahead',\n  lookbehind: 'lookbehind',\n  search_start: 'search_start',\n  string_end: 'string_end',\n  string_end_newline: 'string_end_newline',\n  string_start: 'string_start',\n  word_boundary: 'word_boundary',\n};\n\n// Identical values\nconst AstCharacterSetKinds = TokenCharacterSetKinds;\nconst AstDirectiveKinds = TokenDirectiveKinds;\n\nconst AstVariableLengthCharacterSetKinds = {\n  grapheme: 'grapheme',\n  newline: 'newline',\n};\n\n/**\n@typedef {{\n  type: 'Regex';\n  parent: null;\n  pattern: Object;\n  flags: Object;\n}} OnigurumaAst\n*/\n/**\n@param {import('./tokenize.js').TokenizerResult} tokenizerResult\n@param {{\n  skipBackrefValidation?: boolean;\n  skipPropertyNameValidation?: boolean;\n  verbose?: boolean;\n}} [options]\n@returns {OnigurumaAst}\n*/\nfunction parse({tokens, flags, rules}, options) {\n  const opts = {\n    skipBackrefValidation: false,\n    skipLookbehindValidation: false,\n    skipPropertyNameValidation: false,\n    verbose: false,\n    ...options,\n  };\n  const context = {\n    capturingGroups: [],\n    current: 0,\n    hasNumberedRef: false,\n    namedGroupsByName: new Map(),\n    parent: null,\n    skipBackrefValidation: opts.skipBackrefValidation,\n    skipLookbehindValidation: opts.skipLookbehindValidation,\n    skipPropertyNameValidation: opts.skipPropertyNameValidation,\n    subroutines: [],\n    token: null,\n    tokens,\n    verbose: opts.verbose,\n    walk,\n  };\n  function walk(parent, state) {\n    const token = tokens[context.current];\n    context.parent = parent;\n    context.token = token;\n    // Advance for the next iteration\n    context.current++;\n    switch (token.type) {\n      case TokenTypes.Alternator:\n        // Top-level only; groups handle their own alternators\n        return createAlternative();\n      case TokenTypes.Assertion:\n        return createAssertionFromToken(token);\n      case TokenTypes.Backreference:\n        return parseBackreference(context);\n      case TokenTypes.Character:\n        return createCharacter(token.value, {useLastValid: !!state.isCheckingRangeEnd});\n      case TokenTypes.CharacterClassHyphen:\n        return parseCharacterClassHyphen(context, state);\n      case TokenTypes.CharacterClassOpen:\n        return parseCharacterClassOpen(context, state);\n      case TokenTypes.CharacterSet:\n        return parseCharacterSet(context);\n      case TokenTypes.Directive:\n        return createDirectiveFromToken(token);\n      case TokenTypes.GroupOpen:\n        return parseGroupOpen(context, state);\n      case TokenTypes.Quantifier:\n        return parseQuantifier(context);\n      case TokenTypes.Subroutine:\n        return parseSubroutine(context);\n      case TokenTypes.VariableLengthCharacterSet:\n        return createVariableLengthCharacterSet(token.kind);\n      default:\n        throw new Error(`Unexpected token type \"${token.type}\"`);\n    }\n  }\n  const ast = createRegex(createPattern(), createFlags(flags));\n  let top = ast.pattern.alternatives[0];\n  while (context.current < tokens.length) {\n    const node = walk(top, {});\n    if (node.type === AstTypes.Alternative) {\n      ast.pattern.alternatives.push(node);\n      top = node;\n    } else {\n      top.elements.push(node);\n    }\n  }\n  // `context` updated by preceding `walk` loop\n  const {capturingGroups, hasNumberedRef, namedGroupsByName, subroutines} = context;\n  // Validation that requires knowledge about the complete pattern\n  if (hasNumberedRef && namedGroupsByName.size && !rules.captureGroup) {\n    throw new Error('Numbered backref/subroutine not allowed when using named capture');\n  }\n  for (const {ref} of subroutines) {\n    if (typeof ref === 'number') {\n      // Relative nums are already resolved\n      if (ref > capturingGroups.length) {\n        throw new Error(`Subroutine uses a group number that's not defined`);\n      }\n    } else if (!namedGroupsByName.has(ref)) {\n      throw new Error(r`Subroutine uses a group name that's not defined \"\\g<${ref}>\"`);\n    } else if (namedGroupsByName.get(ref).length > 1) {\n      throw new Error(r`Subroutine uses a duplicate group name \"\\g<${ref}>\"`);\n    }\n  }\n  // Add `parent` properties now that we have a final AST\n  traverse({node: ast}, null, {\n    AnyNode({node, parent}) {\n      node.parent = parent;\n    },\n  });\n  return ast;\n}\n\n// Supported (if the backref appears to the right of the reffed capture's opening paren):\n// - `\\k<name>`, `\\k'name'`\n// - When named capture not used:\n//   - `\\n`, `\\nn`, `\\nnn`\n//   - `\\k<n>`, `\\k'n'\n//   - `\\k<-n>`, `\\k'-n'`\n// Unsupported:\n// - `\\k<+n>`, `\\k'+n'` - Note that, Unlike Oniguruma, Onigmo doesn't support this as special\n//   syntax and therefore considers it a valid group name.\n// - Backref with recursion level (with num or name): `\\k<n+level>`, `\\k<n-level>`, etc.\n//   (Onigmo also supports `\\k<-n+level>`, `\\k<-n-level>`, etc.)\n// Backrefs in Onig use multiplexing for duplicate group names (the rules can be complicated when\n// overlapping with subroutines), but a `Backreference`'s simple `ref` prop doesn't capture these\n// details so multiplexed ref pointers need to be derived when working with the AST\nfunction parseBackreference(context) {\n  const {raw} = context.token;\n  const hasKWrapper = /^\\\\k[<']/.test(raw);\n  const ref = hasKWrapper ? raw.slice(3, -1) : raw.slice(1);\n  const fromNum = (num, isRelative = false) => {\n    const numCapturesToLeft = context.capturingGroups.length;\n    let orphan = false;\n    // Note: It's not an error for numbered backrefs to come before their referenced group in Onig,\n    // but an error is the best path for this library because:\n    // 1. Most placements are mistakes and can never match (based on the Onig behavior for backrefs\n    //    to nonparticipating groups).\n    // 2. Erroring matches the behavior of named backrefs.\n    // 3. The edge cases where they're matchable rely on rules for backref resetting within\n    //    quantified groups that are different in JS and aren't emulatable. Note that it's not a\n    //    backref in the first place if using `\\10` or higher and not as many capturing groups are\n    //    defined to the left (it's an octal or identity escape).\n    // [TODO] Ideally this would be refactored to include the backref in the AST when it's not an\n    // error in Onig (due to the reffed group being defined to the right), and the error handling\n    // would move to the transformer\n    if (num > numCapturesToLeft) {\n      // [WARNING] Skipping the error breaks assumptions and might create edge case issues, since\n      // backrefs are required to come after their captures; unfortunately this option is needed\n      // for TextMate grammars\n      if (context.skipBackrefValidation) {\n        orphan = true;\n      } else {\n        throw new Error(`Not enough capturing groups defined to the left \"${raw}\"`);\n      }\n    }\n    context.hasNumberedRef = true;\n    return createBackreference(isRelative ? numCapturesToLeft + 1 - num : num, {orphan});\n  };\n  if (hasKWrapper) {\n    const numberedRef = /^(?<sign>-?)0*(?<num>[1-9]\\d*)$/.exec(ref);\n    if (numberedRef) {\n      return fromNum(+numberedRef.groups.num, !!numberedRef.groups.sign);\n    }\n    // Invalid in a backref name even when valid in a group name\n    if (/[-+]/.test(ref)) {\n      throw new Error(`Invalid backref name \"${raw}\"`);\n    }\n    if (!context.namedGroupsByName.has(ref)) {\n      throw new Error(`Group name not defined to the left \"${raw}\"`);\n    }\n    return createBackreference(ref);\n  }\n  return fromNum(+ref);\n}\n\nfunction parseCharacterClassHyphen(context, state) {\n  const {parent, tokens, walk} = context;\n  const prevSiblingNode = parent.elements.at(-1);\n  const nextToken = tokens[context.current];\n  if (\n    !state.isCheckingRangeEnd &&\n    prevSiblingNode &&\n    prevSiblingNode.type !== AstTypes.CharacterClass &&\n    prevSiblingNode.type !== AstTypes.CharacterClassRange &&\n    nextToken &&\n    nextToken.type !== TokenTypes.CharacterClassOpen &&\n    nextToken.type !== TokenTypes.CharacterClassClose &&\n    nextToken.type !== TokenTypes.CharacterClassIntersector\n  ) {\n    const nextNode = walk(parent, {\n      ...state,\n      isCheckingRangeEnd: true,\n    });\n    if (prevSiblingNode.type === AstTypes.Character && nextNode.type === AstTypes.Character) {\n      parent.elements.pop();\n      return createCharacterClassRange(prevSiblingNode, nextNode);\n    }\n    throw new Error('Invalid character class range');\n  }\n  // Literal hyphen\n  return createCharacter(45);\n}\n\nfunction parseCharacterClassOpen(context, state) {\n  const {token, tokens, verbose, walk} = context;\n  const firstClassToken = tokens[context.current];\n  let node = createCharacterClass({negate: token.negate});\n  const intersection = node.elements[0];\n  let nextToken = throwIfUnclosedCharacterClass(firstClassToken);\n  while (nextToken.type !== TokenTypes.CharacterClassClose) {\n    if (nextToken.type === TokenTypes.CharacterClassIntersector) {\n      intersection.classes.push(createCharacterClass({negate: false, baseOnly: true}));\n      // Skip the intersector\n      context.current++;\n    } else {\n      const cc = intersection.classes.at(-1);\n      cc.elements.push(walk(cc, state));\n    }\n    nextToken = throwIfUnclosedCharacterClass(tokens[context.current], firstClassToken);\n  }\n  if (!verbose) {\n    optimizeCharacterClassIntersection(intersection);\n  }\n  // Simplify tree if we don't need the intersection wrapper\n  if (intersection.classes.length === 1) {\n    const cc = intersection.classes[0];\n    // Only needed if `!verbose`; otherwise an intersection's direct kids are never negated\n    cc.negate = node.negate !== cc.negate;\n    node = cc;\n  }\n  // Skip the closing square bracket\n  context.current++;\n  return node;\n}\n\nfunction parseCharacterSet({token, skipPropertyNameValidation}) {\n  let {kind, negate, value} = token;\n  if (kind === TokenCharacterSetKinds.property) {\n    const normalized = slug(value);\n    if (PosixProperties.has(normalized)) {\n      kind = TokenCharacterSetKinds.posix;\n      value = normalized;\n    } else {\n      return createUnicodeProperty(value, {\n        negate,\n        skipPropertyNameValidation,\n      });\n    }\n  }\n  if (kind === TokenCharacterSetKinds.posix) {\n    return {\n      type: AstTypes.CharacterSet,\n      kind: AstCharacterSetKinds.posix,\n      negate,\n      value,\n    };\n  }\n  return createCharacterSet(kind, {negate});\n}\n\nfunction parseGroupOpen(context, state) {\n  const {token, tokens, capturingGroups, namedGroupsByName, skipLookbehindValidation, verbose, walk} = context;\n  let node = createByGroupKind(token);\n  const isAbsentFunction = node.type === AstTypes.AbsentFunction;\n  const isLookbehind = node.kind === AstAssertionKinds.lookbehind;\n  const isNegLookbehind = isLookbehind && node.negate;\n  // Track capturing group details for backrefs and subroutines (before parsing the group's\n  // contents so nested groups with the same name are tracked in order)\n  if (node.type === AstTypes.CapturingGroup) {\n    capturingGroups.push(node);\n    if (node.name) {\n      getOrInsert(namedGroupsByName, node.name, []).push(node);\n    }\n  }\n  // Don't allow nested absent functions\n  if (isAbsentFunction && state.isInAbsentFunction) {\n    // Is officially unsupported in Onig but doesn't throw, gives strange results\n    throw new Error('Nested absent function not supported by Oniguruma');\n  }\n  let nextToken = throwIfUnclosedGroup(tokens[context.current]);\n  while (nextToken.type !== TokenTypes.GroupClose) {\n    if (nextToken.type === TokenTypes.Alternator) {\n      node.alternatives.push(createAlternative());\n      // Skip the alternator\n      context.current++;\n    } else {\n      const alt = node.alternatives.at(-1);\n      const child = walk(alt, {\n        ...state,\n        isInAbsentFunction: state.isInAbsentFunction || isAbsentFunction,\n        isInLookbehind: state.isInLookbehind || isLookbehind,\n        isInNegLookbehind: state.isInNegLookbehind || isNegLookbehind,\n      });\n      alt.elements.push(child);\n      // Centralized validation of lookbehind contents\n      if ((isLookbehind || state.isInLookbehind) && !skipLookbehindValidation) {\n        // JS supports all features within lookbehind, but Onig doesn't. Absent functions of form\n        // `(?~|)` and `(?~|…)` are also invalid in lookbehind (the `(?~…)` and `(?~|…|…)` forms\n        // are allowed), but all forms with `(?~|` throw since they aren't yet supported\n        const msg = 'Lookbehind includes a pattern not allowed by Oniguruma';\n        if (isNegLookbehind || state.isInNegLookbehind) {\n          // - Invalid: `(?=…)`, `(?!…)`, capturing groups\n          // - Valid: `(?<=…)`, `(?<!…)`\n          if (child.kind === AstAssertionKinds.lookahead || child.type === AstTypes.CapturingGroup) {\n            throw new Error(msg);\n          }\n        } else {\n          // - Invalid: `(?=…)`, `(?!…)`, `(?<!…)`\n          // - Valid: `(?<=…)`, capturing groups\n          if (child.kind === AstAssertionKinds.lookahead || (child.kind === AstAssertionKinds.lookbehind && child.negate)) {\n            throw new Error(msg);\n          }\n        }\n      }\n    }\n    nextToken = throwIfUnclosedGroup(tokens[context.current]);\n  }\n  if (!verbose) {\n    node = getOptimizedGroup(node);\n  }\n  // Skip the closing parenthesis\n  context.current++;\n  return node;\n}\n\nfunction parseQuantifier({token, parent}) {\n  const {min, max, greedy, possessive} = token;\n  const quantifiedNode = parent.elements.at(-1);\n  if (\n    !quantifiedNode ||\n    quantifiedNode.type === AstTypes.Assertion ||\n    quantifiedNode.type === AstTypes.Directive\n  ) {\n    throw new Error(`Quantifier requires a repeatable token`);\n  }\n  const node = createQuantifier(quantifiedNode, min, max, greedy, possessive);\n  parent.elements.pop();\n  return node;\n}\n\n// Onig subroutine behavior:\n// - Subroutines can appear before the groups they reference; ex: `\\g<1>(a)` is valid.\n// - Multiple subroutines can reference the same group.\n// - Subroutines can reference groups that themselves contain subroutines, followed to any depth.\n// - Subroutines can be used recursively, and `\\g<0>` recursively references the whole pattern.\n// - Subroutines can use relative references (backward or forward); ex: `\\g<+1>(.)\\g<-1>`.\n// - Subroutines don't get their own capturing group numbers; ex: `(.)\\g<1>\\2` is invalid.\n// - Subroutines use the flags that apply to their referenced group, so e.g.\n//   `(?-i)(?<a>a)(?i)\\g<a>` is fully case sensitive.\n// - Differences from PCRE/Perl/Regex+ subroutines:\n//   - Subroutines can't reference duplicate group names (though duplicate names are valid if no\n//     subroutines reference them).\n//   - Subroutines can't use absolute or relative numbers if named capture is used anywhere.\n//   - Named backrefs must be to the right of their group definition, so the backref in\n//     `\\g<a>\\k<a>(?<a>)` is invalid (not directly related to subroutines).\n//   - Subroutines don't restore capturing group match values (for backrefs) upon exit, so e.g.\n//     `(?<a>(?<b>[ab]))\\g<a>\\k<b>` matches `abb` but not `aba`; same for numbered.\n// The interaction of backref multiplexing (an Onig-specific feature) and subroutines is complex:\n// - Only the most recent value matched by a capturing group and its subroutines is considered for\n//   backref multiplexing, and this also applies to capturing groups nested within a group that's\n//   referenced by a subroutine.\n// - Although a subroutine can't reference a group with a duplicate name, it can reference a group\n//   with a nested capture whose name is duplicated (e.g. outside of the referenced group).\n//   - These duplicate names can then multiplex; but only the most recent value matched from within\n//     the outer group (or the subroutines that reference it) is available for multiplexing.\n//   - Ex: With `(?<a>(?<b>[123]))\\g<a>\\g<a>(?<b>0)\\k<b>`, the backref `\\k<b>` can only match `0`\n//     or whatever was matched by the most recently matched subroutine. If you took out `(?<b>0)`,\n//     no multiplexing would occur.\nfunction parseSubroutine(context) {\n  const {token, capturingGroups, subroutines} = context;\n  let ref = token.raw.slice(3, -1);\n  const numberedRef = /^(?<sign>[-+]?)0*(?<num>[1-9]\\d*)$/.exec(ref);\n  if (numberedRef) {\n    const num = +numberedRef.groups.num;\n    const numCapturesToLeft = capturingGroups.length;\n    context.hasNumberedRef = true;\n    ref = {\n      '': num,\n      '+': numCapturesToLeft + num,\n      '-': numCapturesToLeft + 1 - num,\n    }[numberedRef.groups.sign];\n    if (ref < 1) {\n      throw new Error('Invalid subroutine number');\n    }\n  // Special case for full-pattern recursion; can't be `+0`, `-0`, `00`, etc.\n  } else if (ref === '0') {\n    ref = 0;\n  }\n  const node = createSubroutine(ref);\n  subroutines.push(node);\n  return node;\n}\n\nfunction createAbsentFunction(kind) {\n  if (kind !== AstAbsentFunctionKinds.repeater) {\n    throw new Error(`Unexpected absent function kind \"${kind}\"`);\n  }\n  return {\n    type: AstTypes.AbsentFunction,\n    kind,\n    alternatives: [createAlternative()],\n  };\n}\n\nfunction createAlternative() {\n  return {\n    type: AstTypes.Alternative,\n    elements: [],\n  };\n}\n\nfunction createAssertion(kind, options) {\n  // Use `createLookaround` for lookahead and lookbehind assertions\n  const negate = !!options?.negate;\n  return {\n    type: AstTypes.Assertion,\n    kind,\n    ...(kind === AstAssertionKinds.word_boundary && {negate}),\n  };\n}\n\nfunction createAssertionFromToken({kind}) {\n  return createAssertion(\n    throwIfNot({\n      '^': AstAssertionKinds.line_start,\n      '$': AstAssertionKinds.line_end,\n      '\\\\A': AstAssertionKinds.string_start,\n      '\\\\b': AstAssertionKinds.word_boundary,\n      '\\\\B': AstAssertionKinds.word_boundary,\n      '\\\\G': AstAssertionKinds.search_start,\n      '\\\\z': AstAssertionKinds.string_end,\n      '\\\\Z': AstAssertionKinds.string_end_newline,\n    }[kind], `Unexpected assertion kind \"${kind}\"`),\n    {negate: kind === r`\\B`}\n  );\n}\n\nfunction createBackreference(ref, options) {\n  const orphan = !!options?.orphan;\n  return {\n    type: AstTypes.Backreference,\n    ...(orphan && {orphan}),\n    ref,\n  };\n}\n\nfunction createByGroupKind({flags, kind, name, negate, number}) {\n  switch (kind) {\n    case TokenGroupKinds.absent_repeater:\n      return createAbsentFunction(AstAbsentFunctionKinds.repeater);\n    case TokenGroupKinds.atomic:\n      return createGroup({atomic: true});\n    case TokenGroupKinds.capturing:\n      return createCapturingGroup(number, name);\n    case TokenGroupKinds.group:\n      return createGroup({flags});\n    case TokenGroupKinds.lookahead:\n    case TokenGroupKinds.lookbehind:\n      return createLookaround({\n        behind: kind === TokenGroupKinds.lookbehind,\n        negate,\n      });\n    default:\n      throw new Error(`Unexpected group kind \"${kind}\"`);\n  }\n}\n\nfunction createCapturingGroup(number, name) {\n  const hasName = name !== undefined;\n  if (hasName && !isValidGroupNameOniguruma(name)) {\n    throw new Error(`Group name \"${name}\" invalid in Oniguruma`);\n  }\n  return {\n    type: AstTypes.CapturingGroup,\n    number,\n    ...(hasName && {name}),\n    alternatives: [createAlternative()],\n  };\n}\n\nfunction createCharacter(charCode, options) {\n  const opts = {\n    useLastValid: false,\n    ...options,\n  };\n  if (charCode > 0x10FFFF) {\n    const hex = charCode.toString(16);\n    if (opts.useLastValid) {\n      charCode = 0x10FFFF;\n    } else if (charCode > 0x13FFFF) {\n      throw new Error(`Invalid code point out of range \"\\\\x{${hex}}\"`);\n    } else {\n      throw new Error(`Invalid code point out of range in JS \"\\\\x{${hex}}\"`);\n    }\n  }\n  return {\n    type: AstTypes.Character,\n    value: charCode,\n  };\n}\n\nfunction createCharacterClass(options) {\n  const opts = {\n    baseOnly: false,\n    negate: false,\n    ...options,\n  };\n  return {\n    type: AstTypes.CharacterClass,\n    negate: opts.negate,\n    elements: opts.baseOnly ? [] : [createCharacterClassIntersection()],\n  };\n}\n\nfunction createCharacterClassIntersection() {\n  return {\n    type: AstTypes.CharacterClassIntersection,\n    classes: [createCharacterClass({negate: false, baseOnly: true})],\n  };\n}\n\nfunction createCharacterClassRange(min, max) {\n  if (max.value < min.value) {\n    throw new Error('Character class range out of order');\n  }\n  return {\n    type: AstTypes.CharacterClassRange,\n    min,\n    max,\n  };\n}\n\nfunction createCharacterSet(kind, {negate}) {\n  const node = {\n    type: AstTypes.CharacterSet,\n    kind: throwIfNot(AstCharacterSetKinds[kind], `Unexpected character set kind \"${kind}\"`),\n  };\n  if (\n    kind === TokenCharacterSetKinds.digit ||\n    kind === TokenCharacterSetKinds.hex ||\n    kind === TokenCharacterSetKinds.space ||\n    kind === TokenCharacterSetKinds.word\n  ) {\n    node.negate = negate;\n  }\n  return node;\n}\n\nfunction createDirectiveFromToken({kind, flags}) {\n  const node = {\n    type: AstTypes.Directive,\n    kind: throwIfNot(AstDirectiveKinds[kind], `Unexpected directive kind \"${kind}\"`),\n  };\n  // Can't optimize by simply creating a `Group` with a `flags` prop and wrapping the remainder of\n  // the open group or pattern in it, because the flag modifier's effect might extend across\n  // alternation. Ex: `a(?i)b|c` is equivalent to `a(?i:b)|(?i:c)`, not `a(?i:b|c)`\n  if (kind === TokenDirectiveKinds.flags) {\n    node.flags = flags;\n  }\n  return node;\n}\n\nfunction createFlags({ignoreCase, dotAll, extended, digitIsAscii, spaceIsAscii, wordIsAscii}) {\n  return {\n    type: AstTypes.Flags,\n    ignoreCase,\n    dotAll,\n    extended,\n    digitIsAscii,\n    spaceIsAscii,\n    wordIsAscii,\n  };\n}\n\nfunction createGroup(options) {\n  const atomic = options?.atomic;\n  const flags = options?.flags;\n  return {\n    type: AstTypes.Group,\n    ...(atomic && {atomic}),\n    ...(flags && {flags}),\n    alternatives: [createAlternative()],\n  };\n}\n\nfunction createLookaround(options) {\n  const opts = {\n    behind: false,\n    negate: false,\n    ...options,\n  };\n  return {\n    type: AstTypes.Assertion,\n    kind: opts.behind ? AstAssertionKinds.lookbehind : AstAssertionKinds.lookahead,\n    negate: opts.negate,\n    alternatives: [createAlternative()],\n  };\n}\n\nfunction createPattern() {\n  return {\n    type: AstTypes.Pattern,\n    alternatives: [createAlternative()],\n  };\n}\n\nfunction createQuantifier(element, min, max, greedy = true, possessive = false) {\n  const node = {\n    type: AstTypes.Quantifier,\n    min,\n    max,\n    greedy,\n    possessive,\n    element,\n  };\n  if (max < min) {\n    return {\n      ...node,\n      min: max,\n      max: min,\n      possessive: true,\n    };\n  }\n  return node;\n}\n\nfunction createRegex(pattern, flags) {\n  return {\n    type: AstTypes.Regex,\n    pattern,\n    flags,\n  };\n}\n\nfunction createSubroutine(ref) {\n  return {\n    type: AstTypes.Subroutine,\n    ref,\n  };\n}\n\nfunction createUnicodeProperty(value, options) {\n  const opts = {\n    negate: false,\n    skipPropertyNameValidation: false,\n    ...options,\n  };\n  return {\n    type: AstTypes.CharacterSet,\n    kind: AstCharacterSetKinds.property,\n    value: opts.skipPropertyNameValidation ? value : getJsUnicodePropertyName(value),\n    negate: opts.negate,\n  }\n}\n\nfunction createVariableLengthCharacterSet(kind) {\n  return {\n    type: AstTypes.VariableLengthCharacterSet,\n    kind: throwIfNot({\n      '\\\\R': AstVariableLengthCharacterSetKinds.newline,\n      '\\\\X': AstVariableLengthCharacterSetKinds.grapheme,\n    }[kind], `Unexpected varcharset kind \"${kind}\"`),\n  };\n}\n\n// Unlike Onig, JS Unicode property names are case sensitive, don't ignore spaces, hyphens, and\n// underscores, and require underscores in specific positions\nfunction getJsUnicodePropertyName(value) {\n  const slugged = slug(value);\n  if (JsUnicodePropertiesOfStringsMap.has(slugged)) {\n    // Variable-length properties of strings aren't supported by Onig\n    throw new Error(r`Unicode property \"\\p{${value}}\" unsupported in Oniguruma`);\n  }\n  const jsName = JsUnicodePropertiesMap.get(slugged);\n  if (jsName) {\n    return jsName;\n  }\n  // Assume it's a script name (avoids including heavyweight data for long list of script names);\n  // JS requires formatting `Like_This`, so use best effort to reformat the name (covers a lot, but\n  // isn't able to map for all possible formatting differences)\n  return value.\n    trim().\n    replace(/[- _]+/g, '_').\n    replace(/[A-Z][a-z]+(?=[A-Z])/g, '$&_'). // `PropertyName` to `Property_Name`\n    replace(/[A-Za-z]+/g, m => m[0].toUpperCase() + m.slice(1).toLowerCase());\n}\n\n// If a direct child group is needlessly nested, return it instead (after modifying it)\nfunction getOptimizedGroup(node) {\n  const firstAltFirstEl = node.alternatives[0].elements[0];\n  if (\n    node.type === AstTypes.Group &&\n    hasOnlyChild(node, kid => kid.type === AstTypes.Group) &&\n    !(node.atomic && firstAltFirstEl.flags) &&\n    !(node.flags && (firstAltFirstEl.atomic || firstAltFirstEl.flags))\n  ) {\n    if (node.atomic) {\n      firstAltFirstEl.atomic = true;\n    } else if (node.flags) {\n      firstAltFirstEl.flags = node.flags;\n    }\n    return firstAltFirstEl;\n  }\n  return node;\n}\n\nfunction isValidGroupNameOniguruma(name) {\n  // The more restrictive rules for valid JS group names are captured in `isValidGroupNameJs`. Note\n  // that backrefs and subroutines might contextually use `-` and `+` to indicate relative index or\n  // recursion level\n  return /^[\\p{Alpha}\\p{Pc}][^)]*$/u.test(name);\n}\n\n// For any intersection classes that contain only a class, swap the parent with its (modded) child\nfunction optimizeCharacterClassIntersection(intersection) {\n  for (let i = 0; i < intersection.classes.length; i++) {\n    const cc = intersection.classes[i];\n    const firstChild = cc.elements[0];\n    if (cc.elements.length === 1 && firstChild.type === AstTypes.CharacterClass) {\n      intersection.classes[i] = firstChild;\n      firstChild.negate = cc.negate !== firstChild.negate;\n    }\n  }\n}\n\nfunction throwIfUnclosedCharacterClass(token, firstClassToken) {\n  return throwIfNot(\n    token,\n    // Easier to understand error when applicable\n    `${firstClassToken?.value === 93 ? 'Empty' : 'Unclosed'} character class`\n  );\n}\n\nfunction throwIfUnclosedGroup(token) {\n  return throwIfNot(token, 'Unclosed group');\n}\n\nexport {\n  AstAbsentFunctionKinds,\n  AstAssertionKinds,\n  AstCharacterSetKinds,\n  AstDirectiveKinds,\n  AstTypes,\n  AstVariableLengthCharacterSetKinds,\n  createAbsentFunction,\n  createAlternative,\n  createAssertion,\n  createBackreference,\n  createCapturingGroup,\n  createCharacter,\n  createCharacterClass,\n  createCharacterClassIntersection,\n  createCharacterClassRange,\n  createCharacterSet,\n  createFlags,\n  createGroup,\n  createLookaround,\n  createPattern,\n  createQuantifier,\n  createRegex,\n  createSubroutine,\n  createUnicodeProperty,\n  createVariableLengthCharacterSet,\n  parse,\n};\n","import {Accuracy, Target} from './options.js';\nimport {AstAssertionKinds, AstCharacterSetKinds, AstDirectiveKinds, AstTypes, AstVariableLengthCharacterSetKinds, createAlternative, createAssertion, createBackreference, createCapturingGroup, createCharacterSet, createGroup, createLookaround, createQuantifier, createUnicodeProperty, parse} from './parse.js';\nimport {tokenize} from './tokenize.js';\nimport {traverse} from './traverse.js';\nimport {JsUnicodeProperties, PosixClassesMap} from './unicode.js';\nimport {cp, getNewCurrentFlags, getOrInsert, isMinTarget, r} from './utils.js';\nimport {hasOnlyChild, isAlwaysNonZeroLength, isAlwaysZeroLength, isConsumptiveGroup, isLookaround} from './utils-ast.js';\nimport emojiRegex from 'emoji-regex-xs';\n\n/**\n@typedef {{\n  type: 'Regex';\n  parent: null;\n  pattern: Object;\n  flags: Object;\n  options: Object;\n  _originMap: Map<Object, Object>;\n  _strategy: string?;\n}} RegexAst\n*/\n/**\nTransforms an Oniguruma AST in-place to a [Regex+](https://github.com/slevithan/regex) AST.\nAssumes target ES2025, expecting the generator to down-convert to the desired JS target version.\n\nRegex+'s syntax and behavior is a strict superset of native JavaScript, so the AST is very close\nto representing native ES2025 `RegExp` but with some added features (atomic groups, possessive\nquantifiers, recursion). The AST doesn't use some of Regex+'s extended features like flag x or\nsubroutines because they follow PCRE behavior and work somewhat differently than in Oniguruma. The\nAST represents what's needed to precisely reproduce Oniguruma behavior using Regex+.\n@param {import('./parse.js').OnigurumaAst} ast\n@param {{\n  accuracy?: keyof Accuracy;\n  asciiWordBoundaries?: boolean;\n  avoidSubclass?: boolean;\n  bestEffortTarget?: keyof Target;\n}} [options]\n@returns {RegexAst}\n*/\nfunction transform(ast, options) {\n  const opts = {\n    // A couple edge cases exist where options `accuracy` and `bestEffortTarget` are used:\n    // - `VariableLengthCharacterSet` kind `grapheme` (`\\X`): An exact representation would require\n    //   heavy Unicode data; a best-effort approximation requires knowing the target.\n    // - `CharacterSet` kind `posix` with values `graph` and `print`: Their complex Unicode-based\n    //   representations would be hard to change to ASCII-based after the fact in the generator\n    //   based on `target`/`accuracy`, so produce the appropriate structure here.\n    accuracy: 'default',\n    asciiWordBoundaries: false,\n    avoidSubclass: false,\n    bestEffortTarget: 'ES2025',\n    ...options,\n  };\n  const firstPassState = {\n    accuracy: opts.accuracy,\n    asciiWordBoundaries: opts.asciiWordBoundaries,\n    avoidSubclass: opts.avoidSubclass,\n    flagDirectivesByAlt: new Map(),\n    jsGroupNameMap: new Map(),\n    minTargetEs2024: isMinTarget(opts.bestEffortTarget, 'ES2024'),\n    passedLookbehind: false,\n    strategy: null,\n    // Subroutines can appear before the groups they ref, so collect reffed nodes for a second pass \n    subroutineRefMap: new Map(),\n    supportedGNodes: new Set(),\n    digitIsAscii: ast.flags.digitIsAscii,\n    spaceIsAscii: ast.flags.spaceIsAscii,\n    wordIsAscii: ast.flags.wordIsAscii,\n  };\n  traverse({node: ast}, firstPassState, FirstPassVisitor);\n  // Global flags modified by the first pass\n  const globalFlags = {\n    dotAll: ast.flags.dotAll,\n    ignoreCase: ast.flags.ignoreCase,\n  };\n  // The interplay of subroutines (with Onig's unique rules/behavior for them; see comments in the\n  // parser for details) with backref multiplexing (a unique Onig feature), flag modifiers, and\n  // duplicate group names (which might be indirectly referenced by subroutines even though\n  // subroutines can't directly reference duplicate names) is extremely complicated to emulate in\n  // JS in a way that handles all edge cases, so we need multiple passes to do it\n  const secondPassState = {\n    currentFlags: globalFlags,\n    prevFlags: null,\n    globalFlags,\n    groupOriginByCopy: new Map(),\n    groupsByName: new Map(),\n    multiplexCapturesToLeftByRef: new Map(),\n    openRefs: new Map(),\n    reffedNodesByReferencer: new Map(),\n    subroutineRefMap: firstPassState.subroutineRefMap,\n  };\n  traverse({node: ast}, secondPassState, SecondPassVisitor);\n  const thirdPassState = {\n    groupsByName: secondPassState.groupsByName,\n    highestOrphanBackref: 0,\n    numCapturesToLeft: 0,\n    reffedNodesByReferencer: secondPassState.reffedNodesByReferencer,\n  };\n  traverse({node: ast}, thirdPassState, ThirdPassVisitor);\n  ast._originMap = secondPassState.groupOriginByCopy;\n  ast._strategy = firstPassState.strategy;\n  return ast;\n}\n\nconst FirstPassVisitor = {\n  AbsentFunction({node, replaceWith}) {\n    // Convert absent repeater `(?~…)` to `(?:(?:(?!…)\\p{Any})*)`\n    const group = prepContainer(createGroup(), [\n      adoptAndSwapKids(createLookaround({negate: true}), node.alternatives),\n      createUnicodeProperty('Any'),\n    ]);\n    const quantifier = createQuantifier(group, 0, Infinity);\n    group.parent = quantifier;\n    replaceWith(prepContainer(createGroup(), [quantifier]));\n  },\n\n  Alternative: {\n    enter({node, parent, key}, {flagDirectivesByAlt}) {\n      // Look for own-level flag directives when entering an alternative because after traversing\n      // the directive itself, any subsequent flag directives will no longer be at the same level\n      const flagDirectives = node.elements.filter(el => el.kind === AstDirectiveKinds.flags);\n      for (let i = key + 1; i < parent.alternatives.length; i++) {\n        const forwardSiblingAlt = parent.alternatives[i];\n        getOrInsert(flagDirectivesByAlt, forwardSiblingAlt, []).push(...flagDirectives);\n      }\n    },\n    exit({node}, {flagDirectivesByAlt}) {\n      // Wait until exiting to wrap an alternative's nodes with flag groups that extend flag\n      // directives from prior sibling alternatives because doing this at the end allows inner\n      // nodes to accurately check their level in the tree\n      if (flagDirectivesByAlt.get(node)?.length) {\n        const flags = getCombinedFlagModsFromFlagNodes(flagDirectivesByAlt.get(node));\n        if (flags) {\n          const flagGroup = prepContainer(createGroup({flags}), node.elements);\n          // Manually set the parent since we're not using `replaceWith`\n          flagGroup.parent = node;\n          node.elements = [flagGroup];\n        }\n      }\n    },\n  },\n\n  Assertion({node, key, container, ast, remove, replaceWith}, state) {\n    const {kind, negate} = node;\n    const {asciiWordBoundaries, avoidSubclass, supportedGNodes, wordIsAscii} = state;\n    if (kind === AstAssertionKinds.line_end) {\n      // Onig's only line break char is line feed, unlike JS\n      replaceWith(parseFragment(r`(?=\\z|\\n)`));\n    } else if (kind === AstAssertionKinds.line_start) {\n      // Onig's only line break char is line feed, unlike JS. Onig's `^` doesn't match after a\n      // string-terminating line feed\n      replaceWith(parseFragment(r`(?<=\\A|\\n(?!\\z))`, {skipLookbehindValidation: true}));\n    } else if (kind === AstAssertionKinds.lookbehind) {\n      state.passedLookbehind = true;\n    } else if (kind === AstAssertionKinds.search_start) {\n      if (supportedGNodes.has(node)) {\n        ast.flags.sticky = true;\n        remove();\n      } else {\n        const prev = container[key - 1]; // parent.elements[key - 1]\n        // Not all ways of blocking the `\\G` from matching are covered (ex: a node prior to the\n        // prev node could block), but blocked `\\G` is an edge case so it's okay if some blocked\n        // cases resulting in the standard error for being unsupported\n        if (prev && isAlwaysNonZeroLength(prev)) {\n          replaceWith(prepContainer(createLookaround({negate: true})));\n        } else if (avoidSubclass) {\n          throw new Error(r`Uses \"\\G\" in a way that requires a subclass`);\n        } else {\n          replaceWith(createAssertion(AstAssertionKinds.string_start));\n          state.strategy = 'clip_search';\n        }\n      }\n    } else if (kind === AstAssertionKinds.string_end_newline) {\n      replaceWith(parseFragment(r`(?=\\n?\\z)`));\n    } else if (kind === AstAssertionKinds.word_boundary && !wordIsAscii && !asciiWordBoundaries) {\n      const b = `(?:(?<=${defaultWordChar})(?!${defaultWordChar})|(?<!${defaultWordChar})(?=${defaultWordChar}))`;\n      const B = `(?:(?<=${defaultWordChar})(?=${defaultWordChar})|(?<!${defaultWordChar})(?!${defaultWordChar}))`;\n      replaceWith(parseFragment(negate ? B : b));\n    }\n    // Kinds `string_end` and `string_start` don't need transformation since JS flag m isn't used.\n    // Kinds `lookahead` and `lookbehind` also don't need transformation\n  },\n\n  Backreference({node}, {jsGroupNameMap}) {\n    let {ref} = node;\n    if (typeof ref === 'string' && !isValidGroupNameJs(ref)) {\n      ref = getAndStoreJsGroupName(ref, jsGroupNameMap);\n      node.ref = ref;\n    }\n  },\n\n  CapturingGroup({node}, {jsGroupNameMap, subroutineRefMap}) {\n    let {name} = node;\n    if (name && !isValidGroupNameJs(name)) {\n      name = getAndStoreJsGroupName(name, jsGroupNameMap);\n      node.name = name;\n    }\n    subroutineRefMap.set(node.number, node);\n    if (name) {\n      subroutineRefMap.set(name, node);\n    }\n  },\n\n  CharacterSet({node, replaceWith}, {accuracy, minTargetEs2024, digitIsAscii, spaceIsAscii, wordIsAscii}) {\n    const {kind, negate, value} = node;\n    // Flag D with `\\d`, `\\p{Digit}`, `[[:digit:]]`\n    if (digitIsAscii && (kind === AstCharacterSetKinds.digit || value === 'digit')) {\n      replaceWith(createCharacterSet(AstCharacterSetKinds.digit, {negate}));\n      return;\n    }\n    // Flag S with `\\s`, `\\p{Space}`, `[[:space:]]`\n    if (spaceIsAscii && (kind === AstCharacterSetKinds.space || value === 'space')) {\n      replaceWith(setNegate(parseFragment(asciiSpaceChar), negate));\n      return;\n    }\n    // Flag W with `\\w`, `\\p{Word}`, `[[:word:]]`\n    if (wordIsAscii && (kind === AstCharacterSetKinds.word || value === 'word')) {\n      replaceWith(createCharacterSet(AstCharacterSetKinds.word, {negate}));\n      return;\n    }\n    if (kind === AstCharacterSetKinds.any) {\n      replaceWith(createUnicodeProperty('Any'));\n    } else if (kind === AstCharacterSetKinds.digit) {\n      replaceWith(createUnicodeProperty('Nd', {negate}));\n    } else if (kind === AstCharacterSetKinds.hex) {\n      replaceWith(createUnicodeProperty('AHex', {negate}));\n    } else if (kind === AstCharacterSetKinds.non_newline) {\n      replaceWith(parseFragment(r`[^\\n]`));\n    } else if (kind === AstCharacterSetKinds.space) {\n      // Can't use JS's Unicode-based `\\s` since unlike Onig it includes `\\uFEFF`, excludes `\\x85`\n      replaceWith(createUnicodeProperty('space', {negate}));\n    } else if (kind === AstCharacterSetKinds.word) {\n      replaceWith(setNegate(parseFragment(defaultWordChar), negate));\n    } else if (kind === AstCharacterSetKinds.property) {\n      if (!JsUnicodeProperties.has(value)) {\n        // Assume it's a script; no error checking is the price for avoiding heavyweight Unicode\n        // data for all script names\n        node.key = 'sc';\n      }\n    } else if (kind === AstCharacterSetKinds.posix) {\n      if (!minTargetEs2024 && (value === 'graph' || value === 'print')) {\n        if (accuracy === 'strict') {\n          throw new Error(`POSIX class \"${value}\" requires min target ES2024 or non-strict accuracy`);\n        }\n        let ascii = {\n          graph: '!-~',\n          print: ' -~',\n        }[value];\n        if (negate) {\n          // POSIX classes are always nested in a char class; manually invert the range rather than\n          // using `[^…]` so it can be unwrapped since ES2018 doesn't support nested classes\n          ascii = `\\0-${cp(ascii.codePointAt(0) - 1)}${cp(ascii.codePointAt(2) + 1)}-\\u{10FFFF}`;\n        }\n        replaceWith(parseFragment(`[${ascii}]`));\n      } else {\n        replaceWith(setNegate(parseFragment(PosixClassesMap.get(value)), negate));\n      }\n    }\n  },\n\n  Directive(path, state) {\n    const {node, parent, ast, remove, replaceWith, removeAllPrevSiblings, removeAllNextSiblings} = path;\n    const {kind, flags} = node;\n    if (kind === AstDirectiveKinds.flags) {\n      if (!flags.enable && !flags.disable) {\n        // Flag directive without flags; ex: `(?-)`, `(?--)`\n        remove();\n      } else {\n        const flagGroup = prepContainer(createGroup({flags}), removeAllNextSiblings());\n        replaceWith(flagGroup);\n        traverseReplacement(flagGroup, path, state, FirstPassVisitor);\n      }\n    } else if (kind === AstDirectiveKinds.keep) {\n      const firstAltFirstEl = ast.pattern.alternatives[0].elements[0];\n      // Supporting a full-pattern wrapper around `\\K` enables use with flag modifiers\n      const hasWrapperGroup =\n        // Not emulatable if within a `CapturingGroup`\n        hasOnlyChild(ast.pattern, kid => kid.type === AstTypes.Group) &&\n        firstAltFirstEl.alternatives.length === 1;\n      const topLevel = hasWrapperGroup ? firstAltFirstEl : ast.pattern;\n      if (parent.parent !== topLevel || topLevel.alternatives.length > 1) {\n        throw new Error(r`Uses \"\\K\" in a way that's unsupported`);\n      }\n      replaceWith(prepContainer(createLookaround({behind: true}), removeAllPrevSiblings()));\n    }\n  },\n\n  Flags({node, parent}) {\n    // Remove Onig flags that aren't available in JS\n    [ 'digitIsAscii', // Flag D\n      'extended', // Flag x\n      'spaceIsAscii', // Flag S\n      'wordIsAscii', // Flag W\n    ].forEach(f => delete node[f]);\n    Object.assign(node, {\n      // JS flag g; no Onig equiv\n      global: false,\n      // JS flag d; no Onig equiv\n      hasIndices: false,\n      // JS flag m; no Onig equiv but its behavior is always on in Onig. Onig's only line break\n      // char is line feed, unlike JS, so this flag isn't used since it would produce inaccurate\n      // results (also allows `^` and `$` to be used in the generator for string start and end)\n      multiline: false,\n      // JS flag y; no Onig equiv, but used for `\\G` emulation\n      sticky: node.sticky ?? false,\n      // Note: Regex+ doesn't allow explicitly adding flags it handles implicitly, so leave out\n      // properties `unicode` (JS flag u) and `unicodeSets` (JS flag v). Keep the existing values\n      // for `ignoreCase` (flag i) and `dotAll` (JS flag s, but Onig flag m)\n    });\n    // Options accepted by Regex+; see <github.com/slevithan/regex#-options>\n    parent.options = {\n      disable: {\n        // Onig uses different rules for flag x than Regex+, so disable the implicit flag\n        x: true,\n        // Onig has no flag to control \"named capture only\" mode but contextually applies its\n        // behavior when named capturing is used, so disable Regex+'s implicit flag for it\n        n: true,\n      },\n      force: {\n        // Always add flag v because we're generating an AST that relies on it (it enables JS\n        // support for Onig features nested classes, set intersection, Unicode properties, etc.).\n        // However, the generator might disable flag v based on its `target` option\n        v: true,\n      },\n    };\n  },\n\n  Group({node}) {\n    if (!node.flags) {\n      return;\n    }\n    const {enable, disable} = node.flags;\n    // Onig's flag x (`extended`) isn't available in JS\n    enable?.extended && delete enable.extended;\n    disable?.extended && delete disable.extended;\n    // JS doesn't support flag groups that enable and disable the same flag; ex: `(?i-i:)`\n    enable?.dotAll && disable?.dotAll && delete enable.dotAll;\n    enable?.ignoreCase && disable?.ignoreCase && delete enable.ignoreCase;\n    // Cleanup\n    enable && !Object.keys(enable).length && delete node.flags.enable;\n    disable && !Object.keys(disable).length && delete node.flags.disable;\n    !node.flags.enable && !node.flags.disable && delete node.flags;\n  },\n\n  Pattern: {\n    enter({node}, {supportedGNodes}) {\n      // For `\\G` to be accurately emulatable using JS flag y, it must be at (and only at) the start\n      // of every top-level alternative (with complex rules for what determines being at the start).\n      // Additional `\\G` error checking in `Assertion` visitor\n      const leadingGs = [];\n      let hasAltWithLeadG = false;\n      let hasAltWithoutLeadG = false;\n      for (const alt of node.alternatives) {\n        if (alt.elements.length === 1 && alt.elements[0].kind === AstAssertionKinds.search_start) {\n          // Remove the `\\G` (leaving behind an empty alternative, and without adding JS flag y)\n          // since a top-level alternative that includes only `\\G` always matches at the start of the\n          // match attempt. Note that this is based on Oniguruma's rules, and is different than other\n          // regex flavors where `\\G` matches at the end of the previous match (a subtle distinction\n          // that's relevant after zero-length matches)\n          alt.elements.pop();\n        } else {\n          const leadingG = getLeadingG(alt.elements);\n          if (leadingG) {\n            hasAltWithLeadG = true;\n            Array.isArray(leadingG) ?\n              leadingGs.push(...leadingG) :\n              leadingGs.push(leadingG);\n          } else {\n            hasAltWithoutLeadG = true;\n          }\n        }\n      }\n      if (hasAltWithLeadG && !hasAltWithoutLeadG) {\n        // Supported `\\G` nodes will be removed (and add flag y) when traversed\n        leadingGs.forEach(g => supportedGNodes.add(g));\n      }\n    },\n    exit(_, {accuracy, passedLookbehind, strategy}) {\n      if (accuracy === 'strict' && passedLookbehind && strategy) {\n        throw new Error(r`Uses \"\\G\" in a way that requires non-strict accuracy`);\n      }\n    },\n  },\n\n  Quantifier({node}) {\n    if (node.element.type === AstTypes.Quantifier) {\n      // Change e.g. `a**` to `(?:a*)*`\n      const group = prepContainer(createGroup(), [node.element]);\n      // Manually set the parent since we're not using `replaceWith`\n      group.parent = node;\n      node.element = group;\n    }\n  },\n\n  Subroutine({node}, {jsGroupNameMap}) {\n    let {ref} = node;\n    if (typeof ref === 'string' && !isValidGroupNameJs(ref)) {\n      ref = getAndStoreJsGroupName(ref, jsGroupNameMap);\n      node.ref = ref;\n    }\n  },\n\n  VariableLengthCharacterSet({node, replaceWith}, {accuracy, minTargetEs2024}) {\n    const {kind} = node;\n    if (kind === AstVariableLengthCharacterSetKinds.newline) {\n      replaceWith(parseFragment('(?>\\r\\n?|[\\n\\v\\f\\x85\\u2028\\u2029])'));\n    } else if (kind === AstVariableLengthCharacterSetKinds.grapheme) {\n      if (accuracy === 'strict') {\n        throw new Error(r`Use of \"\\X\" requires non-strict accuracy`);\n      }\n      // `emojiRegex` is more permissive than `\\p{RGI_Emoji}` since it allows over/under-qualified\n      // emoji using a general pattern that matches any Unicode sequence following the structure of\n      // a valid emoji. That actually makes it more accurate for matching any grapheme\n      const emoji = minTargetEs2024 ? r`\\p{RGI_Emoji}` : emojiRegex().source.replace(/\\\\u\\{/g, `\\\\x{`);\n      // Close approximation of an extended grapheme cluster. Details: <unicode.org/reports/tr29/>.\n      // Skip name check to allow `RGI_Emoji` through, which Onig doesn't support\n      replaceWith(parseFragment(r`(?>\\r\\n|${emoji}|\\P{M}\\p{M}*)`, {skipPropertyNameValidation: true}));\n    } else {\n      throw new Error(`Unexpected varcharset kind \"${kind}\"`);\n    }\n  },\n};\n\nconst SecondPassVisitor = {\n  Backreference({node}, {multiplexCapturesToLeftByRef, reffedNodesByReferencer}) {\n    const {orphan, ref} = node;\n    if (!orphan) {\n      // Copy the current state for later multiplexing expansion. That's done in a subsequent pass\n      // because backref numbers need to be recalculated after subroutine expansion\n      reffedNodesByReferencer.set(node, [...multiplexCapturesToLeftByRef.get(ref).map(({node}) => node)]);\n    }\n  },\n\n  CapturingGroup: {\n    enter(\n      { node,\n        replaceWith,\n        skip,\n      },\n      { groupOriginByCopy,\n        groupsByName,\n        multiplexCapturesToLeftByRef,\n        openRefs,\n        reffedNodesByReferencer,\n      }\n    ) {\n      // Has value if we're within a subroutine expansion\n      const origin = groupOriginByCopy.get(node);\n\n      // ## Handle recursion; runs after subroutine expansion\n      if (origin && openRefs.has(node.number)) {\n        // Recursion doesn't affect any following backrefs to its `ref` (unlike other subroutines),\n        // so don't wrap with a capture. The reffed group might have its name removed due to later\n        // subroutine expansion\n        const recursion = createRecursion(node.number);\n        reffedNodesByReferencer.set(recursion, openRefs.get(node.number));\n        replaceWith(recursion);\n        // This node's kids have been removed from the tree, so no need to traverse them\n        skip();\n        return;\n      }\n      openRefs.set(node.number, node);\n\n      // ## Track data for backref multiplexing\n      multiplexCapturesToLeftByRef.set(node.number, []);\n      if (node.name) {\n        getOrInsert(multiplexCapturesToLeftByRef, node.name, []);\n      }\n      const multiplexNodes = multiplexCapturesToLeftByRef.get(node.name ?? node.number);\n      for (let i = 0; i < multiplexNodes.length; i++) {\n        // Captures added via subroutine expansion (maybe indirectly because they were descendant\n        // captures of the reffed group or in a nested subroutine expansion) form a set with their\n        // origin group and any other copies of it added via subroutines. Only the most recently\n        // matched within this set is added to backref multiplexing. So search the list of already-\n        // tracked multiplexed nodes for this group name or number to see if there's a node being\n        // replaced by this capture\n        const multiplex = multiplexNodes[i];\n        if (\n          // This group is from subroutine expansion, and there's a multiplex value from either the\n          // origin node or a prior subroutine expansion group with the same origin\n          (origin === multiplex.node || (origin && origin === multiplex.origin)) ||\n          // This group is not from subroutine expansion, and it comes after a subroutine expansion\n          // group that refers to this group\n          node === multiplex.origin\n        ) {\n          multiplexNodes.splice(i, 1);\n          break;\n        }\n      }\n      multiplexCapturesToLeftByRef.get(node.number).push({node, origin});\n      if (node.name) {\n        multiplexCapturesToLeftByRef.get(node.name).push({node, origin});\n      }\n\n      // ## Track data for duplicate names\n      // Pre-ES2025 doesn't allow duplicate names, but ES2025 allows duplicate names that are\n      // unique per mutually exclusive alternation path. However, Oniguruma's handling for named\n      // subpatterns on match results means we can't use this ES2025 feature even when in an ES2025\n      // env. So, if using a duplicate name, remove the name from all but the first instance that\n      // wasn't created by subroutine expansion\n      if (node.name) {\n        const groupsWithSameName = getOrInsert(groupsByName, node.name, new Map());\n        let hasDuplicateNameToRemove = false;\n        if (origin) {\n          // Subroutines and their child captures shouldn't hold duplicate names in the final state\n          hasDuplicateNameToRemove = true;\n        } else {\n          for (const groupInfo of groupsWithSameName.values()) {\n            if (!groupInfo.hasDuplicateNameToRemove) {\n              // Will change to an unnamed capture in a later pass\n              hasDuplicateNameToRemove = true;\n              break;\n            }\n          }\n        }\n        groupsByName.get(node.name).set(node, {node, hasDuplicateNameToRemove});\n      }\n    },\n    exit({node}, {openRefs}) {\n      openRefs.delete(node.number);\n    },\n  },\n\n  Group: {\n    enter({node}, state) {\n      // Flag directives have already been converted to flag groups by the previous pass\n      state.prevFlags = state.currentFlags;\n      if (node.flags) {\n        state.currentFlags = getNewCurrentFlags(state.currentFlags, node.flags);\n      }\n    },\n    exit(_, state) {\n      state.currentFlags = state.prevFlags;\n    },\n  },\n\n  Recursion({node, parent}, {reffedNodesByReferencer}) {\n    // Recursion nodes are created during the current traversal; they're only traversed here if a\n    // recursion node created during traversal is then copied by a subroutine expansion, e.g. with\n    // `(?<a>\\g<a>)\\g<a>`\n    const {ref} = node;\n    // Immediate parent is an alternative or quantifier; can skip\n    let reffed = parent;\n    while ((reffed = reffed.parent)) {\n      if (reffed.type === AstTypes.CapturingGroup && (reffed.name === ref || reffed.number === ref)) {\n        break;\n      }\n    }\n    // Track the referenced node because `ref`s are rewritten in a subsequent pass; capturing group\n    // names and numbers might change due to subroutine expansion and duplicate group names\n    reffedNodesByReferencer.set(node, reffed);\n  },\n\n  Subroutine(path, state) {\n    const {node, replaceWith} = path;\n    const {ref} = node;\n    const reffedGroupNode = state.subroutineRefMap.get(ref);\n    // Other forms of recursion are handled by the `CapturingGroup` visitor\n    const isGlobalRecursion = ref === 0;\n    const expandedSubroutine = isGlobalRecursion ?\n      createRecursion(0) :\n      // The reffed group might itself contain subroutines, which are expanded during sub-traversal\n      cloneCapturingGroup(reffedGroupNode, state.groupOriginByCopy, null);\n    let replacement = expandedSubroutine;\n    if (!isGlobalRecursion) {\n      // Subroutines take their flags from the reffed group, not the flags surrounding themselves\n      const reffedGroupFlagMods = getCombinedFlagModsFromFlagNodes(getAllParents(reffedGroupNode, node => {\n        return node.type === AstTypes.Group && !!node.flags;\n      }));\n      const reffedGroupFlags = reffedGroupFlagMods ?\n        getNewCurrentFlags(state.globalFlags, reffedGroupFlagMods) :\n        state.globalFlags;\n      if (!areFlagsEqual(reffedGroupFlags, state.currentFlags)) {\n        replacement = prepContainer(createGroup({\n          flags: getFlagModsFromFlags(reffedGroupFlags),\n        }), [expandedSubroutine]);\n      }\n    }\n    replaceWith(replacement);\n    if (!isGlobalRecursion) {\n      traverseReplacement(replacement, path, state, SecondPassVisitor);\n    }\n  },\n};\n\nconst ThirdPassVisitor = {\n  Backreference({node, replaceWith}, state) {\n    if (node.orphan) {\n      state.highestOrphanBackref = Math.max(state.highestOrphanBackref, node.ref);\n      // Don't renumber; used with `allowOrphanBackrefs`\n      return;\n    }\n    const reffedNodes = state.reffedNodesByReferencer.get(node);\n    const participants = reffedNodes.filter(reffed => canParticipateWithNode(reffed, node));\n    // For the backref's `ref`, use `number` rather than `name` because group names might have been\n    // removed if they're duplicates within their alternation path, or they might be removed later\n    // by the generator (depending on target) if they're duplicates within the overall pattern.\n    // Backrefs must come after groups they ref, so reffed node `number`s are already recalculated\n    if (!participants.length) {\n      // If no participating capture, convert backref to to `(?!)`; backrefs to nonparticipating\n      // groups can't match in Onig but match the empty string in JS\n      replaceWith(prepContainer(createLookaround({negate: true})));\n    } else if (participants.length > 1) {\n      // Multiplex\n      const alts = participants.map(reffed => adoptAndSwapKids(\n        createAlternative(),\n        [createBackreference(reffed.number)]\n      ));\n      replaceWith(adoptAndSwapKids(createGroup(), alts));\n    } else {\n      node.ref = participants[0].number;\n    }\n  },\n\n  CapturingGroup({node}, state) {\n    // Recalculate the number since the current value might be wrong due to subroutine expansion\n    node.number = ++state.numCapturesToLeft;\n    if (node.name) {\n      // Removing duplicate names here rather than in an earlier pass avoids extra complexity when\n      // handling subroutine expansion and backref multiplexing\n      if (state.groupsByName.get(node.name).get(node).hasDuplicateNameToRemove) {\n        delete node.name;\n      }\n    }\n  },\n\n  Recursion({node}, state) {\n    if (node.ref === 0) {\n      return;\n    }\n    // For the recursion's `ref`, use `number` rather than `name` because group names might have\n    // been removed if they're duplicates within their alternation path, or they might be removed\n    // later by the generator (depending on target) if they're duplicates within the overall\n    // pattern. Since recursion appears within the group it refs, the reffed node's `number` has\n    // already been recalculated\n    node.ref = state.reffedNodesByReferencer.get(node).number;\n  },\n\n  Regex: {\n    exit({node}, state) {\n      // [HACK] Add unnamed captures to the end of the regex if needed to allow orphaned backrefs\n      // to be valid in JS with flag u/v. This is needed to support TextMate grammars, which\n      // replace numbered backrefs in their `end` pattern with values matched by captures in their\n      // `begin` pattern! See <github.com/microsoft/vscode-textmate/blob/7e0ea282f4f25fef12a6c84fa4fa7266f67b58dc/src/rule.ts#L661-L663>\n      // An `end` pattern, prior to this substitution, might have backrefs to a group that doesn't\n      // exist within `end`. This presents a dilemma since both Oniguruma and JS (with flag u/v)\n      // error for backrefs to undefined captures. So adding captures to the end is a solution that\n      // doesn't change what the regex matches, and lets invalid numbered backrefs through. Note:\n      // Orphan backrefs are only allowed if `allowOrphanBackrefs` is enabled\n      const numCapsNeeded = Math.max(state.highestOrphanBackref - state.numCapturesToLeft, 0);\n      for (let i = 0; i < numCapsNeeded; i++) {\n        const emptyCapture = createCapturingGroup();\n        node.pattern.alternatives.at(-1).elements.push(emptyCapture);\n      }\n    },\n  },\n};\n\n// `\\t\\n\\v\\f\\r\\x20`\nconst asciiSpaceChar = '[\\t-\\r ]';\n// Different than `PosixClassesMap`'s `word`\nconst defaultWordChar = r`[\\p{L}\\p{M}\\p{N}\\p{Pc}]`;\n\nfunction adoptAndSwapKids(parent, kids) {\n  kids.forEach(kid => kid.parent = parent);\n  parent[getContainerAccessor(parent)] = kids;\n  return parent;\n}\n\nfunction areFlagsEqual(a, b) {\n  return a.dotAll === b.dotAll && a.ignoreCase === b.ignoreCase;\n}\n\nfunction canParticipateWithNode(capture, node) {\n  // Walks to the left (prev siblings), down (sibling descendants), up (parent), then back down\n  // (parent's prev sibling descendants) the tree in a loop\n  let rightmostPoint = node;\n  do {\n    if (rightmostPoint.type === AstTypes.Pattern) {\n      // End of the line; capture is not in node's alternation path\n      return false;\n    }\n    if (rightmostPoint.type === AstTypes.Alternative) {\n      // Skip past alts to their parent because we don't want to look at the kids of preceding alts\n      continue;\n    }\n    if (rightmostPoint === capture) {\n      // Capture is ancestor of node\n      return false;\n    }\n    const kidsOfParent = getKids(rightmostPoint.parent);\n    for (const kid of kidsOfParent) {\n      if (kid === rightmostPoint) {\n        // Reached rightmost node in sibling list that we want to consider; break to parent loop\n        break;\n      }\n      if (kid === capture) {\n        return true;\n      }\n      if (hasDescendant(kid, capture)) {\n        return true;\n      }\n    }\n  } while ((rightmostPoint = rightmostPoint.parent));\n  throw new Error('Unexpected path');\n}\n\n// Creates a deep copy of the provided node, with special handling:\n// - Make `parent` props point to their parent in the copy\n// - Update the provided `originMap` for each cloned capturing group (outer and nested)\nfunction cloneCapturingGroup(obj, originMap, up, up2) {\n  const store = Array.isArray(obj) ? [] : {};\n  for (const [key, value] of Object.entries(obj)) {\n    if (key === 'parent') {\n      // If the last cloned item was a container array (for holding kids), use the object above it\n      store.parent = Array.isArray(up) ? up2 : up;\n    } else if (value && typeof value === 'object') {\n      store[key] = cloneCapturingGroup(value, originMap, store, up);\n    } else {\n      if (key === 'type' && value === AstTypes.CapturingGroup) {\n        // Key is the copied node, value is the origin node\n        originMap.set(store, originMap.get(obj) ?? obj);\n      }\n      store[key] = value;\n    }\n  }\n  return store;\n}\n\n// `Recursion` nodes are used only by the transformer\nfunction createRecursion(ref) {\n  return {\n    type: AstTypes.Recursion,\n    ref,\n  };\n}\n\nfunction getAllParents(node, filterFn) {\n  const results = [];\n  while ((node = node.parent)) {\n    if (!filterFn || filterFn(node)) {\n      results.push(node);\n    }\n  }\n  return results;\n}\n\n// See also `isValidGroupNameJs`\nfunction getAndStoreJsGroupName(name, map) {\n  if (map.has(name)) {\n    return map.get(name);\n  }\n  // Onig group names can't start with `$`, but JS names can\n  const jsName = `$${map.size}_${name.replace(/^[^$_\\p{IDS}]|[^$\\u200C\\u200D\\p{IDC}]/ug, '_')}`;\n  map.set(name, jsName);\n  return jsName;\n}\n\n// Returns the string key for the container that holds the node's kids\nfunction getContainerAccessor(node) {\n  for (const accessor of ['alternatives', 'classes', 'elements']) {\n    if (node[accessor]) {\n      return accessor;\n    }\n  }\n  return null;\n}\n\nfunction getCombinedFlagModsFromFlagNodes(flagNodes) {\n  const flagProps = ['dotAll', 'ignoreCase'];\n  const combinedFlags = {enable: {}, disable: {}};\n  flagNodes.forEach(({flags}) => {\n    flagProps.forEach(prop => {\n      if (flags.enable?.[prop]) {\n        // Need to remove `disable` since disabled flags take precedence\n        delete combinedFlags.disable[prop];\n        combinedFlags.enable[prop] = true;\n      }\n      if (flags.disable?.[prop]) {\n        combinedFlags.disable[prop] = true;\n      }\n    });\n  });\n  if (!Object.keys(combinedFlags.enable).length) {\n    delete combinedFlags.enable;\n  }\n  if (!Object.keys(combinedFlags.disable).length) {\n    delete combinedFlags.disable;\n  }\n  if (combinedFlags.enable || combinedFlags.disable) {\n    return combinedFlags;\n  }\n  return null;\n}\n\nfunction getFlagModsFromFlags({dotAll, ignoreCase}) {\n  const mods = {};\n  if (dotAll || ignoreCase) {\n    mods.enable = {};\n    dotAll && (mods.enable.dotAll = true);\n    ignoreCase && (mods.enable.ignoreCase = true);\n  }\n  if (!dotAll || !ignoreCase) {\n    mods.disable = {};\n    !dotAll && (mods.disable.dotAll = true);\n    !ignoreCase && (mods.disable.ignoreCase = true);\n  }\n  return mods;\n}\n\nfunction getKids(node) {\n  if (!node) {\n    throw new Error('Node expected');\n  }\n  // [NOTE] Not handling `Regex` kids (`pattern`, `flags`) and `CharacterClassRange` kids (`min`,\n  // `max`) only because not needed by current callers\n  if (node.type === AstTypes.Quantifier) {\n    return [node.element];\n  }\n  const accessor = getContainerAccessor(node);\n  return accessor && node[accessor];\n}\n\nfunction getLeadingG(els) {\n  const firstToConsider = els.find(el => (\n    el.kind === AstAssertionKinds.search_start ||\n    isLoneGLookaround(el, {negate: false}) ||\n    !isAlwaysZeroLength(el)\n  ));\n  if (!firstToConsider) {\n    return null;\n  }\n  if (firstToConsider.kind === AstAssertionKinds.search_start) {\n    return firstToConsider;\n  }\n  if (isLookaround(firstToConsider)) {\n    return firstToConsider.alternatives[0].elements[0];\n  }\n  if (isConsumptiveGroup(firstToConsider)) {\n    const gNodesForGroup = [];\n    // Recursively find `\\G` nodes for all alternatives in the group\n    for (const alt of firstToConsider.alternatives) {\n      const leadingG = getLeadingG(alt.elements);\n      if (!leadingG) {\n        // Don't return `gNodesForGroup` collected so far since this alt didn't qualify\n        return null;\n      }\n      Array.isArray(leadingG) ?\n        gNodesForGroup.push(...leadingG) :\n        gNodesForGroup.push(leadingG);\n    }\n    return gNodesForGroup;\n  }\n  return null;\n}\n\nfunction hasDescendant(node, descendant) {\n  const kids = getKids(node) ?? [];\n  for (const kid of kids) {\n    if (\n      kid === descendant ||\n      hasDescendant(kid, descendant)\n    ) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction isLoneGLookaround(node, options) {\n  const opts = {\n    negate: null,\n    ...options,\n  };\n  return (\n    isLookaround(node) &&\n    (opts.negate === null || node.negate === opts.negate) &&\n    hasOnlyChild(node, kid => kid.kind === AstAssertionKinds.search_start)\n  );\n}\n\n// See also `getAndStoreJsGroupName`\nfunction isValidGroupNameJs(name) {\n  // JS group names are more restrictive than Onig; see `isValidGroupNameOniguruma` and\n  // <developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#identifiers>\n  return /^[$_\\p{IDS}][$\\u200C\\u200D\\p{IDC}]*$/u.test(name);\n}\n\n// Returns a single node, either the given node or all nodes wrapped in a noncapturing group\nfunction parseFragment(pattern, options) {\n  const ast = parse(tokenize(pattern), options);\n  const alts = ast.pattern.alternatives;\n  if (alts.length > 1 || alts[0].elements.length > 1) {\n    return adoptAndSwapKids(createGroup(), alts);\n  }\n  return alts[0].elements[0];\n}\n\nfunction prepContainer(node, kids) {\n  const accessor = getContainerAccessor(node);\n  // Set the parent for the default container of a new node\n  node[accessor][0].parent = node;\n  if (kids) {\n    adoptAndSwapKids(node[accessor][0], kids);\n  }\n  return node;\n}\n\nfunction setNegate(node, negate) {\n  node.negate = negate;\n  return node;\n}\n\nfunction traverseReplacement(replacement, {parent, key, container}, state, visitor) {\n  traverse({\n    // Don't use the `node` from `path`\n    node: replacement,\n    parent,\n    key,\n    container,\n  }, state, visitor);\n}\n\nexport {\n  transform,\n};\n","import {getOptions} from './options.js';\nimport {AstAssertionKinds, AstCharacterSetKinds, AstTypes, createCharacter} from './parse.js';\nimport {traverse} from './traverse.js';\nimport {getIgnoreCaseMatchChars, UnicodePropertiesWithSpecificCase} from './unicode.js';\nimport {cp, envFlags, getNewCurrentFlags, getOrInsert, isMinTarget, r} from './utils.js';\nimport {isLookaround} from './utils-ast.js';\n\n/**\nGenerates a Regex+ compatible `pattern`, `flags`, and `options` from a Regex+ AST.\n@param {import('./transform.js').RegexAst} ast\n@param {import('.').ToRegExpOptions} [options]\n@returns {{\n  pattern: string;\n  flags: string;\n  options: Object;\n  _captureTransfers: Map<number, Array<number>>;\n  _hiddenCaptures: Array<number>;\n}}\n*/\nfunction generate(ast, options) {\n  const opts = getOptions(options);\n  const minTargetEs2024 = isMinTarget(opts.target, 'ES2024');\n  const minTargetEs2025 = isMinTarget(opts.target, 'ES2025');\n  const recursionLimit = opts.rules.recursionLimit;\n  if (!Number.isInteger(recursionLimit) || recursionLimit < 2 || recursionLimit > 20) {\n    throw new Error('Invalid recursionLimit; use 2-20');\n  }\n\n  // If the output can't use flag groups, we need a pre-pass to check for the use of chars with\n  // case in case sensitive/insensitive states. This minimizes the need for case expansions (though\n  // expansions are lossless, even given Unicode case complexities) and allows supporting case\n  // insensitive backrefs in more cases\n  // [TODO] Consider gathering this data in the transformer's final traversal to avoid work here\n  let hasCaseInsensitiveNode = null;\n  let hasCaseSensitiveNode = null;\n  if (!minTargetEs2025) {\n    const iStack = [ast.flags.ignoreCase];\n    traverse({node: ast}, {\n      getCurrentModI: () => iStack.at(-1),\n      popModI() {iStack.pop()},\n      pushModI(isIOn) {iStack.push(isIOn)},\n      setHasCasedChar() {\n        if (iStack.at(-1)) {\n          hasCaseInsensitiveNode = true;\n        } else {\n          hasCaseSensitiveNode = true;\n        }\n      },\n    }, FlagModifierVisitor);\n  }\n\n  const appliedGlobalFlags = {\n    dotAll: ast.flags.dotAll,\n    // - Turn global flag i on if a case insensitive node was used and no case sensitive nodes were\n    //   used (to avoid unnecessary node expansion).\n    // - Turn global flag i off if a case sensitive node was used (since case sensitivity can't be\n    //   forced without the use of ES2025 flag groups)\n    ignoreCase: !!((ast.flags.ignoreCase || hasCaseInsensitiveNode) && !hasCaseSensitiveNode),\n  };\n  let lastNode = null;\n  const state = {\n    accuracy: opts.accuracy,\n    appliedGlobalFlags,\n    captureMap: new Map(),\n    currentFlags: {\n      dotAll: ast.flags.dotAll,\n      ignoreCase: ast.flags.ignoreCase,\n    },\n    inCharClass: false,\n    lastNode,\n    originMap: ast._originMap,\n    recursionLimit,\n    useAppliedIgnoreCase: !!(!minTargetEs2025 && hasCaseInsensitiveNode && hasCaseSensitiveNode),\n    useFlagMods: minTargetEs2025,\n    useFlagV: minTargetEs2024,\n    verbose: opts.verbose,\n  };\n  function gen(node) {\n    state.lastNode = lastNode;\n    lastNode = node;\n    switch (node.type) {\n      case AstTypes.Regex:\n        // Final result is an object; other node types return strings\n        return {\n          pattern: gen(node.pattern),\n          flags: gen(node.flags),\n          options: {...node.options},\n        };\n      case AstTypes.Alternative:\n        return node.elements.map(gen).join('');\n      case AstTypes.Assertion:\n        return genAssertion(node, state, gen);\n      case AstTypes.Backreference:\n        return genBackreference(node, state);\n      case AstTypes.CapturingGroup:\n        return genCapturingGroup(node, state, gen);\n      case AstTypes.Character:\n        return genCharacter(node, state);\n      case AstTypes.CharacterClass:\n        return genCharacterClass(node, state, gen);\n      case AstTypes.CharacterClassIntersection:\n        if (!state.useFlagV) {\n          throw new Error('Use of class intersection requires min target ES2024');\n        }\n        return node.classes.map(gen).join('&&');\n      case AstTypes.CharacterClassRange:\n        return genCharacterClassRange(node, state);\n      case AstTypes.CharacterSet:\n        return genCharacterSet(node, state);\n      case AstTypes.Flags:\n        return genFlags(node, state);\n      case AstTypes.Group:\n        return genGroup(node, state, gen);\n      case AstTypes.Pattern:\n        return node.alternatives.map(gen).join('|');\n      case AstTypes.Quantifier:\n        return gen(node.element) + getQuantifierStr(node);\n      case AstTypes.Recursion:\n        return genRecursion(node, state);\n      default:\n        // Node types `AbsentFunction`, `Directive`, `Subroutine`, and `VariableLengthCharacterSet`\n        // are never included in transformer output\n        throw new Error(`Unexpected node type \"${node.type}\"`);\n    }\n  }\n\n  const result = gen(ast);\n  if (!minTargetEs2024) {\n    // Switch from flag v to u; Regex+ implicitly chooses by default\n    delete result.options.force.v;\n    result.options.disable.v = true;\n    result.options.unicodeSetsPlugin = null;\n  }\n  result._captureTransfers = new Map();\n  result._hiddenCaptures = [];\n  state.captureMap.forEach((value, key) => {\n    if (value.hidden) {\n      result._hiddenCaptures.push(key);\n    }\n    if (value.transferTo) {\n      getOrInsert(result._captureTransfers, value.transferTo, []).push(key);\n    }\n  });\n\n  return result;\n}\n\nconst FlagModifierVisitor = {\n  AnyGroup: {\n    enter({node}, state) {\n      const currentModI = state.getCurrentModI();\n      state.pushModI(\n        node.flags ?\n          getNewCurrentFlags({ignoreCase: currentModI}, node.flags).ignoreCase :\n          currentModI\n      );\n    },\n    exit(_, state) {\n      state.popModI();\n    },\n  },\n  Backreference(_, state) {\n    // Can't know for sure, so assume the backref will include chars with case (best that could be\n    // done is not calling `setHasCasedChar` if the reffed group doesn't contain a char with case\n    // or most kinds of char sets)\n    state.setHasCasedChar();\n  },\n  Character({node}, state) {\n    if (charHasCase(cp(node.value))) {\n      state.setHasCasedChar();\n    }\n  },\n  CharacterClassRange({node, skip}, state) {\n    skip();\n    if (getCasesOutsideCharClassRange(node, {firstOnly: true}).length) {\n      state.setHasCasedChar();\n    }\n  },\n  CharacterSet({node}, state) {\n    if (\n      node.kind === AstCharacterSetKinds.property &&\n      UnicodePropertiesWithSpecificCase.has(node.value)\n    ) {\n      state.setHasCasedChar();\n    }\n  },\n};\n\nconst BaseEscapeChars = new Set([\n  '$', '(', ')', '*', '+', '.', '?', '[', '\\\\', ']', '^', '{', '|', '}',\n]);\nconst CharClassEscapeChars = new Set([\n  '-', '\\\\', ']', '^',\n  // Literal `[` doesn't require escaping with flag u, but this can help work around regex source\n  // linters and regex syntax processors that expect unescaped `[` to create a nested class\n  '[',\n]);\nconst CharClassEscapeCharsFlagV = new Set([\n  '(', ')', '-', '/', '[', '\\\\', ']', '^', '{', '|', '}',\n  // Double punctuators; also includes already-listed `-` and `^`\n  '!', '#', '$', '%', '&', '*', '+', ',', '.', ':', ';', '<', '=', '>', '?', '@', '`', '~',\n]);\nconst CharCodeEscapeMap = new Map([\n  [ 9, r`\\t`], // horizontal tab\n  [10, r`\\n`], // line feed\n  [11, r`\\v`], // vertical tab\n  [12, r`\\f`], // form feed\n  [13, r`\\r`], // carriage return\n  [0x2028, r`\\u2028`], // line separator\n  [0x2029, r`\\u2029`], // paragraph separator\n  [0xFEFF, r`\\uFEFF`], // ZWNBSP/BOM\n]);\n\nconst casedRe = /^\\p{Cased}$/u;\nfunction charHasCase(char) {\n  return casedRe.test(char);\n}\n\nfunction genAssertion(node, _, gen) {\n  const {kind, negate, alternatives} = node;\n  if (isLookaround(node)) {\n    const prefix = `${kind === AstAssertionKinds.lookahead ? '' : '<'}${negate ? '!' : '='}`;\n    return `(?${prefix}${alternatives.map(gen).join('|')})`;\n  }\n  // Can always use `^` and `$` for string boundaries since JS flag m is never relied on; Onig uses\n  // different line break chars\n  if (kind === AstAssertionKinds.string_end) {\n    return '$';\n  }\n  if (kind === AstAssertionKinds.string_start) {\n    return '^';\n  }\n  // If a word boundary came through the transformer unaltered, that means `wordIsAscii` or\n  // `asciiWordBoundaries` is enabled\n  if (kind === AstAssertionKinds.word_boundary) {\n    return negate ? r`\\B` : r`\\b`;\n  }\n  // Kinds `line_end`, `line_start`, `search_start`, and `string_end_newline` are never included in\n  // transformer output\n  throw new Error(`Unexpected assertion kind \"${kind}\"`);\n}\n\nfunction genBackreference({ref}, state) {\n  if (typeof ref !== 'number') {\n    throw new Error('Unexpected named backref in transformed AST');\n  }\n  if (\n    !state.useFlagMods &&\n    state.accuracy === 'strict' &&\n    state.currentFlags.ignoreCase &&\n    !state.captureMap.get(ref).ignoreCase\n  ) {\n    throw new Error('Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy');\n  }\n  return '\\\\' + ref;\n}\n\nfunction genCapturingGroup(node, state, gen) {\n  const {name, number, alternatives} = node;\n  const data = {ignoreCase: state.currentFlags.ignoreCase};\n  // Has origin if the capture is from an expanded subroutine\n  const origin = state.originMap.get(node);\n  if (origin) {\n    // All captures from/within expanded subroutines are marked as hidden\n    data.hidden = true;\n    // If a subroutine (or descendant capture) occurs after its origin group, it's marked to have\n    // its captured value transferred to the origin's capture slot. `number` and `origin.number`\n    // are the capture numbers *after* subroutine expansion\n    if (number > origin.number) {\n      data.transferTo = origin.number;\n    }\n  }\n  state.captureMap.set(number, data);\n  return `(${name ? `?<${name}>` : ''}${alternatives.map(gen).join('|')})`;\n}\n\nfunction genCharacter({value}, state) {\n  const char = cp(value);\n  const escaped = getCharEscape(value, {\n    isAfterBackref: state.lastNode.type === AstTypes.Backreference,\n    inCharClass: state.inCharClass,\n    useFlagV: state.useFlagV,\n  });\n  if (escaped !== char) {\n    return escaped;\n  }\n  if (state.useAppliedIgnoreCase && state.currentFlags.ignoreCase && charHasCase(char)) {\n    const cases = getIgnoreCaseMatchChars(char);\n    return state.inCharClass ?\n      cases.join('') :\n      (cases.length > 1 ? `[${cases.join('')}]` : cases[0]);\n  }\n  return char;\n}\n\nfunction genCharacterClass({negate, parent, elements}, state, gen) {\n  // Work around WebKit parser bug by moving literal hyphens to the end of the class\n  if (envFlags.literalHyphenIncorrectlyCreatesRange && state.useFlagV && elements.some(isLiteralHyphen)) {\n    // Remove all hyphens then add one at the end; can't just sort in case of e.g. `[\\d\\-\\-]`\n    elements = elements.filter(node => !isLiteralHyphen(node));\n    elements.push(createCharacter(45));\n  }\n  const genClass = () => `[${negate ? '^' : ''}${elements.map(gen).join('')}]`;\n  if (!state.inCharClass) {\n    // For the outermost char class, set state\n    state.inCharClass = true;\n    const result = genClass();\n    state.inCharClass = false;\n    return result;\n  }\n  // No first element for implicit class in empty intersection like `[&&]`\n  const firstType = elements[0]?.type;\n  if (\n    !negate &&\n    firstType &&\n    (\n      ( // Allows many nested classes to work with `target` ES2018 which doesn't support nesting\n        (!state.useFlagV || !state.verbose) &&\n        parent.type === AstTypes.CharacterClass &&\n        firstType !== AstTypes.CharacterClassIntersection &&\n        !(envFlags.literalHyphenIncorrectlyCreatesRange && state.useFlagV)\n      ) ||\n      ( !state.verbose &&\n        parent.type === AstTypes.CharacterClassIntersection &&\n        // JS doesn't allow intersection with union or ranges\n        elements.length === 1 &&\n        firstType !== AstTypes.CharacterClass &&\n        firstType !== AstTypes.CharacterClassRange\n      )\n    )\n  ) {\n    // Remove unnecessary nesting; unwrap kids into the parent char class. Some basic char class\n    // optimization for intersection has already been done in the parser\n    return elements.map(gen).join('');\n  }\n  if (!state.useFlagV && parent.type === AstTypes.CharacterClass) {\n    throw new Error('Use of nested character class requires min target ES2024');\n  }\n  return genClass();\n}\n\nfunction genCharacterClassRange(node, state) {\n  const min = node.min.value;\n  const max = node.max.value;\n  const escOpts = {\n    isAfterBackref: false,\n    inCharClass: true,\n    useFlagV: state.useFlagV,\n  };\n  const minStr = getCharEscape(min, escOpts);\n  const maxStr = getCharEscape(max, escOpts);\n  const extraChars = new Set();\n  if (state.useAppliedIgnoreCase && state.currentFlags.ignoreCase) {\n    // [TODO] Avoid duplication by considering other chars in the parent char class when expanding\n    const charsOutsideRange = getCasesOutsideCharClassRange(node);\n    const ranges = getCodePointRangesFromChars(charsOutsideRange);\n    ranges.forEach(value => {\n      extraChars.add(\n        Array.isArray(value) ?\n          `${getCharEscape(value[0], escOpts)}-${getCharEscape(value[1], escOpts)}` :\n          getCharEscape(value, escOpts)\n      );\n    });\n  }\n  // Create the range without calling `gen` on the `min`/`max` kids\n  return `${minStr}-${maxStr}${[...extraChars].join('')}`;\n}\n\nfunction genCharacterSet({kind, negate, value, key}, state) {\n  if (kind === AstCharacterSetKinds.dot) {\n    return state.currentFlags.dotAll ?\n      ((state.appliedGlobalFlags.dotAll || state.useFlagMods) ? '.' : '[^]') :\n      // Onig's only line break char is line feed, unlike JS\n      r`[^\\n]`;\n  }\n  if (kind === AstCharacterSetKinds.digit) {\n    return negate ? r`\\D` : r`\\d`;\n  }\n  if (kind === AstCharacterSetKinds.property) {\n    if (\n      state.useAppliedIgnoreCase &&\n      state.currentFlags.ignoreCase &&\n      UnicodePropertiesWithSpecificCase.has(value)\n    ) {\n      // Support for this would require heavy Unicode data. Could change e.g. `\\p{Lu}` to `\\p{LC}`\n      // if not using strict `accuracy` (since it's close but not 100%), but this wouldn't work\n      // for e.g. `\\p{Lt}`, and in any case, it's probably user error if using these case-specific\n      // props case-insensitively\n      throw new Error(`Unicode property \"${value}\" can't be case-insensitive when other chars have specific case`);\n    }\n    return `${negate ? r`\\P` : r`\\p`}{${key ? `${key}=` : ''}${value}}`;\n  }\n  if (kind === AstCharacterSetKinds.word) {\n    return negate ? r`\\W` : r`\\w`;\n  }\n  // Kinds `hex`, `posix`, and `space` are never included in transformer output\n  throw new Error(`Unexpected character set kind \"${kind}\"`);\n}\n\nfunction genFlags(node, state) {\n  return (\n    // The transformer should never turn on the properties for flags d, g, and m since Onig doesn't\n    // have equivs. Flag m is never relied on since Onig uses different line break chars than JS\n    // (node.hasIndices ? 'd' : '') +\n    // (node.global ? 'g' : '') +\n    // (node.multiline ? 'm' : '') +\n    (state.appliedGlobalFlags.ignoreCase ? 'i' : '') +\n    (node.dotAll ? 's' : '') +\n    (node.sticky ? 'y' : '')\n    // Regex+ doesn't allow explicitly adding flags it handles implicitly, so there are no\n    // `unicode` (flag u) or `unicodeSets` (flag v) props; those flags are added separately\n  );\n}\n\nfunction genGroup({atomic, flags, parent, alternatives}, state, gen) {\n  const currentFlags = state.currentFlags;\n  if (flags) {\n    state.currentFlags = getNewCurrentFlags(currentFlags, flags);\n  }\n  const contents = alternatives.map(gen).join('|');\n  const result = (\n    !state.verbose &&\n    alternatives.length === 1 &&\n    parent.type !== AstTypes.Quantifier &&\n    !atomic &&\n    (!state.useFlagMods || !flags)\n   ) ? contents : `(?${getGroupPrefix(atomic, flags, state.useFlagMods)}${contents})`;\n  state.currentFlags = currentFlags;\n  return result;\n}\n\nfunction genRecursion({ref}, state) {\n  const limit = state.recursionLimit;\n  // Using the syntax supported by `regex-recursion`\n  return ref === 0 ? `(?R=${limit})` : r`\\g<${ref}&R=${limit}>`;\n}\n\n/**\nGiven a `CharacterClassRange` node, returns an array of chars that are a case variant of a char in\nthe range, and aren't already in the range.\n*/\nfunction getCasesOutsideCharClassRange(node, options) {\n  const firstOnly = !!options?.firstOnly;\n  const min = node.min.value;\n  const max = node.max.value;\n  const found = [];\n  // Avoid unneeded work. Assumptions (per Unicode 16):\n  // - No case variants cross the Basic Multilingual Plane boundary\n  // - No cased chars appear beyond the Supplementary Multilingual Plane\n  if ((min < 65 && (max === 0xFFFF || max >= 0x1FFFF)) || (min === 0x10000 && max >= 0x1FFFF)) {\n    return found;\n  }\n  for (let i = min; i <= max; i++) {\n    const char = cp(i);\n    if (!charHasCase(char)) {\n      continue;\n    }\n    const charsOutsideRange = getIgnoreCaseMatchChars(char).filter(caseOfChar => {\n      const num = caseOfChar.codePointAt(0);\n      return num < min || num > max;\n    });\n    if (charsOutsideRange.length) {\n      found.push(...charsOutsideRange);\n      if (firstOnly) {\n        break;\n      }\n    }\n  }\n  return found;\n}\n\n// This shouldn't modifiy any char that has case\nfunction getCharEscape(codePoint, {isAfterBackref, inCharClass, useFlagV}) {\n  if (CharCodeEscapeMap.has(codePoint)) {\n    return CharCodeEscapeMap.get(codePoint);\n  }\n  if (\n    // Control chars, etc.; condition modeled on the Chrome developer console's display for strings\n    codePoint < 32 || (codePoint > 126 && codePoint < 160) ||\n    // Unicode planes 4-16; unassigned, special purpose, and private use area\n    codePoint > 0x3FFFF ||\n    // Avoid corrupting a preceding backref by immediately following it with a literal digit\n    (isAfterBackref && isDigitCharCode(codePoint))\n  ) {\n    // Don't convert codePoint `0` to `\\0` since that's corruptible by following literal digits\n    return codePoint > 0xFF ?\n      `\\\\u{${codePoint.toString(16).toUpperCase()}}` :\n      `\\\\x${codePoint.toString(16).toUpperCase().padStart(2, '0')}`;\n  }\n  const escapeChars = inCharClass ?\n    (useFlagV ? CharClassEscapeCharsFlagV : CharClassEscapeChars) :\n    BaseEscapeChars;\n  const char = cp(codePoint);\n  return (escapeChars.has(char) ? '\\\\' : '') + char;\n}\n\nfunction getCodePointRangesFromChars(chars) {\n  const codePoints = chars.map(char => char.codePointAt(0)).sort((a, b) => a - b);\n  const values = [];\n  let start = null;\n  for (let i = 0; i < codePoints.length; i++) {\n    if (codePoints[i + 1] === codePoints[i] + 1) {\n      start ??= codePoints[i];\n    } else if (start === null) {\n      values.push(codePoints[i]);\n    } else {\n      values.push([start, codePoints[i]]);\n      start = null;\n    }\n  }\n  return values;\n}\n\nfunction getGroupPrefix(atomic, flagMods, useFlagMods) {\n  if (atomic) {\n    return '>';\n  }\n  let mods = '';\n  if (flagMods && useFlagMods) {\n    const {enable, disable} = flagMods;\n    mods =\n      (enable?.ignoreCase ? 'i' : '') +\n      (enable?.dotAll ? 's' : '') +\n      (disable ? '-' : '') +\n      (disable?.ignoreCase ? 'i' : '') +\n      (disable?.dotAll ? 's' : '');\n  }\n  return `${mods}:`;\n}\n\nfunction getQuantifierStr({min, max, greedy, possessive}) {\n  let base;\n  if (!min && max === 1) {\n    base = '?';\n  } else if (!min && max === Infinity) {\n    base = '*';\n  } else if (min === 1 && max === Infinity) {\n    base = '+';\n  } else if (min === max) {\n    base = `{${min}}`;\n  } else {\n    base = `{${min},${max === Infinity ? '' : max}}`;\n  }\n  return base + (possessive ? '+' : (greedy ? '' : '?'));\n}\n\nfunction isDigitCharCode(value) {\n  return value > 47 && value < 58;\n}\n\nfunction isLiteralHyphen({type, value}) {\n  return type === AstTypes.Character && value === 45;\n}\n\nexport {\n  generate,\n};\n","import {getOrInsert, throwIfNot} from './utils.js';\n\n/**\n@typedef {{\n  hiddenCaptures?: Array<number>;\n  lazyCompile?: boolean;\n  strategy?: string?;\n  transfers?: Array<[number, Array<number>]>;\n}} EmulatedRegExpOptions\n*/\n\n/**\nWorks the same as JavaScript's native `RegExp` constructor in all contexts, but can be given\nresults from `toRegExpDetails` to produce the same result as `toRegExp`.\n*/\nclass EmulatedRegExp extends RegExp {\n  /**\n  @type {Map<number, {\n    hidden?: true;\n    transferTo?: number;\n  }>}\n  */\n  #captureMap = new Map();\n\n  /**\n  @type {RegExp | EmulatedRegExp | null}\n  */\n  #compiled = null;\n\n  /**\n  @type {string}\n  */\n  #pattern;\n\n  /**\n  @type {Map<number, string>?}\n  */\n  #nameMap = null;\n\n  /**\n  @type {string?}\n  */\n  #strategy = null;\n\n  /**\n  Can be used to serialize the instance.\n  @type {EmulatedRegExpOptions}\n  */\n  rawOptions = {};\n\n  // Override the getter with one that works with lazy-compiled regexes\n  get source() {\n    return this.#pattern || '(?:)';\n  }\n\n  /**\n  @overload\n  @param {string} pattern\n  @param {string} [flags]\n  @param {EmulatedRegExpOptions} [options]\n  */\n  /**\n  @overload\n  @param {EmulatedRegExp} pattern\n  @param {string} [flags]\n  */\n  constructor(pattern, flags, options) {\n    const lazyCompile = !!options?.lazyCompile;\n    if (pattern instanceof RegExp) {\n      // Argument `options` isn't provided when regexes are copied, including as part of the\n      // internal handling of string methods `matchAll` and `split`\n      if (options) {\n        throw new Error('Cannot provide options when copying a regexp');\n      }\n      const re = pattern; // Alias for readability\n      super(re, flags);\n      this.#pattern = re.source;\n      if (re instanceof EmulatedRegExp) {\n        this.#captureMap = re.#captureMap;\n        this.#nameMap = re.#nameMap;\n        this.#strategy = re.#strategy;\n        this.rawOptions = re.rawOptions;\n      }\n    } else {\n      const opts = {\n        hiddenCaptures: [],\n        strategy: null,\n        transfers: [],\n        ...options,\n      };\n      super(lazyCompile ? '' : pattern, flags);\n      this.#pattern = pattern;\n      this.#captureMap = createCaptureMap(opts.hiddenCaptures, opts.transfers);\n      this.#strategy = opts.strategy;\n      // Don't add default values from `opts` since this gets serialized\n      this.rawOptions = options ?? {};\n    }\n    if (!lazyCompile) {\n      this.#compiled = this;\n    }\n  }\n\n  /**\n  Called internally by all String/RegExp methods that use regexes.\n  @override\n  @param {string} str\n  @returns {RegExpExecArray?}\n  */\n  exec(str) {\n    // Lazy compilation\n    if (!this.#compiled) {\n      const {lazyCompile, ...rest} = this.rawOptions;\n      this.#compiled = new EmulatedRegExp(this.#pattern, this.flags, rest);\n    }\n\n    const useLastIndex = this.global || this.sticky;\n    const pos = this.lastIndex;\n\n    if (this.#strategy === 'clip_search' && useLastIndex && pos) {\n      // Reset since this tests on a sliced string that we want to match at the start of\n      this.lastIndex = 0;\n      // Slicing the string can lead to mismatches when three edge cases are stacked on each other:\n      // 1. An uncommon use of `\\G` that relies on `clip_search`, combined with...\n      // 2. Lookbehind that searches behind the search start (not match start) position...\n      // 3. During a search when the regex's `lastIndex` isn't `0`.\n      // The `clip_search` strategy is therefore only allowed when lookbehind isn't present, if\n      // using strict `accuracy`\n      const match = this.#execCore(str.slice(pos));\n      if (match) {\n        adjustMatchDetailsForOffset(match, pos, str, this.hasIndices);\n        this.lastIndex += pos;\n      }\n      return match;\n    }\n\n    return this.#execCore(str);\n  }\n\n  /**\n  Adds support for hidden and transfer captures.\n  @param {string} str\n  @returns\n  */\n  #execCore(str) {\n    // Support lazy compilation\n    this.#compiled.lastIndex = this.lastIndex;\n    const match = super.exec.call(this.#compiled, str);\n    this.lastIndex = this.#compiled.lastIndex;\n\n    if (!match || !this.#captureMap.size) {\n      return match;\n    }\n\n    const matchCopy = [...match];\n    // Empty all but the first value of the array while preserving its other properties\n    match.length = 1;\n    let indicesCopy;\n    if (this.hasIndices) {\n      indicesCopy = [...match.indices];\n      match.indices.length = 1;\n    }\n    const mappedNums = [0];\n    for (let i = 1; i < matchCopy.length; i++) {\n      const {hidden, transferTo} = this.#captureMap.get(i) ?? {};\n      if (hidden) {\n        mappedNums.push(null);\n      } else {\n        mappedNums.push(match.length);\n        match.push(matchCopy[i]);\n        if (this.hasIndices) {\n          match.indices.push(indicesCopy[i]);\n        }\n      }\n\n      // Only transfer if the capture participated in the match\n      if (transferTo && matchCopy[i] !== undefined) {\n        const to = throwIfNot(mappedNums[transferTo]);\n        match[to] = matchCopy[i];\n        if (this.hasIndices) {\n          match.indices[to] = indicesCopy[i];\n        }\n        if (match.groups) {\n          if (!this.#nameMap) {\n            // Generate and cache the first time it's needed\n            this.#nameMap = createNameMap(this.source);\n          }\n          const name = this.#nameMap.get(transferTo);\n          if (name) {\n            match.groups[name] = matchCopy[i];\n            if (this.hasIndices) {\n              match.indices.groups[name] = indicesCopy[i];\n            }\n          }\n        }\n      }\n    }\n\n    return match;\n  }\n}\n\nfunction adjustMatchDetailsForOffset(match, offset, input, hasIndices) {\n  match.index += offset;\n  match.input = input;\n  if (hasIndices) {\n    const indices = match.indices;\n    for (let i = 0; i < indices.length; i++) {\n      const arr = indices[i];\n      if (arr) {\n        // Replace the array rather than updating values since the keys of `match.indices` and\n        // `match.indices.groups` share their value arrays by reference. Need to be precise in case\n        // they were previously altered separately\n        indices[i] = [arr[0] + offset, arr[1] + offset];\n      }\n    }\n    const groupIndices = indices.groups;\n    if (groupIndices) {\n      Object.keys(groupIndices).forEach(key => {\n        const arr = groupIndices[key];\n        if (arr) {\n          groupIndices[key] = [arr[0] + offset, arr[1] + offset];\n        }\n      });\n    }\n  }\n}\n\n/**\nBuild the capturing group map, with hidden/transfer groups marked to indicate their submatches\nshould get special handling in match results.\n@param {Array<number>} hiddenCaptures\n@param {Array<[number, Array<number>]>} transfers\n@returns {Map<number, {\n  hidden?: true;\n  transferTo?: number;\n}>}\n*/\nfunction createCaptureMap(hiddenCaptures, transfers) {\n  const captureMap = new Map();\n  for (const num of hiddenCaptures) {\n    captureMap.set(num, {\n      hidden: true,\n    });\n  }\n  for (const [to, from] of transfers) {\n    for (const num of from) {\n      getOrInsert(captureMap, num, {}).transferTo = to;\n    }\n  }\n  return captureMap;\n}\n\n/**\n@param {string} pattern\n@returns {Map<number, string>}\n*/\nfunction createNameMap(pattern) {\n  const re = /(?<capture>\\((?:\\?<(?![=!])(?<name>[^>]+)>|(?!\\?)))|\\\\?./gsu;\n  const map = new Map();\n  let numCharClassesOpen = 0;\n  let numCaptures = 0;\n  let match;\n  while ((match = re.exec(pattern))) {\n    const {0: m, groups: {capture, name}} = match;\n    // Relies on no unescaped literal `[` in char classes (valid in JS if not using flag v), but\n    // this library's generator never produces unescaped literal `[` even with `target` ES2018 (see\n    // `CharClassEscapeChars`)\n    if (m === '[') {\n      numCharClassesOpen++;\n    } else if (!numCharClassesOpen) {\n      if (capture) {\n        numCaptures++;\n        if (name) {\n          map.set(numCaptures, name);\n        }\n      }\n    } else if (m === ']') {\n      numCharClassesOpen--;\n    }\n  }\n  return map;\n}\n\nexport {\n  EmulatedRegExp,\n};\n","import {transform} from './transform.js';\nimport {generate} from './generate.js';\nimport {Accuracy, getOptions, Target} from './options.js';\nimport {parse} from './parse.js';\nimport {EmulatedRegExp} from './subclass.js';\nimport {tokenize} from './tokenize.js';\nimport {atomic, possessive} from 'regex/internals';\nimport {recursion} from 'regex-recursion';\n\n// The transformation and error checking for Oniguruma's unique syntax and behavior differences\n// compared to native JS RegExp is layered into all steps of the compilation process:\n// 1. Tokenizer: Understands Oniguruma syntax, with many large and small differences from JS.\n// 2. Parser: Builds an Oniguruma AST from the tokens, with understanding of Oniguruma differences.\n// 3. Transformer: Converts the Oniguruma AST to a Regex+ AST that preserves all Oniguruma\n//    behavior. This is true even in cases of non-native-JS features that are supported by both\n//    Regex+ and Oniguruma but with subtly different behavior in each (subroutines, flag x).\n// 4. Generator: Converts the Regex+ AST to a Regex+ pattern, flags, and options.\n// 5. Compiler: Components of the Regex+ libray are used to transpile several remaining features\n//    that aren't native to JS (atomic groups, possessive quantifiers, recursion). Regex+ uses a\n//    strict superset of JS RegExp syntax, so using it allows this library to benefit from not\n//    reinventing the wheel for complex features that Regex+ already knows how to transpile to JS.\n\n/**\nReturns an Oniguruma AST generated from an Oniguruma pattern.\n@param {string} pattern Oniguruma regex pattern.\n@param {{\n  flags?: string;\n  rules?: {\n    captureGroup?: boolean;\n    singleline?: boolean;\n  };\n}} [options]\n@returns {import('./parse.js').OnigurumaAst}\n*/\nfunction toOnigurumaAst(pattern, options) {\n  const opts = {\n    flags: options?.flags ?? '',\n    rules: {\n      captureGroup: false,\n      singleline: false,\n      ...(options?.rules),\n    },\n  };\n  return parse(tokenize(pattern, opts.flags, opts.rules));\n}\n\n/**\n@typedef {{\n  accuracy?: keyof Accuracy;\n  avoidSubclass?: boolean;\n  flags?: string;\n  global?: boolean;\n  hasIndices?: boolean;\n  lazyCompileLength?: number;\n  rules?: {\n    allowOrphanBackrefs?: boolean;\n    asciiWordBoundaries?: boolean;\n    captureGroup?: boolean;\n    recursionLimit?: number;\n    singleline?: boolean;\n  };\n  target?: keyof Target;\n  verbose?: boolean;\n}} ToRegExpOptions\n*/\n\n/**\nAccepts an Oniguruma pattern and returns an equivalent JavaScript `RegExp`.\n@param {string} pattern Oniguruma regex pattern.\n@param {ToRegExpOptions} [options]\n@returns {RegExp | EmulatedRegExp}\n*/\nfunction toRegExp(pattern, options) {\n  const d = toRegExpDetails(pattern, options);\n  if (d.options) {\n    return new EmulatedRegExp(d.pattern, d.flags, d.options);\n  }\n  return new RegExp(d.pattern, d.flags);\n}\n\n/**\nAccepts an Oniguruma pattern and returns the details for an equivalent JavaScript `RegExp`.\n@param {string} pattern Oniguruma regex pattern.\n@param {ToRegExpOptions} [options]\n@returns {{\n  pattern: string;\n  flags: string;\n  options?: import('./subclass.js').EmulatedRegExpOptions;\n}}\n*/\nfunction toRegExpDetails(pattern, options) {\n  const opts = getOptions(options);\n  const tokenized = tokenize(pattern, opts.flags, {\n    captureGroup: opts.rules.captureGroup,\n    singleline: opts.rules.singleline,\n  });\n  const onigurumaAst = parse(tokenized, {\n    skipBackrefValidation: opts.rules.allowOrphanBackrefs,\n    verbose: opts.verbose,\n  });\n  const regexAst = transform(onigurumaAst, {\n    accuracy: opts.accuracy,\n    asciiWordBoundaries: opts.rules.asciiWordBoundaries,\n    avoidSubclass: opts.avoidSubclass,\n    bestEffortTarget: opts.target,\n  });\n  const generated = generate(regexAst, opts);\n  const recursionResult = recursion(generated.pattern, {\n    captureTransfers: generated._captureTransfers,\n    hiddenCaptures: generated._hiddenCaptures,\n    mode: 'external',\n  });\n  const possessiveResult = possessive(recursionResult.pattern);\n  const atomicResult = atomic(possessiveResult.pattern, {\n    captureTransfers: recursionResult.captureTransfers,\n    hiddenCaptures: recursionResult.hiddenCaptures,\n  });\n  const details = {\n    pattern: atomicResult.pattern,\n    flags: `${opts.hasIndices ? 'd' : ''}${opts.global ? 'g' : ''}${generated.flags}${generated.options.disable.v ? 'u' : 'v'}`,\n  };\n  if (opts.avoidSubclass) {\n    if (opts.lazyCompileLength !== Infinity) {\n      throw new Error('Lazy compilation requires subclass');\n    }\n  } else {\n    // Sort isn't required; only for readability when serialized\n    const hiddenCaptures = atomicResult.hiddenCaptures.sort((a, b) => a - b);\n    // Change the map to the `EmulatedRegExp` format, serializable as JSON\n    const transfers = Array.from(atomicResult.captureTransfers);\n    const strategy = regexAst._strategy;\n    const lazyCompile = details.pattern.length >= opts.lazyCompileLength;\n    if (hiddenCaptures.length || transfers.length || strategy || lazyCompile) {\n      details.options = {\n        ...(hiddenCaptures.length && {hiddenCaptures}),\n        ...(transfers.length && {transfers}),\n        ...(strategy && {strategy}),\n        ...(lazyCompile && {lazyCompile}),\n      };\n    }\n  }\n  return details;\n}\n\n// // Returns a Regex+ AST generated from an Oniguruma pattern\n// function toRegexAst(pattern, options) {\n//   return transform(toOnigurumaAst(pattern, options));\n// }\n\nexport {\n  EmulatedRegExp,\n  toOnigurumaAst,\n  toRegExp,\n  toRegExpDetails,\n  // toRegexAst,\n};\n","const MAX = 4294967295;\nclass JavaScriptScanner {\n  constructor(patterns, options = {}) {\n    this.patterns = patterns;\n    this.options = options;\n    const {\n      forgiving = false,\n      cache,\n      regexConstructor\n    } = options;\n    if (!regexConstructor) {\n      throw new Error(\"Option `regexConstructor` is not provided\");\n    }\n    this.regexps = patterns.map((p) => {\n      if (typeof p !== \"string\") {\n        return p;\n      }\n      const cached = cache?.get(p);\n      if (cached) {\n        if (cached instanceof RegExp) {\n          return cached;\n        }\n        if (forgiving)\n          return null;\n        throw cached;\n      }\n      try {\n        const regex = regexConstructor(p);\n        cache?.set(p, regex);\n        return regex;\n      } catch (e) {\n        cache?.set(p, e);\n        if (forgiving)\n          return null;\n        throw e;\n      }\n    });\n  }\n  regexps;\n  findNextMatchSync(string, startPosition, _options) {\n    const str = typeof string === \"string\" ? string : string.content;\n    const pending = [];\n    function toResult(index, match, offset = 0) {\n      return {\n        index,\n        captureIndices: match.indices.map((indice) => {\n          if (indice == null) {\n            return {\n              start: MAX,\n              end: MAX,\n              length: 0\n            };\n          }\n          return {\n            start: indice[0] + offset,\n            end: indice[1] + offset,\n            length: indice[1] - indice[0]\n          };\n        })\n      };\n    }\n    for (let i = 0; i < this.regexps.length; i++) {\n      const regexp = this.regexps[i];\n      if (!regexp)\n        continue;\n      try {\n        regexp.lastIndex = startPosition;\n        const match = regexp.exec(str);\n        if (!match)\n          continue;\n        if (match.index === startPosition) {\n          return toResult(i, match, 0);\n        }\n        pending.push([i, match, 0]);\n      } catch (e) {\n        if (this.options.forgiving)\n          continue;\n        throw e;\n      }\n    }\n    if (pending.length) {\n      const minIndex = Math.min(...pending.map((m) => m[1].index));\n      for (const [i, match, offset] of pending) {\n        if (match.index === minIndex) {\n          return toResult(i, match, offset);\n        }\n      }\n    }\n    return null;\n  }\n}\n\nexport { JavaScriptScanner as J };\n","import { toRegExp } from 'oniguruma-to-es';\nimport { J as JavaScriptScanner } from './shared/engine-javascript.hzpS1_41.mjs';\n\nfunction defaultJavaScriptRegexConstructor(pattern, options) {\n  return toRegExp(\n    pattern,\n    {\n      global: true,\n      hasIndices: true,\n      // This has no benefit for the standard JS engine, but it avoids a perf penalty for\n      // precompiled grammars when constructing extremely long patterns that aren't always used\n      lazyCompileLength: 3e3,\n      rules: {\n        // Needed since TextMate grammars merge backrefs across patterns\n        allowOrphanBackrefs: true,\n        // Improves search performance for generated regexes\n        asciiWordBoundaries: true,\n        // Follow `vscode-oniguruma` which enables this Oniguruma option by default\n        captureGroup: true,\n        // Oniguruma uses depth limit `20`; lowered here to keep regexes shorter and maybe\n        // sometimes faster, but can be increased if issues reported due to low limit\n        recursionLimit: 5,\n        // Oniguruma option for `^`->`\\A`, `$`->`\\Z`; improves search performance without any\n        // change in meaning since TM grammars search line by line\n        singleline: true\n      },\n      ...options\n    }\n  );\n}\nfunction createJavaScriptRegexEngine(options = {}) {\n  const _options = Object.assign(\n    {\n      target: \"auto\",\n      cache: /* @__PURE__ */ new Map()\n    },\n    options\n  );\n  _options.regexConstructor ||= (pattern) => defaultJavaScriptRegexConstructor(pattern, { target: _options.target });\n  return {\n    createScanner(patterns) {\n      return new JavaScriptScanner(patterns, _options);\n    },\n    createString(s) {\n      return {\n        content: s\n      };\n    }\n  };\n}\n\nexport { createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor };\n","import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { createOnigurumaEngine as createOnigurumaEngine$1, loadWasm as loadWasm$1, getDefaultWasmLoader } from '@shikijs/engine-oniguruma';\nimport { w as warnDeprecated } from './shared/core.5hv0Law9.mjs';\nexport { e as enableDeprecationWarnings } from './shared/core.5hv0Law9.mjs';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nexport { FontStyle, EncodedTokenMetadata as StackElementMetadata } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\nexport { toHtml as hastToHtml } from 'hast-util-to-html';\nimport { createJavaScriptRegexEngine as createJavaScriptRegexEngine$1, defaultJavaScriptRegexConstructor as defaultJavaScriptRegexConstructor$1 } from '@shikijs/engine-javascript';\n\nfunction createOnigurumaEngine(options) {\n  warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n  return createOnigurumaEngine$1(options);\n}\nfunction createWasmOnigEngine(options) {\n  warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n  return createOnigurumaEngine$1(options);\n}\nfunction loadWasm(options) {\n  warnDeprecated(\"import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n  return loadWasm$1(options);\n}\n\nfunction resolveColorReplacements(theme, options) {\n  const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n  const themeName = typeof theme === \"string\" ? theme : theme.name;\n  for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n    if (typeof value === \"string\")\n      replacements[key] = value;\n    else if (key === themeName)\n      Object.assign(replacements, value);\n  }\n  return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n  if (!color)\n    return color;\n  return replacements?.[color?.toLowerCase()] || color;\n}\n\nfunction toArray(x) {\n  return Array.isArray(x) ? x : [x];\n}\nasync function normalizeGetter(p) {\n  return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction isPlainLang(lang) {\n  return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n  return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n  return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n  return isNoneTheme(theme);\n}\n\nfunction addClassToHast(node, className) {\n  if (!className)\n    return node;\n  node.properties ||= {};\n  node.properties.class ||= [];\n  if (typeof node.properties.class === \"string\")\n    node.properties.class = node.properties.class.split(/\\s+/g);\n  if (!Array.isArray(node.properties.class))\n    node.properties.class = [];\n  const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n  for (const c of targets) {\n    if (c && !node.properties.class.includes(c))\n      node.properties.class.push(c);\n  }\n  return node;\n}\n\nfunction splitLines(code, preserveEnding = false) {\n  const parts = code.split(/(\\r?\\n)/g);\n  let index = 0;\n  const lines = [];\n  for (let i = 0; i < parts.length; i += 2) {\n    const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n    lines.push([line, index]);\n    index += parts[i].length;\n    index += parts[i + 1]?.length || 0;\n  }\n  return lines;\n}\nfunction createPositionConverter(code) {\n  const lines = splitLines(code, true).map(([line]) => line);\n  function indexToPos(index) {\n    if (index === code.length) {\n      return {\n        line: lines.length - 1,\n        character: lines[lines.length - 1].length\n      };\n    }\n    let character = index;\n    let line = 0;\n    for (const lineText of lines) {\n      if (character < lineText.length)\n        break;\n      character -= lineText.length;\n      line++;\n    }\n    return { line, character };\n  }\n  function posToIndex(line, character) {\n    let index = 0;\n    for (let i = 0; i < line; i++)\n      index += lines[i].length;\n    index += character;\n    return index;\n  }\n  return {\n    lines,\n    indexToPos,\n    posToIndex\n  };\n}\nfunction guessEmbeddedLanguages(code, _lang, highlighter) {\n  const langs = /* @__PURE__ */ new Set();\n  for (const match of code.matchAll(/lang=[\"']([\\w-]+)[\"']/g)) {\n    langs.add(match[1]);\n  }\n  for (const match of code.matchAll(/(?:```|~~~)([\\w-]+)/g)) {\n    langs.add(match[1]);\n  }\n  for (const match of code.matchAll(/\\\\begin\\{([\\w-]+)\\}/g)) {\n    langs.add(match[1]);\n  }\n  if (!highlighter)\n    return Array.from(langs);\n  const bundle = highlighter.getBundledLanguages();\n  return Array.from(langs).filter((l) => l && bundle[l]);\n}\n\nfunction splitToken(token, offsets) {\n  let lastOffset = 0;\n  const tokens = [];\n  for (const offset of offsets) {\n    if (offset > lastOffset) {\n      tokens.push({\n        ...token,\n        content: token.content.slice(lastOffset, offset),\n        offset: token.offset + lastOffset\n      });\n    }\n    lastOffset = offset;\n  }\n  if (lastOffset < token.content.length) {\n    tokens.push({\n      ...token,\n      content: token.content.slice(lastOffset),\n      offset: token.offset + lastOffset\n    });\n  }\n  return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n  const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n  if (!sorted.length)\n    return tokens;\n  return tokens.map((line) => {\n    return line.flatMap((token) => {\n      const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n      if (!breakpointsInToken.length)\n        return token;\n      return splitToken(token, breakpointsInToken);\n    });\n  });\n}\nfunction flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n  const token = {\n    content: merged.content,\n    explanation: merged.explanation,\n    offset: merged.offset\n  };\n  const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n  const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n  const mergedStyles = {};\n  styles.forEach((cur, idx) => {\n    for (const key of styleKeys) {\n      const value = cur[key] || \"inherit\";\n      if (idx === 0 && defaultColor) {\n        mergedStyles[key] = value;\n      } else {\n        const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n        const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n        mergedStyles[varKey] = value;\n      }\n    }\n  });\n  token.htmlStyle = mergedStyles;\n  return token;\n}\nfunction getTokenStyleObject(token) {\n  const styles = {};\n  if (token.color)\n    styles.color = token.color;\n  if (token.bgColor)\n    styles[\"background-color\"] = token.bgColor;\n  if (token.fontStyle) {\n    if (token.fontStyle & FontStyle.Italic)\n      styles[\"font-style\"] = \"italic\";\n    if (token.fontStyle & FontStyle.Bold)\n      styles[\"font-weight\"] = \"bold\";\n    if (token.fontStyle & FontStyle.Underline)\n      styles[\"text-decoration\"] = \"underline\";\n  }\n  return styles;\n}\nfunction stringifyTokenStyle(token) {\n  if (typeof token === \"string\")\n    return token;\n  return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\n\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n  _grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n  return _grammarStateMap.get(keys);\n}\nclass GrammarState {\n  /**\n   * Theme to Stack mapping\n   */\n  _stacks = {};\n  lang;\n  get themes() {\n    return Object.keys(this._stacks);\n  }\n  get theme() {\n    return this.themes[0];\n  }\n  get _stack() {\n    return this._stacks[this.theme];\n  }\n  /**\n   * Static method to create a initial grammar state.\n   */\n  static initial(lang, themes) {\n    return new GrammarState(\n      Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])),\n      lang\n    );\n  }\n  constructor(...args) {\n    if (args.length === 2) {\n      const [stacksMap, lang] = args;\n      this.lang = lang;\n      this._stacks = stacksMap;\n    } else {\n      const [stack, lang, theme] = args;\n      this.lang = lang;\n      this._stacks = { [theme]: stack };\n    }\n  }\n  /**\n   * Get the internal stack object.\n   * @internal\n   */\n  getInternalStack(theme = this.theme) {\n    return this._stacks[theme];\n  }\n  /**\n   * @deprecated use `getScopes` instead\n   */\n  get scopes() {\n    warnDeprecated(\"GrammarState.scopes is deprecated, use GrammarState.getScopes() instead\");\n    return getScopes(this._stacks[this.theme]);\n  }\n  getScopes(theme = this.theme) {\n    return getScopes(this._stacks[theme]);\n  }\n  toJSON() {\n    return {\n      lang: this.lang,\n      theme: this.theme,\n      themes: this.themes,\n      scopes: this.getScopes()\n    };\n  }\n}\nfunction getScopes(stack) {\n  const scopes = [];\n  const visited = /* @__PURE__ */ new Set();\n  function pushScope(stack2) {\n    if (visited.has(stack2))\n      return;\n    visited.add(stack2);\n    const name = stack2?.nameScopesList?.scopeName;\n    if (name)\n      scopes.push(name);\n    if (stack2.parent)\n      pushScope(stack2.parent);\n  }\n  pushScope(stack);\n  return scopes;\n}\nfunction getGrammarStack(state, theme) {\n  if (!(state instanceof GrammarState))\n    throw new ShikiError$1(\"Invalid grammar state\");\n  return state.getInternalStack(theme);\n}\n\nfunction transformerDecorations() {\n  const map = /* @__PURE__ */ new WeakMap();\n  function getContext(shiki) {\n    if (!map.has(shiki.meta)) {\n      let normalizePosition = function(p) {\n        if (typeof p === \"number\") {\n          if (p < 0 || p > shiki.source.length)\n            throw new ShikiError$1(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n          return {\n            ...converter.indexToPos(p),\n            offset: p\n          };\n        } else {\n          const line = converter.lines[p.line];\n          if (line === void 0)\n            throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n          if (p.character < 0 || p.character > line.length)\n            throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n          return {\n            ...p,\n            offset: converter.posToIndex(p.line, p.character)\n          };\n        }\n      };\n      const converter = createPositionConverter(shiki.source);\n      const decorations = (shiki.options.decorations || []).map((d) => ({\n        ...d,\n        start: normalizePosition(d.start),\n        end: normalizePosition(d.end)\n      }));\n      verifyIntersections(decorations);\n      map.set(shiki.meta, {\n        decorations,\n        converter,\n        source: shiki.source\n      });\n    }\n    return map.get(shiki.meta);\n  }\n  return {\n    name: \"shiki:decorations\",\n    tokens(tokens) {\n      if (!this.options.decorations?.length)\n        return;\n      const ctx = getContext(this);\n      const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n      const splitted = splitTokens(tokens, breakpoints);\n      return splitted;\n    },\n    code(codeEl) {\n      if (!this.options.decorations?.length)\n        return;\n      const ctx = getContext(this);\n      const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n      if (lines.length !== ctx.converter.lines.length)\n        throw new ShikiError$1(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n      function applyLineSection(line, start, end, decoration) {\n        const lineEl = lines[line];\n        let text = \"\";\n        let startIndex = -1;\n        let endIndex = -1;\n        if (start === 0)\n          startIndex = 0;\n        if (end === 0)\n          endIndex = 0;\n        if (end === Number.POSITIVE_INFINITY)\n          endIndex = lineEl.children.length;\n        if (startIndex === -1 || endIndex === -1) {\n          for (let i = 0; i < lineEl.children.length; i++) {\n            text += stringify(lineEl.children[i]);\n            if (startIndex === -1 && text.length === start)\n              startIndex = i + 1;\n            if (endIndex === -1 && text.length === end)\n              endIndex = i + 1;\n          }\n        }\n        if (startIndex === -1)\n          throw new ShikiError$1(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n        if (endIndex === -1)\n          throw new ShikiError$1(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n        const children = lineEl.children.slice(startIndex, endIndex);\n        if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n          applyDecoration(lineEl, decoration, \"line\");\n        } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n          applyDecoration(children[0], decoration, \"token\");\n        } else {\n          const wrapper = {\n            type: \"element\",\n            tagName: \"span\",\n            properties: {},\n            children\n          };\n          applyDecoration(wrapper, decoration, \"wrapper\");\n          lineEl.children.splice(startIndex, children.length, wrapper);\n        }\n      }\n      function applyLine(line, decoration) {\n        lines[line] = applyDecoration(lines[line], decoration, \"line\");\n      }\n      function applyDecoration(el, decoration, type) {\n        const properties = decoration.properties || {};\n        const transform = decoration.transform || ((i) => i);\n        el.tagName = decoration.tagName || \"span\";\n        el.properties = {\n          ...el.properties,\n          ...properties,\n          class: el.properties.class\n        };\n        if (decoration.properties?.class)\n          addClassToHast(el, decoration.properties.class);\n        el = transform(el, type) || el;\n        return el;\n      }\n      const lineApplies = [];\n      const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset || a.end.offset - b.end.offset);\n      for (const decoration of sorted) {\n        const { start, end } = decoration;\n        if (start.line === end.line) {\n          applyLineSection(start.line, start.character, end.character, decoration);\n        } else if (start.line < end.line) {\n          applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n          for (let i = start.line + 1; i < end.line; i++)\n            lineApplies.unshift(() => applyLine(i, decoration));\n          applyLineSection(end.line, 0, end.character, decoration);\n        }\n      }\n      lineApplies.forEach((i) => i());\n    }\n  };\n}\nfunction verifyIntersections(items) {\n  for (let i = 0; i < items.length; i++) {\n    const foo = items[i];\n    if (foo.start.offset > foo.end.offset)\n      throw new ShikiError$1(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n    for (let j = i + 1; j < items.length; j++) {\n      const bar = items[j];\n      const isFooHasBarStart = foo.start.offset <= bar.start.offset && bar.start.offset < foo.end.offset;\n      const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset <= foo.end.offset;\n      const isBarHasFooStart = bar.start.offset <= foo.start.offset && foo.start.offset < bar.end.offset;\n      const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset <= bar.end.offset;\n      if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n        if (isFooHasBarStart && isFooHasBarEnd)\n          continue;\n        if (isBarHasFooStart && isBarHasFooEnd)\n          continue;\n        throw new ShikiError$1(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n      }\n    }\n  }\n}\nfunction stringify(el) {\n  if (el.type === \"text\")\n    return el.value;\n  if (el.type === \"element\")\n    return el.children.map(stringify).join(\"\");\n  return \"\";\n}\n\nconst builtInTransformers = [\n  /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n  return [\n    ...options.transformers || [],\n    ...builtInTransformers\n  ];\n}\n\n// src/colors.ts\nvar namedColors = [\n  \"black\",\n  \"red\",\n  \"green\",\n  \"yellow\",\n  \"blue\",\n  \"magenta\",\n  \"cyan\",\n  \"white\",\n  \"brightBlack\",\n  \"brightRed\",\n  \"brightGreen\",\n  \"brightYellow\",\n  \"brightBlue\",\n  \"brightMagenta\",\n  \"brightCyan\",\n  \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n  1: \"bold\",\n  2: \"dim\",\n  3: \"italic\",\n  4: \"underline\",\n  7: \"reverse\",\n  8: \"hidden\",\n  9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n  const nextEscape = value.indexOf(\"\\x1B\", position);\n  if (nextEscape !== -1) {\n    if (value[nextEscape + 1] === \"[\") {\n      const nextClose = value.indexOf(\"m\", nextEscape);\n      if (nextClose !== -1) {\n        return {\n          sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n          startPosition: nextEscape,\n          position: nextClose + 1\n        };\n      }\n    }\n  }\n  return {\n    position: value.length\n  };\n}\nfunction parseColor(sequence) {\n  const colorMode = sequence.shift();\n  if (colorMode === \"2\") {\n    const rgb = sequence.splice(0, 3).map((x) => Number.parseInt(x));\n    if (rgb.length !== 3 || rgb.some((x) => Number.isNaN(x)))\n      return;\n    return {\n      type: \"rgb\",\n      rgb\n    };\n  } else if (colorMode === \"5\") {\n    const index = sequence.shift();\n    if (index) {\n      return { type: \"table\", index: Number(index) };\n    }\n  }\n}\nfunction parseSequence(sequence) {\n  const commands = [];\n  while (sequence.length > 0) {\n    const code = sequence.shift();\n    if (!code)\n      continue;\n    const codeInt = Number.parseInt(code);\n    if (Number.isNaN(codeInt))\n      continue;\n    if (codeInt === 0) {\n      commands.push({ type: \"resetAll\" });\n    } else if (codeInt <= 9) {\n      const decoration = decorations[codeInt];\n      if (decoration) {\n        commands.push({\n          type: \"setDecoration\",\n          value: decorations[codeInt]\n        });\n      }\n    } else if (codeInt <= 29) {\n      const decoration = decorations[codeInt - 20];\n      if (decoration) {\n        commands.push({\n          type: \"resetDecoration\",\n          value: decoration\n        });\n        if (decoration === \"dim\") {\n          commands.push({\n            type: \"resetDecoration\",\n            value: \"bold\"\n          });\n        }\n      }\n    } else if (codeInt <= 37) {\n      commands.push({\n        type: \"setForegroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 30] }\n      });\n    } else if (codeInt === 38) {\n      const color = parseColor(sequence);\n      if (color) {\n        commands.push({\n          type: \"setForegroundColor\",\n          value: color\n        });\n      }\n    } else if (codeInt === 39) {\n      commands.push({\n        type: \"resetForegroundColor\"\n      });\n    } else if (codeInt <= 47) {\n      commands.push({\n        type: \"setBackgroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 40] }\n      });\n    } else if (codeInt === 48) {\n      const color = parseColor(sequence);\n      if (color) {\n        commands.push({\n          type: \"setBackgroundColor\",\n          value: color\n        });\n      }\n    } else if (codeInt === 49) {\n      commands.push({\n        type: \"resetBackgroundColor\"\n      });\n    } else if (codeInt === 53) {\n      commands.push({\n        type: \"setDecoration\",\n        value: \"overline\"\n      });\n    } else if (codeInt === 55) {\n      commands.push({\n        type: \"resetDecoration\",\n        value: \"overline\"\n      });\n    } else if (codeInt >= 90 && codeInt <= 97) {\n      commands.push({\n        type: \"setForegroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n      });\n    } else if (codeInt >= 100 && codeInt <= 107) {\n      commands.push({\n        type: \"setBackgroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n      });\n    }\n  }\n  return commands;\n}\nfunction createAnsiSequenceParser() {\n  let foreground = null;\n  let background = null;\n  let decorations2 = /* @__PURE__ */ new Set();\n  return {\n    parse(value) {\n      const tokens = [];\n      let position = 0;\n      do {\n        const findResult = findSequence(value, position);\n        const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n        if (text.length > 0) {\n          tokens.push({\n            value: text,\n            foreground,\n            background,\n            decorations: new Set(decorations2)\n          });\n        }\n        if (findResult.sequence) {\n          const commands = parseSequence(findResult.sequence);\n          for (const styleToken of commands) {\n            if (styleToken.type === \"resetAll\") {\n              foreground = null;\n              background = null;\n              decorations2.clear();\n            } else if (styleToken.type === \"resetForegroundColor\") {\n              foreground = null;\n            } else if (styleToken.type === \"resetBackgroundColor\") {\n              background = null;\n            } else if (styleToken.type === \"resetDecoration\") {\n              decorations2.delete(styleToken.value);\n            }\n          }\n          for (const styleToken of commands) {\n            if (styleToken.type === \"setForegroundColor\") {\n              foreground = styleToken.value;\n            } else if (styleToken.type === \"setBackgroundColor\") {\n              background = styleToken.value;\n            } else if (styleToken.type === \"setDecoration\") {\n              decorations2.add(styleToken.value);\n            }\n          }\n        }\n        position = findResult.position;\n      } while (position < value.length);\n      return tokens;\n    }\n  };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n  black: \"#000000\",\n  red: \"#bb0000\",\n  green: \"#00bb00\",\n  yellow: \"#bbbb00\",\n  blue: \"#0000bb\",\n  magenta: \"#ff00ff\",\n  cyan: \"#00bbbb\",\n  white: \"#eeeeee\",\n  brightBlack: \"#555555\",\n  brightRed: \"#ff5555\",\n  brightGreen: \"#00ff00\",\n  brightYellow: \"#ffff55\",\n  brightBlue: \"#5555ff\",\n  brightMagenta: \"#ff55ff\",\n  brightCyan: \"#55ffff\",\n  brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n  function namedColor(name) {\n    return namedColorsMap[name];\n  }\n  function rgbColor(rgb) {\n    return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n  }\n  let colorTable;\n  function getColorTable() {\n    if (colorTable) {\n      return colorTable;\n    }\n    colorTable = [];\n    for (let i = 0; i < namedColors.length; i++) {\n      colorTable.push(namedColor(namedColors[i]));\n    }\n    let levels = [0, 95, 135, 175, 215, 255];\n    for (let r = 0; r < 6; r++) {\n      for (let g = 0; g < 6; g++) {\n        for (let b = 0; b < 6; b++) {\n          colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n        }\n      }\n    }\n    let level = 8;\n    for (let i = 0; i < 24; i++, level += 10) {\n      colorTable.push(rgbColor([level, level, level]));\n    }\n    return colorTable;\n  }\n  function tableColor(index) {\n    return getColorTable()[index];\n  }\n  function value(color) {\n    switch (color.type) {\n      case \"named\":\n        return namedColor(color.name);\n      case \"rgb\":\n        return rgbColor(color.rgb);\n      case \"table\":\n        return tableColor(color.index);\n    }\n  }\n  return {\n    value\n  };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n  const colorReplacements = resolveColorReplacements(theme, options);\n  const lines = splitLines(fileContents);\n  const colorPalette = createColorPalette(\n    Object.fromEntries(\n      namedColors.map((name) => [\n        name,\n        theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n      ])\n    )\n  );\n  const parser = createAnsiSequenceParser();\n  return lines.map(\n    (line) => parser.parse(line[0]).map((token) => {\n      let color;\n      let bgColor;\n      if (token.decorations.has(\"reverse\")) {\n        color = token.background ? colorPalette.value(token.background) : theme.bg;\n        bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n      } else {\n        color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n        bgColor = token.background ? colorPalette.value(token.background) : void 0;\n      }\n      color = applyColorReplacements(color, colorReplacements);\n      bgColor = applyColorReplacements(bgColor, colorReplacements);\n      if (token.decorations.has(\"dim\"))\n        color = dimColor(color);\n      let fontStyle = FontStyle.None;\n      if (token.decorations.has(\"bold\"))\n        fontStyle |= FontStyle.Bold;\n      if (token.decorations.has(\"italic\"))\n        fontStyle |= FontStyle.Italic;\n      if (token.decorations.has(\"underline\"))\n        fontStyle |= FontStyle.Underline;\n      return {\n        content: token.value,\n        offset: line[1],\n        // TODO: more accurate offset? might need to fork ansi-sequence-parser\n        color,\n        bgColor,\n        fontStyle\n      };\n    })\n  );\n}\nfunction dimColor(color) {\n  const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n  if (hexMatch) {\n    if (hexMatch[3]) {\n      const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n      return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n    } else if (hexMatch[2]) {\n      return `#${hexMatch[1]}${hexMatch[2]}80`;\n    } else {\n      return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n    }\n  }\n  const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n  if (cssVarMatch)\n    return `var(${cssVarMatch[1]}-dim)`;\n  return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n  const {\n    lang = \"text\",\n    theme: themeName = internal.getLoadedThemes()[0]\n  } = options;\n  if (isPlainLang(lang) || isNoneTheme(themeName))\n    return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n  const { theme, colorMap } = internal.setTheme(themeName);\n  if (lang === \"ansi\")\n    return tokenizeAnsiWithTheme(theme, code, options);\n  const _grammar = internal.getLanguage(lang);\n  if (options.grammarState) {\n    if (options.grammarState.lang !== _grammar.name) {\n      throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n    }\n    if (!options.grammarState.themes.includes(theme.name)) {\n      throw new ShikiError$1(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n    }\n  }\n  return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n  if (args.length === 2) {\n    return getLastGrammarStateFromMap(args[1]);\n  }\n  const [internal, code, options = {}] = args;\n  const {\n    lang = \"text\",\n    theme: themeName = internal.getLoadedThemes()[0]\n  } = options;\n  if (isPlainLang(lang) || isNoneTheme(themeName))\n    throw new ShikiError$1(\"Plain language does not have grammar state\");\n  if (lang === \"ansi\")\n    throw new ShikiError$1(\"ANSI language does not have grammar state\");\n  const { theme, colorMap } = internal.setTheme(themeName);\n  const _grammar = internal.getLanguage(lang);\n  return new GrammarState(\n    _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n    _grammar.name,\n    theme.name\n  );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n  const result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n  const grammarState = new GrammarState(\n    _tokenizeWithTheme(code, grammar, theme, colorMap, options).stateStack,\n    grammar.name,\n    theme.name\n  );\n  setLastGrammarStateToMap(result.tokens, grammarState);\n  return result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n  const colorReplacements = resolveColorReplacements(theme, options);\n  const {\n    tokenizeMaxLineLength = 0,\n    tokenizeTimeLimit = 500\n  } = options;\n  const lines = splitLines(code);\n  let stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(\n    options.grammarContextCode,\n    grammar,\n    theme,\n    colorMap,\n    {\n      ...options,\n      grammarState: void 0,\n      grammarContextCode: void 0\n    }\n  ).stateStack : INITIAL;\n  let actual = [];\n  const final = [];\n  for (let i = 0, len = lines.length; i < len; i++) {\n    const [line, lineOffset] = lines[i];\n    if (line === \"\") {\n      actual = [];\n      final.push([]);\n      continue;\n    }\n    if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n      actual = [];\n      final.push([{\n        content: line,\n        offset: lineOffset,\n        color: \"\",\n        fontStyle: 0\n      }]);\n      continue;\n    }\n    let resultWithScopes;\n    let tokensWithScopes;\n    let tokensWithScopesIndex;\n    if (options.includeExplanation) {\n      resultWithScopes = grammar.tokenizeLine(line, stateStack, tokenizeTimeLimit);\n      tokensWithScopes = resultWithScopes.tokens;\n      tokensWithScopesIndex = 0;\n    }\n    const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n    const tokensLength = result.tokens.length / 2;\n    for (let j = 0; j < tokensLength; j++) {\n      const startIndex = result.tokens[2 * j];\n      const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n      if (startIndex === nextStartIndex)\n        continue;\n      const metadata = result.tokens[2 * j + 1];\n      const color = applyColorReplacements(\n        colorMap[EncodedTokenMetadata.getForeground(metadata)],\n        colorReplacements\n      );\n      const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n      const token = {\n        content: line.substring(startIndex, nextStartIndex),\n        offset: lineOffset + startIndex,\n        color,\n        fontStyle\n      };\n      if (options.includeExplanation) {\n        const themeSettingsSelectors = [];\n        if (options.includeExplanation !== \"scopeName\") {\n          for (const setting of theme.settings) {\n            let selectors;\n            switch (typeof setting.scope) {\n              case \"string\":\n                selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n                break;\n              case \"object\":\n                selectors = setting.scope;\n                break;\n              default:\n                continue;\n            }\n            themeSettingsSelectors.push({\n              settings: setting,\n              selectors: selectors.map((selector) => selector.split(/ /))\n            });\n          }\n        }\n        token.explanation = [];\n        let offset = 0;\n        while (startIndex + offset < nextStartIndex) {\n          const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n          const tokenWithScopesText = line.substring(\n            tokenWithScopes.startIndex,\n            tokenWithScopes.endIndex\n          );\n          offset += tokenWithScopesText.length;\n          token.explanation.push({\n            content: tokenWithScopesText,\n            scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n              tokenWithScopes.scopes\n            ) : explainThemeScopesFull(\n              themeSettingsSelectors,\n              tokenWithScopes.scopes\n            )\n          });\n          tokensWithScopesIndex += 1;\n        }\n      }\n      actual.push(token);\n    }\n    final.push(actual);\n    actual = [];\n    stateStack = result.ruleStack;\n  }\n  return {\n    tokens: final,\n    stateStack\n  };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n  return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n  const result = [];\n  for (let i = 0, len = scopes.length; i < len; i++) {\n    const scope = scopes[i];\n    result[i] = {\n      scopeName: scope,\n      themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n    };\n  }\n  return result;\n}\nfunction matchesOne(selector, scope) {\n  return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n  if (!matchesOne(selectors[selectors.length - 1], scope))\n    return false;\n  let selectorParentIndex = selectors.length - 2;\n  let parentIndex = parentScopes.length - 1;\n  while (selectorParentIndex >= 0 && parentIndex >= 0) {\n    if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n      selectorParentIndex -= 1;\n    parentIndex -= 1;\n  }\n  if (selectorParentIndex === -1)\n    return true;\n  return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n  const result = [];\n  for (const { selectors, settings } of themeSettingsSelectors) {\n    for (const selectorPieces of selectors) {\n      if (matches(selectorPieces, scope, parentScopes)) {\n        result.push(settings);\n        break;\n      }\n    }\n  }\n  return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n  const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n  const themedTokens = themes.map((t) => {\n    const tokens2 = codeToTokensBase(internal, code, {\n      ...options,\n      theme: t.theme\n    });\n    const state = getLastGrammarStateFromMap(tokens2);\n    const theme = typeof t.theme === \"string\" ? t.theme : t.theme.name;\n    return {\n      tokens: tokens2,\n      state,\n      theme\n    };\n  });\n  const tokens = syncThemesTokenization(\n    ...themedTokens.map((i) => i.tokens)\n  );\n  const mergedTokens = tokens[0].map(\n    (line, lineIdx) => line.map((_token, tokenIdx) => {\n      const mergedToken = {\n        content: _token.content,\n        variants: {},\n        offset: _token.offset\n      };\n      if (\"includeExplanation\" in options && options.includeExplanation) {\n        mergedToken.explanation = _token.explanation;\n      }\n      tokens.forEach((t, themeIdx) => {\n        const {\n          content: _,\n          explanation: __,\n          offset: ___,\n          ...styles\n        } = t[lineIdx][tokenIdx];\n        mergedToken.variants[themes[themeIdx].color] = styles;\n      });\n      return mergedToken;\n    })\n  );\n  const mergedGrammarState = themedTokens[0].state ? new GrammarState(\n    Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])),\n    themedTokens[0].state.lang\n  ) : void 0;\n  if (mergedGrammarState)\n    setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n  return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n  const outThemes = themes.map(() => []);\n  const count = themes.length;\n  for (let i = 0; i < themes[0].length; i++) {\n    const lines = themes.map((t) => t[i]);\n    const outLines = outThemes.map(() => []);\n    outThemes.forEach((t, i2) => t.push(outLines[i2]));\n    const indexes = lines.map(() => 0);\n    const current = lines.map((l) => l[0]);\n    while (current.every((t) => t)) {\n      const minLength = Math.min(...current.map((t) => t.content.length));\n      for (let n = 0; n < count; n++) {\n        const token = current[n];\n        if (token.content.length === minLength) {\n          outLines[n].push(token);\n          indexes[n] += 1;\n          current[n] = lines[n][indexes[n]];\n        } else {\n          outLines[n].push({\n            ...token,\n            content: token.content.slice(0, minLength)\n          });\n          current[n] = {\n            ...token,\n            content: token.content.slice(minLength),\n            offset: token.offset + minLength\n          };\n        }\n      }\n    }\n  }\n  return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n  let bg;\n  let fg;\n  let tokens;\n  let themeName;\n  let rootStyle;\n  let grammarState;\n  if (\"themes\" in options) {\n    const {\n      defaultColor = \"light\",\n      cssVariablePrefix = \"--shiki-\"\n    } = options;\n    const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n    if (themes.length === 0)\n      throw new ShikiError$1(\"`themes` option must not be empty\");\n    const themeTokens = codeToTokensWithThemes(\n      internal,\n      code,\n      options\n    );\n    grammarState = getLastGrammarStateFromMap(themeTokens);\n    if (defaultColor && !themes.find((t) => t.color === defaultColor))\n      throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n    const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n    const themesOrder = themes.map((t) => t.color);\n    tokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor)));\n    if (grammarState)\n      setLastGrammarStateToMap(tokens, grammarState);\n    const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n    fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n    bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n    themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n    rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n  } else if (\"theme\" in options) {\n    const colorReplacements = resolveColorReplacements(options.theme, options);\n    tokens = codeToTokensBase(\n      internal,\n      code,\n      options\n    );\n    const _theme = internal.getTheme(options.theme);\n    bg = applyColorReplacements(_theme.bg, colorReplacements);\n    fg = applyColorReplacements(_theme.fg, colorReplacements);\n    themeName = _theme.name;\n    grammarState = getLastGrammarStateFromMap(tokens);\n  } else {\n    throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n  }\n  return {\n    tokens,\n    fg,\n    bg,\n    themeName,\n    rootStyle,\n    grammarState\n  };\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n  meta: {},\n  options,\n  codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n  codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n  let input = code;\n  for (const transformer of getTransformers(options))\n    input = transformer.preprocess?.call(transformerContext, input, options) || input;\n  let {\n    tokens,\n    fg,\n    bg,\n    themeName,\n    rootStyle,\n    grammarState\n  } = codeToTokens(internal, input, options);\n  const {\n    mergeWhitespaces = true\n  } = options;\n  if (mergeWhitespaces === true)\n    tokens = mergeWhitespaceTokens(tokens);\n  else if (mergeWhitespaces === \"never\")\n    tokens = splitWhitespaceTokens(tokens);\n  const contextSource = {\n    ...transformerContext,\n    get source() {\n      return input;\n    }\n  };\n  for (const transformer of getTransformers(options))\n    tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n  return tokensToHast(\n    tokens,\n    {\n      ...options,\n      fg,\n      bg,\n      themeName,\n      rootStyle\n    },\n    contextSource,\n    grammarState\n  );\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n  const transformers = getTransformers(options);\n  const lines = [];\n  const root = {\n    type: \"root\",\n    children: []\n  };\n  const {\n    structure = \"classic\",\n    tabindex = \"0\"\n  } = options;\n  let preNode = {\n    type: \"element\",\n    tagName: \"pre\",\n    properties: {\n      class: `shiki ${options.themeName || \"\"}`,\n      style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n      ...tabindex !== false && tabindex != null ? {\n        tabindex: tabindex.toString()\n      } : {},\n      ...Object.fromEntries(\n        Array.from(\n          Object.entries(options.meta || {})\n        ).filter(([key]) => !key.startsWith(\"_\"))\n      )\n    },\n    children: []\n  };\n  let codeNode = {\n    type: \"element\",\n    tagName: \"code\",\n    properties: {},\n    children: lines\n  };\n  const lineNodes = [];\n  const context = {\n    ...transformerContext,\n    structure,\n    addClassToHast,\n    get source() {\n      return transformerContext.source;\n    },\n    get tokens() {\n      return tokens;\n    },\n    get options() {\n      return options;\n    },\n    get root() {\n      return root;\n    },\n    get pre() {\n      return preNode;\n    },\n    get code() {\n      return codeNode;\n    },\n    get lines() {\n      return lineNodes;\n    }\n  };\n  tokens.forEach((line, idx) => {\n    if (idx) {\n      if (structure === \"inline\")\n        root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n      else if (structure === \"classic\")\n        lines.push({ type: \"text\", value: \"\\n\" });\n    }\n    let lineNode = {\n      type: \"element\",\n      tagName: \"span\",\n      properties: { class: \"line\" },\n      children: []\n    };\n    let col = 0;\n    for (const token of line) {\n      let tokenNode = {\n        type: \"element\",\n        tagName: \"span\",\n        properties: {\n          ...token.htmlAttrs\n        },\n        children: [{ type: \"text\", value: token.content }]\n      };\n      if (typeof token.htmlStyle === \"string\")\n        warnDeprecated(\"`htmlStyle` as a string is deprecated. Use an object instead.\");\n      const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n      if (style)\n        tokenNode.properties.style = style;\n      for (const transformer of transformers)\n        tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n      if (structure === \"inline\")\n        root.children.push(tokenNode);\n      else if (structure === \"classic\")\n        lineNode.children.push(tokenNode);\n      col += token.content.length;\n    }\n    if (structure === \"classic\") {\n      for (const transformer of transformers)\n        lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n      lineNodes.push(lineNode);\n      lines.push(lineNode);\n    }\n  });\n  if (structure === \"classic\") {\n    for (const transformer of transformers)\n      codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n    preNode.children.push(codeNode);\n    for (const transformer of transformers)\n      preNode = transformer?.pre?.call(context, preNode) || preNode;\n    root.children.push(preNode);\n  }\n  let result = root;\n  for (const transformer of transformers)\n    result = transformer?.root?.call(context, result) || result;\n  if (grammarState)\n    setLastGrammarStateToMap(result, grammarState);\n  return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n  return tokens.map((line) => {\n    const newLine = [];\n    let carryOnContent = \"\";\n    let firstOffset = 0;\n    line.forEach((token, idx) => {\n      const isUnderline = token.fontStyle && token.fontStyle & FontStyle.Underline;\n      const couldMerge = !isUnderline;\n      if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n        if (!firstOffset)\n          firstOffset = token.offset;\n        carryOnContent += token.content;\n      } else {\n        if (carryOnContent) {\n          if (couldMerge) {\n            newLine.push({\n              ...token,\n              offset: firstOffset,\n              content: carryOnContent + token.content\n            });\n          } else {\n            newLine.push(\n              {\n                content: carryOnContent,\n                offset: firstOffset\n              },\n              token\n            );\n          }\n          firstOffset = 0;\n          carryOnContent = \"\";\n        } else {\n          newLine.push(token);\n        }\n      }\n    });\n    return newLine;\n  });\n}\nfunction splitWhitespaceTokens(tokens) {\n  return tokens.map((line) => {\n    return line.flatMap((token) => {\n      if (token.content.match(/^\\s+$/))\n        return token;\n      const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n      if (!match)\n        return token;\n      const [, leading, content, trailing] = match;\n      if (!leading && !trailing)\n        return token;\n      const expanded = [{\n        ...token,\n        offset: token.offset + leading.length,\n        content\n      }];\n      if (leading) {\n        expanded.unshift({\n          content: leading,\n          offset: token.offset\n        });\n      }\n      if (trailing) {\n        expanded.push({\n          content: trailing,\n          offset: token.offset + leading.length + content.length\n        });\n      }\n      return expanded;\n    });\n  });\n}\n\nfunction codeToHtml(internal, code, options) {\n  const context = {\n    meta: {},\n    options,\n    codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n    codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n  };\n  let result = toHtml(codeToHast(internal, code, options, context));\n  for (const transformer of getTransformers(options))\n    result = transformer.postprocess?.call(context, result, options) || result;\n  return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n  if (rawTheme?.[RESOLVED_KEY])\n    return rawTheme;\n  const theme = {\n    ...rawTheme\n  };\n  if (theme.tokenColors && !theme.settings) {\n    theme.settings = theme.tokenColors;\n    delete theme.tokenColors;\n  }\n  theme.type ||= \"dark\";\n  theme.colorReplacements = { ...theme.colorReplacements };\n  theme.settings ||= [];\n  let { bg, fg } = theme;\n  if (!bg || !fg) {\n    const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n    if (globalSetting?.settings?.foreground)\n      fg = globalSetting.settings.foreground;\n    if (globalSetting?.settings?.background)\n      bg = globalSetting.settings.background;\n    if (!fg && theme?.colors?.[\"editor.foreground\"])\n      fg = theme.colors[\"editor.foreground\"];\n    if (!bg && theme?.colors?.[\"editor.background\"])\n      bg = theme.colors[\"editor.background\"];\n    if (!fg)\n      fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n    if (!bg)\n      bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n    theme.fg = fg;\n    theme.bg = bg;\n  }\n  if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n    theme.settings.unshift({\n      settings: {\n        foreground: theme.fg,\n        background: theme.bg\n      }\n    });\n  }\n  let replacementCount = 0;\n  const replacementMap = /* @__PURE__ */ new Map();\n  function getReplacementColor(value) {\n    if (replacementMap.has(value))\n      return replacementMap.get(value);\n    replacementCount += 1;\n    const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n    if (theme.colorReplacements?.[`#${hex}`])\n      return getReplacementColor(value);\n    replacementMap.set(value, hex);\n    return hex;\n  }\n  theme.settings = theme.settings.map((setting) => {\n    const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n    const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n    if (!replaceFg && !replaceBg)\n      return setting;\n    const clone = {\n      ...setting,\n      settings: {\n        ...setting.settings\n      }\n    };\n    if (replaceFg) {\n      const replacement = getReplacementColor(setting.settings.foreground);\n      theme.colorReplacements[replacement] = setting.settings.foreground;\n      clone.settings.foreground = replacement;\n    }\n    if (replaceBg) {\n      const replacement = getReplacementColor(setting.settings.background);\n      theme.colorReplacements[replacement] = setting.settings.background;\n      clone.settings.background = replacement;\n    }\n    return clone;\n  });\n  for (const key of Object.keys(theme.colors || {})) {\n    if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n      if (!theme.colors[key]?.startsWith(\"#\")) {\n        const replacement = getReplacementColor(theme.colors[key]);\n        theme.colorReplacements[replacement] = theme.colors[key];\n        theme.colors[key] = replacement;\n      }\n    }\n  }\n  Object.defineProperty(theme, RESOLVED_KEY, {\n    enumerable: false,\n    writable: false,\n    value: true\n  });\n  return theme;\n}\n\nasync function resolveLangs(langs) {\n  return Array.from(new Set((await Promise.all(\n    langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n  )).flat()));\n}\nasync function resolveThemes(themes) {\n  const resolved = await Promise.all(\n    themes.map(\n      async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n    )\n  );\n  return resolved.filter((i) => !!i);\n}\n\nclass ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nclass Registry extends Registry$1 {\n  constructor(_resolver, _themes, _langs, _alias = {}) {\n    super(_resolver);\n    this._resolver = _resolver;\n    this._themes = _themes;\n    this._langs = _langs;\n    this._alias = _alias;\n    this._themes.map((t) => this.loadTheme(t));\n    this.loadLanguages(this._langs);\n  }\n  _resolvedThemes = /* @__PURE__ */ new Map();\n  _resolvedGrammars = /* @__PURE__ */ new Map();\n  _langMap = /* @__PURE__ */ new Map();\n  _langGraph = /* @__PURE__ */ new Map();\n  _textmateThemeCache = /* @__PURE__ */ new WeakMap();\n  _loadedThemesCache = null;\n  _loadedLanguagesCache = null;\n  getTheme(theme) {\n    if (typeof theme === \"string\")\n      return this._resolvedThemes.get(theme);\n    else\n      return this.loadTheme(theme);\n  }\n  loadTheme(theme) {\n    const _theme = normalizeTheme(theme);\n    if (_theme.name) {\n      this._resolvedThemes.set(_theme.name, _theme);\n      this._loadedThemesCache = null;\n    }\n    return _theme;\n  }\n  getLoadedThemes() {\n    if (!this._loadedThemesCache)\n      this._loadedThemesCache = [...this._resolvedThemes.keys()];\n    return this._loadedThemesCache;\n  }\n  // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n  // is expensive. Themes can switch often especially for dual-theme support.\n  //\n  // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n  // we omit here so it's easier to cache the themes.\n  setTheme(theme) {\n    let textmateTheme = this._textmateThemeCache.get(theme);\n    if (!textmateTheme) {\n      textmateTheme = Theme.createFromRawTheme(theme);\n      this._textmateThemeCache.set(theme, textmateTheme);\n    }\n    this._syncRegistry.setTheme(textmateTheme);\n  }\n  getGrammar(name) {\n    if (this._alias[name]) {\n      const resolved = /* @__PURE__ */ new Set([name]);\n      while (this._alias[name]) {\n        name = this._alias[name];\n        if (resolved.has(name))\n          throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n        resolved.add(name);\n      }\n    }\n    return this._resolvedGrammars.get(name);\n  }\n  loadLanguage(lang) {\n    if (this.getGrammar(lang.name))\n      return;\n    const embeddedLazilyBy = new Set(\n      [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n    );\n    this._resolver.addLanguage(lang);\n    const grammarConfig = {\n      balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n      unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n    };\n    this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n    const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n    g.name = lang.name;\n    this._resolvedGrammars.set(lang.name, g);\n    if (lang.aliases) {\n      lang.aliases.forEach((alias) => {\n        this._alias[alias] = lang.name;\n      });\n    }\n    this._loadedLanguagesCache = null;\n    if (embeddedLazilyBy.size) {\n      for (const e of embeddedLazilyBy) {\n        this._resolvedGrammars.delete(e.name);\n        this._loadedLanguagesCache = null;\n        this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n        this._syncRegistry?._grammars?.delete(e.scopeName);\n        this.loadLanguage(this._langMap.get(e.name));\n      }\n    }\n  }\n  dispose() {\n    super.dispose();\n    this._resolvedThemes.clear();\n    this._resolvedGrammars.clear();\n    this._langMap.clear();\n    this._langGraph.clear();\n    this._loadedThemesCache = null;\n  }\n  loadLanguages(langs) {\n    for (const lang of langs)\n      this.resolveEmbeddedLanguages(lang);\n    const langsGraphArray = Array.from(this._langGraph.entries());\n    const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n    if (missingLangs.length) {\n      const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n      throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n    }\n    for (const [_, lang] of langsGraphArray)\n      this._resolver.addLanguage(lang);\n    for (const [_, lang] of langsGraphArray)\n      this.loadLanguage(lang);\n  }\n  getLoadedLanguages() {\n    if (!this._loadedLanguagesCache) {\n      this._loadedLanguagesCache = [\n        .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n      ];\n    }\n    return this._loadedLanguagesCache;\n  }\n  resolveEmbeddedLanguages(lang) {\n    this._langMap.set(lang.name, lang);\n    this._langGraph.set(lang.name, lang);\n    if (lang.embeddedLangs) {\n      for (const embeddedLang of lang.embeddedLangs)\n        this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n    }\n  }\n}\n\nclass Resolver {\n  _langs = /* @__PURE__ */ new Map();\n  _scopeToLang = /* @__PURE__ */ new Map();\n  _injections = /* @__PURE__ */ new Map();\n  _onigLib;\n  constructor(engine, langs) {\n    this._onigLib = {\n      createOnigScanner: (patterns) => engine.createScanner(patterns),\n      createOnigString: (s) => engine.createString(s)\n    };\n    langs.forEach((i) => this.addLanguage(i));\n  }\n  get onigLib() {\n    return this._onigLib;\n  }\n  getLangRegistration(langIdOrAlias) {\n    return this._langs.get(langIdOrAlias);\n  }\n  loadGrammar(scopeName) {\n    return this._scopeToLang.get(scopeName);\n  }\n  addLanguage(l) {\n    this._langs.set(l.name, l);\n    if (l.aliases) {\n      l.aliases.forEach((a) => {\n        this._langs.set(a, l);\n      });\n    }\n    this._scopeToLang.set(l.scopeName, l);\n    if (l.injectTo) {\n      l.injectTo.forEach((i) => {\n        if (!this._injections.get(i))\n          this._injections.set(i, []);\n        this._injections.get(i).push(l.scopeName);\n      });\n    }\n  }\n  getInjections(scopeName) {\n    const scopeParts = scopeName.split(\".\");\n    let injections = [];\n    for (let i = 1; i <= scopeParts.length; i++) {\n      const subScopeName = scopeParts.slice(0, i).join(\".\");\n      injections = [...injections, ...this._injections.get(subScopeName) || []];\n    }\n    return injections;\n  }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n  instancesCount += 1;\n  if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n    console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n  let isDisposed = false;\n  if (!options.engine)\n    throw new ShikiError(\"`engine` option is required for synchronous mode\");\n  const langs = (options.langs || []).flat(1);\n  const themes = (options.themes || []).flat(1).map(normalizeTheme);\n  const resolver = new Resolver(options.engine, langs);\n  const _registry = new Registry(resolver, themes, langs, options.langAlias);\n  let _lastTheme;\n  function getLanguage(name) {\n    ensureNotDisposed();\n    const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n    if (!_lang)\n      throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n    return _lang;\n  }\n  function getTheme(name) {\n    if (name === \"none\")\n      return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n    ensureNotDisposed();\n    const _theme = _registry.getTheme(name);\n    if (!_theme)\n      throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n    return _theme;\n  }\n  function setTheme(name) {\n    ensureNotDisposed();\n    const theme = getTheme(name);\n    if (_lastTheme !== name) {\n      _registry.setTheme(theme);\n      _lastTheme = name;\n    }\n    const colorMap = _registry.getColorMap();\n    return {\n      theme,\n      colorMap\n    };\n  }\n  function getLoadedThemes() {\n    ensureNotDisposed();\n    return _registry.getLoadedThemes();\n  }\n  function getLoadedLanguages() {\n    ensureNotDisposed();\n    return _registry.getLoadedLanguages();\n  }\n  function loadLanguageSync(...langs2) {\n    ensureNotDisposed();\n    _registry.loadLanguages(langs2.flat(1));\n  }\n  async function loadLanguage(...langs2) {\n    return loadLanguageSync(await resolveLangs(langs2));\n  }\n  function loadThemeSync(...themes2) {\n    ensureNotDisposed();\n    for (const theme of themes2.flat(1)) {\n      _registry.loadTheme(theme);\n    }\n  }\n  async function loadTheme(...themes2) {\n    ensureNotDisposed();\n    return loadThemeSync(await resolveThemes(themes2));\n  }\n  function ensureNotDisposed() {\n    if (isDisposed)\n      throw new ShikiError(\"Shiki instance has been disposed\");\n  }\n  function dispose() {\n    if (isDisposed)\n      return;\n    isDisposed = true;\n    _registry.dispose();\n    instancesCount -= 1;\n  }\n  return {\n    setTheme,\n    getTheme,\n    getLanguage,\n    getLoadedThemes,\n    getLoadedLanguages,\n    loadLanguage,\n    loadLanguageSync,\n    loadTheme,\n    loadThemeSync,\n    dispose,\n    [Symbol.dispose]: dispose\n  };\n}\n\nasync function createShikiInternal(options) {\n  if (options.loadWasm) {\n    warnDeprecated(\"`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead.\");\n  }\n  if (!options.engine) {\n    warnDeprecated(\"`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.\");\n  }\n  const [\n    themes,\n    langs,\n    engine\n  ] = await Promise.all([\n    resolveThemes(options.themes || []),\n    resolveLangs(options.langs || []),\n    options.engine || createOnigurumaEngine$1(options.loadWasm || getDefaultWasmLoader())\n  ]);\n  return createShikiInternalSync({\n    ...options,\n    themes,\n    langs,\n    engine\n  });\n}\nfunction getShikiInternal(options) {\n  warnDeprecated(\"`getShikiInternal` is deprecated. Use `createShikiInternal` instead.\");\n  return createShikiInternal(options);\n}\n\nasync function createHighlighterCore(options) {\n  const internal = await createShikiInternal(options);\n  return {\n    getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n    codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n    codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n    codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n    codeToHast: (code, options2) => codeToHast(internal, code, options2),\n    codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n    getBundledLanguages: () => ({}),\n    getBundledThemes: () => ({}),\n    ...internal,\n    getInternalContext: () => internal\n  };\n}\nfunction createHighlighterCoreSync(options) {\n  const internal = createShikiInternalSync(options);\n  return {\n    getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n    codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n    codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n    codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n    codeToHast: (code, options2) => codeToHast(internal, code, options2),\n    codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n    getBundledLanguages: () => ({}),\n    getBundledThemes: () => ({}),\n    ...internal,\n    getInternalContext: () => internal\n  };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n  let _shiki;\n  async function getSingletonHighlighterCore2(options) {\n    if (!_shiki) {\n      _shiki = createHighlighter({\n        ...options,\n        themes: options.themes || [],\n        langs: options.langs || []\n      });\n      return _shiki;\n    } else {\n      const s = await _shiki;\n      await Promise.all([\n        s.loadTheme(...options.themes || []),\n        s.loadLanguage(...options.langs || [])\n      ]);\n      return s;\n    }\n  }\n  return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\nfunction getHighlighterCore(options) {\n  warnDeprecated(\"`getHighlighterCore` is deprecated. Use `createHighlighterCore` or `getSingletonHighlighterCore` instead.\");\n  return createHighlighterCore(options);\n}\n\nfunction createdBundledHighlighter(arg1, arg2, arg3) {\n  let bundledLanguages;\n  let bundledThemes;\n  let engine;\n  if (arg2) {\n    warnDeprecated(\"`createdBundledHighlighter` signature with `bundledLanguages` and `bundledThemes` is deprecated. Use the options object signature instead.\");\n    bundledLanguages = arg1;\n    bundledThemes = arg2;\n    engine = () => createOnigurumaEngine(arg3);\n  } else {\n    const options = arg1;\n    bundledLanguages = options.langs;\n    bundledThemes = options.themes;\n    engine = options.engine;\n  }\n  async function createHighlighter(options) {\n    function resolveLang(lang) {\n      if (typeof lang === \"string\") {\n        if (isSpecialLang(lang))\n          return [];\n        const bundle = bundledLanguages[lang];\n        if (!bundle)\n          throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n        return bundle;\n      }\n      return lang;\n    }\n    function resolveTheme(theme) {\n      if (isSpecialTheme(theme))\n        return \"none\";\n      if (typeof theme === \"string\") {\n        const bundle = bundledThemes[theme];\n        if (!bundle)\n          throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n        return bundle;\n      }\n      return theme;\n    }\n    const _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n    const langs = (options.langs ?? []).map((i) => resolveLang(i));\n    const core = await createHighlighterCore({\n      engine: options.engine ?? engine(),\n      ...options,\n      themes: _themes,\n      langs\n    });\n    return {\n      ...core,\n      loadLanguage(...langs2) {\n        return core.loadLanguage(...langs2.map(resolveLang));\n      },\n      loadTheme(...themes) {\n        return core.loadTheme(...themes.map(resolveTheme));\n      },\n      getBundledLanguages() {\n        return bundledLanguages;\n      },\n      getBundledThemes() {\n        return bundledThemes;\n      }\n    };\n  }\n  return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n  let _shiki;\n  async function getSingletonHighlighter(options = {}) {\n    if (!_shiki) {\n      _shiki = createHighlighter({\n        ...options,\n        themes: options.themes || [],\n        langs: options.langs || []\n      });\n      return _shiki;\n    } else {\n      const s = await _shiki;\n      await Promise.all([\n        s.loadTheme(...options.themes || []),\n        s.loadLanguage(...options.langs || [])\n      ]);\n      return s;\n    }\n  }\n  return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter, config) {\n  const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n  async function get(code, options) {\n    const shiki = await getSingletonHighlighter({\n      langs: [options.lang],\n      themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n    });\n    const langs = await config?.guessEmbeddedLanguages?.(code, options.lang, shiki);\n    if (langs) {\n      await shiki.loadLanguage(...langs);\n    }\n    return shiki;\n  }\n  return {\n    getSingletonHighlighter(options) {\n      return getSingletonHighlighter(options);\n    },\n    async codeToHtml(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToHtml(code, options);\n    },\n    async codeToHast(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToHast(code, options);\n    },\n    async codeToTokens(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToTokens(code, options);\n    },\n    async codeToTokensBase(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToTokensBase(code, options);\n    },\n    async codeToTokensWithThemes(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToTokensWithThemes(code, options);\n    },\n    async getLastGrammarState(code, options) {\n      const shiki = await getSingletonHighlighter({\n        langs: [options.lang],\n        themes: [options.theme]\n      });\n      return shiki.getLastGrammarState(code, options);\n    }\n  };\n}\n\nfunction createJavaScriptRegexEngine(options) {\n  warnDeprecated(\"import `createJavaScriptRegexEngine` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n  return createJavaScriptRegexEngine$1(options);\n}\nfunction defaultJavaScriptRegexConstructor(pattern) {\n  warnDeprecated(\"import `defaultJavaScriptRegexConstructor` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n  return defaultJavaScriptRegexConstructor$1(pattern);\n}\n\nfunction createCssVariablesTheme(options = {}) {\n  const {\n    name = \"css-variables\",\n    variablePrefix = \"--shiki-\",\n    fontStyle = true\n  } = options;\n  const variable = (name2) => {\n    if (options.variableDefaults?.[name2])\n      return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n    return `var(${variablePrefix}${name2})`;\n  };\n  const theme = {\n    name,\n    type: \"dark\",\n    colors: {\n      \"editor.foreground\": variable(\"foreground\"),\n      \"editor.background\": variable(\"background\"),\n      \"terminal.ansiBlack\": variable(\"ansi-black\"),\n      \"terminal.ansiRed\": variable(\"ansi-red\"),\n      \"terminal.ansiGreen\": variable(\"ansi-green\"),\n      \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n      \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n      \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n      \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n      \"terminal.ansiWhite\": variable(\"ansi-white\"),\n      \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n      \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n      \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n      \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n      \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n      \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n      \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n      \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n    },\n    tokenColors: [\n      {\n        scope: [\n          \"keyword.operator.accessor\",\n          \"meta.group.braces.round.function.arguments\",\n          \"meta.template.expression\",\n          \"markup.fenced_code meta.embedded.block\"\n        ],\n        settings: {\n          foreground: variable(\"foreground\")\n        }\n      },\n      {\n        scope: \"emphasis\",\n        settings: {\n          fontStyle: \"italic\"\n        }\n      },\n      {\n        scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n        settings: {\n          fontStyle: \"bold\"\n        }\n      },\n      {\n        scope: [\"markup.italic.markdown\"],\n        settings: {\n          fontStyle: \"italic\"\n        }\n      },\n      {\n        scope: \"meta.link.inline.markdown\",\n        settings: {\n          fontStyle: \"underline\",\n          foreground: variable(\"token-link\")\n        }\n      },\n      {\n        scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n        settings: {\n          foreground: variable(\"token-string\")\n        }\n      },\n      {\n        scope: [\"comment\", \"string.quoted.docstring.multi\"],\n        settings: {\n          foreground: variable(\"token-comment\")\n        }\n      },\n      {\n        scope: [\n          \"constant.numeric\",\n          \"constant.language\",\n          \"constant.other.placeholder\",\n          \"constant.character.format.placeholder\",\n          \"variable.language.this\",\n          \"variable.other.object\",\n          \"variable.other.class\",\n          \"variable.other.constant\",\n          \"meta.property-name\",\n          \"meta.property-value\",\n          \"support\"\n        ],\n        settings: {\n          foreground: variable(\"token-constant\")\n        }\n      },\n      {\n        scope: [\n          \"keyword\",\n          \"storage.modifier\",\n          \"storage.type\",\n          \"storage.control.clojure\",\n          \"entity.name.function.clojure\",\n          \"entity.name.tag.yaml\",\n          \"support.function.node\",\n          \"support.type.property-name.json\",\n          \"punctuation.separator.key-value\",\n          \"punctuation.definition.template-expression\"\n        ],\n        settings: {\n          foreground: variable(\"token-keyword\")\n        }\n      },\n      {\n        scope: \"variable.parameter.function\",\n        settings: {\n          foreground: variable(\"token-parameter\")\n        }\n      },\n      {\n        scope: [\n          \"support.function\",\n          \"entity.name.type\",\n          \"entity.other.inherited-class\",\n          \"meta.function-call\",\n          \"meta.instance.constructor\",\n          \"entity.other.attribute-name\",\n          \"entity.name.function\",\n          \"constant.keyword.clojure\"\n        ],\n        settings: {\n          foreground: variable(\"token-function\")\n        }\n      },\n      {\n        scope: [\n          \"entity.name.tag\",\n          \"string.quoted\",\n          \"string.regexp\",\n          \"string.interpolated\",\n          \"string.template\",\n          \"string.unquoted.plain.out.yaml\",\n          \"keyword.other.template\"\n        ],\n        settings: {\n          foreground: variable(\"token-string-expression\")\n        }\n      },\n      {\n        scope: [\n          \"punctuation.definition.arguments\",\n          \"punctuation.definition.dict\",\n          \"punctuation.separator\",\n          \"meta.function-call.arguments\"\n        ],\n        settings: {\n          foreground: variable(\"token-punctuation\")\n        }\n      },\n      {\n        // [Custom] Markdown links\n        scope: [\n          \"markup.underline.link\",\n          \"punctuation.definition.metadata.markdown\"\n        ],\n        settings: {\n          foreground: variable(\"token-link\")\n        }\n      },\n      {\n        // [Custom] Markdown list\n        scope: [\"beginning.punctuation.definition.list.markdown\"],\n        settings: {\n          foreground: variable(\"token-string\")\n        }\n      },\n      {\n        // [Custom] Markdown punctuation definition brackets\n        scope: [\n          \"punctuation.definition.string.begin.markdown\",\n          \"punctuation.definition.string.end.markdown\",\n          \"string.other.link.title.markdown\",\n          \"string.other.link.description.markdown\"\n        ],\n        settings: {\n          foreground: variable(\"token-keyword\")\n        }\n      },\n      {\n        // [Custom] Diff\n        scope: [\n          \"markup.inserted\",\n          \"meta.diff.header.to-file\",\n          \"punctuation.definition.inserted\"\n        ],\n        settings: {\n          foreground: variable(\"token-inserted\")\n        }\n      },\n      {\n        scope: [\n          \"markup.deleted\",\n          \"meta.diff.header.from-file\",\n          \"punctuation.definition.deleted\"\n        ],\n        settings: {\n          foreground: variable(\"token-deleted\")\n        }\n      },\n      {\n        scope: [\n          \"markup.changed\",\n          \"punctuation.definition.changed\"\n        ],\n        settings: {\n          foreground: variable(\"token-changed\")\n        }\n      }\n    ]\n  };\n  if (!fontStyle) {\n    theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n      if (tokenColor.settings?.fontStyle)\n        delete tokenColor.settings.fontStyle;\n      return tokenColor;\n    });\n  }\n  return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createJavaScriptRegexEngine, createOnigurumaEngine, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createWasmOnigEngine, createdBundledHighlighter, defaultJavaScriptRegexConstructor, flatTokenVariants, getHighlighterCore, getShikiInternal, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, loadWasm, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JavaScript\\\",\\\"name\\\":\\\"javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[:=(,\\\\\\\\[?+!>]|^await|[^\\\\\\\\._$[:alnum:]]await|^return|[^\\\\\\\\._$[:alnum:]]return|^yield|[^\\\\\\\\._$[:alnum:]]yield|^throw|[^\\\\\\\\._$[:alnum:]]throw|^in|[^\\\\\\\\._$[:alnum:]]in|^of|[^\\\\\\\\._$[:alnum:]]of|^typeof|[^\\\\\\\\._$[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.objectliteral.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"name\\\":\\\"meta.array.literal.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync)\\\\\\\\s+)?([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.js\\\"},{\\\"begin\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync))?((?<![})!\\\\\\\\]])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\}|\\\\\\\\S)(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!\\\\\\\\/[\\\\\\\\/\\\\\\\\*])\\\",\\\"name\\\":\\\"meta.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[:])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.js\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"\\\\\\\\]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.js\\\"}},\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|\\\\\\\\/[\\\\\\\\/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|[;),}\\\\\\\\]:\\\\\\\\-\\\\\\\\+]|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(extends|implements)\\\\\\\\b)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))(?=\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.js\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"name\\\":\\\"comment.block.documentation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"},{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.js\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.js\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.js\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.block.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$[:alnum:]]of|^in|[^\\\\\\\\._$[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$[:alnum:]]of|^in|[^\\\\\\\\._$[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$[:alnum:]]of|^in|[^\\\\\\\\._$[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$[:alnum:]]of|^in|[^\\\\\\\\._$[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.readwrite.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.js\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js\\\"}},\\\"name\\\":\\\"meta.tag.js\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.js\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:access|api))\\\\\\\\s+(private|protected|public)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^@\\\\\\\\s<>*/](?:[^@<>*/]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.js\\\"}},\\\"match\\\":\\\"[^\\\\\\\\s@*](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^\\\\\\\\s*]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])?{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*(?:\\\\\\\\s*,\\\\\\\\s*[A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[\\\\\\\\w$]+(?:(?:\\\\\\\\[\\\\\\\\])?\\\\\\\\.[\\\\\\\\w$]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!\\\\\\\"))|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!'))|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:(?:\\\\\\\\*(?!/))|[^*])*?\\\\\\\\]|(?:(?:\\\\\\\\*(?!/))|\\\\\\\\s(?!\\\\\\\\s*\\\\\\\\])|\\\\\\\\[.*?(?:\\\\\\\\]|(?=\\\\\\\\*/))|[^*\\\\\\\\s\\\\\\\\[\\\\\\\\]])*)*))?\\\\\\\\s*(?:(\\\\\\\\])((?:[^*\\\\\\\\s]|\\\\\\\\*[^\\\\\\\\s/])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^{}@\\\\\\\\s*]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([''\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^\\\\\\\\s*]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:[_$[:alpha:]][_$[:alnum:]]*))(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.enum.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.js\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\])))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:(?:\\\\\\\\s*(=))|(?:\\\\\\\\s+(default)(?=\\\\\\\\s+)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.default.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[\\\\\\\\{*])|((?=\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*(\\\\\\\\s|,))(?!\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[:,]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.js\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.js\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[;,:})\\\\\\\\]]))\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js\\\"}},\\\"end\\\":\\\"(?=^|[;),}\\\\\\\\]:?\\\\\\\\-\\\\\\\\+\\\\\\\\>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|\\\\\\\\!\\\\\\\\=\\\\\\\\=|$|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+\\\\\\\\<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.js\\\"},{\\\"match\\\":\\\"\\\\\\\\*=|(?<!\\\\\\\\()/=|%=|\\\\\\\\+=|\\\\\\\\-=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},{\\\"match\\\":\\\"\\\\\\\\&=|\\\\\\\\^=|<<=|>>=|>>>=|\\\\\\\\|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.js\\\"},{\\\"match\\\":\\\"<<|>>>|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.js\\\"},{\\\"match\\\":\\\"===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.js\\\"},{\\\"match\\\":\\\"<=|>=|<>|<|>\\\",\\\"name\\\":\\\"keyword.operator.relational.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"match\\\":\\\"(?<=[_$[:alnum:]])(\\\\\\\\!)\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"},{\\\"match\\\":\\\"\\\\\\\\!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.js\\\"},{\\\"match\\\":\\\"\\\\\\\\&|~|\\\\\\\\^|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.bitwise.js\\\"},{\\\"match\\\":\\\"\\\\\\\\=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.js\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.js\\\"},{\\\"match\\\":\\\"%|\\\\\\\\*|/|-|\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"},{\\\"begin\\\":\\\"(?<=[_$[:alnum:])\\\\\\\\]])\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)+(?:(/=)|(?:(/)(?![/*]))))\\\",\\\"end\\\":\\\"(?:(/=)|(?:(/)(?!\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"match\\\":\\\"(?<=[_$[:alnum:])\\\\\\\\]])\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(\\\\\\\\!))\\\\\\\\s*)?(=|:|;|,|\\\\\\\\}|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$|(^(?!\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(\\\\\\\\!))\\\\\\\\s*)?(=|:|;|,|$))))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.field.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.js entity.name.function.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"match\\\":\\\"(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)(?:(\\\\\\\\?)|(\\\\\\\\!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.js variable.object.property.js\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js\\\"},{\\\"match\\\":\\\"\\\\\\\\!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*))await)?\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.js\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\\\\\)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(\\\\\\\\!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\\\\\)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(\\\\\\\\!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(\\\\\\\\!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\\\\\)]))(<\\\\\\\\s*[\\\\\\\\{\\\\\\\\[\\\\\\\\(]\\\\\\\\s*$))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\>)(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\\\\\)]))(<\\\\\\\\s*[\\\\\\\\{\\\\\\\\[\\\\\\\\(]\\\\\\\\s*$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[\\\\\\\\{\\\\\\\\[\\\\\\\\(]\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.function-call.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.js punctuation.accessor.optional.js\\\"},{\\\"match\\\":\\\"\\\\\\\\!\\\",\\\"name\\\":\\\"meta.function-call.js keyword.operator.definiteassignment.js\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.js\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=;)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.js\\\"}},\\\"name\\\":\\\"meta.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(\\\\\\\\#?[[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\"},{\\\"match\\\":\\\"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.js\\\"},{\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.js\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[:\\\\\\\\(])(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"}},\\\"end\\\":\\\"(?<!^import|[^\\\\\\\\._$[:alnum:]]import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=^import|[^\\\\\\\\._$[:alnum:]]import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.js\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"meta.import-equals.external.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\"},{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.js\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"(?:[_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.js\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.js\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.block.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:(\\\\\\\\bdefault)|(\\\\\\\\*)|(\\\\\\\\b[_$[:alpha:]][_$[:alnum:]]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([_$[:alpha:]][_$[:alnum:]]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.js\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:([_$[:alpha:]][_$[:alnum:]]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.js\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([+-])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.js\\\"}},\\\"end\\\":\\\"(\\\\\\\\])([+-])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^\\\\\\\\]]+(\\\\\\\\])(?={@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"({)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^|}\\\\\\\\s*]|\\\\\\\\*[/])+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^{}@\\\\\\\\s|*]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-\\\\\\\\+\\\\\\\\>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|\\\\\\\\!\\\\\\\\=\\\\\\\\=|$|(===|!==|==|!=)|(([\\\\\\\\&\\\\\\\\~\\\\\\\\^\\\\\\\\|]\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+instanceof(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\s*[\\\\\\\\(]))))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.interface.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.js\\\"}},\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G({)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes-in-expression\\\"},{\\\"include\\\":\\\"#jsx-tag-in-expression\\\"}]},\\\"jsx-children\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"},{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js\\\"}},\\\"match\\\":\\\"(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.js\\\"}]},\\\"jsx-evaluated-code\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.js\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"jsx-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"}},\\\"name\\\":\\\"string.quoted.double.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"}},\\\"name\\\":\\\"string.quoted.single.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-tag\\\":{\\\"begin\\\":\\\"(?=(<)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"end\\\":\\\"(/>)|(?:(</)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"name\\\":\\\"meta.tag.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"}},\\\"end\\\":\\\"(?=[/]?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]}]},\\\"jsx-tag-attribute-assignment\\\":{\\\"match\\\":\\\"=(?=\\\\\\\\s*(?:'|\\\\\\\"|{|/\\\\\\\\*|//|\\\\\\\\n))\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"jsx-tag-attribute-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.js\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(:))?([_$[:alpha:]][-_$[:alnum:]]*)(?=\\\\\\\\s|=|/?>|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=[/]?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.js\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[({\\\\\\\\[,?=>:*]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*\\\\\\\\/|^await|[^\\\\\\\\._$[:alnum:]]await|^return|[^\\\\\\\\._$[:alnum:]]return|^default|[^\\\\\\\\._$[:alnum:]]default|^yield|[^\\\\\\\\._$[:alnum:]]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js\\\",\\\"end\\\":\\\"(</)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[({\\\\\\\\[,?=>:*]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*\\\\\\\\/|^await|[^\\\\\\\\._$[:alnum:]]await|^return|[^\\\\\\\\._$[:alnum:]]return|^default|[^\\\\\\\\._$[:alnum:]]default|^yield|[^\\\\\\\\._$[:alnum:]]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$[:alpha:]][-_$[:alnum:].]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?[\\\\\\\\(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?[\\\\\\\\(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[\\\\\\\\(\\\\\\\\<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\(|\\\\\\\\<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.js entity.name.function.js\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[_$[:alpha:]\\\\\\\"'`]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})|(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.namespace.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.js\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-\\\\\\\\+\\\\\\\\>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|\\\\\\\\!\\\\\\\\=\\\\\\\\=|$|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\s*[\\\\\\\\(]))))\\\",\\\"name\\\":\\\"new.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.js\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.js\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.js\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(?:(\\\\\\\\#?[[:upper:]][_$[:digit:][:upper:]]*)|(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.js\\\"}},\\\"match\\\":\\\"(?:([[:upper:]][_$[:digit:][:upper:]]*)|([_$[:alpha:]][_$[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.objectliteral.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?[\\\\\\\\(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?[\\\\\\\\(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\(|\\\\\\\\<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\]])(?=\\\\\\\\s*[\\\\\\\\(\\\\\\\\<]))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=((\\\\\\\\s*[\\\\\\\\(\\\\\\\\<,}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=(\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([\\\\\\\\(\\\\\\\\<,}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[\\\\\\\\]\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=\\\\\\\\s*[\\\\\\\\(\\\\\\\\<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js\\\"}},\\\"match\\\":\\\"(?![_$[:alpha:]])([[:digit:]]+)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"}},\\\"match\\\":\\\"(?:([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"}},\\\"match\\\":\\\"(?:[_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.js\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js\\\"}},\\\"end\\\":\\\"(?=[;),}\\\\\\\\]:?\\\\\\\\-\\\\\\\\+\\\\\\\\>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|\\\\\\\\!\\\\\\\\=\\\\\\\\=|$|^|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js punctuation.separator.key-value.js\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=\\\\\\\\<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?=[,)])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(=,])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(=,]|=>|^return|[^\\\\\\\\._$[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js\\\"}},\\\"contentName\\\":\\\"meta.arrow.js meta.return.type.arrow.js\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.js\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.js\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(\\\\\\\")|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js\\\"}},\\\"name\\\":\\\"string.quoted.double.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(\\\\\\\\')|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js\\\"}},\\\"name\\\":\\\"string.quoted.single.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[=(:,\\\\\\\\[?+!]|^return|[^\\\\\\\\._$[:alnum:]]return|^case|[^\\\\\\\\._$[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*\\\\\\\\/)\\\\\\\\s*(\\\\\\\\/)(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\()]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\]|\\\\\\\\(([^\\\\\\\\)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![_$[:alnum:])\\\\\\\\]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*\\\\\\\\/)|((?<=^return|[^\\\\\\\\._$[:alnum:]]return|^case|[^\\\\\\\\._$[:alnum:]]case))\\\\\\\\s*)\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[wWsSdDtrnvf]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[bB]|\\\\\\\\^|\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d*|\\\\\\\\\\\\\\\\k<([a-zA-Z_$][\\\\\\\\w$]*)>\\\"},{\\\"match\\\":\\\"[?+*]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)\\\\\\\\}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|(?:\\\\\\\\?<([a-zA-Z_$][\\\\\\\\w$]*)>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\\\\\\-(?:[^\\\\\\\\]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![:|&])(?=$|^|[{};,]|//)\\\",\\\"name\\\":\\\"meta.return.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[{};,]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[:|&])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.js\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\\\\\{[0-9A-Fa-f]+\\\\\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.js\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.js\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*[\\\\\\\\(]\\\\\\\\s*[\\\\\\\\\\\\\\\"\\\\\\\\'\\\\\\\\`]))\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(?:(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"switch-statement.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"switch-expression.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\})\\\",\\\"name\\\":\\\"switch-block.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.js punctuation.definition.section.case-statement.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.js punctuation.definition.block.js\\\"}},\\\"contentName\\\":\\\"meta.block.js\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.js punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.js punctuation.definition.section.case-statement.js\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.begin.js\\\"}},\\\"contentName\\\":\\\"string.template.js\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"name\\\":\\\"meta.template.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.begin.js\\\"}},\\\"contentName\\\":\\\"string.template.js\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"name\\\":\\\"meta.template.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*[^[:digit:]])(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.js\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.type.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![:|&])(?!\\\\\\\\s*[|&]\\\\\\\\s+)((?=^|[,);\\\\\\\\}\\\\\\\\]]|//)|(?==[^>])|((?<=[\\\\\\\\}>\\\\\\\\]\\\\\\\\)]|[_$[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[,);\\\\\\\\}\\\\\\\\]]|\\\\\\\\/\\\\\\\\/)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[\\\\\\\\}>\\\\\\\\]\\\\\\\\)]|[_$[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"\\\\\\\\<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js\\\"}},\\\"end\\\":\\\"\\\\\\\\>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js\\\"}},\\\"name\\\":\\\"meta.type.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.js\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.js storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.js keyword.control.new.js\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=[(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])(?=[,\\\\\\\\]\\\\\\\\)\\\\\\\\{\\\\\\\\}=;>:\\\\\\\\?]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])((?=[,\\\\\\\\]\\\\\\\\)\\\\\\\\{\\\\\\\\}=;:\\\\\\\\?>]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.js\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.begin.js\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.begin.js\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\"},{\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.js\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.object.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.js\\\"},{\\\"match\\\":\\\"(\\\\\\\\?|\\\\\\\\:)\\\",\\\"name\\\":\\\"keyword.operator.ternary.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js\\\"}},\\\"name\\\":\\\"meta.type.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\\\\\s(is)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.js\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.js\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"name\\\":\\\"meta.type.tuple.js\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.js\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]=>:&|{\\\\\\\\?]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.js\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^let|[^\\\\\\\\._$[:alnum:]]let|^var|[^\\\\\\\\._$[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?!(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^const|[^\\\\\\\\._$[:alnum:]]const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?!(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^using|[^\\\\\\\\._$[:alnum:]]using|^await\\\\\\\\s+using|[^\\\\\\\\._$[:alnum:]]await\\\\\\\\s+using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=\\\\\\\\/\\\\\\\\/))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js entity.name.function.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])(\\\\\\\\!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.readwrite.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,);}\\\\\\\\]]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![\\\\\\\\|\\\\\\\\&\\\\\\\\+\\\\\\\\-\\\\\\\\*\\\\\\\\/])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.js\\\",\\\"aliases\\\":[\\\"js\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Python\\\",\\\"name\\\":\\\"python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"},{\\\"include\\\":\\\"#expression\\\"}],\\\"repository\\\":{\\\"annotated-parameter\\\":{\\\"begin\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.python\\\"}},\\\"end\\\":\\\"(,)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}]},\\\"assignment-operator\\\":{\\\"match\\\":\\\"<<=|>>=|//=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|/=|@=|\\\\\\\\*=|%=|~=|\\\\\\\\^=|&=|\\\\\\\\|=|=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},\\\"backticks\\\":{\\\"begin\\\":\\\"\\\\\\\\`\\\",\\\"end\\\":\\\"(?:\\\\\\\\`|(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\n))\\\",\\\"name\\\":\\\"invalid.deprecated.backtick.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"builtin-callables\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#builtin-exceptions\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#builtin-types\\\"}]},\\\"builtin-exceptions\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b((Arithmetic|Assertion|Attribute|Buffer|BlockingIO|BrokenPipe|ChildProcess|(Connection(Aborted|Refused|Reset)?)|EOF|Environment|FileExists|FileNotFound|FloatingPoint|IO|Import|Indentation|Index|Interrupted|IsADirectory|NotADirectory|Permission|ProcessLookup|Timeout|Key|Lookup|Memory|Name|NotImplemented|OS|Overflow|Reference|Runtime|Recursion|Syntax|System|Tab|Type|UnboundLocal|Unicode(Encode|Decode|Translate)?|Value|Windows|ZeroDivision|ModuleNotFound)Error|((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes|Resource)?Warning|SystemExit|Stop(Async)?Iteration|KeyboardInterrupt|GeneratorExit|(Base)?Exception)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.exception.python\\\"},\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(__import__|abs|aiter|all|any|anext|ascii|bin|breakpoint|callable|chr|compile|copyright|credits|delattr|dir|divmod|enumerate|eval|exec|exit|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|license|locals|map|max|memoryview|min|next|oct|open|ord|pow|print|quit|range|reload|repr|reversed|round|setattr|sorted|sum|vars|zip)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.builtin.python\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(file|reduce|intern|raw_input|unicode|cmp|basestring|execfile|long|xrange)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.legacy.builtin.python\\\"}]},\\\"builtin-possible-callables\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-callables\\\"},{\\\"include\\\":\\\"#magic-names\\\"}]},\\\"builtin-types\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(bool|bytearray|bytes|classmethod|complex|dict|float|frozenset|int|list|object|property|set|slice|staticmethod|str|tuple|type|super)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.python\\\"},\\\"call-wrapper-inheritance\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?=([[:alpha:]_]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\())\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"name\\\":\\\"meta.function-call.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inheritance-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"class-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(class)\\\\\\\\s+(?=[[:alpha:]_]\\\\\\\\w*\\\\\\\\s*(:|\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.python\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.class.begin.python\\\"}},\\\"name\\\":\\\"meta.class.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#class-inheritance\\\"}]}]},\\\"class-inheritance\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.inheritance.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.inheritance.end.python\\\"}},\\\"name\\\":\\\"meta.class.inheritance.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*|\\\\\\\\*)\\\",\\\"name\\\":\\\"keyword.operator.unpacking.arguments.python\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.python\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},{\\\"match\\\":\\\"\\\\\\\\bmetaclass\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.metaclass.python\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#class-kwarg\\\"},{\\\"include\\\":\\\"#call-wrapper-inheritance\\\"},{\\\"include\\\":\\\"#expression-base\\\"},{\\\"include\\\":\\\"#member-access-class\\\"},{\\\"include\\\":\\\"#inheritance-identifier\\\"}]},\\\"class-kwarg\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.python variable.parameter.class.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\s*(=)(?!=)\\\"},\\\"class-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.class.python\\\"}]},\\\"codetags\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.codetag.notation.python\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\\\\\\\b)\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:\\\\\\\\#\\\\\\\\s*(type:)\\\\\\\\s*+(?!$|\\\\\\\\#))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.typehint.comment.python\\\"},\\\"1\\\":{\\\"name\\\":\\\"comment.typehint.directive.notation.python\\\"}},\\\"contentName\\\":\\\"meta.typehint.comment.python\\\",\\\"end\\\":\\\"(?:$|(?=\\\\\\\\#))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\Gignore(?=\\\\\\\\s*(?:$|\\\\\\\\#))\\\",\\\"name\\\":\\\"comment.typehint.ignore.notation.python\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(bool|bytes|float|int|object|str|List|Dict|Iterable|Sequence|Set|FrozenSet|Callable|Union|Tuple|Any|None)\\\\\\\\b\\\",\\\"name\\\":\\\"comment.typehint.type.notation.python\\\"},{\\\"match\\\":\\\"([\\\\\\\\[\\\\\\\\]\\\\\\\\(\\\\\\\\),\\\\\\\\.\\\\\\\\=\\\\\\\\*]|(->))\\\",\\\"name\\\":\\\"comment.typehint.punctuation.notation.python\\\"},{\\\"match\\\":\\\"([[:alpha:]_]\\\\\\\\w*)\\\",\\\"name\\\":\\\"comment.typehint.variable.notation.python\\\"}]},{\\\"include\\\":\\\"#comments-base\\\"}]},\\\"comments-base\\\":{\\\"begin\\\":\\\"(\\\\\\\\#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($)\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"comments-string-double-three\\\":{\\\"begin\\\":\\\"(\\\\\\\\#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"comments-string-single-three\\\":{\\\"begin\\\":\\\"(\\\\\\\\#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($|(?='''))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"curly-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.begin.python\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.end.python\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.dict.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((@))\\\\\\\\s*(?=[[:alpha:]_]\\\\\\\\w*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.decorator.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.decorator.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(?:(.*?)(?=\\\\\\\\s*(?:\\\\\\\\#|$)))|(?=\\\\\\\\n|\\\\\\\\#)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}},\\\"name\\\":\\\"meta.function.decorator.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"decorator-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-callables\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.period.python\\\"}},\\\"match\\\":\\\"([[:alpha:]_]\\\\\\\\w*)|(\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.function.decorator.python\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([^([:alpha:]\\\\\\\\s_\\\\\\\\.#\\\\\\\\\\\\\\\\].*?)(?=\\\\\\\\#|$)\\\",\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}]},\\\"docstring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\'\\\\\\\\'\\\\\\\\'|\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docstring-prompt\\\"},{\\\"include\\\":\\\"#codetags\\\"},{\\\"include\\\":\\\"#docstring-guts-unicode\\\"}]},{\\\"begin\\\":\\\"([rR])(\\\\\\\\'\\\\\\\\'\\\\\\\\'|\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.raw.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#docstring-prompt\\\"},{\\\"include\\\":\\\"#codetags\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\'|\\\\\\\\\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"},{\\\"include\\\":\\\"#docstring-guts-unicode\\\"}]},{\\\"begin\\\":\\\"([rR])(\\\\\\\\'|\\\\\\\\\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.raw.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#codetags\\\"}]}]},\\\"docstring-guts-unicode\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"docstring-prompt\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"match\\\":\\\"(?:(?:^|\\\\\\\\G)\\\\\\\\s*((?:>>>|\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s)(?=\\\\\\\\s*\\\\\\\\S))\\\"},\\\"docstring-statement\\\":{\\\"begin\\\":\\\"^(?=\\\\\\\\s*[rR]?(\\\\\\\\'\\\\\\\\'\\\\\\\\'|\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"|\\\\\\\\'|\\\\\\\\\\\\\\\"))\\\",\\\"end\\\":\\\"((?<=\\\\\\\\1)|^)(?!\\\\\\\\s*[rR]?(\\\\\\\\'\\\\\\\\'\\\\\\\\'|\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"|\\\\\\\\'|\\\\\\\\\\\\\\\"))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docstring\\\"}]},\\\"double-one-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?\\\\\\\\](?!.*?\\\\\\\\])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(\\\\\\\\])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\]|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"[^\\\\\\\\n]\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"double-one-regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"double-one-regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#double-one-regexp-character-set\\\"},{\\\"include\\\":\\\"#double-one-regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#double-one-regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#double-one-regexp-lookahead\\\"},{\\\"include\\\":\\\"#double-one-regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#double-one-regexp-lookbehind\\\"},{\\\"include\\\":\\\"#double-one-regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#double-one-regexp-conditional\\\"},{\\\"include\\\":\\\"#double-one-regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#double-one-regexp-parentheses\\\"}]},\\\"double-one-regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-three-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?\\\\\\\\](?!.*?\\\\\\\\])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(\\\\\\\\])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\]|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"[^\\\\\\\\n]\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"double-three-regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"double-three-regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#double-three-regexp-character-set\\\"},{\\\"include\\\":\\\"#double-three-regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#double-three-regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#double-three-regexp-lookahead\\\"},{\\\"include\\\":\\\"#double-three-regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#double-three-regexp-lookbehind\\\"},{\\\"include\\\":\\\"#double-three-regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#double-three-regexp-conditional\\\"},{\\\"include\\\":\\\"#double-three-regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#double-three-regexp-parentheses\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"ellipsis\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.ellipsis.python\\\"},\\\"escape-sequence\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[0-9A-Fa-f]{2}|[0-7]{1,3}|[\\\\\\\\\\\\\\\\\\\\\\\"'abfnrtv])\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"},\\\"escape-sequence-unicode\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\\\\\\\{[\\\\\\\\w\\\\\\\\s]+?\\\\\\\\})\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-base\\\"},{\\\"include\\\":\\\"#member-access\\\"},{\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\b\\\"}]},\\\"expression-bare\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#backticks\\\"},{\\\"include\\\":\\\"#illegal-anno\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#lambda\\\"},{\\\"include\\\":\\\"#generator\\\"},{\\\"include\\\":\\\"#illegal-operator\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#curly-braces\\\"},{\\\"include\\\":\\\"#item-access\\\"},{\\\"include\\\":\\\"#list\\\"},{\\\"include\\\":\\\"#odd-function-call\\\"},{\\\"include\\\":\\\"#round-braces\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#builtin-types\\\"},{\\\"include\\\":\\\"#builtin-exceptions\\\"},{\\\"include\\\":\\\"#magic-names\\\"},{\\\"include\\\":\\\"#special-names\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#ellipsis\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#line-continuation\\\"}]},\\\"expression-base\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expression-bare\\\"},{\\\"include\\\":\\\"#line-continuation\\\"}]},\\\"f-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-bare\\\"},{\\\"include\\\":\\\"#member-access\\\"},{\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\b\\\"}]},\\\"fregexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fregexp-quantifier\\\"},{\\\"include\\\":\\\"#fstring-formatting-braces\\\"},{\\\"match\\\":\\\"\\\\\\\\{.*?\\\\\\\\}\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"fregexp-quantifier\\\":{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{(\\\\\\\\d+|\\\\\\\\d+,(\\\\\\\\d+)?|,\\\\\\\\d+)\\\\\\\\}\\\\\\\\}\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},\\\"fstring-fnorm-quoted-multi-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[fF])([bBuU])?('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.multi.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-core\\\"}]},\\\"fstring-fnorm-quoted-single-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[fF])([bBuU])?((['\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.single.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-core\\\"}]},\\\"fstring-formatting\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-formatting-braces\\\"},{\\\"include\\\":\\\"#fstring-formatting-singe-brace\\\"}]},\\\"fstring-formatting-braces\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.brace.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"match\\\":\\\"({)(\\\\\\\\s*?)(})\\\"},{\\\"match\\\":\\\"({{|}})\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"}]},\\\"fstring-formatting-singe-brace\\\":{\\\"match\\\":\\\"(}(?!}))\\\",\\\"name\\\":\\\"invalid.illegal.brace.python\\\"},\\\"fstring-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"},{\\\"include\\\":\\\"#fstring-formatting\\\"}]},\\\"fstring-illegal-multi-brace\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#impossible\\\"}]},\\\"fstring-illegal-single-brace\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)(?=[^\\\\\\\\n}]*$\\\\\\\\n?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\})|(?=\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-terminator-single\\\"},{\\\"include\\\":\\\"#f-expression\\\"}]},\\\"fstring-multi-brace\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-terminator-multi\\\"},{\\\"include\\\":\\\"#f-expression\\\"}]},\\\"fstring-multi-core\\\":{\\\"match\\\":\\\"(.+?)(($\\\\\\\\n?)|(?=[\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\{]|'''|\\\\\\\"\\\\\\\"\\\\\\\"))|\\\\\\\\n\\\",\\\"name\\\":\\\"string.interpolated.python string.quoted.multi.python\\\"},\\\"fstring-normf-quoted-multi-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[bBuU])([fF])('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.multi.python storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.quoted.multi.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-core\\\"}]},\\\"fstring-normf-quoted-single-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[bBuU])([fF])((['\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.single.python storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.quoted.single.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-core\\\"}]},\\\"fstring-raw-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#fstring-formatting\\\"}]},\\\"fstring-raw-multi-core\\\":{\\\"match\\\":\\\"(.+?)(($\\\\\\\\n?)|(?=[\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\{]|'''|\\\\\\\"\\\\\\\"\\\\\\\"))|\\\\\\\\n\\\",\\\"name\\\":\\\"string.interpolated.python string.quoted.raw.multi.python\\\"},\\\"fstring-raw-quoted-multi-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b(?:[rR][fF]|[fF][rR]))('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.quoted.raw.multi.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-raw-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-raw-multi-core\\\"}]},\\\"fstring-raw-quoted-single-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b(?:[rR][fF]|[fF][rR]))((['\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.raw.single.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.quoted.raw.single.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-raw-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"include\\\":\\\"#fstring-raw-single-core\\\"}]},\\\"fstring-raw-single-core\\\":{\\\"match\\\":\\\"(.+?)(($\\\\\\\\n?)|(?=[\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\{]|(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)))|\\\\\\\\n\\\",\\\"name\\\":\\\"string.interpolated.python string.quoted.raw.single.python\\\"},\\\"fstring-single-brace\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\})|(?=\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-terminator-single\\\"},{\\\"include\\\":\\\"#f-expression\\\"}]},\\\"fstring-single-core\\\":{\\\"match\\\":\\\"(.+?)(($\\\\\\\\n?)|(?=[\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\{]|(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)))|\\\\\\\\n\\\",\\\"name\\\":\\\"string.interpolated.python string.quoted.single.python\\\"},\\\"fstring-terminator-multi\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(=(![rsa])?)(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(=?![rsa])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"((?:=?)(?:![rsa])?)(:\\\\\\\\w?[<>=^]?[-+ ]?\\\\\\\\#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[bcdeEfFgGnosxX%]?)(?=})\\\"},{\\\"include\\\":\\\"#fstring-terminator-multi-tail\\\"}]},\\\"fstring-terminator-multi-tail\\\":{\\\"begin\\\":\\\"((?:=?)(?:![rsa])?)(:)(?=.*?{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"match\\\":\\\"([bcdeEfFgGnosxX%])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\#)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([-+ ])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([<>=^])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"}]},\\\"fstring-terminator-single\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(=(![rsa])?)(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(=?![rsa])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"((?:=?)(?:![rsa])?)(:\\\\\\\\w?[<>=^]?[-+ ]?\\\\\\\\#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[bcdeEfFgGnosxX%]?)(?=})\\\"},{\\\"include\\\":\\\"#fstring-terminator-single-tail\\\"}]},\\\"fstring-terminator-single-tail\\\":{\\\"begin\\\":\\\"((?:=?)(?:![rsa])?)(:)(?=.*?{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"end\\\":\\\"(?=})|(?=\\\\\\\\n)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"match\\\":\\\"([bcdeEfFgGnosxX%])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\#)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([-+ ])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([<>=^])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"}]},\\\"function-arguments\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.python\\\",\\\"end\\\":\\\"(?=\\\\\\\\))(?!\\\\\\\\)\\\\\\\\s*\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.separator.arguments.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.unpacking.arguments.python\\\"}},\\\"match\\\":\\\"(?:(?<=[,(])|^)\\\\\\\\s*(\\\\\\\\*{1,2})\\\"},{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function-call.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\s*(=)(?!=)\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\))\\\\\\\\s*(\\\\\\\\()\\\"}]},\\\"function-call\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?=([[:alpha:]_]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\())\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"name\\\":\\\"meta.function-call.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\b(def)\\\\\\\\s+(?=[[:alpha:]_][[:word:]]*\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.async.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.python\\\"}},\\\"end\\\":\\\"(:|(?=[#'\\\\\\\"\\\\\\\\n]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.python\\\"}},\\\"name\\\":\\\"meta.function.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-def-name\\\"},{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"include\\\":\\\"#return-annotation\\\"}]},\\\"function-def-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.python\\\"}]},\\\"function-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.function-call.generic.python\\\"}]},\\\"generator\\\":{\\\"begin\\\":\\\"\\\\\\\\bfor\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"end\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"illegal-anno\\\":{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"invalid.illegal.annotation.python\\\"},\\\"illegal-names\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:(and|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\\\\\\\.)lambda|lambda(?=\\\\\\\\s*[\\\\\\\\.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(as|import))\\\\\\\\b\\\"},\\\"illegal-object-name\\\":{\\\"match\\\":\\\"\\\\\\\\b(True|False|None)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.illegal.name.python\\\"},\\\"illegal-operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"&&|\\\\\\\\|\\\\\\\\||--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"},{\\\"match\\\":\\\"[?$]\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"},{\\\"match\\\":\\\"!\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"}]},\\\"import\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(from)\\\\\\\\b(?=.+import)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.python\\\"}},\\\"end\\\":\\\"$|(?=import)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.+\\\",\\\"name\\\":\\\"punctuation.separator.period.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(import)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.python\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)as\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.import.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"impossible\\\":{\\\"match\\\":\\\"$.^\\\"},\\\"inheritance-identifier\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\b\\\"},\\\"inheritance-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"include\\\":\\\"#inheritance-identifier\\\"}]},\\\"item-access\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?=[[:alpha:]_]\\\\\\\\w*\\\\\\\\s*\\\\\\\\[)\\\",\\\"end\\\":\\\"(\\\\\\\\])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"name\\\":\\\"meta.item-access.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#item-name\\\"},{\\\"include\\\":\\\"#item-index\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"item-index\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"contentName\\\":\\\"meta.item-access.arguments.python\\\",\\\"end\\\":\\\"(?=\\\\\\\\])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.slice.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"item-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#special-names\\\"},{\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.indexed-name.python\\\"}]},\\\"lambda\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"match\\\":\\\"((?<=\\\\\\\\.)lambda|lambda(?=\\\\\\\\s*[\\\\\\\\.=]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.lambda.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(lambda)\\\\\\\\s*?(?=[,\\\\\\\\n]|$)\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(lambda)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.lambda.python\\\"}},\\\"contentName\\\":\\\"meta.function.lambda.parameters.python\\\",\\\"end\\\":\\\"(:)|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.lambda.begin.python\\\"}},\\\"name\\\":\\\"meta.lambda-function.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.positional.parameter.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*|\\\\\\\\*)\\\",\\\"name\\\":\\\"keyword.operator.unpacking.parameter.python\\\"},{\\\"include\\\":\\\"#lambda-nested-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"([[:alpha:]_]\\\\\\\\w*)\\\\\\\\s*(?:(,)|(?=:|$))\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#backticks\\\"},{\\\"include\\\":\\\"#illegal-anno\\\"},{\\\"include\\\":\\\"#lambda-parameter-with-default\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"include\\\":\\\"#illegal-operator\\\"}]}]},\\\"lambda-incomplete\\\":{\\\"match\\\":\\\"\\\\\\\\blambda(?=\\\\\\\\s*[,)])\\\",\\\"name\\\":\\\"storage.type.function.lambda.python\\\"},\\\"lambda-nested-incomplete\\\":{\\\"match\\\":\\\"\\\\\\\\blambda(?=\\\\\\\\s*[:,)])\\\",\\\"name\\\":\\\"storage.type.function.lambda.python\\\"},\\\"lambda-parameter-with-default\\\":{\\\"begin\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\s*(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.python\\\"}},\\\"end\\\":\\\"(,)|(?=:|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"line-continuation\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.continuation.line.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.line.continuation.python\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\s*(\\\\\\\\S.*$\\\\\\\\n?)\\\"},{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\s*$\\\\\\\\n?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.continuation.line.python\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*$)|(?!(\\\\\\\\s*[rR]?(\\\\\\\\'\\\\\\\\'\\\\\\\\'|\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"|\\\\\\\\'|\\\\\\\\\\\\\\\"))|(\\\\\\\\G$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"list\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.python\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.list.end.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(True|False|None|NotImplemented|Ellipsis)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.python\\\"},{\\\"include\\\":\\\"#number\\\"}]},\\\"loose-default\\\":{\\\"begin\\\":\\\"(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.python\\\"}},\\\"end\\\":\\\"(,)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"magic-function-names\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.magic.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(__(?:abs|add|aenter|aexit|aiter|and|anext|await|bool|call|ceil|class_getitem|cmp|coerce|complex|contains|copy|deepcopy|del|delattr|delete|delitem|delslice|dir|div|divmod|enter|eq|exit|float|floor|floordiv|format|ge|get|getattr|getattribute|getinitargs|getitem|getnewargs|getslice|getstate|gt|hash|hex|iadd|iand|idiv|ifloordiv||ilshift|imod|imul|index|init|instancecheck|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|le|len|long|lshift|lt|missing|mod|mul|ne|neg|new|next|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|reduce|reduce_ex|repr|reversed|rfloordiv||rlshift|rmod|rmul|ror|round|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|set_name|setslice|setstate|sizeof|str|sub|subclasscheck|truediv|trunc|unicode|xor|matmul|rmatmul|imatmul|init_subclass|set_name|fspath|bytes|prepare|length_hint)__)\\\\\\\\b\\\"},\\\"magic-names\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#magic-function-names\\\"},{\\\"include\\\":\\\"#magic-variable-names\\\"}]},\\\"magic-variable-names\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.variable.magic.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(__(?:all|annotations|bases|builtins|class|closure|code|debug|defaults|dict|doc|file|func|globals|kwdefaults|match_args|members|metaclass|methods|module|mro|mro_entries|name|qualname|post_init|self|signature|slots|subclasses|version|weakref|wrapped|classcell|spec|path|package|future|traceback)__)\\\\\\\\b\\\"},\\\"member-access\\\":{\\\"begin\\\":\\\"(\\\\\\\\.)\\\\\\\\s*(?!\\\\\\\\.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.python\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(?=\\\\\\\\W)|(^|(?<=\\\\\\\\s))(?=[^\\\\\\\\\\\\\\\\\\\\\\\\w\\\\\\\\s])|$\\\",\\\"name\\\":\\\"meta.member.access.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#member-access-base\\\"},{\\\"include\\\":\\\"#member-access-attribute\\\"}]},\\\"member-access-attribute\\\":{\\\"match\\\":\\\"\\\\\\\\b([[:alpha:]_]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.attribute.python\\\"},\\\"member-access-base\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#magic-names\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#special-names\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"include\\\":\\\"#item-access\\\"}]},\\\"member-access-class\\\":{\\\"begin\\\":\\\"(\\\\\\\\.)\\\\\\\\s*(?!\\\\\\\\.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.python\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(?=\\\\\\\\W)|$\\\",\\\"name\\\":\\\"meta.member.access.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#call-wrapper-inheritance\\\"},{\\\"include\\\":\\\"#member-access-base\\\"},{\\\"include\\\":\\\"#inheritance-identifier\\\"}]},\\\"number\\\":{\\\"name\\\":\\\"constant.numeric.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#number-float\\\"},{\\\"include\\\":\\\"#number-dec\\\"},{\\\"include\\\":\\\"#number-hex\\\"},{\\\"include\\\":\\\"#number-oct\\\"},{\\\"include\\\":\\\"#number-bin\\\"},{\\\"include\\\":\\\"#number-long\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\w+\\\",\\\"name\\\":\\\"invalid.illegal.name.python\\\"}]},\\\"number-bin\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.number.python\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\w\\\\\\\\.])(0[bB])(_?[01])+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.bin.python\\\"},\\\"number-dec\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.imaginary.number.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.dec.python\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\w\\\\\\\\.])(?:[1-9](?:_?[0-9])*|0+|[0-9](?:_?[0-9])*([jJ])|0([0-9]+)(?![eE\\\\\\\\.]))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.dec.python\\\"},\\\"number-float\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.imaginary.number.python\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:(?:\\\\\\\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\\\\\\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\\\\\\\.)(?:[eE][+-]?[0-9](?:_?[0-9])*)?|[0-9](?:_?[0-9])*(?:[eE][+-]?[0-9](?:_?[0-9])*))([jJ])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.python\\\"},\\\"number-hex\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.number.python\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\w\\\\\\\\.])(0[xX])(_?[0-9a-fA-F])+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.python\\\"},\\\"number-long\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.type.number.python\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\w\\\\\\\\.])([1-9][0-9]*|0)([lL])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.bin.python\\\"},\\\"number-oct\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.number.python\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\w\\\\\\\\.])(0[oO])(_?[0-7])+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.oct.python\\\"},\\\"odd-function-call\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\]|\\\\\\\\))\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"operator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.bitwise.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.comparison.python\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(?:(and|or|not|in|is)|(for|if|else|await|(?:yield(?:\\\\\\\\s+from)?)))(?!\\\\\\\\s*:)\\\\\\\\b|(<<|>>|&|\\\\\\\\||\\\\\\\\^|~)|(\\\\\\\\*\\\\\\\\*|\\\\\\\\*|\\\\\\\\+|-|%|//|/|@)|(!=|==|>=|<=|<|>)|(:=)\\\"},\\\"parameter-special\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.language.special.self.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.function.language.special.cls.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b((self)|(cls))\\\\\\\\b\\\\\\\\s*(?:(,)|(?=\\\\\\\\)))\\\"},\\\"parameters\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.python\\\"}},\\\"name\\\":\\\"meta.function.parameters.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.positional.parameter.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*|\\\\\\\\*)\\\",\\\"name\\\":\\\"keyword.operator.unpacking.parameter.python\\\"},{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#parameter-special\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"([[:alpha:]_]\\\\\\\\w*)\\\\\\\\s*(?:(,)|(?=[)#\\\\\\\\n=]))\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#loose-default\\\"},{\\\"include\\\":\\\"#annotated-parameter\\\"}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.colon.python\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.element.python\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-single-three-line\\\"},{\\\"include\\\":\\\"#regexp-double-three-line\\\"},{\\\"include\\\":\\\"#regexp-single-one-line\\\"},{\\\"include\\\":\\\"#regexp-double-one-line\\\"}]},\\\"regexp-backreference\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.backreference.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(\\\\\\\\?P=\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.backreference.named.regexp\\\"},\\\"regexp-backreference-number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.backreference.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d?)\\\",\\\"name\\\":\\\"meta.backreference.regexp\\\"},\\\"regexp-base-common\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"support.other.match.any.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\^\\\",\\\"name\\\":\\\"support.other.match.begin.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\",\\\"name\\\":\\\"support.other.match.end.regexp\\\"},{\\\"match\\\":\\\"[+*?]\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.disjunction.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-sequence\\\"}]},\\\"regexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-quantifier\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"regexp-charecter-set-escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[abfnrtv\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-special\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{1,3})\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-character\\\"},{\\\"include\\\":\\\"#regexp-escape-unicode\\\"},{\\\"include\\\":\\\"#regexp-escape-catchall\\\"}]},\\\"regexp-double-one-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([uU]r)|([bB]r)|(r[bB]?))(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\")|(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.regexp.quoted.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"regexp-double-three-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([uU]r)|([bB]r)|(r[bB]?))(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.regexp.quoted.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"}]},\\\"regexp-escape-catchall\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(.|\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},\\\"regexp-escape-character\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[0-9A-Fa-f]{2}|0[0-7]{1,2}|[0-7]{3})\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},\\\"regexp-escape-sequence\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-escape-special\\\"},{\\\"include\\\":\\\"#regexp-escape-character\\\"},{\\\"include\\\":\\\"#regexp-escape-unicode\\\"},{\\\"include\\\":\\\"#regexp-backreference-number\\\"},{\\\"include\\\":\\\"#regexp-escape-catchall\\\"}]},\\\"regexp-escape-special\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([AbBdDsSwWZ])\\\",\\\"name\\\":\\\"support.other.escape.special.regexp\\\"},\\\"regexp-escape-unicode\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})\\\",\\\"name\\\":\\\"constant.character.unicode.regexp\\\"},\\\"regexp-flags\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\?[aiLmsux]+\\\\\\\\)\\\",\\\"name\\\":\\\"storage.modifier.flag.regexp\\\"},\\\"regexp-quantifier\\\":{\\\"match\\\":\\\"\\\\\\\\{(\\\\\\\\d+|\\\\\\\\d+,(\\\\\\\\d+)?|,\\\\\\\\d+)\\\\\\\\}\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},\\\"regexp-single-one-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([uU]r)|([bB]r)|(r[bB]?))(\\\\\\\\')\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\')|(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.regexp.quoted.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"regexp-single-three-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([uU]r)|([bB]r)|(r[bB]?))(\\\\\\\\'\\\\\\\\'\\\\\\\\')\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\'\\\\\\\\'\\\\\\\\')\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.regexp.quoted.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"}]},\\\"return-annotation\\\":{\\\"begin\\\":\\\"(->)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.result.python\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"round-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.begin.python\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.end.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"semicolon\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\;$\\\",\\\"name\\\":\\\"invalid.deprecated.semicolon.python\\\"}]},\\\"single-one-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?\\\\\\\\](?!.*?\\\\\\\\])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(\\\\\\\\])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\]|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"[^\\\\\\\\n]\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"single-one-regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"single-one-regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#single-one-regexp-character-set\\\"},{\\\"include\\\":\\\"#single-one-regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#single-one-regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#single-one-regexp-lookahead\\\"},{\\\"include\\\":\\\"#single-one-regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#single-one-regexp-lookbehind\\\"},{\\\"include\\\":\\\"#single-one-regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#single-one-regexp-conditional\\\"},{\\\"include\\\":\\\"#single-one-regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#single-one-regexp-parentheses\\\"}]},\\\"single-one-regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-three-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?\\\\\\\\](?!.*?\\\\\\\\])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(\\\\\\\\])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\]|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"[^\\\\\\\\n]\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"single-three-regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"single-three-regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#single-three-regexp-character-set\\\"},{\\\"include\\\":\\\"#single-three-regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#single-three-regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#single-three-regexp-lookahead\\\"},{\\\"include\\\":\\\"#single-three-regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#single-three-regexp-lookbehind\\\"},{\\\"include\\\":\\\"#single-three-regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#single-three-regexp-conditional\\\"},{\\\"include\\\":\\\"#single-three-regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#single-three-regexp-parentheses\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+[[:alnum:]]+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\\'\\\\\\\\'\\\\\\\\'))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"special-names\\\":{\\\"match\\\":\\\"\\\\\\\\b(_*[[:upper:]][_\\\\\\\\d]*[[:upper:]])[[:upper:]\\\\\\\\d]*(_\\\\\\\\w*)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.caps.python\\\"},\\\"special-variables\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.special.self.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.special.cls.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(?:(self)|(cls))\\\\\\\\b\\\"},\\\"statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#generator\\\"},{\\\"include\\\":\\\"#statement-keyword\\\"},{\\\"include\\\":\\\"#assignment-operator\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#docstring-statement\\\"},{\\\"include\\\":\\\"#semicolon\\\"}]},\\\"statement-keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((async\\\\\\\\s+)?\\\\\\\\s*def)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.function.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)as\\\\\\\\b(?=.*[:\\\\\\\\\\\\\\\\])\\\",\\\"name\\\":\\\"keyword.control.flow.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)as\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.import.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(async|continue|del|assert|break|finally|for|from|elif|else|if|except|pass|raise|return|try|while|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(global|nonlocal)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.declaration.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(class)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(case|match)(?=\\\\\\\\s*([-+\\\\\\\\w\\\\\\\\d(\\\\\\\\[{'\\\\\\\":#]|$))\\\\\\\\b\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-quoted-multi-line\\\"},{\\\"include\\\":\\\"#string-quoted-single-line\\\"},{\\\"include\\\":\\\"#string-bin-quoted-multi-line\\\"},{\\\"include\\\":\\\"#string-bin-quoted-single-line\\\"},{\\\"include\\\":\\\"#string-raw-quoted-multi-line\\\"},{\\\"include\\\":\\\"#string-raw-quoted-single-line\\\"},{\\\"include\\\":\\\"#string-raw-bin-quoted-multi-line\\\"},{\\\"include\\\":\\\"#string-raw-bin-quoted-single-line\\\"},{\\\"include\\\":\\\"#fstring-fnorm-quoted-multi-line\\\"},{\\\"include\\\":\\\"#fstring-fnorm-quoted-single-line\\\"},{\\\"include\\\":\\\"#fstring-normf-quoted-multi-line\\\"},{\\\"include\\\":\\\"#fstring-normf-quoted-single-line\\\"},{\\\"include\\\":\\\"#fstring-raw-quoted-multi-line\\\"},{\\\"include\\\":\\\"#fstring-raw-quoted-single-line\\\"}]},\\\"string-bin-quoted-multi-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[bB])('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.binary.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-bin-quoted-single-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[bB])((['\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.binary.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-brace-formatting\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"({{|}}|(?:{\\\\\\\\w*(\\\\\\\\.[[:alpha:]_]\\\\\\\\w*|\\\\\\\\[[^\\\\\\\\]'\\\\\\\"]+\\\\\\\\])*(![rsa])?(:\\\\\\\\w?[<>=^]?[-+ ]?\\\\\\\\#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[bcdeEfFgGnosxX%]?)?}))\\\",\\\"name\\\":\\\"meta.format.brace.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"({\\\\\\\\w*(\\\\\\\\.[[:alpha:]_]\\\\\\\\w*|\\\\\\\\[[^\\\\\\\\]'\\\\\\\"]+\\\\\\\\])*(![rsa])?(:)[^'\\\\\\\"{}\\\\\\\\n]*(?:\\\\\\\\{[^'\\\\\\\"}\\\\\\\\n]*?\\\\\\\\}[^'\\\\\\\"{}\\\\\\\\n]*)*})\\\",\\\"name\\\":\\\"meta.format.brace.python\\\"}]},\\\"string-consume-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\"\\\\\\\\n\\\\\\\\\\\\\\\\]\\\"},\\\"string-entity\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-formatting\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"match\\\":\\\"(%(\\\\\\\\([\\\\\\\\w\\\\\\\\s]*\\\\\\\\))?[-+#0 ]*(\\\\\\\\d+|\\\\\\\\*)?(\\\\\\\\.(\\\\\\\\d+|\\\\\\\\*))?([hlL])?[diouxXeEfFgGcrsab%])\\\",\\\"name\\\":\\\"meta.format.percent.python\\\"},\\\"string-line-continuation\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.language.python\\\"},\\\"string-multi-bad-brace1-formatting-raw\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\"))%\\\\\\\\})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"}]},\\\"string-multi-bad-brace1-formatting-unicode\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\"))%\\\\\\\\})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"string-multi-bad-brace2-formatting-raw\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")[^!:\\\\\\\\.\\\\\\\\[}\\\\\\\\w]).*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")\\\\\\\\})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-multi-bad-brace2-formatting-unicode\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")[^!:\\\\\\\\.\\\\\\\\[}\\\\\\\\w]).*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")\\\\\\\\})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-quoted-multi-line\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b([rR])(?=[uU]))?([uU])?('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-multi-bad-brace1-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-multi-bad-brace2-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-unicode-guts\\\"}]},\\\"string-quoted-single-line\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b([rR])(?=[uU]))?([uU])?((['\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-single-bad-brace1-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-single-bad-brace2-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-unicode-guts\\\"}]},\\\"string-raw-bin-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-raw-bin-quoted-multi-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b(?:R[bB]|[bB]R))('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.raw.binary.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-raw-bin-guts\\\"}]},\\\"string-raw-bin-quoted-single-line\\\":{\\\"begin\\\":\\\"(\\\\\\\\b(?:R[bB]|[bB]R))((['\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.raw.binary.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-raw-bin-guts\\\"}]},\\\"string-raw-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"},{\\\"include\\\":\\\"#string-brace-formatting\\\"}]},\\\"string-raw-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([uU]R)|(R))('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\4)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.raw.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-multi-bad-brace1-formatting-raw\\\"},{\\\"include\\\":\\\"#string-multi-bad-brace2-formatting-raw\\\"},{\\\"include\\\":\\\"#string-raw-guts\\\"}]},\\\"string-raw-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([uU]R)|(R))((['\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\4)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.raw.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-single-bad-brace1-formatting-raw\\\"},{\\\"include\\\":\\\"#string-single-bad-brace2-formatting-raw\\\"},{\\\"include\\\":\\\"#string-raw-guts\\\"}]},\\\"string-single-bad-brace1-formatting-raw\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)))%\\\\\\\\})\\\",\\\"end\\\":\\\"(?=(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"}]},\\\"string-single-bad-brace1-formatting-unicode\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)))%\\\\\\\\})\\\",\\\"end\\\":\\\"(?=(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"string-single-bad-brace2-formatting-raw\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))[^!:\\\\\\\\.\\\\\\\\[}\\\\\\\\w]).*?(?!(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\\\\\\})\\\",\\\"end\\\":\\\"(?=(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-single-bad-brace2-formatting-unicode\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))[^!:\\\\\\\\.\\\\\\\\[}\\\\\\\\w]).*?(?!(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\\\\\\})\\\",\\\"end\\\":\\\"(?=(['\\\\\\\"])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-unicode-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#string-entity\\\"},{\\\"include\\\":\\\"#string-brace-formatting\\\"}]}},\\\"scopeName\\\":\\\"source.python\\\",\\\"aliases\\\":[\\\"py\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TypeScript\\\",\\\"name\\\":\\\"typescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[:=(,\\\\\\\\[?+!>]|^await|[^\\\\\\\\._$[:alnum:]]await|^return|[^\\\\\\\\._$[:alnum:]]return|^yield|[^\\\\\\\\._$[:alnum:]]yield|^throw|[^\\\\\\\\._$[:alnum:]]throw|^in|[^\\\\\\\\._$[:alnum:]]in|^of|[^\\\\\\\\._$[:alnum:]]of|^typeof|[^\\\\\\\\._$[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.array.literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync)\\\\\\\\s+)?([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.ts\\\"},{\\\"begin\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync))?((?<![})!\\\\\\\\]])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\}|\\\\\\\\S)(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!\\\\\\\\/[\\\\\\\\/\\\\\\\\*])\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[:])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.ts\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"\\\\\\\\]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(<)\\\\\\\\s*(const)\\\\\\\\s*(>)\\\",\\\"name\\\":\\\"cast.expr.ts\\\"},{\\\"begin\\\":\\\"(?:(?<!\\\\\\\\+\\\\\\\\+|--)(?<=^return|[^\\\\\\\\._$[:alnum:]]return|^throw|[^\\\\\\\\._$[:alnum:]]throw|^yield|[^\\\\\\\\._$[:alnum:]]yield|^await|[^\\\\\\\\._$[:alnum:]]await|^default|[^\\\\\\\\._$[:alnum:]]default|[=(,:>*?\\\\\\\\&\\\\\\\\|\\\\\\\\^]|[^_$[:alnum:]](?:\\\\\\\\+\\\\\\\\+|\\\\\\\\-\\\\\\\\-)|[^\\\\\\\\+]\\\\\\\\+|[^\\\\\\\\-]\\\\\\\\-))\\\\\\\\s*(<)(?!<?\\\\\\\\=)(?!\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\\>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?:(?<=^))\\\\\\\\s*(<)(?=[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\\>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.ts\\\"}},\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|\\\\\\\\/[\\\\\\\\/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|[;),}\\\\\\\\]:\\\\\\\\-\\\\\\\\+]|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(extends|implements)\\\\\\\\b)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))(?=\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.ts\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"name\\\":\\\"comment.block.documentation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"name\\\":\\\"comment.block.ts\\\"},{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.ts\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.ts\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.ts\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.ts\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.block.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$[:alnum:]]of|^in|[^\\\\\\\\._$[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$[:alnum:]]of|^in|[^\\\\\\\\._$[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$[:alnum:]]of|^in|[^\\\\\\\\._$[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$[:alnum:]]of|^in|[^\\\\\\\\._$[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.ts\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"}},\\\"name\\\":\\\"meta.tag.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:access|api))\\\\\\\\s+(private|protected|public)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^@\\\\\\\\s<>*/](?:[^@<>*/]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"}},\\\"match\\\":\\\"[^\\\\\\\\s@*](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^\\\\\\\\s*]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])?{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*(?:\\\\\\\\s*,\\\\\\\\s*[A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[\\\\\\\\w$]+(?:(?:\\\\\\\\[\\\\\\\\])?\\\\\\\\.[\\\\\\\\w$]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!\\\\\\\"))|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!'))|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:(?:\\\\\\\\*(?!/))|[^*])*?\\\\\\\\]|(?:(?:\\\\\\\\*(?!/))|\\\\\\\\s(?!\\\\\\\\s*\\\\\\\\])|\\\\\\\\[.*?(?:\\\\\\\\]|(?=\\\\\\\\*/))|[^*\\\\\\\\s\\\\\\\\[\\\\\\\\]])*)*))?\\\\\\\\s*(?:(\\\\\\\\])((?:[^*\\\\\\\\s]|\\\\\\\\*[^\\\\\\\\s/])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^{}@\\\\\\\\s*]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([''\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^\\\\\\\\s*]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:[_$[:alpha:]][_$[:alnum:]]*))(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.enum.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.ts\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\])))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:(?:\\\\\\\\s*(=))|(?:\\\\\\\\s+(default)(?=\\\\\\\\s+)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.default.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[\\\\\\\\{*])|((?=\\\\\\\\s*[_$[:alpha:]][_$[:alnum:]]*(\\\\\\\\s|,))(?!\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[:,]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.ts\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.ts\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[;,:})\\\\\\\\]]))\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.ts\\\"}},\\\"end\\\":\\\"(?=^|[;),}\\\\\\\\]:?\\\\\\\\-\\\\\\\\+\\\\\\\\>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|\\\\\\\\!\\\\\\\\=\\\\\\\\=|$|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+\\\\\\\\<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\*=|(?<!\\\\\\\\()/=|%=|\\\\\\\\+=|\\\\\\\\-=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\&=|\\\\\\\\^=|<<=|>>=|>>>=|\\\\\\\\|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ts\\\"},{\\\"match\\\":\\\"<<|>>>|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ts\\\"},{\\\"match\\\":\\\"===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.ts\\\"},{\\\"match\\\":\\\"<=|>=|<>|<|>\\\",\\\"name\\\":\\\"keyword.operator.relational.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[_$[:alnum:]])(\\\\\\\\!)\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"},{\\\"match\\\":\\\"\\\\\\\\!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\&|~|\\\\\\\\^|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ts\\\"},{\\\"match\\\":\\\"%|\\\\\\\\*|/|-|\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"},{\\\"begin\\\":\\\"(?<=[_$[:alnum:])\\\\\\\\]])\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)+(?:(/=)|(?:(/)(?![/*]))))\\\",\\\"end\\\":\\\"(?:(/=)|(?:(/)(?!\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[_$[:alnum:])\\\\\\\\]])\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(\\\\\\\\!))\\\\\\\\s*)?(=|:|;|,|\\\\\\\\}|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$|(^(?!\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(\\\\\\\\!))\\\\\\\\s*)?(=|:|;|,|$))))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.field.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"match\\\":\\\"(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)(?:(\\\\\\\\?)|(\\\\\\\\!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.ts variable.object.property.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*))await)?\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\\\\\)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(\\\\\\\\!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\\\\\)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(\\\\\\\\!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(\\\\\\\\!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\\\\\)]))(<\\\\\\\\s*[\\\\\\\\{\\\\\\\\[\\\\\\\\(]\\\\\\\\s*$))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\>)(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\\\\\\\)]))(<\\\\\\\\s*[\\\\\\\\{\\\\\\\\[\\\\\\\\(]\\\\\\\\s*$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[\\\\\\\\{\\\\\\\\[\\\\\\\\(]\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.ts punctuation.accessor.optional.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\!\\\",\\\"name\\\":\\\"meta.function-call.ts keyword.operator.definiteassignment.ts\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.ts\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=;)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ts\\\"}},\\\"name\\\":\\\"meta.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(\\\\\\\\#?[[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\"},{\\\"match\\\":\\\"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.ts\\\"},{\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[:\\\\\\\\(])(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"}},\\\"end\\\":\\\"(?<!^import|[^\\\\\\\\._$[:alnum:]]import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=^import|[^\\\\\\\\._$[:alnum:]]import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.ts\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.import-equals.external.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\"},{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"(?:[_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.ts\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.block.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:(\\\\\\\\bdefault)|(\\\\\\\\*)|(\\\\\\\\b[_$[:alpha:]][_$[:alnum:]]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([_$[:alpha:]][_$[:alnum:]]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:([_$[:alpha:]][_$[:alnum:]]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.ts\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([+-])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\\])([+-])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^\\\\\\\\]]+(\\\\\\\\])(?={@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"({)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^|}\\\\\\\\s*]|\\\\\\\\*[/])+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^{}@\\\\\\\\s|*]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-\\\\\\\\+\\\\\\\\>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|\\\\\\\\!\\\\\\\\=\\\\\\\\=|$|(===|!==|==|!=)|(([\\\\\\\\&\\\\\\\\~\\\\\\\\^\\\\\\\\|]\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s+instanceof(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\s*[\\\\\\\\(]))))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.interface.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.ts\\\"}},\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G({)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?[\\\\\\\\(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?[\\\\\\\\(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[\\\\\\\\(\\\\\\\\<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\(|\\\\\\\\<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.ts entity.name.function.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[_$[:alpha:]\\\\\\\"'`]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})|(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.namespace.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.ts\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-\\\\\\\\+\\\\\\\\>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|\\\\\\\\!\\\\\\\\=\\\\\\\\=|$|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\s*[\\\\\\\\(]))))\\\",\\\"name\\\":\\\"new.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.ts\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.ts\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.ts\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(?:(\\\\\\\\#?[[:upper:]][_$[:digit:][:upper:]]*)|(\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.ts\\\"}},\\\"match\\\":\\\"(?:([[:upper:]][_$[:digit:][:upper:]]*)|([_$[:alpha:]][_$[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$[:alpha:]][_$[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?[\\\\\\\\(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?[\\\\\\\\(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\(|\\\\\\\\<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\]])(?=\\\\\\\\s*[\\\\\\\\(\\\\\\\\<]))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=((\\\\\\\\s*[\\\\\\\\(\\\\\\\\<,}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=(\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([\\\\\\\\(\\\\\\\\<,}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[\\\\\\\\]\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=\\\\\\\\s*[\\\\\\\\(\\\\\\\\<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"}},\\\"match\\\":\\\"(?![_$[:alpha:]])([[:digit:]]+)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"(?:([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"}},\\\"match\\\":\\\"(?:[_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.ts\\\"}},\\\"end\\\":\\\"(?=[;),}\\\\\\\\]:?\\\\\\\\-\\\\\\\\+\\\\\\\\>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|\\\\\\\\!\\\\\\\\=\\\\\\\\=|$|^|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts punctuation.separator.key-value.ts\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=\\\\\\\\<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?=[,)])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(=,])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(=,]|=>|^return|[^\\\\\\\\._$[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts\\\"}},\\\"contentName\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.ts\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\")|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.double.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\\')|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.single.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[=(:,\\\\\\\\[?+!]|^return|[^\\\\\\\\._$[:alnum:]]return|^case|[^\\\\\\\\._$[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*\\\\\\\\/)\\\\\\\\s*(\\\\\\\\/)(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\()]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\]|\\\\\\\\(([^\\\\\\\\)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![_$[:alnum:])\\\\\\\\]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*\\\\\\\\/)|((?<=^return|[^\\\\\\\\._$[:alnum:]]return|^case|[^\\\\\\\\._$[:alnum:]]case))\\\\\\\\s*)\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[wWsSdDtrnvf]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[bB]|\\\\\\\\^|\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d*|\\\\\\\\\\\\\\\\k<([a-zA-Z_$][\\\\\\\\w$]*)>\\\"},{\\\"match\\\":\\\"[?+*]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)\\\\\\\\}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|(?:\\\\\\\\?<([a-zA-Z_$][\\\\\\\\w$]*)>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\\\\\\-(?:[^\\\\\\\\]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![:|&])(?=$|^|[{};,]|//)\\\",\\\"name\\\":\\\"meta.return.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[{};,]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[:|&])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.ts\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.ts\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\\\\\{[0-9A-Fa-f]+\\\\\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.ts\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.ts\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*[\\\\\\\\(]\\\\\\\\s*[\\\\\\\\\\\\\\\"\\\\\\\\'\\\\\\\\`]))\\\",\\\"name\\\":\\\"keyword.operator.expression.import.ts\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(?:(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"switch-statement.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"switch-expression.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\})\\\",\\\"name\\\":\\\"switch-block.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.ts\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.ts\\\"}},\\\"contentName\\\":\\\"meta.block.ts\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>|\\\\\\\\<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([\\\\\\\\<\\\\\\\\>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>\\\\\\\\(]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)\\\\\\\\>)*(?<!=)\\\\\\\\>))*(?<!=)\\\\\\\\>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*[^[:digit:]])(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.ts\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.type.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![:|&])(?!\\\\\\\\s*[|&]\\\\\\\\s+)((?=^|[,);\\\\\\\\}\\\\\\\\]]|//)|(?==[^>])|((?<=[\\\\\\\\}>\\\\\\\\]\\\\\\\\)]|[_$[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[,);\\\\\\\\}\\\\\\\\]]|\\\\\\\\/\\\\\\\\/)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[\\\\\\\\}>\\\\\\\\]\\\\\\\\)]|[_$[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"\\\\\\\\<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.ts\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.ts storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.ts keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=[(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])(?=[,\\\\\\\\]\\\\\\\\)\\\\\\\\{\\\\\\\\}=;>:\\\\\\\\?]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])((?=[,\\\\\\\\]\\\\\\\\)\\\\\\\\{\\\\\\\\}=;:\\\\\\\\?>]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([_$[:alpha:]][_$[:alnum:]]*)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.ts\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[[:digit:]])))\\\"},{\\\"match\\\":\\\"[_$[:alpha:]][_$[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.ts\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.object.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.ts\\\"},{\\\"match\\\":\\\"(\\\\\\\\?|\\\\\\\\:)\\\",\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.ts\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\\\\\\\\s(is)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.ts\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.ts\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.type.tuple.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([_$[:alpha:]][_$[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.ts\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]=>:&|{\\\\\\\\?]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.ts\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^let|[^\\\\\\\\._$[:alnum:]]let|^var|[^\\\\\\\\._$[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?!(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^const|[^\\\\\\\\._$[:alnum:]]const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?!(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^using|[^\\\\\\\\._$[:alnum:]]using|^await\\\\\\\\s+using|[^\\\\\\\\._$[:alnum:]]await\\\\\\\\s+using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b))(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=\\\\\\\\/\\\\\\\\/))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$[:alnum:]]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[\\\\\\\\(]\\\\\\\\s*((([\\\\\\\\{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|\\\\\\\\<\\\\\\\\s*(((const\\\\\\\\s+)?[_$[:alpha:]])|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*\\\\\\\\>)*\\\\\\\\>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$[:alpha:]]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|(\\\\\\\\{([^\\\\\\\\{\\\\\\\\}]|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$[:alpha:]]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|(\\\\\\\\(([^\\\\\\\\(\\\\\\\\)]|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>\\\\\\\\(\\\\\\\\)\\\\\\\\{\\\\\\\\}]|\\\\\\\\<([^<>]|\\\\\\\\<([^<>]|\\\\\\\\<[^<>]+\\\\\\\\>)+\\\\\\\\>)+\\\\\\\\>|\\\\\\\\([^\\\\\\\\(\\\\\\\\)]+\\\\\\\\)|\\\\\\\\{[^\\\\\\\\{\\\\\\\\}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])(\\\\\\\\!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$[:alpha:]][_$[:alnum:]]*)(\\\\\\\\!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$[:alpha:]])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,);}\\\\\\\\]]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]]|((?<![_$[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![\\\\\\\\|\\\\\\\\&\\\\\\\\+\\\\\\\\-\\\\\\\\*\\\\\\\\/])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.ts\\\",\\\"aliases\\\":[\\\"ts\\\"]}\"))\n\nexport default [\nlang\n]\n","/* Theme: github-dark-default */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#f78166\\\",\\\"activityBar.background\\\":\\\"#0d1117\\\",\\\"activityBar.border\\\":\\\"#30363d\\\",\\\"activityBar.foreground\\\":\\\"#e6edf3\\\",\\\"activityBar.inactiveForeground\\\":\\\"#7d8590\\\",\\\"activityBarBadge.background\\\":\\\"#1f6feb\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#1f6feb\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#7d8590\\\",\\\"breadcrumb.focusForeground\\\":\\\"#e6edf3\\\",\\\"breadcrumb.foreground\\\":\\\"#7d8590\\\",\\\"breadcrumbPicker.background\\\":\\\"#161b22\\\",\\\"button.background\\\":\\\"#238636\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#2ea043\\\",\\\"button.secondaryBackground\\\":\\\"#282e33\\\",\\\"button.secondaryForeground\\\":\\\"#c9d1d9\\\",\\\"button.secondaryHoverBackground\\\":\\\"#30363d\\\",\\\"checkbox.background\\\":\\\"#161b22\\\",\\\"checkbox.border\\\":\\\"#30363d\\\",\\\"debugConsole.errorForeground\\\":\\\"#ffa198\\\",\\\"debugConsole.infoForeground\\\":\\\"#8b949e\\\",\\\"debugConsole.sourceForeground\\\":\\\"#e3b341\\\",\\\"debugConsole.warningForeground\\\":\\\"#d29922\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#bc8cff\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f85149\\\",\\\"debugTokenExpression.boolean\\\":\\\"#56d364\\\",\\\"debugTokenExpression.error\\\":\\\"#ffa198\\\",\\\"debugTokenExpression.name\\\":\\\"#79c0ff\\\",\\\"debugTokenExpression.number\\\":\\\"#56d364\\\",\\\"debugTokenExpression.string\\\":\\\"#a5d6ff\\\",\\\"debugTokenExpression.value\\\":\\\"#a5d6ff\\\",\\\"debugToolBar.background\\\":\\\"#161b22\\\",\\\"descriptionForeground\\\":\\\"#7d8590\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#23863626\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#3fb9504d\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#da363326\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff7b724d\\\",\\\"dropdown.background\\\":\\\"#161b22\\\",\\\"dropdown.border\\\":\\\"#30363d\\\",\\\"dropdown.foreground\\\":\\\"#e6edf3\\\",\\\"dropdown.listBackground\\\":\\\"#161b22\\\",\\\"editor.background\\\":\\\"#0d1117\\\",\\\"editor.findMatchBackground\\\":\\\"#9e6a03\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#f2cc6080\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#2ea04366\\\",\\\"editor.foldBackground\\\":\\\"#6e76811a\\\",\\\"editor.foreground\\\":\\\"#e6edf3\\\",\\\"editor.lineHighlightBackground\\\":\\\"#6e76811a\\\",\\\"editor.linkedEditingBackground\\\":\\\"#2f81f712\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#3fb95040\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#bb800966\\\",\\\"editor.wordHighlightBackground\\\":\\\"#6e768180\\\",\\\"editor.wordHighlightBorder\\\":\\\"#6e768199\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#6e76814d\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#6e768199\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#79c0ff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#56d364\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#e3b341\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#ffa198\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#ff9bce\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d2a8ff\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#7d8590\\\",\\\"editorBracketMatch.background\\\":\\\"#3fb95040\\\",\\\"editorBracketMatch.border\\\":\\\"#3fb95099\\\",\\\"editorCursor.foreground\\\":\\\"#2f81f7\\\",\\\"editorGroup.border\\\":\\\"#30363d\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#010409\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#30363d\\\",\\\"editorGutter.addedBackground\\\":\\\"#2ea04366\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f8514966\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#bb800966\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#e6edf33d\\\",\\\"editorIndentGuide.background\\\":\\\"#e6edf31f\\\",\\\"editorInlayHint.background\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.foreground\\\":\\\"#7d8590\\\",\\\"editorInlayHint.paramBackground\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.paramForeground\\\":\\\"#7d8590\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#7d8590\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#e6edf3\\\",\\\"editorLineNumber.foreground\\\":\\\"#6e7681\\\",\\\"editorOverviewRuler.border\\\":\\\"#010409\\\",\\\"editorWhitespace.foreground\\\":\\\"#484f58\\\",\\\"editorWidget.background\\\":\\\"#161b22\\\",\\\"errorForeground\\\":\\\"#f85149\\\",\\\"focusBorder\\\":\\\"#1f6feb\\\",\\\"foreground\\\":\\\"#e6edf3\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#3fb950\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#db6d28\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f85149\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e7681\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d29922\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#7d8590\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#3fb950\\\",\\\"icon.foreground\\\":\\\"#7d8590\\\",\\\"input.background\\\":\\\"#0d1117\\\",\\\"input.border\\\":\\\"#30363d\\\",\\\"input.foreground\\\":\\\"#e6edf3\\\",\\\"input.placeholderForeground\\\":\\\"#6e7681\\\",\\\"keybindingLabel.foreground\\\":\\\"#e6edf3\\\",\\\"list.activeSelectionBackground\\\":\\\"#6e768166\\\",\\\"list.activeSelectionForeground\\\":\\\"#e6edf3\\\",\\\"list.focusBackground\\\":\\\"#388bfd26\\\",\\\"list.focusForeground\\\":\\\"#e6edf3\\\",\\\"list.highlightForeground\\\":\\\"#2f81f7\\\",\\\"list.hoverBackground\\\":\\\"#6e76811a\\\",\\\"list.hoverForeground\\\":\\\"#e6edf3\\\",\\\"list.inactiveFocusBackground\\\":\\\"#388bfd26\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#6e768166\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#e6edf3\\\",\\\"minimapSlider.activeBackground\\\":\\\"#8b949e47\\\",\\\"minimapSlider.background\\\":\\\"#8b949e33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#8b949e3d\\\",\\\"notificationCenterHeader.background\\\":\\\"#161b22\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#7d8590\\\",\\\"notifications.background\\\":\\\"#161b22\\\",\\\"notifications.border\\\":\\\"#30363d\\\",\\\"notifications.foreground\\\":\\\"#e6edf3\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f85149\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#2f81f7\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#d29922\\\",\\\"panel.background\\\":\\\"#010409\\\",\\\"panel.border\\\":\\\"#30363d\\\",\\\"panelInput.border\\\":\\\"#30363d\\\",\\\"panelTitle.activeBorder\\\":\\\"#f78166\\\",\\\"panelTitle.activeForeground\\\":\\\"#e6edf3\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#7d8590\\\",\\\"peekViewEditor.background\\\":\\\"#6e76811a\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#bb800966\\\",\\\"peekViewResult.background\\\":\\\"#0d1117\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#bb800966\\\",\\\"pickerGroup.border\\\":\\\"#30363d\\\",\\\"pickerGroup.foreground\\\":\\\"#7d8590\\\",\\\"progressBar.background\\\":\\\"#1f6feb\\\",\\\"quickInput.background\\\":\\\"#161b22\\\",\\\"quickInput.foreground\\\":\\\"#e6edf3\\\",\\\"scrollbar.shadow\\\":\\\"#484f5833\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#8b949e47\\\",\\\"scrollbarSlider.background\\\":\\\"#8b949e33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#8b949e3d\\\",\\\"settings.headerForeground\\\":\\\"#e6edf3\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#bb800966\\\",\\\"sideBar.background\\\":\\\"#010409\\\",\\\"sideBar.border\\\":\\\"#30363d\\\",\\\"sideBar.foreground\\\":\\\"#e6edf3\\\",\\\"sideBarSectionHeader.background\\\":\\\"#010409\\\",\\\"sideBarSectionHeader.border\\\":\\\"#30363d\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#e6edf3\\\",\\\"sideBarTitle.foreground\\\":\\\"#e6edf3\\\",\\\"statusBar.background\\\":\\\"#0d1117\\\",\\\"statusBar.border\\\":\\\"#30363d\\\",\\\"statusBar.debuggingBackground\\\":\\\"#da3633\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.focusBorder\\\":\\\"#1f6feb80\\\",\\\"statusBar.foreground\\\":\\\"#7d8590\\\",\\\"statusBar.noFolderBackground\\\":\\\"#0d1117\\\",\\\"statusBarItem.activeBackground\\\":\\\"#e6edf31f\\\",\\\"statusBarItem.focusBorder\\\":\\\"#1f6feb\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#e6edf314\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#6e768166\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#30363d\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#e6edf3\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.classForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.colorForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.constantForeground\\\":[\\\"#aff5b4\\\",\\\"#7ee787\\\",\\\"#56d364\\\",\\\"#3fb950\\\",\\\"#2ea043\\\",\\\"#238636\\\",\\\"#196c2e\\\",\\\"#0f5323\\\",\\\"#033a16\\\",\\\"#04260f\\\"],\\\"symbolIcon.constructorForeground\\\":\\\"#d2a8ff\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.eventForeground\\\":\\\"#6e7681\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.fileForeground\\\":\\\"#d29922\\\",\\\"symbolIcon.folderForeground\\\":\\\"#d29922\\\",\\\"symbolIcon.functionForeground\\\":\\\"#bc8cff\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.keyForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.methodForeground\\\":\\\"#bc8cff\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.nullForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.numberForeground\\\":\\\"#3fb950\\\",\\\"symbolIcon.objectForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.packageForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.stringForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.structForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.textForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.unitForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.variableForeground\\\":\\\"#f0883e\\\",\\\"tab.activeBackground\\\":\\\"#0d1117\\\",\\\"tab.activeBorder\\\":\\\"#0d1117\\\",\\\"tab.activeBorderTop\\\":\\\"#f78166\\\",\\\"tab.activeForeground\\\":\\\"#e6edf3\\\",\\\"tab.border\\\":\\\"#30363d\\\",\\\"tab.hoverBackground\\\":\\\"#0d1117\\\",\\\"tab.inactiveBackground\\\":\\\"#010409\\\",\\\"tab.inactiveForeground\\\":\\\"#7d8590\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0d1117\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#30363d\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#6e76811a\\\",\\\"terminal.ansiBlack\\\":\\\"#484f58\\\",\\\"terminal.ansiBlue\\\":\\\"#58a6ff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#6e7681\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#79c0ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56d4dd\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#56d364\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d2a8ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ffa198\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e3b341\\\",\\\"terminal.ansiCyan\\\":\\\"#39c5cf\\\",\\\"terminal.ansiGreen\\\":\\\"#3fb950\\\",\\\"terminal.ansiMagenta\\\":\\\"#bc8cff\\\",\\\"terminal.ansiRed\\\":\\\"#ff7b72\\\",\\\"terminal.ansiWhite\\\":\\\"#b1bac4\\\",\\\"terminal.ansiYellow\\\":\\\"#d29922\\\",\\\"terminal.foreground\\\":\\\"#e6edf3\\\",\\\"textBlockQuote.background\\\":\\\"#010409\\\",\\\"textBlockQuote.border\\\":\\\"#30363d\\\",\\\"textCodeBlock.background\\\":\\\"#6e768166\\\",\\\"textLink.activeForeground\\\":\\\"#2f81f7\\\",\\\"textLink.foreground\\\":\\\"#2f81f7\\\",\\\"textPreformat.background\\\":\\\"#6e768166\\\",\\\"textPreformat.foreground\\\":\\\"#7d8590\\\",\\\"textSeparator.foreground\\\":\\\"#21262d\\\",\\\"titleBar.activeBackground\\\":\\\"#0d1117\\\",\\\"titleBar.activeForeground\\\":\\\"#7d8590\\\",\\\"titleBar.border\\\":\\\"#30363d\\\",\\\"titleBar.inactiveBackground\\\":\\\"#010409\\\",\\\"titleBar.inactiveForeground\\\":\\\"#7d8590\\\",\\\"tree.indentGuidesStroke\\\":\\\"#21262d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#21262d\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#30363d\\\"},\\\"displayName\\\":\\\"GitHub Dark Default\\\",\\\"name\\\":\\\"github-dark-default\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8b949e\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\",\\\"entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"meta.export.default\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function\\\",\\\"meta.jsx.children\\\",\\\"meta.block\\\",\\\"meta.tag.attributes\\\",\\\"entity.name.constant\\\",\\\"meta.object.member\\\",\\\"meta.embedded.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a8ff\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#ff7b72\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#f0f6fc\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#490202\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#04260f\\\",\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#5a1e02\\\",\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#79c0ff\\\",\\\"foreground\\\":\\\"#161b22\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#d2a8ff\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8b949e\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: github-light-default */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#fd8c73\\\",\\\"activityBar.background\\\":\\\"#ffffff\\\",\\\"activityBar.border\\\":\\\"#d0d7de\\\",\\\"activityBar.foreground\\\":\\\"#1f2328\\\",\\\"activityBar.inactiveForeground\\\":\\\"#656d76\\\",\\\"activityBarBadge.background\\\":\\\"#0969da\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#0969da\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#656d76\\\",\\\"breadcrumb.focusForeground\\\":\\\"#1f2328\\\",\\\"breadcrumb.foreground\\\":\\\"#656d76\\\",\\\"breadcrumbPicker.background\\\":\\\"#ffffff\\\",\\\"button.background\\\":\\\"#1f883d\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#1a7f37\\\",\\\"button.secondaryBackground\\\":\\\"#ebecf0\\\",\\\"button.secondaryForeground\\\":\\\"#24292f\\\",\\\"button.secondaryHoverBackground\\\":\\\"#f3f4f6\\\",\\\"checkbox.background\\\":\\\"#f6f8fa\\\",\\\"checkbox.border\\\":\\\"#d0d7de\\\",\\\"debugConsole.errorForeground\\\":\\\"#cf222e\\\",\\\"debugConsole.infoForeground\\\":\\\"#57606a\\\",\\\"debugConsole.sourceForeground\\\":\\\"#9a6700\\\",\\\"debugConsole.warningForeground\\\":\\\"#7d4e00\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#6639ba\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#cf222e\\\",\\\"debugTokenExpression.boolean\\\":\\\"#116329\\\",\\\"debugTokenExpression.error\\\":\\\"#a40e26\\\",\\\"debugTokenExpression.name\\\":\\\"#0550ae\\\",\\\"debugTokenExpression.number\\\":\\\"#116329\\\",\\\"debugTokenExpression.string\\\":\\\"#0a3069\\\",\\\"debugTokenExpression.value\\\":\\\"#0a3069\\\",\\\"debugToolBar.background\\\":\\\"#ffffff\\\",\\\"descriptionForeground\\\":\\\"#656d76\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#aceebb4d\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#6fdd8b80\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#ffcecb4d\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff818266\\\",\\\"dropdown.background\\\":\\\"#ffffff\\\",\\\"dropdown.border\\\":\\\"#d0d7de\\\",\\\"dropdown.foreground\\\":\\\"#1f2328\\\",\\\"dropdown.listBackground\\\":\\\"#ffffff\\\",\\\"editor.background\\\":\\\"#ffffff\\\",\\\"editor.findMatchBackground\\\":\\\"#bf8700\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#fae17d80\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#4ac26b66\\\",\\\"editor.foldBackground\\\":\\\"#6e77811a\\\",\\\"editor.foreground\\\":\\\"#1f2328\\\",\\\"editor.lineHighlightBackground\\\":\\\"#eaeef280\\\",\\\"editor.linkedEditingBackground\\\":\\\"#0969da12\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#4ac26b40\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#d4a72c66\\\",\\\"editor.wordHighlightBackground\\\":\\\"#eaeef280\\\",\\\"editor.wordHighlightBorder\\\":\\\"#afb8c199\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#afb8c14d\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#afb8c199\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#0969da\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#1a7f37\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#9a6700\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#cf222e\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#bf3989\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#8250df\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#656d76\\\",\\\"editorBracketMatch.background\\\":\\\"#4ac26b40\\\",\\\"editorBracketMatch.border\\\":\\\"#4ac26b99\\\",\\\"editorCursor.foreground\\\":\\\"#0969da\\\",\\\"editorGroup.border\\\":\\\"#d0d7de\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#f6f8fa\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#d0d7de\\\",\\\"editorGutter.addedBackground\\\":\\\"#4ac26b66\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ff818266\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#d4a72c66\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#1f23283d\\\",\\\"editorIndentGuide.background\\\":\\\"#1f23281f\\\",\\\"editorInlayHint.background\\\":\\\"#afb8c133\\\",\\\"editorInlayHint.foreground\\\":\\\"#656d76\\\",\\\"editorInlayHint.paramBackground\\\":\\\"#afb8c133\\\",\\\"editorInlayHint.paramForeground\\\":\\\"#656d76\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#afb8c133\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#656d76\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#1f2328\\\",\\\"editorLineNumber.foreground\\\":\\\"#8c959f\\\",\\\"editorOverviewRuler.border\\\":\\\"#ffffff\\\",\\\"editorWhitespace.foreground\\\":\\\"#afb8c1\\\",\\\"editorWidget.background\\\":\\\"#ffffff\\\",\\\"errorForeground\\\":\\\"#cf222e\\\",\\\"focusBorder\\\":\\\"#0969da\\\",\\\"foreground\\\":\\\"#1f2328\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#1a7f37\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#bc4c00\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cf222e\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e7781\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#9a6700\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#656d76\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#1a7f37\\\",\\\"icon.foreground\\\":\\\"#656d76\\\",\\\"input.background\\\":\\\"#ffffff\\\",\\\"input.border\\\":\\\"#d0d7de\\\",\\\"input.foreground\\\":\\\"#1f2328\\\",\\\"input.placeholderForeground\\\":\\\"#6e7781\\\",\\\"keybindingLabel.foreground\\\":\\\"#1f2328\\\",\\\"list.activeSelectionBackground\\\":\\\"#afb8c133\\\",\\\"list.activeSelectionForeground\\\":\\\"#1f2328\\\",\\\"list.focusBackground\\\":\\\"#ddf4ff\\\",\\\"list.focusForeground\\\":\\\"#1f2328\\\",\\\"list.highlightForeground\\\":\\\"#0969da\\\",\\\"list.hoverBackground\\\":\\\"#eaeef280\\\",\\\"list.hoverForeground\\\":\\\"#1f2328\\\",\\\"list.inactiveFocusBackground\\\":\\\"#ddf4ff\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#afb8c133\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#1f2328\\\",\\\"minimapSlider.activeBackground\\\":\\\"#8c959f47\\\",\\\"minimapSlider.background\\\":\\\"#8c959f33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#8c959f3d\\\",\\\"notificationCenterHeader.background\\\":\\\"#f6f8fa\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#656d76\\\",\\\"notifications.background\\\":\\\"#ffffff\\\",\\\"notifications.border\\\":\\\"#d0d7de\\\",\\\"notifications.foreground\\\":\\\"#1f2328\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#cf222e\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#0969da\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#9a6700\\\",\\\"panel.background\\\":\\\"#f6f8fa\\\",\\\"panel.border\\\":\\\"#d0d7de\\\",\\\"panelInput.border\\\":\\\"#d0d7de\\\",\\\"panelTitle.activeBorder\\\":\\\"#fd8c73\\\",\\\"panelTitle.activeForeground\\\":\\\"#1f2328\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#656d76\\\",\\\"pickerGroup.border\\\":\\\"#d0d7de\\\",\\\"pickerGroup.foreground\\\":\\\"#656d76\\\",\\\"progressBar.background\\\":\\\"#0969da\\\",\\\"quickInput.background\\\":\\\"#ffffff\\\",\\\"quickInput.foreground\\\":\\\"#1f2328\\\",\\\"scrollbar.shadow\\\":\\\"#6e778133\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#8c959f47\\\",\\\"scrollbarSlider.background\\\":\\\"#8c959f33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#8c959f3d\\\",\\\"settings.headerForeground\\\":\\\"#1f2328\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#d4a72c66\\\",\\\"sideBar.background\\\":\\\"#f6f8fa\\\",\\\"sideBar.border\\\":\\\"#d0d7de\\\",\\\"sideBar.foreground\\\":\\\"#1f2328\\\",\\\"sideBarSectionHeader.background\\\":\\\"#f6f8fa\\\",\\\"sideBarSectionHeader.border\\\":\\\"#d0d7de\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#1f2328\\\",\\\"sideBarTitle.foreground\\\":\\\"#1f2328\\\",\\\"statusBar.background\\\":\\\"#ffffff\\\",\\\"statusBar.border\\\":\\\"#d0d7de\\\",\\\"statusBar.debuggingBackground\\\":\\\"#cf222e\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.focusBorder\\\":\\\"#0969da80\\\",\\\"statusBar.foreground\\\":\\\"#656d76\\\",\\\"statusBar.noFolderBackground\\\":\\\"#ffffff\\\",\\\"statusBarItem.activeBackground\\\":\\\"#1f23281f\\\",\\\"statusBarItem.focusBorder\\\":\\\"#0969da\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#1f232814\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#afb8c133\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#eaeef2\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#1f2328\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#953800\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.classForeground\\\":\\\"#953800\\\",\\\"symbolIcon.colorForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.constantForeground\\\":\\\"#116329\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#3e1f79\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#953800\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.eventForeground\\\":\\\"#57606a\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#953800\\\",\\\"symbolIcon.fileForeground\\\":\\\"#7d4e00\\\",\\\"symbolIcon.folderForeground\\\":\\\"#7d4e00\\\",\\\"symbolIcon.functionForeground\\\":\\\"#6639ba\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#953800\\\",\\\"symbolIcon.keyForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#a40e26\\\",\\\"symbolIcon.methodForeground\\\":\\\"#6639ba\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#a40e26\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#a40e26\\\",\\\"symbolIcon.nullForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.numberForeground\\\":\\\"#116329\\\",\\\"symbolIcon.objectForeground\\\":\\\"#953800\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.packageForeground\\\":\\\"#953800\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#953800\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.stringForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.structForeground\\\":\\\"#953800\\\",\\\"symbolIcon.textForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.unitForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.variableForeground\\\":\\\"#953800\\\",\\\"tab.activeBackground\\\":\\\"#ffffff\\\",\\\"tab.activeBorder\\\":\\\"#ffffff\\\",\\\"tab.activeBorderTop\\\":\\\"#fd8c73\\\",\\\"tab.activeForeground\\\":\\\"#1f2328\\\",\\\"tab.border\\\":\\\"#d0d7de\\\",\\\"tab.hoverBackground\\\":\\\"#ffffff\\\",\\\"tab.inactiveBackground\\\":\\\"#f6f8fa\\\",\\\"tab.inactiveForeground\\\":\\\"#656d76\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#ffffff\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#d0d7de\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#eaeef280\\\",\\\"terminal.ansiBlack\\\":\\\"#24292f\\\",\\\"terminal.ansiBlue\\\":\\\"#0969da\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#57606a\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#218bff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#3192aa\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#1a7f37\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#a475f9\\\",\\\"terminal.ansiBrightRed\\\":\\\"#a40e26\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#8c959f\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#633c01\\\",\\\"terminal.ansiCyan\\\":\\\"#1b7c83\\\",\\\"terminal.ansiGreen\\\":\\\"#116329\\\",\\\"terminal.ansiMagenta\\\":\\\"#8250df\\\",\\\"terminal.ansiRed\\\":\\\"#cf222e\\\",\\\"terminal.ansiWhite\\\":\\\"#6e7781\\\",\\\"terminal.ansiYellow\\\":\\\"#4d2d00\\\",\\\"terminal.foreground\\\":\\\"#1f2328\\\",\\\"textBlockQuote.background\\\":\\\"#f6f8fa\\\",\\\"textBlockQuote.border\\\":\\\"#d0d7de\\\",\\\"textCodeBlock.background\\\":\\\"#afb8c133\\\",\\\"textLink.activeForeground\\\":\\\"#0969da\\\",\\\"textLink.foreground\\\":\\\"#0969da\\\",\\\"textPreformat.background\\\":\\\"#afb8c133\\\",\\\"textPreformat.foreground\\\":\\\"#656d76\\\",\\\"textSeparator.foreground\\\":\\\"#d8dee4\\\",\\\"titleBar.activeBackground\\\":\\\"#ffffff\\\",\\\"titleBar.activeForeground\\\":\\\"#656d76\\\",\\\"titleBar.border\\\":\\\"#d0d7de\\\",\\\"titleBar.inactiveBackground\\\":\\\"#f6f8fa\\\",\\\"titleBar.inactiveForeground\\\":\\\"#656d76\\\",\\\"tree.indentGuidesStroke\\\":\\\"#d8dee4\\\",\\\"welcomePage.buttonBackground\\\":\\\"#f6f8fa\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#f3f4f6\\\"},\\\"displayName\\\":\\\"GitHub Light Default\\\",\\\"name\\\":\\\"github-light-default\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6e7781\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cf222e\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\",\\\"entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"meta.export.default\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#953800\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function\\\",\\\"meta.jsx.children\\\",\\\"meta.block\\\",\\\"meta.tag.attributes\\\",\\\"entity.name.constant\\\",\\\"meta.object.member\\\",\\\"meta.embedded.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8250df\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cf222e\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cf222e\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0a3069\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#953800\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#cf222e\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#f6f8fa\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0a3069\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0a3069\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#953800\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffebe9\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cf222e\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#dafbe1\\\",\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffd8b5\\\",\\\"foreground\\\":\\\"#953800\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#0550ae\\\",\\\"foreground\\\":\\\"#eaeef2\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8250df\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#57606a\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0a3069\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","// `shiki/core` entry does not include any themes or languages or the wasm binary.\nimport { createHighlighterCore, type ThemeRegistration } from 'shiki/core';\nimport { createJavaScriptRegexEngine } from 'shiki/engine/javascript';\n\n// Directly import the theme and language modules, only the ones you imported will be bundled.\n\n// Named import vs. file-based import:\n// - Named imports\n//   - webchat*.js file size is the same, tree shaking is good\n//   - It emits more *.mjs files, huge tarball size\n// - File-based imports\n//   - It emits less *.mjs files, good tarball size\nimport languageJavaScript from 'shiki/langs/js.mjs';\nimport languagePython from 'shiki/langs/py.mjs';\nimport languageTypeScript from 'shiki/langs/ts.mjs';\nimport themeGitHubDark from 'shiki/themes/github-dark-default.mjs';\nimport themeGitHubLight from 'shiki/themes/github-light-default.mjs';\n\nfunction adjustTheme(theme: ThemeRegistration): ThemeRegistration {\n  return {\n    ...theme,\n    colors: {\n      ...theme.colors,\n      'editor.background': `transparent`\n    }\n  };\n}\n\nfunction createHighlighter() {\n  return createHighlighterCore({\n    engine: createJavaScriptRegexEngine(),\n    langs: [languageJavaScript, languagePython, languageTypeScript],\n    themes: [adjustTheme(themeGitHubDark), adjustTheme(themeGitHubLight)]\n  });\n}\n\nexport default createHighlighter;\n","// TODO: [P2] This component can be replaced by `bindProps`.\nimport { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { InjectStyleElements, injectStyleElementsPropsSchema } from 'botframework-webchat-component/internal.js';\nimport { useStyleOptions } from 'botframework-webchat-component/hook.js';\nimport React, { memo, type FunctionComponent } from 'react';\nimport { never, object, optional, pipe, readonly, string, undefinedable, type InferInput } from 'valibot';\n\nimport createBundleStyleElements from './createBundleStyleElements';\n\nconst bundleStylesheetPropsSchema = pipe(\n  object({\n    at: optional(injectStyleElementsPropsSchema.entries.at),\n    children: optional(never()),\n    nonce: undefinedable(string())\n  }),\n  readonly()\n);\n\ntype BundleStylesheetProps = InferInput<typeof bundleStylesheetPropsSchema>;\n\nconst styleElements = createBundleStyleElements('bundle');\n\nfunction BundleStylesheet(props: BundleStylesheetProps) {\n  const { nonce, at } = validateProps(bundleStylesheetPropsSchema, props);\n\n  const [{ stylesRoot }] = useStyleOptions();\n\n  return <InjectStyleElements at={at ?? stylesRoot} nonce={nonce} styleElements={styleElements} />;\n}\n\nBundleStylesheet.displayName = 'BundleStylesheet';\n\nexport default memo(BundleStylesheet as FunctionComponent<BundleStylesheetProps>);\nexport { bundleStylesheetPropsSchema, type BundleStylesheetProps };\n","function createStyle(content: string, origin?: string) {\n  const style = document.createElement('style');\n\n  style.append(document.createTextNode(content));\n\n  if (origin) {\n    style.dataset['webchatInjected'] = origin;\n  }\n\n  return style;\n}\n\nexport default function makeCreateStyles(...contents: string[]) {\n  return function createStyles(origin?: string) {\n    if (!globalThis.document) {\n      throw new Error('Unable to create styles: document is not defined');\n    }\n\n    return contents.map(content => createStyle(content, origin));\n  };\n}\n","import { makeCreateStyles } from '@msinternal/botframework-webchat-styles';\n\nconst bundleStyleContent = '@--BUNDLE-STYLES-CONTENT--@';\n\nconst createBundleStyleElements = makeCreateStyles(bundleStyleContent);\n\nexport default createBundleStyleElements;\nexport { bundleStyleContent };\n","import { AttachmentForScreenReaderMiddleware, AttachmentMiddleware } from 'botframework-webchat-api';\nimport { type HTMLContentTransformMiddleware } from 'botframework-webchat-component';\nimport { useMemo } from 'react';\n\nimport createAdaptiveCardsAttachmentForScreenReaderMiddleware from './adaptiveCards/createAdaptiveCardsAttachmentForScreenReaderMiddleware';\nimport createAdaptiveCardsAttachmentMiddleware from './adaptiveCards/createAdaptiveCardsAttachmentMiddleware';\nimport createAdaptiveCardsStyleSet from './adaptiveCards/Styles/createAdaptiveCardsStyleSet';\nimport createHTMLContentTransformMiddleware from './markdown/createHTMLContentTransformMiddleware';\nimport defaultRenderMarkdown from './markdown/renderMarkdown';\n\nexport default function useComposerProps({\n  attachmentForScreenReaderMiddleware,\n  attachmentMiddleware,\n  htmlContentTransformMiddleware,\n  renderMarkdown,\n  styleOptions,\n  styleSet\n}: Readonly<{\n  attachmentForScreenReaderMiddleware: readonly AttachmentForScreenReaderMiddleware[] | undefined;\n  attachmentMiddleware: readonly AttachmentMiddleware[] | undefined;\n  htmlContentTransformMiddleware: readonly HTMLContentTransformMiddleware[];\n  renderMarkdown?: (\n    markdown: string,\n    newLineOptions: { markdownRespectCRLF: boolean },\n    linkOptions: { externalLinkAlt: string }\n  ) => string;\n  styleOptions: any;\n  styleSet: any;\n}>): Readonly<{\n  attachmentForScreenReaderMiddleware: AttachmentForScreenReaderMiddleware[];\n  attachmentMiddleware: AttachmentMiddleware[];\n  extraStyleSet: any;\n  htmlContentTransformMiddleware: readonly HTMLContentTransformMiddleware[];\n  renderMarkdown: (\n    markdown: string,\n    newLineOptions: { markdownRespectCRLF: boolean },\n    linkOptions: { externalLinkAlt: string }\n  ) => string;\n}> {\n  const patchedAttachmentMiddleware = useMemo(\n    () => [...(attachmentMiddleware ?? []), createAdaptiveCardsAttachmentMiddleware()],\n    [attachmentMiddleware]\n  );\n\n  const patchedAttachmentForScreenReaderMiddleware = useMemo(\n    () => [...(attachmentForScreenReaderMiddleware ?? []), createAdaptiveCardsAttachmentForScreenReaderMiddleware()],\n    [attachmentForScreenReaderMiddleware]\n  );\n\n  // When styleSet is not specified, the styleOptions will be used to create Adaptive Cards styleSet and merged into useStyleSet.\n  const extraStyleSet = useMemo(\n    () => (styleSet ? undefined : createAdaptiveCardsStyleSet(styleOptions)),\n    [styleOptions, styleSet]\n  );\n\n  const patchedRenderMarkdown = useMemo(\n    () => (typeof renderMarkdown === 'undefined' ? defaultRenderMarkdown : renderMarkdown),\n    [renderMarkdown]\n  );\n\n  const patchedHTMLContentTransformMiddleware = useMemo<readonly HTMLContentTransformMiddleware[]>(\n    () => Object.freeze([...(htmlContentTransformMiddleware || []), ...createHTMLContentTransformMiddleware()]),\n    [htmlContentTransformMiddleware]\n  );\n\n  return Object.freeze({\n    attachmentForScreenReaderMiddleware: patchedAttachmentForScreenReaderMiddleware,\n    attachmentMiddleware: patchedAttachmentMiddleware,\n    extraStyleSet,\n    htmlContentTransformMiddleware: patchedHTMLContentTransformMiddleware,\n    renderMarkdown: patchedRenderMarkdown\n  });\n}\n","import { normalizeStyleOptions, StrictStyleOptions, StyleOptions } from 'botframework-webchat-api';\n\nimport { type AdaptiveCardsStyleOptions, type StrictAdaptiveCardsStyleOptions } from '../AdaptiveCardsStyleOptions';\nimport { type AdaptiveCardsStyleSet } from '../AdaptiveCardsStyleSet';\nimport normalizeAdaptiveCardsStyleOptions from '../normalizeStyleOptions';\nimport createAdaptiveCardRendererStyle from './StyleSet/AdaptiveCardRenderer';\nimport createAnimationCardAttachmentStyle from './StyleSet/AnimationCardAttachment';\nimport createAudioCardAttachmentStyle from './StyleSet/AudioCardAttachment';\n\n// TODO: [P4] We should add a notice for people who want to use \"styleSet\" instead of \"styleOptions\".\n//       \"styleSet\" is actually CSS stylesheet and it is based on the DOM tree.\n//       DOM tree may change from time to time, thus, maintaining \"styleSet\" becomes a constant effort.\n\nexport default function createAdaptiveCardsStyleSet(\n  options: StyleOptions & AdaptiveCardsStyleOptions\n): AdaptiveCardsStyleSet {\n  const strictOptions: StrictStyleOptions & StrictAdaptiveCardsStyleOptions = {\n    ...normalizeStyleOptions(options),\n    ...normalizeAdaptiveCardsStyleOptions(options)\n  };\n\n  return {\n    adaptiveCardRenderer: createAdaptiveCardRendererStyle(strictOptions),\n    animationCardAttachment: createAnimationCardAttachmentStyle(),\n    audioCardAttachment: createAudioCardAttachmentStyle(strictOptions)\n  };\n}\n","import type { FullBundleStyleOptions } from '../../../types/FullBundleStyleOptions';\n\nexport default function ({\n  cardPushButtonBackgroundColor,\n  cardPushButtonTextColor,\n  accent,\n  paddingRegular,\n  primaryFont\n}: FullBundleStyleOptions) {\n  return {\n    '&.webchat__adaptive-card-renderer': {\n      // Related to #4075.\n      // Adaptive Cards assume its host is in \"forced border-box\" mode.\n      // In CSS, the default is \"content-box\" mode.\n      // https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing#values\n      '& *': {\n        boxSizing: 'border-box'\n      },\n\n      '& .ac-input, & .ac-inlineActionButton, & .ac-quickActionButton': {\n        fontFamily: primaryFont\n      },\n\n      '& .ac-multichoiceInput': {\n        padding: paddingRegular\n      },\n\n      '& .ac-pushButton': {\n        appearance: 'none',\n        backgroundColor: 'White',\n        borderStyle: 'solid',\n        borderWidth: 1,\n        color: accent,\n        fontWeight: 600,\n        padding: paddingRegular\n      },\n\n      '& .ac-pushButton.style-destructive': {\n        backgroundColor: '#E50000',\n        color: 'white'\n      },\n\n      '& .ac-pushButton.style-destructive:hover, & .ac-pushButton.style-destructive:active': {\n        backgroundColor: '#BF0000'\n      },\n\n      '& .ac-pushButton.style-positive': {\n        backgroundColor: '#0078D7',\n        color: 'white'\n      },\n\n      '& .ac-pushButton.style-positive:hover, & .ac-pushButton.style-positive:active': {\n        backgroundColor: '#006ABC'\n      },\n\n      // The following styles are copied from :disabled via Chromium.\n\n      '& .ac-pushButton, & input, & select, & textarea': {\n        '&[aria-disabled=\"true\"]': {\n          backgroundColor: 'rgba(239, 239, 239, 0.3)',\n          borderColor: 'rgba(118, 118, 118, 0.3)',\n          borderStyle: 'solid',\n          borderWidth: 1,\n          color: '#545454'\n        }\n      },\n\n      '& .ac-pushButton[aria-disabled=\"true\"]': {\n        backgroundColor: '#EEE',\n        color: '#4F4F4F'\n      },\n\n      '& .ac-pushButton[aria-pressed=\"true\"]': {\n        backgroundColor: cardPushButtonBackgroundColor,\n        borderColor: cardPushButtonBackgroundColor,\n        color: cardPushButtonTextColor,\n\n        '@media (forced-colors: active)': {\n          backgroundColor: 'Highlight',\n          borderColor: 'Highlight',\n          color: 'HighlightText',\n          forcedColorAdjust: 'none'\n        }\n      },\n\n      '& input[aria-disabled=\"true\"]': {\n        padding: '2px 1px'\n      }\n    }\n  };\n}\n","// TODO: [P4] We are moving attachments related to Adaptive Cards out of \"component\"\n//       Later, we will rewrite these attachments without Adaptive Cards\n//       We are leaving the CSS here as-is for now\n\nexport default function AnimationCardAttachment() {\n  return {\n    // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n    display: 'flex',\n    flexDirection: 'column',\n\n    '& > ul.media-list': {\n      // TODO: [P2] We should not set \"listStyleType\" in styleSet, the user have no good reasons to change this.\n      listStyleType: 'none',\n      margin: 0,\n      padding: 0\n    }\n  };\n}\n","// TODO: [P4] We are moving attachments related to Adaptive Cards out of \"component\"\n//       Later, we will rewrite these attachments without Adaptive Cards\n//       We are leaving the CSS here as-is for now\n\nexport default function AudioCardAttachment({ paddingRegular = undefined }) {\n  return {\n    // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n    display: 'flex',\n    flexDirection: 'column',\n\n    '& > ul.media-list': {\n      // TODO: [P2] We should not set \"listStyleType\" in styleSet, the user have no good reasons to change this.\n      listStyleType: 'none',\n      margin: paddingRegular,\n      padding: 0\n    }\n  };\n}\n","const languageClassPrefix = 'language-';\n\nexport default function codeBlockDocumentMod<T extends Document | DocumentFragment>(\n  documentFragment: T,\n  codeBlockTagName: string\n): T {\n  for (const preElement of [...documentFragment.querySelectorAll('pre:has(code:only-child)')]) {\n    const [codeElement] = preElement.children;\n\n    const language = [...codeElement.classList.values()]\n      .find(cls => cls.startsWith(languageClassPrefix))\n      ?.substring(languageClassPrefix.length);\n\n    const codeBlockRoot = document.createElement(codeBlockTagName);\n\n    language && codeBlockRoot.setAttribute('language', language);\n\n    codeBlockRoot.append(codeElement);\n\n    preElement.replaceWith(codeBlockRoot);\n  }\n\n  return documentFragment;\n}\n","import { type HTMLContentTransformMiddleware } from 'botframework-webchat-component';\n\nimport codeBlockDocumentMod from '../private/codeBlockDocumentMod';\n\nexport default function createCodeBlockMiddleware(): HTMLContentTransformMiddleware {\n  return () => next => request =>\n    next(\n      Object.freeze({\n        ...request,\n        allowedTags: Object.freeze(\n          new Map(request.allowedTags).set(\n            request.codeBlockTagName,\n            Object.freeze({\n              attributes: Object.freeze(new Set(['class', 'theme', 'language']))\n            })\n          )\n        ),\n        documentFragment: codeBlockDocumentMod(request.documentFragment, request.codeBlockTagName)\n      })\n    );\n}\n","import { type HTMLContentTransformMiddleware } from 'botframework-webchat-component';\nimport {\n  parseDocumentFragmentFromString,\n  serializeDocumentFragmentIntoString\n} from 'botframework-webchat-component/internal.js';\nimport sanitizeHTML from 'sanitize-html';\n\nconst BASE_SANITIZE_HTML_OPTIONS = Object.freeze({\n  allowedSchemes: ['data', 'http', 'https', 'ftp', 'mailto', 'sip', 'tel'],\n  // Bug of https://github.com/apostrophecms/sanitize-html/issues/633.\n  // They should not remove `alt=\"\"` even though it is empty.\n  nonBooleanAttributes: []\n});\n\nexport default function createSanitizeMiddleware(): HTMLContentTransformMiddleware {\n  return () => () => request => {\n    const { documentFragment } = request;\n\n    const htmlAfterBetterLink = serializeDocumentFragmentIntoString(documentFragment);\n\n    const htmlAfterSanitization = sanitizeHTML(htmlAfterBetterLink, {\n      ...BASE_SANITIZE_HTML_OPTIONS,\n      allowedAttributes: Object.fromEntries(\n        Array.from(request.allowedTags.entries()).map(\n          ([tag, { attributes }]) => [tag, Array.from(attributes)] satisfies [string, string[]]\n        )\n      ) satisfies Record<string, string[]>,\n      allowedTags: Array.from(request.allowedTags.keys() satisfies Iterator<string>) satisfies string[]\n    });\n\n    return parseDocumentFragmentFromString(htmlAfterSanitization);\n  };\n}\n","import { type HTMLContentTransformMiddleware } from 'botframework-webchat-component';\n\nimport createCodeBlockMiddleware from './middleware/createCodeBlockMiddleware';\nimport createSanitizeMiddleware from './middleware/createSanitizeMiddleware';\n\nexport default function createHTMLContentTransformMiddleware(): readonly HTMLContentTransformMiddleware[] {\n  return Object.freeze([createCodeBlockMiddleware(), createSanitizeMiddleware()]);\n}\n","import { Components, type ComposerProps } from 'botframework-webchat-component';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport AddFullBundle, { type AddFullBundleProps, type AddFullBundleChildren } from './AddFullBundle';\n\nconst { Composer } = Components;\n\ntype BaseFullComposerProps = ComposerProps & AddFullBundleProps;\n\ntype ComposerPropsChildren = ComposerProps['children'];\n\n/* The props of FullComposer are the union of Composer and AddFullBundle, except \"children\".\n * The union type of ComposerProps and AddFullBundleProps was not resolving correctly, so manually constructing the type here.\n */\ntype FullComposerProps = Omit<BaseFullComposerProps, 'children'> & {\n  children?: ComposerPropsChildren | AddFullBundleChildren;\n};\n\nconst FullComposer = (props: FullComposerProps) => (\n  <AddFullBundle {...props}>\n    {extraProps => (\n      <Composer {...props} {...extraProps}>\n        {/* We need to spread, thus, we cannot we destructuring assignment. */}\n        {/* eslint-disable-next-line react/destructuring-assignment */}\n        {props.children}\n      </Composer>\n    )}\n  </AddFullBundle>\n);\n\nFullComposer.defaultProps = {\n  ...Composer.defaultProps,\n  adaptiveCardsHostConfig: undefined,\n  adaptiveCardsPackage: undefined,\n  children: undefined\n};\n\nFullComposer.propTypes = {\n  ...Composer.propTypes,\n  adaptiveCardsHostConfig: PropTypes.any,\n  adaptiveCardsPackage: PropTypes.any,\n  children: PropTypes.any\n};\n\nexport default FullComposer;\n\nexport type { FullComposerProps };\n","export * from './minimal';\n\n// #region Adds\nexport { default as AdaptiveCardContent } from '../../../adaptiveCards/Attachment/AdaptiveCardContent';\nexport { default as AnimationCardContent } from '../../../adaptiveCards/Attachment/AnimationCardContent';\nexport { default as AudioCardContent } from '../../../adaptiveCards/Attachment/AudioCardContent';\nexport { default as HeroCardContent } from '../../../adaptiveCards/Attachment/HeroCardContent';\nexport { default as OAuthCardContent } from '../../../adaptiveCards/Attachment/OAuthCardContent';\nexport { default as ReceiptCardContent } from '../../../adaptiveCards/Attachment/ReceiptCardContent';\nexport { default as SignInCardContent } from '../../../adaptiveCards/Attachment/SignInCardContent';\nexport { default as ThumbnailCardContent } from '../../../adaptiveCards/Attachment/ThumbnailCardContent';\nexport { default as VideoCardContent } from '../../../adaptiveCards/Attachment/VideoCardContent';\nexport { default as ReactWebChat } from '../../../FullReactWebChat';\n// #endregion\n\n// #region Overrides\nexport { default as Composer } from '../../../FullComposer';\n// #endregion\n"],"mappings":"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AG7D,OAAO,IAAI,OAAO,MAAQe,EAAO,KAAK,GAAG,EAAI,IAAK,GAAG,CACvD,CCpHA,IAAMC,GAAmB,aAUlB,SAASC,GAAcC,EAAMC,EAAMC,EAAM,CAC9C,IAAMC,EAAQ,MAAQH,EAAK,SAAS,EAAE,EAAE,YAAY,EACpD,OAAOE,GAAQD,GAAQ,CAACH,GAAiB,KAAK,OAAO,aAAaG,CAAI,CAAC,EACnEE,EACAA,EAAQ,GACd,CCfA,IAAMC,GAAe,KAUd,SAASC,GAAUC,EAAMC,EAAMC,EAAM,CAC1C,IAAMC,EAAQ,KAAO,OAAOH,CAAI,EAChC,OAAOE,GAAQD,GAAQ,CAACH,GAAa,KAAK,OAAO,aAAaG,CAAI,CAAC,EAC/DE,EACAA,EAAQ,GACd,CCVO,IAAMC,GAA0B,CACrC,QACA,MACA,SACA,QACA,SACA,QACA,SACA,OACA,OACA,SACA,MACA,SACA,QACA,SACA,OACA,KACA,SACA,QACA,SACA,OACA,KACA,SACA,SACA,QACA,SACA,SACA,SACA,OACA,OACA,MACA,QACA,SACA,QACA,SACA,OACA,SACA,SACA,QACA,QACA,QACA,SACA,MACA,QACA,SACA,OACA,SACA,SACA,QACA,OACA,OACA,SACA,MACA,SACA,SACA,QACA,SACA,MACA,OACA,SACA,SACA,SACA,KACA,SACA,QACA,QACA,SACA,SACA,OACA,QACA,KACA,OACA,QACA,SACA,OACA,MACA,SACA,SACA,QACA,SACA,OACA,OACA,SACA,SACA,OACA,OACA,SACA,QACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,MACA,OACA,SACA,MACA,MACF,EC3GO,IAAMC,GAAyB,CACpC,KAAM,OACN,MAAO,OACP,KAAM,OACN,MAAO,OACP,OAAQ,OACR,IAAK,OACL,OAAQ,OACR,KAAM,OACN,IAAK,OACL,KAAM,OACN,KAAM,OACN,MAAO,OACP,IAAK,OACL,IAAK,OACL,IAAK,OACL,KAAM,OACN,IAAK,OACL,OAAQ,OACR,KAAM,OACN,KAAM,OACN,MAAO,OACP,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","names":["g","f","h","i","j","k","m","b","a","l","c","e","d","n","require_global_this","__commonJSMin","exports","module","check","it","require_fails","exec","require_function_bind_native","fails","S","test","require_function_apply","NATIVE_BIND","er","FunctionPrototype","apply","call","require_function_uncurry_this","uncurryThisWithBind","fn","require_classof_raw","uncurryThis","b","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","tr","require_is_callable","documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","bitmap","value","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","ir","$TypeError","require_to_indexed_object","IndexedObject","Vt","requireObjectCoercible","Sr","require_is_object","isCallable","q","require_path","require_get_built_in","path","nr","globalThis","d","aFunction","variable","namespace","method","require_object_is_prototype_of","require_environment_user_agent","navigator","userAgent","require_environment_v8_version","$","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","oe","$String","symbol","require_use_symbol_as_uid","NATIVE_SYMBOL","ae","require_is_symbol","getBuiltIn","C","isPrototypeOf","Ir","USE_SYMBOL_AS_UID","ue","$Symbol","require_try_to_string","require_a_callable","tryToString","or","require_get_method","aCallable","x","P","func","require_ordinary_to_primitive","T","isObject","I","input","pref","val","require_is_pure","require_define_global_property","defineProperty","key","require_shared_store","IS_PURE","G","defineGlobalProperty","Ti","SHARED","store","require_shared","ar","require_to_object","require_has_own_property","toObject","Pi","hasOwnProperty","require_uid","id","postfix","require_well_known_symbol","shared","fe","hasOwn","A","uid","pe","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","isSymbol","se","getMethod","Pr","ordinaryToPrimitive","qi","wellKnownSymbol","g","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","Di","require_document_create_element","document","EXISTS","require_ie8_dom_define","DESCRIPTORS","w","createElement","he","require_object_get_own_property_descriptor","propertyIsEnumerableModule","$t","createPropertyDescriptor","Er","toIndexedObject","ee","toPropertyKey","ye","IE8_DOM_DEFINE","me","$getOwnPropertyDescriptor","O","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","Qr","bind","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","Yi","anObject","D","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","cr","object","require_export","Hr","Gi","be","sr","createNonEnumerableProperty","vr","wrapConstructor","NativeConstructor","Wrapper","a","c","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_add_to_unscopables","require_does_not_exceed_safe_integer","MAX_SAFE_INTEGER","require_math_trunc","ceil","floor","n","require_to_integer_or_infinity","trunc","an","number","require_to_length","toIntegerOrInfinity","xr","min","len","require_length_of_array_like","toLength","cn","obj","require_to_absolute_index","max","index","length","integer","require_create_property","require_es_array_to_spliced","_","addToUnscopables","en","doesNotExceedSafeInteger","nn","lengthOfArrayLike","Se","toAbsoluteIndex","createProperty","dn","$Array","start","deleteCount","actualStart","argumentsLength","k","insertCount","actualDeleteCount","newLen","require_entry_unbind","require_to_spliced","Re","entryUnbind","qn","parent","mn","require_esnext_array_to_spliced","Tn","On","En","In","require_environment","userAgentStartsWith","require_environment_is_node","ENVIRONMENT","Pe","require_define_built_in","require_function_uncurry_this_accessor","require_is_possible_prototype","require_a_possible_prototype","isPossiblePrototype","Mn","require_object_set_prototype_of","uncurryThisAccessor","An","aPossiblePrototype","Un","CORRECT_SETTER","setter","proto","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","Nr","CORRECT_ARGUMENTS","tryGet","tag","require_object_to_string","Ar","require_set_to_string_tag","Wn","TAG","SET_METHOD","require_define_built_in_accessor","require_set_species","defineBuiltInAccessor","Hn","SPECIES","CONSTRUCTOR_NAME","Constructor","require_an_instance","Prototype","require_inspect_source","functionToString","require_is_constructor","inspectSource","_e","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","require_a_constructor","isConstructor","so","require_species_constructor","aConstructor","vo","defaultConstructor","require_html","require_array_slice","require_validate_arguments_length","passed","required","require_environment_is_ios","require_task","html","qo","arraySlice","mo","validateArgumentsLength","To","IS_IOS","Ne","IS_NODE","Cr","set","clear","Dispatch","Function","MessageChannel","String","counter","queue","ONREADYSTATECHANGE","$location","defer","channel","port","run","runner","eventListener","event","globalPostMessageDefer","handler","args","require_safe_get_built_in","require_queue","Queue","item","entry","tail","next","require_environment_is_ios_pebble","require_environment_is_webos_webkit","require_microtask","safeGetBuiltIn","Ao","macrotask","$e","Ge","IS_IOS_PEBBLE","Uo","IS_WEBOS_WEBKIT","Lo","MutationObserver","Promise","microtask","notify","toggle","node","promise","then","flush","error","require_host_report_errors","require_perform","require_weak_map_basic_detection","WeakMap","require_shared_key","keys","require_hidden_keys","require_internal_state","NATIVE_WEAK_MAP","Zo","sharedKey","ta","hiddenKeys","na","OBJECT_ALREADY_INITIALIZED","TypeError","get","has","enforce","getterFor","TYPE","state","metadata","STATE","require_promise_native_constructor","require_promise_constructor_detection","NativePromiseConstructor","z","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","resolve","FakePromise","constructor","require_new_promise_capability","PromiseCapability","reject","$$resolve","$$reject","require_es_promise_constructor","defineBuiltIn","we","setPrototypeOf","Ln","setToStringTag","zn","setSpecies","Zn","anInstance","eo","speciesConstructor","po","task","Yo","hostReportErrors","Jo","perform","Fr","InternalStateModule","sa","PromiseConstructorDetection","J","newPromiseCapabilityModule","U","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","PromiseConstructor","PromisePrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","isThenable","callReaction","reaction","ok","domain","exited","onHandleUnhandled","isReject","reactions","onUnhandled","dispatchEvent","reason","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","require_iterators","require_is_array_iterator_method","Iterators","ut","ITERATOR","ArrayPrototype","require_get_iterator_method","require_get_iterator","getIteratorMethod","st","usingIterator","iteratorMethod","require_iterator_close","iterator","kind","innerResult","innerError","require_iterate","isArrayIteratorMethod","Ua","getIterator","Ga","iteratorClose","Wa","Result","stopped","ResultPrototype","iterable","unboundFunction","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","step","stop","condition","$iterator","callFn","require_check_correctness_of_iteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","require_promise_statics_incorrect_iteration","checkCorrectnessOfIteration","ru","require_es_promise_all","iterate","ct","PROMISE_STATICS_INCORRECT_ITERATION","lt","capability","$promiseResolve","values","remaining","alreadyCalled","require_es_promise_catch","require_es_promise_race","require_es_promise_reject","r","capabilityReject","require_promise_resolve","promiseCapability","require_es_promise_resolve","promiseResolve","su","PromiseConstructorWrapper","CHECK_WRAPPER","require_es_promise","Da","tu","nu","ou","au","lu","require_es_promise_with_resolvers","require_with_resolvers","fu","dt","promiseWithResolvers","yu","require_esnext_promise_with_resolvers","hu","mu","Tu","gu","kebabCase","ofs","setMetaTag","contentMap","meta","BuildInfo","#name","#map","#object","#commit","createBuildInfo","createBuildInfo_default","once","done","warnOnce","message","PROPERTY_DENYLIST","deprecateObject","warnDeprecation","p","FORBIDDEN_PROPERTY_NAMES","OBJECT_PROTOTYPE","EMPTY_ARRAY","singleToArray","singleOrArray","import_to_spliced","n","Pn","import_with_resolvers","n","Su","AccessKeySinkSurface","AttachmentBar","AudioContent","Avatar","BasicConnectivityStatus","BasicSendBox","BasicSendBoxToolbar","BasicToaster","BasicTranscript","BasicWebChat","Bubble","Composer","DictationInterims","ErrorBox","FileContent","HTMLVideoContent","ImageContent","LocalizedString","MicrophoneButton","ReactWebChat","SendButton","SendStatus","SendTextBox","SpeakActivity","SuggestedActions","TextArea","TextContent","ThemeProvider","Timestamp","UploadButton","VideoContent","VimeoContent","YouTubeContent","custom","validateProps","propsSchema","props","isolationMode","React","memo","useMemo","any","boolean","object","optional","pipe","readonly","string","hooks","useCallback","useMemo","useDirection","hooks","updateRTLInline","element","rtl","adaptiveCardsPackage","count","index","child","useParseAdaptiveCardJSON","useAdaptiveCardsPackage","direction","adaptiveCardsParserMaxVersion","useStyleOptions","AdaptiveCard","OpenUrlAction","SerializationContext","Version","maxVersion","useMemo","useCallback","content","ignoreErrors","card","errors","serializationContext","OpenUrlDialogAction","eventCount","i","useEffect","useMemo","g","f","h","i","j","k","m","b","a","l","c","e","d","n","require_global_this","__commonJSMin","exports","module","check","it","require_fails","exec","require_function_bind_native","fails","S","test","require_function_apply","NATIVE_BIND","er","FunctionPrototype","apply","call","require_function_uncurry_this","uncurryThisWithBind","fn","require_classof_raw","uncurryThis","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","tr","require_is_callable","documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","bitmap","value","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","ir","$TypeError","require_to_indexed_object","IndexedObject","Vt","requireObjectCoercible","Sr","require_is_object","isCallable","q","require_path","require_get_built_in","path","nr","globalThis","aFunction","variable","namespace","method","require_object_is_prototype_of","require_environment_user_agent","navigator","userAgent","require_environment_v8_version","$","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","oe","$String","symbol","require_use_symbol_as_uid","NATIVE_SYMBOL","ae","require_is_symbol","getBuiltIn","C","isPrototypeOf","Ir","USE_SYMBOL_AS_UID","ue","$Symbol","require_try_to_string","require_a_callable","tryToString","or","require_get_method","aCallable","x","P","func","require_ordinary_to_primitive","T","isObject","I","input","pref","val","require_is_pure","require_define_global_property","defineProperty","key","require_shared_store","IS_PURE","G","defineGlobalProperty","Ti","SHARED","store","require_shared","ar","require_to_object","require_has_own_property","toObject","Pi","hasOwnProperty","require_uid","id","postfix","require_well_known_symbol","shared","fe","hasOwn","A","uid","pe","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","isSymbol","se","getMethod","Pr","ordinaryToPrimitive","qi","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","Di","require_document_create_element","document","EXISTS","require_ie8_dom_define","DESCRIPTORS","w","createElement","he","require_object_get_own_property_descriptor","propertyIsEnumerableModule","$t","createPropertyDescriptor","Er","toIndexedObject","ee","toPropertyKey","ye","IE8_DOM_DEFINE","me","$getOwnPropertyDescriptor","O","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","Qr","bind","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","Yi","anObject","D","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","cr","object","require_export","Hr","Gi","be","sr","createNonEnumerableProperty","vr","wrapConstructor","NativeConstructor","Wrapper","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_add_to_unscopables","require_does_not_exceed_safe_integer","MAX_SAFE_INTEGER","require_math_trunc","ceil","floor","require_to_integer_or_infinity","trunc","an","number","require_to_length","toIntegerOrInfinity","xr","min","len","require_length_of_array_like","toLength","cn","obj","require_to_absolute_index","max","index","length","integer","require_create_property","require_es_array_to_spliced","_","addToUnscopables","en","doesNotExceedSafeInteger","nn","lengthOfArrayLike","Se","toAbsoluteIndex","createProperty","dn","$Array","start","deleteCount","actualStart","argumentsLength","insertCount","actualDeleteCount","newLen","require_entry_unbind","require_to_spliced","Re","entryUnbind","qn","parent","mn","require_esnext_array_to_spliced","Tn","On","En","In","require_environment","userAgentStartsWith","require_environment_is_node","ENVIRONMENT","Pe","require_define_built_in","require_function_uncurry_this_accessor","require_is_possible_prototype","require_a_possible_prototype","isPossiblePrototype","Mn","require_object_set_prototype_of","uncurryThisAccessor","An","aPossiblePrototype","Un","CORRECT_SETTER","setter","proto","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","Nr","CORRECT_ARGUMENTS","tryGet","tag","require_object_to_string","Ar","require_set_to_string_tag","Wn","TAG","SET_METHOD","require_define_built_in_accessor","require_set_species","defineBuiltInAccessor","Hn","SPECIES","CONSTRUCTOR_NAME","Constructor","require_an_instance","Prototype","require_inspect_source","functionToString","require_is_constructor","inspectSource","_e","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","require_a_constructor","isConstructor","so","require_species_constructor","aConstructor","vo","defaultConstructor","require_html","require_array_slice","require_validate_arguments_length","passed","required","require_environment_is_ios","require_task","html","qo","arraySlice","mo","validateArgumentsLength","To","IS_IOS","Ne","IS_NODE","Cr","set","clear","Dispatch","Function","MessageChannel","String","counter","queue","ONREADYSTATECHANGE","$location","defer","channel","port","run","runner","eventListener","event","globalPostMessageDefer","handler","args","require_safe_get_built_in","require_queue","Queue","item","entry","tail","next","require_environment_is_ios_pebble","require_environment_is_webos_webkit","require_microtask","safeGetBuiltIn","Ao","macrotask","$e","Ge","IS_IOS_PEBBLE","Uo","IS_WEBOS_WEBKIT","Lo","MutationObserver","Promise","microtask","notify","toggle","node","promise","then","flush","error","require_host_report_errors","require_perform","require_weak_map_basic_detection","WeakMap","require_shared_key","keys","require_hidden_keys","require_internal_state","NATIVE_WEAK_MAP","Zo","sharedKey","ta","hiddenKeys","na","OBJECT_ALREADY_INITIALIZED","TypeError","get","has","enforce","getterFor","TYPE","state","metadata","STATE","require_promise_native_constructor","require_promise_constructor_detection","NativePromiseConstructor","z","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","resolve","FakePromise","constructor","require_new_promise_capability","PromiseCapability","reject","$$resolve","$$reject","require_es_promise_constructor","defineBuiltIn","we","setPrototypeOf","Ln","setToStringTag","zn","setSpecies","Zn","anInstance","eo","speciesConstructor","po","task","Yo","hostReportErrors","Jo","perform","Fr","InternalStateModule","sa","PromiseConstructorDetection","J","newPromiseCapabilityModule","U","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","PromiseConstructor","PromisePrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","isThenable","callReaction","reaction","ok","domain","exited","onHandleUnhandled","isReject","reactions","onUnhandled","dispatchEvent","reason","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","require_iterators","require_is_array_iterator_method","Iterators","ut","ITERATOR","ArrayPrototype","require_get_iterator_method","require_get_iterator","getIteratorMethod","st","usingIterator","iteratorMethod","require_iterator_close","iterator","kind","innerResult","innerError","require_iterate","isArrayIteratorMethod","Ua","getIterator","Ga","iteratorClose","Wa","Result","stopped","ResultPrototype","iterable","unboundFunction","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","step","stop","condition","$iterator","callFn","require_check_correctness_of_iteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","require_promise_statics_incorrect_iteration","checkCorrectnessOfIteration","ru","require_es_promise_all","iterate","ct","PROMISE_STATICS_INCORRECT_ITERATION","lt","capability","$promiseResolve","values","remaining","alreadyCalled","require_es_promise_catch","require_es_promise_race","require_es_promise_reject","r","capabilityReject","require_promise_resolve","promiseCapability","require_es_promise_resolve","promiseResolve","su","PromiseConstructorWrapper","CHECK_WRAPPER","require_es_promise","Da","tu","nu","ou","au","lu","require_es_promise_with_resolvers","require_with_resolvers","fu","dt","promiseWithResolvers","yu","require_esnext_promise_with_resolvers","hu","mu","Tu","gu","once","done","warnOnce","message","FORBIDDEN_PROPERTY_NAMES","OBJECT_PROTOTYPE","EMPTY_ARRAY","import_to_spliced","Pn","import_with_resolvers","Su","store$4","getGlobalConfig","config$1","store$3","getGlobalMessage","lang","store$2","getSchemaMessage","store$1","getSpecificMessage","reference","_stringify","type","_addIssue","context","label","dataset","other","expected","received","issue","isSchema","message$1","_getStandardProps","value$1","_joinExpects","values$1","separator","list","EMOJI_REGEX","readonly","getFallback","schema","getDefault","array","itemDataset","pathItem","custom","check$1","instance","class_","never","entries$1","valueSchema","valueDataset","optional","wrapped","default_","undefinedable","_subIssues","datasets","issues","union","option","validDataset","typedDatasets","untypedDatasets","optionDataset","pipe","pipe$1","injectedStylesElementSchema","union","custom","value","instance","injectStyleElementsPropsSchema","pipe","object","undefinedable","optional","never","string","array","readonly","warnNonce","Or","useStyles","styles","useMemo","baseClassName","resultClassName","useStyles_default","ErrorBoxPolymiddlewareProxy","getTabIndex","hooks","React","memo","useCallback","useEffect","useLayoutEffect","useMemo","useRef","useRefFrom","any","boolean","object","optional","pipe","readonly","string","useRef","useValueRef","value","ref","useMemo","useRef","noOp","noOp_default","addEventListenerWithUndo","element","name","handler","options","noOp_default","bunchUndos","fns","called","fn","addClass","element","className","classList","durableAddClassWithUndo","element","className","addClass","observer","noOp_default","getAttributeOrFalse","element","qualifiedName","setOrRemoveAttributeIfFalse","element","qualifiedName","value","setOrRemoveAttributeIfFalseWithUndo","element","qualifiedName","value","noOp_default","prevValue","getAttributeOrFalse","setOrRemoveAttributeIfFalse","closest","element","selector","current","findDOMNodeOwner","adaptiveCard","element","count","index","action","card","cardObject","useCallback","useEffect","useMemo","useRef","useRef","UNINITIALIZED","useLazyRef","refInit","ref","Mod","mod","#mod","#undo","adaptiveCard","cardElement","args","useAdaptiveCardModEffect","modder","adaptiveCardRef","useValueRef","useMemo","reapplyRef","useRef","observerRef","useLazyRef","useEffect","handleApply","useCallback","observer","handleUndo","useEffect","useRef","usePrevious","value","ref","useActionShouldBePushButtonModEffect","adaptiveCard","prevAdaptiveCard","usePrevious","pushedCardObjectsRef","useRef","modder","useMemo","cardElement","actionPerformedClassName","undoStack","actionElement","cardObject","findDOMNodeOwner","durableAddClassWithUndo","setOrRemoveAttributeIfFalseWithUndo","addEventListenerWithUndo","target","closest","bunchUndos","useAdaptiveCardModEffect","useMemo","useRef","useActiveElementModEffect","adaptiveCard","activeCardObjectRef","useRef","usePrevious","modder","useMemo","findDOMNodeOwner","useAdaptiveCardModEffect","useMemo","disabledHandler","event","disable","element","undoStack","tag","addEventListenerWithUndo","setOrRemoveAttributeIfFalseWithUndo","option","durableDisableInputElementAccessiblyWithUndo","noOp_default","apply","observer","bunchUndos","NO_OP","INPUT_ELEMENT_SELECTOR","useDisabledModEffect","adaptiveCard","modder","useMemo","_","cardElement","disabled","undoStack","element","durableDisableInputElementAccessiblyWithUndo","bunchUndos","useAdaptiveCardModEffect","useMemo","useRef","getUserValues","element","values","type","setUserValues","defaultValue","usePersistValuesModEffect","adaptiveCard","prevAdaptiveCard","usePrevious","valuesMapRef","useRef","modder","useMemo","valuesMap","cardObject","value","useAdaptiveCardModEffect","useMemo","useRoleModEffect","adaptiveCard","modder","useMemo","_","cardElement","setOrRemoveAttributeIfFalseWithUndo","useAdaptiveCardModEffect","any","array","boolean","literal","looseObject","number","object","optional","pipe","readonly","string","union","directLineCardActionSchema","directLineMediaCardSchema","directLineBasicCardSchema","directLineReceiptCardSchema","directLineSignInCardSchema","isPlainObject","obj","renderAdaptiveCard","adaptiveCard","adaptiveCardsHostConfig","GlobalSettings","HostConfig","renderMarkdownAsHTML","setTabIndexAtCardRoot","text","result","validationEvents","items","message","element","error","classes","AdaptiveCardRenderer_module_default","_adaptive_card_renderer0","useLocalizer","usePerformCardAction","useRenderMarkdownAsHTML","useScrollToEnd","useUIState","hooks","adaptiveCardRendererPropsSchema","pipe","object","optional","string","any","boolean","directLineCardActionSchema","readonly","AdaptiveCardRenderer","props","actionPerformedClassName","adaptiveCard","disabledFromProps","replyToId","tapAction","o","GlobalSettings","HostConfig","useAdaptiveCardsPackage","adaptiveCardsHostConfig","useAdaptiveCardsHostConfig","uiState","contentRef","useRef","localize","performCardAction","renderMarkdownAsHTML","scrollToEnd","classNames","St","AdaptiveCardRenderer_module_default","disabled","tapActionRef","useValueRef","disabledRef","handleClickAndKeyPress","useCallback","event","key","type","target","current","adaptiveCardRoot","tabIndex","getTabIndex","handleClickAndKeyPressForTapAction","handleExecuteAction","action","actionTypeName","image","title","value","data","setTabIndexAtCardRoot","applyActionShouldBePushButtonMod","undoActionShouldBePushButtonMod","useActionShouldBePushButtonModEffect","applyActiveElementMod","undoActiveElementMod","useActiveElementModEffect","applyDisabledMod","undoDisabledMod","useDisabledModEffect","applyPersistValuesMod","undoPersistValuesMod","usePersistValuesModEffect","applyRoleMod","undoRoleMod","useRoleModEffect","element","errors","useMemo","renderAdaptiveCard","useLayoutEffect","elementRef","useRefFrom","useEffect","React","ErrorBoxPolymiddlewareProxy","AdaptiveCardRenderer_default","memo","stripSubmitAction","card","nextActions","action","adaptiveCardContentPropsSchema","pipe","object","optional","string","any","boolean","readonly","AdaptiveCardContent","props","actionPerformedClassName","content","disabled","replyToId","o","parseAdaptiveCardJSON","useParseAdaptiveCardJSON","useMemo","React","AdaptiveCardRenderer_default","AdaptiveCardContent_default","memo","Components","React","memo","boolean","object","optional","pipe","readonly","string","PropTypes","React","useMemo","hooks","Column","ColumnSet","Container","Image","OpenUrlAction","Size","SizeAndUnit","SizeUnit","SubmitAction","TextBlock","TextColor","TextSize","TextWeight","isForbiddenPropertyName","OpenUrlDialogAction","_OpenUrlDialogAction","addCardAction","cardAction","includesOAuthButtons","type","action","AdaptiveCardBuilder","adaptiveCards","styleOptions","direction","sizes","container","selectAction","columnSet","size","column","cardElements","cardElement","text","template","textblock","prop","cardActions","content","richCardTitleOmitHeadingRole","richCardWrapTitle","url","altText","image","useDirection","hooks","CommonCard","actionPerformedClassName","content","disabled","adaptiveCardsPackage","useAdaptiveCardsPackage","direction","styleOptions","useStyleOptions","builtCard","useMemo","builder","AdaptiveCardBuilder","React","AdaptiveCardRenderer_default","PropTypes","CommonCard_default","classes","AnimationCardContent_module_default","_animation_card_attachment0","ImageContent","VideoContent","Components","animationCardContentPropsSchema","pipe","object","optional","string","directLineMediaCardSchema","boolean","readonly","AnimationCardContent","props","actionPerformedClassName","content","disabled","o","media","classNames","St","AnimationCardContent_module_default","React","profile","url","index","CommonCard_default","AnimationCardContent_default","memo","Components","React","memo","boolean","object","optional","pipe","readonly","string","classes","AudioCardContent_module_default","_audio_card_attachment0","AudioContent","Components","audioCardContentPropsSchema","pipe","object","optional","string","directLineMediaCardSchema","boolean","readonly","AudioCardContent","props","actionPerformedClassName","content","disabled","o","autostart","autoloop","imageURL","media","classNames","St","AudioCardContent_module_default","React","url","index","CommonCard_default","AudioCardContent_default","memo","hooks","React","memo","useMemo","boolean","object","optional","pipe","readonly","string","useDirection","hooks","heroCardContentPropsSchema","pipe","object","optional","string","directLineBasicCardSchema","boolean","readonly","HeroCardContent","props","actionPerformedClassName","content","disabled","o","adaptiveCardsPackage","useAdaptiveCardsPackage","styleOptions","useStyleOptions","direction","builtCard","useMemo","builder","AdaptiveCardBuilder","image","React","AdaptiveCardRenderer_default","HeroCardContent_default","memo","hooks","React","memo","useMemo","boolean","object","optional","pipe","readonly","string","useDirection","hooks","oauthCardContentPropsSchema","pipe","object","optional","string","directLineSignInCardSchema","boolean","readonly","OAuthCardContent","props","actionPerformedClassName","content","disabled","o","adaptiveCardsPackage","useAdaptiveCardsPackage","direction","styleOptions","useStyleOptions","builtCard","useMemo","builder","AdaptiveCardBuilder","React","AdaptiveCardRenderer_default","OAuthCardContent_default","memo","hooks","React","memo","useMemo","boolean","object","optional","pipe","readonly","string","useDirection","useLocalizer","hooks","nullOrUndefined","obj","receiptCardContentPropsSchema","pipe","object","optional","string","directLineReceiptCardSchema","boolean","readonly","ReceiptCardContent","props","actionPerformedClassName","content","disabled","o","adaptiveCardsPackage","useAdaptiveCardsPackage","direction","styleOptions","useStyleOptions","localize","taxText","totalText","vatText","builtCard","useMemo","builder","AdaptiveCardBuilder","HorizontalAlignment","TextSize","TextWeight","buttons","facts","items","tax","title","total","vat","richCardWrapTitle","firstFactColumn","lastFactColumn","key","value","image","price","quantity","subtitle","tap","text","itemColumns","itemImageColumn","columns","itemTitleColumn","itemPriceColumn","vatCol","taxCol","totalCol","React","AdaptiveCardRenderer_default","ReceiptCardContent_default","memo","React","memo","boolean","object","optional","pipe","readonly","string","classes","SignInCardContent_module_default","_sign_in_card_attachment0","signInCardContentPropsSchema","pipe","object","optional","string","directLineSignInCardSchema","boolean","readonly","SignInCardContent","props","actionPerformedClassName","content","disabled","o","classNames","St","SignInCardContent_module_default","React","CommonCard_default","SignInCardContent_default","memo","hooks","React","memo","useMemo","boolean","object","optional","parse","pipe","readonly","string","useDirection","hooks","thumbnailCardContentPropsSchema","pipe","object","optional","string","directLineBasicCardSchema","boolean","readonly","ThumbnailCardContent","props","actionPerformedClassName","content","disabled","parse","adaptiveCardsPackage","useAdaptiveCardsPackage","direction","styleOptions","useStyleOptions","builtCard","useMemo","builder","AdaptiveCardBuilder","TextSize","TextWeight","buttons","images","subtitle","text","title","richCardWrapTitle","firstColumn","lastColumn","alt","tap","url","React","AdaptiveCardRenderer_default","ThumbnailCardContent_default","memo","Components","React","memo","boolean","object","optional","parse","pipe","readonly","string","classes","VideoCardContent_module_default","_video_card_attachment0","VideoContent","Components","videoCardContentPropsSchema","pipe","object","optional","string","directLineMediaCardSchema","boolean","readonly","VideoCardContent","props","actionPerformedClassName","content","disabled","parse","autoloop","autostart","imageURL","media","classNames","St","VideoCardContent_module_default","React","url","index","CommonCard_default","VideoCardContent_default","memo","React","hooks","PropTypes","React","useMemo","useMemo","random","useUniqueId","prefix","id","useLocalizer","hooks","walkAllItems","node","fn","count","index","AdaptiveCardChoiceSetInput","choices","defaultValue","label","labelId","useUniqueId","defaultChoice","value","React","choice","PropTypes","AdaptiveCardAttachment","content","localize","parseAdaptiveCardJSON","useParseAdaptiveCardJSON","ChoiceSetInput","DateInput","NumberInput","OpenUrlAction","ShowCardAction","SubmitAction","TextInput","TimeInput","ToggleInput","useAdaptiveCardsPackage","card","useMemo","inputs","cardLabel","input","AdaptiveCardAttachment_default","PropTypes","React","hooks","useLocalizer","RichCardAttachment","content","localize","buttons","facts","image","images","items","subtitle","tax","text","title","total","vat","taxLabel","totalLabel","vatLabel","cardLabel","alt","index","key","value","price","quantity","RichCardAttachment_default","RICH_CARD_CONTENT_TYPES","createAdaptiveCardsAttachmentMiddleware","next","args","activity","content","contentType","React","RichCardAttachment_default","AdaptiveCardAttachment_default","React","React","memo","any","boolean","object","optional","pipe","readonly","string","adaptiveCardAttachmentPropsSchema","pipe","object","optional","any","readonly","boolean","string","AdaptiveCardAttachment","props","content","disabled","replyToId","o","React","AdaptiveCardContent_default","AdaptiveCardAttachment_default","memo","PropTypes","React","AnimationCardAttachment","content","disabled","React","AnimationCardContent_default","PropTypes","AnimationCardAttachment_default","PropTypes","React","AudioCardAttachment","content","disabled","React","AudioCardContent_default","PropTypes","AudioCardAttachment_default","PropTypes","React","HeroCardAttachment","content","disabled","React","HeroCardContent_default","PropTypes","HeroCardAttachment_default","PropTypes","React","OAuthCardAttachment","content","disabled","React","OAuthCardContent_default","PropTypes","OAuthCardAttachment_default","PropTypes","React","ReceiptCardAttachment","content","disabled","React","ReceiptCardContent_default","PropTypes","ReceiptCardAttachment_default","PropTypes","React","SignInCardAttachment","content","disabled","React","SignInCardContent_default","PropTypes","SignInCardAttachment_default","PropTypes","React","ThumbnailCardAttachment","content","disabled","React","ThumbnailCardContent_default","PropTypes","ThumbnailCardAttachment_default","PropTypes","React","VideoCardAttachment","content","disabled","React","VideoCardContent_default","PropTypes","VideoCardAttachment_default","createAdaptiveCardsAttachmentMiddleware","next","args","activity","attachment","React","HeroCardAttachment_default","AdaptiveCardAttachment_default","AnimationCardAttachment_default","AudioCardAttachment_default","OAuthCardAttachment_default","ReceiptCardAttachment_default","SignInCardAttachment_default","ThumbnailCardAttachment_default","VideoCardAttachment_default","betterLinkDocumentMod","parseDocumentFragmentFromString","serializeDocumentFragmentIntoString","katex","micromark","gfm","gfmHtml","katex","compile","parse","postprocess","preprocess","gfm","gfmHtml","betterLinkDocumentMod","markdownLineEnding","markdownLineEndingOrSpace","tokenizer_default","TRIGGER_CODE","isInline","effects","ok","nok","self","OPEN_CODES","CLOSE_CODES","allowSpill","isDisplay","closeDelimiterConstruct","closeDelimiterTokenizer","checkCloseTrigger","code","checkCloseDelimiter","openTrigger","openDelimiter","content","consumeMathChunk","closeTrigger","consumeContent","escaped","closeDelimiter","token","blockEnding","math","makeConstruct","args","tokenizer_default","mathHtml","options","token","isInline","isDisplay","content","defaults","render","type","tag","error","onErrorResumeNext","sanitizeUri","ALLOWED_SCHEMES","createDecorate","definitions","externalLinkAlt","linkDefinitions","definition","allowedSchemas","scheme","href","textContent","decoration","ariaLabelSegments","classes","linkDefinition","url","markupUrl","protocol","value","normalizeIdentifier","value","extractDefinitionsFromEvents","events","definitions","inDefinition","label","title","url","action","token","context","normalizeIdentifier","pre","markdown","carriageReturn","STREAMING_ERROR","TOP_LEVEL_BLOCK_TYPES","findTopLevelBlocks","events","blocks","depth","action","token","createStreamingRenderer","markdownRenderHTML","markdownRespectCRLF","externalLinkAlt","micromarkOptions","gfm","math","gfmHtml","mathHtml","content","isDisplay","katex","domParser","previousMarkdown","emptyDefinitions","wrapperDiv","activeSentinel","parseEvents","source","postprocess","parse","preprocess","applyTransform","fragment","transformFragment","ensureWrapper","container","containerClassName","wrapper","setError","error","knownDefinitions","extractDefinitions","ctx","lastStepDefinitionOffset","lastCommittedBlockEndOffset","stepEvents","step","markdown","markdownTail","doc","prep","definition","lastDefinitionTokenOffset","tailEvents","commit","block","compiler","compile","newCommittedOffset","newCommittedEvents","revert","cleanup","renderNext","chunk","options","isAppend","processedMarkdown","pre","tailBlocks","decorate","createDecorate","tailHTML","activeDoc","activeFragment","betterLinkDocumentMod","activeRange","committedTailHTML","committedDoc","committedFragment","activeEvents","activeHTML","tailRange","fullEvents","committedHTML","rawHTML","parsedDocument","finalDoc","definitions","extractDefinitionsFromEvents","fromMarkdown","isDefinition","node","iterateLinkDefinitions","markdown","topLevelNode","render","markdown","markdownRespectCRLF","markdownRenderHTML","externalLinkAlt","linkDefinitions","iterateLinkDefinitions","pre","decorate","createDecorate","htmlAfterMarkdown","micromark","gfm","math","gfmHtml","mathHtml","content","isDisplay","katex","documentFragmentAfterMarkdown","parseDocumentFragmentFromString","betterLinkDocumentMod","serializeDocumentFragmentIntoString","createStreamingRenderer","ReactWebChat","React","useRef","useCallback","useEffect","useMemo","useState","require_global_this","__commonJSMin","exports","module","check","it","require_fails","exec","require_function_bind_native","fails","J","test","require_function_apply","NATIVE_BIND","mr","FunctionPrototype","apply","call","require_function_uncurry_this","uncurryThisWithBind","fn","require_classof_raw","uncurryThis","X","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","re","require_is_callable","documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","bitmap","value","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","ie","$TypeError","require_to_indexed_object","IndexedObject","Mt","requireObjectCoercible","ae","require_is_object","isCallable","Q","require_path","require_get_built_in","path","_r","globalThis","aFunction","variable","namespace","method","require_object_is_prototype_of","require_environment_user_agent","navigator","userAgent","require_environment_v8_version","Zt","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","rn","$String","symbol","require_use_symbol_as_uid","NATIVE_SYMBOL","fe","require_is_symbol","getBuiltIn","ce","isPrototypeOf","zt","USE_SYMBOL_AS_UID","pe","$Symbol","require_try_to_string","require_a_callable","tryToString","un","require_get_method","aCallable","de","P","func","require_ordinary_to_primitive","Ir","isObject","gr","input","pref","val","require_is_pure","require_define_global_property","defineProperty","key","require_shared_store","IS_PURE","dn","defineGlobalProperty","mn","SHARED","store","require_shared","be","require_to_object","require_has_own_property","toObject","jn","hasOwnProperty","require_uid","id","postfix","require_well_known_symbol","shared","ge","hasOwn","xr","uid","xe","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","isSymbol","le","getMethod","vn","ordinaryToPrimitive","pn","wellKnownSymbol","Dn","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","Cn","require_document_create_element","document","EXISTS","require_ie8_dom_define","DESCRIPTORS","rr","createElement","je","require_object_get_own_property_descriptor","propertyIsEnumerableModule","It","createPropertyDescriptor","ne","toIndexedObject","br","toPropertyKey","we","IE8_DOM_DEFINE","qe","$getOwnPropertyDescriptor","O","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","ee","bind","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","Se","anObject","Mr","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","Ie","object","require_export","bt","Bn","$n","Gn","createNonEnumerableProperty","Jn","wrapConstructor","NativeConstructor","Wrapper","a","b","c","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_math_trunc","ceil","floor","x","n","require_to_integer_or_infinity","trunc","to","number","require_to_absolute_index","toIntegerOrInfinity","_e","max","min","index","length","integer","require_to_length","len","require_length_of_array_like","toLength","uo","obj","require_array_includes","toAbsoluteIndex","io","lengthOfArrayLike","co","createMethod","IS_INCLUDES","$this","el","fromIndex","require_hidden_keys","require_object_keys_internal","indexOf","po","hiddenKeys","Ce","push","names","i","require_enum_bug_keys","require_object_keys","internalObjectKeys","mo","enumBugKeys","Ne","require_object_define_properties","objectKeys","xo","Properties","props","keys","require_html","require_shared_key","require_object_create","definePropertiesModule","wo","html","jo","documentCreateElement","sharedKey","To","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","temp","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","NullProtoObject","require_es_object_create","$","ro","create","No","require_create","Fo","Object","D","parent","Ao","Bo","zo","Mi","$o","g","f","h","i","j","k","m","b","a","l","c","e","d","n","require_global_this","__commonJSMin","exports","module","check","it","require_fails","exec","require_function_bind_native","fails","S","test","require_function_apply","NATIVE_BIND","er","FunctionPrototype","apply","call","require_function_uncurry_this","uncurryThisWithBind","fn","require_classof_raw","uncurryThis","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","tr","require_is_callable","documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","bitmap","value","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","ir","$TypeError","require_to_indexed_object","IndexedObject","Vt","requireObjectCoercible","Sr","require_is_object","isCallable","q","require_path","require_get_built_in","path","nr","globalThis","aFunction","variable","namespace","method","require_object_is_prototype_of","require_environment_user_agent","navigator","userAgent","require_environment_v8_version","$","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","oe","$String","symbol","require_use_symbol_as_uid","NATIVE_SYMBOL","ae","require_is_symbol","getBuiltIn","C","isPrototypeOf","Ir","USE_SYMBOL_AS_UID","ue","$Symbol","require_try_to_string","require_a_callable","tryToString","or","require_get_method","aCallable","x","P","func","require_ordinary_to_primitive","T","isObject","I","input","pref","val","require_is_pure","require_define_global_property","defineProperty","key","require_shared_store","IS_PURE","G","defineGlobalProperty","Ti","SHARED","store","require_shared","ar","require_to_object","require_has_own_property","toObject","Pi","hasOwnProperty","require_uid","id","postfix","require_well_known_symbol","shared","fe","hasOwn","A","uid","pe","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","isSymbol","se","getMethod","Pr","ordinaryToPrimitive","qi","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","Di","require_document_create_element","document","EXISTS","require_ie8_dom_define","DESCRIPTORS","w","createElement","he","require_object_get_own_property_descriptor","propertyIsEnumerableModule","$t","createPropertyDescriptor","Er","toIndexedObject","ee","toPropertyKey","ye","IE8_DOM_DEFINE","me","$getOwnPropertyDescriptor","O","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","Qr","bind","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","Yi","anObject","D","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","cr","object","require_export","Hr","Gi","be","sr","createNonEnumerableProperty","vr","wrapConstructor","NativeConstructor","Wrapper","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_add_to_unscopables","require_does_not_exceed_safe_integer","MAX_SAFE_INTEGER","require_math_trunc","ceil","floor","require_to_integer_or_infinity","trunc","an","number","require_to_length","toIntegerOrInfinity","xr","min","len","require_length_of_array_like","toLength","cn","obj","require_to_absolute_index","max","index","length","integer","require_create_property","require_es_array_to_spliced","_","addToUnscopables","en","doesNotExceedSafeInteger","nn","lengthOfArrayLike","Se","toAbsoluteIndex","createProperty","dn","$Array","start","deleteCount","actualStart","argumentsLength","insertCount","actualDeleteCount","newLen","require_entry_unbind","require_to_spliced","Re","entryUnbind","qn","parent","mn","require_esnext_array_to_spliced","Tn","On","En","In","require_environment","userAgentStartsWith","require_environment_is_node","ENVIRONMENT","Pe","require_define_built_in","require_function_uncurry_this_accessor","require_is_possible_prototype","require_a_possible_prototype","isPossiblePrototype","Mn","require_object_set_prototype_of","uncurryThisAccessor","An","aPossiblePrototype","Un","CORRECT_SETTER","setter","proto","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","Nr","CORRECT_ARGUMENTS","tryGet","tag","require_object_to_string","Ar","require_set_to_string_tag","Wn","TAG","SET_METHOD","require_define_built_in_accessor","require_set_species","defineBuiltInAccessor","Hn","SPECIES","CONSTRUCTOR_NAME","Constructor","require_an_instance","Prototype","require_inspect_source","functionToString","require_is_constructor","inspectSource","_e","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","require_a_constructor","isConstructor","so","require_species_constructor","aConstructor","vo","defaultConstructor","require_html","require_array_slice","require_validate_arguments_length","passed","required","require_environment_is_ios","require_task","html","qo","arraySlice","mo","validateArgumentsLength","To","IS_IOS","Ne","IS_NODE","Cr","set","clear","Dispatch","Function","MessageChannel","String","counter","queue","ONREADYSTATECHANGE","$location","defer","channel","port","run","runner","eventListener","event","globalPostMessageDefer","handler","args","require_safe_get_built_in","require_queue","Queue","item","entry","tail","next","require_environment_is_ios_pebble","require_environment_is_webos_webkit","require_microtask","safeGetBuiltIn","Ao","macrotask","$e","Ge","IS_IOS_PEBBLE","Uo","IS_WEBOS_WEBKIT","Lo","MutationObserver","Promise","microtask","notify","toggle","node","promise","then","flush","error","require_host_report_errors","require_perform","require_weak_map_basic_detection","WeakMap","require_shared_key","keys","require_hidden_keys","require_internal_state","NATIVE_WEAK_MAP","Zo","sharedKey","ta","hiddenKeys","na","OBJECT_ALREADY_INITIALIZED","TypeError","get","has","enforce","getterFor","TYPE","state","metadata","STATE","require_promise_native_constructor","require_promise_constructor_detection","NativePromiseConstructor","z","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","resolve","FakePromise","constructor","require_new_promise_capability","PromiseCapability","reject","$$resolve","$$reject","require_es_promise_constructor","defineBuiltIn","we","setPrototypeOf","Ln","setToStringTag","zn","setSpecies","Zn","anInstance","eo","speciesConstructor","po","task","Yo","hostReportErrors","Jo","perform","Fr","InternalStateModule","sa","PromiseConstructorDetection","J","newPromiseCapabilityModule","U","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","PromiseConstructor","PromisePrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","isThenable","callReaction","reaction","ok","domain","exited","onHandleUnhandled","isReject","reactions","onUnhandled","dispatchEvent","reason","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","require_iterators","require_is_array_iterator_method","Iterators","ut","ITERATOR","ArrayPrototype","require_get_iterator_method","require_get_iterator","getIteratorMethod","st","usingIterator","iteratorMethod","require_iterator_close","iterator","kind","innerResult","innerError","require_iterate","isArrayIteratorMethod","Ua","getIterator","Ga","iteratorClose","Wa","Result","stopped","ResultPrototype","iterable","unboundFunction","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","step","stop","condition","$iterator","callFn","require_check_correctness_of_iteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","require_promise_statics_incorrect_iteration","checkCorrectnessOfIteration","ru","require_es_promise_all","iterate","ct","PROMISE_STATICS_INCORRECT_ITERATION","lt","capability","$promiseResolve","values","remaining","alreadyCalled","require_es_promise_catch","require_es_promise_race","require_es_promise_reject","r","capabilityReject","require_promise_resolve","promiseCapability","require_es_promise_resolve","promiseResolve","su","PromiseConstructorWrapper","CHECK_WRAPPER","require_es_promise","Da","tu","nu","ou","au","lu","require_es_promise_with_resolvers","require_with_resolvers","fu","dt","promiseWithResolvers","yu","require_esnext_promise_with_resolvers","hu","mu","Tu","gu","FORBIDDEN_PROPERTY_NAMES","OBJECT_PROTOTYPE","iterateEquals","y","xIterator","yIterator","count","resultX","resultY","xDone","yDone","EMPTY_ARRAY","import_to_spliced","Pn","import_with_resolvers","Su","useMemoWithPrevious","factory","deps","prevValueRef","useRef","useMemo","useEffect","useMemoIterable","prevValue","Tt","React","memo","defaultAdaptiveCardsPackage","React","useMemo","AdaptiveCardsComposer","adaptiveCardsHostConfig","adaptiveCardsPackage","children","patchedAdaptiveCardsPackage","useMemo","defaultAdaptiveCardsPackage","adaptiveCardsContext","React","AdaptiveCardsContext_default","AdaptiveCardsComposer_default","CodeHighlighterComposer","React","memo","useEffect","useState","ShikiError","message","ShikiError","message","getHeapMax","_emscripten_get_now","alignUp","x","multiple","main","init","wasmMemory","buffer","binding","updateGlobalBufferAndViews","buf","_emscripten_memcpy_big","dest","src","num","emscripten_realloc_buffer","size","_emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","newSize","UTF8Decoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","str","u0","u1","u2","ch","UTF8ToString","ptr","asmLibraryArg","createWasm","exports","__defProp","__defNormalProp","obj","key","value","__publicField","onigBinding","throwLastOnigError","onigBinding2","UtfString","_UtfString","utf16Length","utf8Length","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","result","i","len","codepoint","_OnigString","utfString","utf8Offset","utf16Offset","OnigString","OnigScanner","patterns","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","string","startPosition","arg","options","debugCall","resultPtr","HEAPU32","offset","index","count","captureIndices","beg","end","isInstantiatorOptionsObject","dataOrOptions","isInstantiatorModule","isDataOptionsObject","isResponse","isArrayBuffer","data","initPromise","loadWasm","_load","info","instance","_makeResponseStreamingLoader","_makeResponseNonStreamingLoader","_makeArrayBufferLoader","importObject","arrayBuffer","_defaultWasmLoader","getDefaultWasmLoader","_defaultWasmLoader","createOnigurumaEngine","options","loadWasm","patterns","OnigScanner","p","s","OnigString","_emitDeprecation","_emitError","warnDeprecated","message","version","_emitDeprecation","_emitError","clone","something","doClone","cloneArray","cloneObj","arr","r","i","len","obj","key","mergeObjects","target","sources","source","basename","path","idx","CAPTURING_REGEX_SOURCE","RegexSource","regexSource","captureSource","captureIndices","match","index","commandIndex","command","capture","result","strcmp","a","b","strArrCmp","len1","len2","res","isValidHexColor","hex","escapeRegExpCharacters","value","CachedFn","fn","Theme","_colorMap","_defaults","_root","colorMap","parseTheme","resolveParsedThemeRules","scopeName","scopePath","effectiveRule","v","_scopePathMatchesParentScopes","StyleAttributes","ScopeStack","_ScopeStack","parent","scopeNames","name","segments","item","other","base","parentScopes","scopePattern","scopeMustMatch","_matchesScope","fontStyle","foregroundId","backgroundId","settings","resultLen","entry","scopes","_scope","j","lenJ","foreground","background","scope","ParsedThemeRule","FontStyle","FontStyle2","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","ColorMap","defaults","root","ThemeTrieElement","ThemeTrieElementRule","rule","color","emptyParentScopes","_ThemeTrieElementRule","scopeDepth","_ThemeTrieElement","_mainRule","rulesWithParentScopes","_children","aParentIndex","bParentIndex","parentScopeLengthDiff","dotIndex","head","tail","rules","child","EncodedTokenMetadata","_EncodedTokenMetadata","encodedTokenAttributes","languageId","tokenType","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","createMatchers","selector","matchesName","results","tokenizer","newTokenizer","token","priority","matcher","parseConjunction","parseOperand","expressionToNegate","matcherInput","expressionInParents","parseInnerExpression","isIdentifier","identifiers","matchers","matcher2","input","regex","match","res","disposeOnigString","str","TopLevelRuleReference","scopeName","TopLevelRepositoryRuleReference","ruleName","ExternalReferenceCollector","reference","key","ScopeDependencyProcessor","repo","initialScopeName","q","deps","dep","collectReferencesOfReference","baseGrammarScopeName","result","selfGrammar","baseGrammar","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","injections","injection","context","rule","collectExternalReferencesInRules","rules","patternRepository","mergeObjects","include","parseInclude","newContext","BaseReference","SelfReference","RelativeReference","TopLevelReference","TopLevelRepositoryReference","indexOfSharp","HAS_BACK_REFERENCES","BACK_REFERENCING_END","endRuleId","whileRuleId","Rule","$location","id","name","contentName","RegexSource","location","basename","lineText","captureIndices","CaptureRule","retokenizeCapturedWithRuleId","grammar","out","endRegexSource","allowA","allowG","MatchRule","match","captures","RegExpSource","RegExpSourceList","IncludeOnlyRule","patterns","pattern","BeginEndRule","begin","beginCaptures","end","endCaptures","applyEndPatternLast","BeginWhileRule","_while","whileCaptures","whileRuleId","RuleFactory","_RuleFactory","helper","desc","repository","mergeObjects","r","maximumCaptureId","captureId","numericCaptureId","i","len","ruleId","reference","parseInclude","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","externalIncludedRule","rule","skipRule","_RegExpSource","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","HAS_BACK_REFERENCES","newSource","capturedValues","capture","BACK_REFERENCING_END","g1","escapeRegExpCharacters","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","ch","item","index","onigLib","regExps","e","CompiledRule","rules","string","startPosition","options","result","BasicScopeAttributes","languageId","tokenType","BasicScopeAttributesProvider","_BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","ScopeMatcher","scopeName","CachedFn","standardTokenType","scope","m","values","escapedScopes","value","DebugFlags","UseOnigurumaFindOptions","TokenizeStringResult","stack","stoppedEarly","_tokenizeString","isFirstLine","linePos","lineTokens","checkWhileConditions","timeLimit","lineLength","STOP","anchorPosition","whileCheckResult","_checkWhileConditions","startTime","scanNext","matchRuleOrInjections","matchedRuleId","hasAdvanced","endRuleId","poppedRule","handleCaptures","popped","_rule","beforePush","nameScopesList","pushedRule","contentNameScopesList","whileRules","node","nodeRule","whileRule","ruleScanner","findOptions","prepareRuleWhileSearch","matchResult","matchRule","injections","injectionResult","matchInjections","matchResultScore","injectionResultScore","prepareRuleSearch","bestMatchRating","bestMatchCaptureIndices","bestMatchRuleId","bestMatchResultPriority","scopes","injection","matchRating","ruleScanner2","getFindOptions","lineTextContent","localStack","maxEnd","captureRule","captureIndex","stackClone","onigSubStr","disposeOnigString","captureRuleScopeName","captureRuleScopesList","LocalStackElement","endPos","createGrammar","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","Grammar","collectInjections","selector","ruleFactoryHelper","matchers","createMatchers","nameMatcher","matcher","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","_rootScopeName","_onigLib","initGrammar","sources","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","i1","i2","factory","rawIncludedGrammar","prevState","emitBinaryTokens","StateStackImpl","rawDefaultMetadata","defaultStyle","defaultMetadata","EncodedTokenMetadata","rootScopeName","scopeList","AttributedScopeStack","onigLineText","LineTokens","base","clone","_AttributedScopeStack","parent","scopePath","tokenAttributes","namesScopeList","current","scopeNames","frame","ScopeStack","rawRootMetadata","rootStyle","resolvedTokenAttributes","other","a","b","existingTokenAttributes","basicScopeAttributes","styleAttributes","fontStyle","foreground","background","target","rawMetadata","newPath","scopeThemeMatchResult","metadata","self","_StateStackImpl","enterPos","anchorPos","beginRuleCapturedEOL","endRule","el","res","outIndex","contentNameScopeStack","BalancedBracketSelectors","balancedBracketScopes","unbalancedBracketScopes","excluder","includer","tokenTypeOverrides","endIndex","scopesList","containsBalancedBrackets","scopes2","SyncRegistry","theme","targetScope","rawGrammar","Registry","Theme","colorMap","initialScopeName","configuration","dependencyProcessor","ScopeDependencyProcessor","request","INITIAL","htmlVoidElements","Schema","property","normal","space","merge","definitions","space","property","normal","definition","Schema","normalize","value","Info","property","attribute","types_exports","__export","boolean","booleanish","commaOrSpaceSeparated","commaSeparated","number","overloadedBoolean","spaceSeparated","powers","increment","checks","types_exports","DefinedInfo","Info","property","attribute","mask","space","index","mark","check","values","key","value","create","definition","properties","normals","property","value","info","DefinedInfo","normalize","Schema","aria","create","booleanish","number","spaceSeparated","_","property","caseSensitiveTransform","attributes","attribute","caseInsensitiveTransform","attributes","property","caseSensitiveTransform","html","create","commaSeparated","spaceSeparated","boolean","number","booleanish","overloadedBoolean","caseInsensitiveTransform","svg","create","commaOrSpaceSeparated","number","spaceSeparated","boolean","commaSeparated","caseSensitiveTransform","xlink","create","_","property","xmlns","create","caseInsensitiveTransform","xml","create","_","property","cap","dash","valid","find","schema","value","normal","normalize","property","Type","Info","rest","camelcase","dashes","kebab","DefinedInfo","$0","html","merge","aria","xlink","xmlns","xml","svg","own","zwitch","key","options","settings","one","value","parameters","fn","handlers","id","defaultSubsetRegex","surrogatePairsRegex","controlCharactersRegex","regexEscapeRegex","subsetToRegexCache","core","value","options","charactersToExpressionCached","basic","surrogate","pair","index","all","character","subset","cached","charactersToExpression","groups","hexadecimalRegex","toHexadecimal","code","next","omit","value","decimalRegex","toDecimal","code","next","omit","value","characterEntitiesLegacy","characterEntitiesHtml4","dangerous","own","characters","key","characterEntitiesHtml4","notAlphanumericRegex","toNamed","code","next","omit","attribute","character","name","value","characterEntitiesLegacy","dangerous","formatSmart","code","next","options","numeric","toHexadecimal","named","toNamed","decimal","toDecimal","stringifyEntities","value","options","core","formatSmart","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","comment","node","_1","_2","state","stringifyEntities","encode","$0","doctype","_1","_2","_3","state","ccount","value","character","source","count","index","stringify","values","options","settings","stringify","values","re","whitespace","thing","empty","value","siblingAfter","siblings","siblingBefore","emptyChildren","increment","sibling","parent","index","includeWhitespace","offset","next","whitespace","own","omission","handlers","omit","node","index","parent","closing","omission","body","headOrColgroupOrCaption","dd","dt","html","li","optgroup","option","p","rubyElement","tbody","cells","tfoot","thead","tr","_","index","parent","next","siblingAfter","whitespace","opening","omission","body","colgroup","head","html","tbody","node","siblingAfter","seen","child","whitespace","index","parent","previous","siblingBefore","closing","constants","element","node","index","parent","state","schema","omit","selfClosing","parts","last","svg","attributes","serializeAttributes","content","opening","closing","properties","values","key","value","serializeAttribute","info","find","x","y","quote","result","name","stringifyEntities","stringify","ccount","textEntitySubset","text","node","_","parent","state","stringifyEntities","raw","node","index","parent","state","text","root","node","_1","_2","state","handle","zwitch","invalid","unknown","comment","doctype","element","raw","root","text","node","node_","emptyOptions","emptyCharacterReferences","emptyChildren","toHtml","tree","options","options_","quote","alternative","one","all","htmlVoidElements","svg","html","node","index","parent","handle","results","children","r","seq","sTags","emoji_regex_xs_default","noncapturingDelim","incrementIfAtLeast","arr","threshold","i","spliceStr","str","pos","oldValue","newValue","Context","replaceUnescaped","expression","needle","replacement","context","re","negated","numCharClassesOpen","result","match","m","$skip","forEachUnescaped","callback","execUnescaped","pos","hasUnescaped","getGroupContents","contentsStartPos","token","contentsEndPos","numGroupsOpen","atomicPluginToken","noncapturingDelim","atomic","expression","data","hiddenCaptures","captureTransfers","aGDelim","emulatedAGDelim","captureNumMap","addedHiddenCaptures","numCapturesBeforeAG","numAGs","aGPos","hasProcessedAG","numCharClassesOpen","numGroupsOpenInAG","inAG","match","m","index","capturingStart","noncapturingStart","addedCaptureNum","incrementIfAtLeast","newCaptureTransfers","from","to","f","replaceUnescaped","backrefNum","wrappedBackrefNum","bNum","Context","baseQuantifier","possessivePluginToken","possessive","openGroupIndices","lastGroupIndex","lastCharClassIndex","lastToken","qBase","qMod","invalidQ","charsAdded","spliceStr","nodeIndex","r","gRToken","recursiveToken","namedCaptureDelim","captureDelim","token","overlappingRecursionMsg","recursion","pattern","data","hiddenCaptures","mode","captureTransfers","hasUnescaped","Context","addedHiddenCaptures","hasNumberedBackref","groupContentsStartPos","openGroups","hasRecursed","numCharClassesOpen","numCapturesPassed","match","m","captureName","rDepth","gRNameOrNum","gRDepth","assertMaxInBounds","left","right","reps","makeRecursive","mapCaptureTransfers","isWithinReffedGroup","g","startPos","groupContents","getGroupContents","groupContentsLeft","groupContentsRight","numAddedHiddenCapturesPreExpansion","expansion","pre","post","isUnnamedCapture","max","errMsg","isSubpattern","namesInRecursed","forEachUnescaped","rest","repeatWithDepth","direction","getDepthNum","i","result","depthNum","replaceUnescaped","unnamed","backref","suffix","addedCaptureNum","incrementIfAtLeast","arr","threshold","numCapturesAddedInExpansion","numCapturesInLeft","recursionDelimCaptureNum","newCaptureTransfers","from","to","numCapturesInRight","numCapturesAddedInLeft","newTo","newFrom","f","cp","r","envFlags","getNewCurrentFlags","current","enable","disable","getOrInsert","map","key","defaultValue","isMinTarget","target","min","EsVersion","throwIfNot","value","msg","Target","getOptions","options","opts","CharsWithoutIgnoreCaseExpansion","getIgnoreCaseMatchChars","char","set","lower","upper","title","LowerToTitleCaseMap","altLower","LowerToAlternativeLowerCaseMap","altUpper","LowerToAlternativeUpperCaseMap","JsUnicodeProperties","JsUnicodePropertiesMap","p","slug","JsUnicodePropertiesOfStrings","JsUnicodePropertiesOfStringsMap","titleEntry","titleRange","PosixClassesMap","PosixProperties","range","start","end","i","name","codePoint","UnicodePropertiesWithSpecificCase","TokenTypes","TokenCharacterSetKinds","TokenDirectiveKinds","TokenGroupKinds","EscapeCharCodes","charClassOpenPattern","sharedEscapesPattern","quantifierRe","tokenRe","charClassTokenRe","tokenize","pattern","flags","rules","extended","xStack","context","isXOn","tokens","match","result","getTokenWithDetails","potentialUnnamedCaptureTokens","numNamedAndOptInUnnamedCaptures","t","numCaptures","splitEscapedNumToken","m","lastIndex","m0","m1","getAllTokensForCharClass","createToken","createTokenForSharedEscape","createTokenForFlagMod","token","re","kind","createTokenForQuantifier","assertSingleCodePoint","opener","numCharClassesOpen","createTokenForAnyTokenWithinCharClass","raw","posix","inCharClass","char1","createTokenForControlChar","createTokenForShorthandCharClass","createTokenForUnicodeProperty","bytes","hex","decoded","encoder","byte","getValidatedHexCharCode","type","data","on","off","enabledFlags","getFlagPropsForToken","disabledFlags","flagChanges","max","limit","neg","negate","obj","matches","hasOnlyChild","alternatives","kidFn","isAlwaysZeroLength","AstTypes","isAlwaysNonZeroLength","node","types","isConsumptiveGroup","isLookaround","AstAssertionKinds","traverse","path","state","visitor","ast","traverseArray","array","parent","keyShift","traverseNode","container","skipTraversingKidsOfPath","shifted","newNode","setParent","visitorKey","getAstTypeAliases","methods","enterFn","exitFn","AstTypeAliases","AstAbsentFunctionKinds","AstCharacterSetKinds","AstDirectiveKinds","AstVariableLengthCharacterSetKinds","parse","walk","createAlternative","createAssertionFromToken","parseBackreference","createCharacter","parseCharacterClassHyphen","parseCharacterClassOpen","parseCharacterSet","createDirectiveFromToken","parseGroupOpen","parseQuantifier","parseSubroutine","createVariableLengthCharacterSet","createRegex","createPattern","createFlags","top","capturingGroups","hasNumberedRef","namedGroupsByName","subroutines","ref","hasKWrapper","fromNum","num","isRelative","numCapturesToLeft","orphan","createBackreference","numberedRef","prevSiblingNode","nextToken","nextNode","createCharacterClassRange","verbose","firstClassToken","createCharacterClass","intersection","throwIfUnclosedCharacterClass","cc","optimizeCharacterClassIntersection","skipPropertyNameValidation","normalized","createUnicodeProperty","createCharacterSet","skipLookbehindValidation","createByGroupKind","isAbsentFunction","isLookbehind","isNegLookbehind","throwIfUnclosedGroup","alt","child","getOptimizedGroup","greedy","possessive","quantifiedNode","createQuantifier","createSubroutine","createAbsentFunction","createAssertion","number","createGroup","createCapturingGroup","createLookaround","hasName","isValidGroupNameOniguruma","charCode","createCharacterClassIntersection","ignoreCase","dotAll","digitIsAscii","spaceIsAscii","wordIsAscii","atomic","element","getJsUnicodePropertyName","slugged","jsName","firstAltFirstEl","kid","firstChild","transform","firstPassState","FirstPassVisitor","globalFlags","secondPassState","SecondPassVisitor","thirdPassState","ThirdPassVisitor","replaceWith","group","prepContainer","adoptAndSwapKids","quantifier","flagDirectivesByAlt","flagDirectives","el","forwardSiblingAlt","getCombinedFlagModsFromFlagNodes","flagGroup","remove","asciiWordBoundaries","avoidSubclass","supportedGNodes","parseFragment","prev","b","defaultWordChar","B","jsGroupNameMap","isValidGroupNameJs","getAndStoreJsGroupName","subroutineRefMap","accuracy","minTargetEs2024","setNegate","asciiSpaceChar","ascii","removeAllPrevSiblings","removeAllNextSiblings","traverseReplacement","topLevel","f","leadingGs","hasAltWithLeadG","hasAltWithoutLeadG","leadingG","getLeadingG","g","_","passedLookbehind","strategy","emoji","emoji_regex_xs_default","multiplexCapturesToLeftByRef","reffedNodesByReferencer","skip","groupOriginByCopy","groupsByName","openRefs","origin","recursion","createRecursion","multiplexNodes","multiplex","groupsWithSameName","hasDuplicateNameToRemove","groupInfo","reffed","reffedGroupNode","isGlobalRecursion","expandedSubroutine","cloneCapturingGroup","replacement","reffedGroupFlagMods","getAllParents","reffedGroupFlags","areFlagsEqual","getFlagModsFromFlags","participants","canParticipateWithNode","alts","numCapsNeeded","emptyCapture","kids","getContainerAccessor","a","capture","rightmostPoint","kidsOfParent","getKids","hasDescendant","originMap","up","up2","store","filterFn","results","accessor","flagNodes","flagProps","combinedFlags","prop","mods","els","firstToConsider","isLoneGLookaround","gNodesForGroup","descendant","generate","minTargetEs2025","recursionLimit","hasCaseInsensitiveNode","hasCaseSensitiveNode","iStack","isIOn","FlagModifierVisitor","appliedGlobalFlags","lastNode","gen","genAssertion","genBackreference","genCapturingGroup","genCharacter","genCharacterClass","genCharacterClassRange","genCharacterSet","genFlags","genGroup","getQuantifierStr","genRecursion","currentModI","charHasCase","getCasesOutsideCharClassRange","BaseEscapeChars","CharClassEscapeChars","CharClassEscapeCharsFlagV","CharCodeEscapeMap","casedRe","escaped","getCharEscape","cases","elements","isLiteralHyphen","genClass","firstType","escOpts","minStr","maxStr","extraChars","charsOutsideRange","getCodePointRangesFromChars","currentFlags","contents","getGroupPrefix","firstOnly","found","caseOfChar","isAfterBackref","useFlagV","isDigitCharCode","escapeChars","chars","codePoints","values","flagMods","useFlagMods","base","EmulatedRegExp","_EmulatedRegExp","#captureMap","#compiled","#pattern","#nameMap","#strategy","lazyCompile","createCaptureMap","str","rest","useLastIndex","pos","#execCore","adjustMatchDetailsForOffset","matchCopy","indicesCopy","mappedNums","hidden","transferTo","to","createNameMap","offset","input","hasIndices","indices","arr","groupIndices","hiddenCaptures","transfers","captureMap","from","toRegExp","pattern","options","d","toRegExpDetails","EmulatedRegExp","opts","getOptions","tokenized","tokenize","onigurumaAst","parse","regexAst","transform","generated","generate","recursionResult","recursion","possessiveResult","possessive","atomicResult","atomic","details","hiddenCaptures","a","b","transfers","strategy","lazyCompile","JavaScriptScanner","patterns","options","forgiving","cache","regexConstructor","p","cached","regex","e","string","startPosition","_options","str","pending","toResult","index","match","offset","indice","i","regexp","minIndex","m","defaultJavaScriptRegexConstructor","pattern","options","toRegExp","createJavaScriptRegexEngine","_options","patterns","JavaScriptScanner","s","resolveColorReplacements","theme","options","replacements","themeName","key","value","applyColorReplacements","color","toArray","x","normalizeGetter","p","r","isPlainLang","lang","isSpecialLang","isNoneTheme","isSpecialTheme","addClassToHast","node","className","targets","c","splitLines","code","preserveEnding","parts","index","lines","i","line","createPositionConverter","indexToPos","character","lineText","posToIndex","splitToken","token","offsets","lastOffset","tokens","offset","splitTokens","breakpoints","sorted","a","b","line","breakpointsInToken","i","flatTokenVariants","merged","variantsOrder","cssVariablePrefix","defaultColor","styles","t","getTokenStyleObject","styleKeys","mergedStyles","cur","idx","key","value","keyName","varKey","FontStyle","stringifyTokenStyle","_grammarStateMap","setLastGrammarStateToMap","keys","state","getLastGrammarStateFromMap","GrammarState","_GrammarState","lang","themes","toArray","theme","INITIAL","args","stacksMap","stack","warnDeprecated","getScopes","scopes","visited","pushScope","stack2","name","getGrammarStack","ShikiError","transformerDecorations","map","getContext","shiki","normalizePosition","p","converter","createPositionConverter","decorations","d","verifyIntersections","codeEl","ctx","lines","applyLineSection","start","end","decoration","lineEl","text","startIndex","endIndex","stringify","children","applyDecoration","wrapper","applyLine","el","type","properties","transform","addClassToHast","lineApplies","items","foo","j","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","builtInTransformers","getTransformers","options","namedColors","findSequence","position","nextEscape","nextClose","parseColor","sequence","colorMode","rgb","x","index","parseSequence","commands","code","codeInt","color","createAnsiSequenceParser","foreground","background","decorations2","findResult","styleToken","defaultNamedColorsMap","createColorPalette","namedColorsMap","namedColor","rgbColor","colorTable","getColorTable","levels","r","g","level","tableColor","tokenizeAnsiWithTheme","fileContents","colorReplacements","resolveColorReplacements","splitLines","colorPalette","parser","bgColor","applyColorReplacements","dimColor","fontStyle","hexMatch","alpha","cssVarMatch","codeToTokensBase","internal","themeName","isPlainLang","isNoneTheme","colorMap","_grammar","tokenizeWithTheme","getLastGrammarState","_tokenizeWithTheme","grammar","result","grammarState","tokenizeMaxLineLength","tokenizeTimeLimit","stateStack","actual","final","len","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","themeSettingsSelectors","setting","selectors","scope","selector","tokenWithScopes","tokenWithScopesText","explainThemeScopesNameOnly","explainThemeScopesFull","themeSelectors","explainThemeScope","matchesOne","matches","parentScopes","selectorParentIndex","parentIndex","settings","selectorPieces","codeToTokensWithThemes","themedTokens","tokens2","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","themeIdx","_","__","___","mergedGrammarState","s","outThemes","count","outLines","i2","indexes","current","l","minLength","n","codeToTokens","bg","fg","rootStyle","themeTokens","themeRegs","themesOrder","themeColorReplacements","_theme","codeToHast","transformerContext","_code","_options","input","transformer","mergeWhitespaces","mergeWhitespaceTokens","splitWhitespaceTokens","contextSource","tokensToHast","transformers","root","structure","tabindex","preNode","codeNode","lineNodes","context","lineNode","col","tokenNode","style","newLine","carryOnContent","firstOffset","couldMerge","match","leading","content","trailing","expanded","codeToHtml","toHtml","VSCODE_FALLBACK_EDITOR_FG","VSCODE_FALLBACK_EDITOR_BG","RESOLVED_KEY","normalizeTheme","rawTheme","globalSetting","replacementCount","replacementMap","getReplacementColor","hex","replaceFg","replaceBg","clone","replacement","resolveLangs","langs","isSpecialLang","normalizeGetter","resolveThemes","isSpecialTheme","message","Registry","_resolver","_themes","_langs","_alias","textmateTheme","Theme","resolved","embeddedLazilyBy","grammarConfig","alias","e","langsGraphArray","missingLangs","dependents","embeddedLang","Resolver","engine","patterns","langIdOrAlias","scopeName","scopeParts","injections","subScopeName","instancesCount","createShikiInternalSync","isDisposed","resolver","_registry","_lastTheme","getLanguage","ensureNotDisposed","_lang","getTheme","setTheme","getLoadedThemes","getLoadedLanguages","loadLanguageSync","langs2","loadLanguage","loadThemeSync","themes2","loadTheme","dispose","createShikiInternal","createOnigurumaEngine","getDefaultWasmLoader","createHighlighterCore","options","internal","createShikiInternal","args","getLastGrammarState","code","options2","codeToTokensBase","codeToTokensWithThemes","codeToTokens","codeToHast","codeToHtml","lang","javascript_default","lang","python_default","lang","typescript_default","github_dark_default_default","github_light_default_default","adjustTheme","theme","createHighlighter","createHighlighterCore","createJavaScriptRegexEngine","javascript_default","python_default","typescript_default","github_dark_default_default","github_light_default_default","shiki_default","createHighligtCodeWithShiki","shikiHiglighter","code","language","options","ShikiComposer","children","highlightProps","setHighlightProps","useState","useEffect","isMounted","shiki_default","React","CodeHighlighterComposer","ShikiComposer_default","memo","InjectStyleElements","injectStyleElementsPropsSchema","useStyleOptions","React","memo","never","object","optional","pipe","readonly","string","undefinedable","createStyle","content","origin","style","makeCreateStyles","contents","bundleStyleContent","createBundleStyleElements","r","createBundleStyleElements_default","bundleStylesheetPropsSchema","pipe","object","optional","injectStyleElementsPropsSchema","never","undefinedable","string","readonly","styleElements","createBundleStyleElements_default","BundleStylesheet","props","nonce","at","o","stylesRoot","useStyleOptions","React","InjectStyleElements","BundleStylesheet_default","memo","useMemo","normalizeStyleOptions","AdaptiveCardRenderer_default","cardPushButtonBackgroundColor","cardPushButtonTextColor","accent","paddingRegular","primaryFont","AnimationCardAttachment","AudioCardAttachment","paddingRegular","createAdaptiveCardsStyleSet","options","strictOptions","normalizeStyleOptions","AdaptiveCardRenderer_default","AnimationCardAttachment","AudioCardAttachment","languageClassPrefix","codeBlockDocumentMod","documentFragment","codeBlockTagName","preElement","codeElement","language","cls","codeBlockRoot","createCodeBlockMiddleware","next","request","codeBlockDocumentMod","parseDocumentFragmentFromString","serializeDocumentFragmentIntoString","sanitizeHTML","BASE_SANITIZE_HTML_OPTIONS","createSanitizeMiddleware","request","documentFragment","htmlAfterBetterLink","htmlAfterSanitization","tag","attributes","createHTMLContentTransformMiddleware","createCodeBlockMiddleware","createSanitizeMiddleware","useComposerProps","attachmentForScreenReaderMiddleware","attachmentMiddleware","htmlContentTransformMiddleware","renderMarkdown","styleOptions","styleSet","patchedAttachmentMiddleware","useMemo","createAdaptiveCardsAttachmentMiddleware","patchedAttachmentForScreenReaderMiddleware","extraStyleSet","createAdaptiveCardsStyleSet","patchedRenderMarkdown","render","patchedHTMLContentTransformMiddleware","createHTMLContentTransformMiddleware","adaptiveCardHostConfigDeprecation","Or","AddFullBundle","adaptiveCardHostConfig","adaptiveCardsHostConfig","adaptiveCardsPackage","attachmentForScreenReaderMiddlewareFromProps","attachmentMiddlewareFromProps","children","htmlContentTransformMiddleware","nonce","renderMarkdown","styleOptions","styleSet","attachmentForScreenReaderMiddleware","xi","Ot","attachmentMiddleware","patchedProps","useComposerProps","React","ShikiComposer_default","AdaptiveCardsComposer_default","BundleStylesheet_default","AddFullBundle_default","memo","FullReactWebChat","props","React","AddFullBundle_default","extraProps","ReactWebChat","FullReactWebChat_default","Components","PropTypes","React","Composer","Components","FullComposer","props","React","AddFullBundle_default","extraProps","PropTypes","FullComposer_default","full_exports","__export","AccessKeySinkSurface","AdaptiveCardContent_default","AnimationCardContent_default","AttachmentBar","AudioCardContent_default","AudioContent","Avatar","BasicConnectivityStatus","BasicSendBox","BasicSendBoxToolbar","BasicToaster","BasicTranscript","BasicWebChat","Bubble","FullComposer_default","DictationInterims","ErrorBox","FileContent","HTMLVideoContent","HeroCardContent_default","ImageContent","LocalizedString","MicrophoneButton","OAuthCardContent_default","FullReactWebChat_default","ReceiptCardContent_default","SendButton","SendStatus","SendTextBox","SignInCardContent_default","SpeakActivity","SuggestedActions","TextArea","TextContent","ThemeProvider","ThumbnailCardContent_default","Timestamp","UploadButton","VideoCardContent_default","VideoContent","VimeoContent","YouTubeContent"]}