@popsure/dirty-swan 0.33.0 → 0.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +71 -67
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/App.d.ts +3 -0
- package/dist/esm/_commonjsHelpers-e7f67fd8.js +23 -0
- package/dist/esm/_commonjsHelpers-e7f67fd8.js.map +1 -0
- package/dist/esm/components/autocompleteAddress/index.js +2062 -0
- package/dist/esm/components/autocompleteAddress/index.js.map +1 -0
- package/dist/esm/components/autocompleteAddress/index.stories.js +110 -0
- package/dist/esm/components/autocompleteAddress/index.stories.js.map +1 -0
- package/dist/esm/components/autocompleteAddress/index.test.js +115 -0
- package/dist/esm/components/autocompleteAddress/index.test.js.map +1 -0
- package/dist/esm/components/button/index.js +26 -0
- package/dist/esm/components/button/index.js.map +1 -0
- package/dist/esm/components/cards/cardButton/index.js +6 -0
- package/dist/esm/components/cards/cardButton/index.js.map +1 -0
- package/dist/esm/components/cards/cardWithLeftIcon/index.js +7 -0
- package/dist/esm/components/cards/cardWithLeftIcon/index.js.map +1 -0
- package/dist/esm/components/cards/cardWithTopIcon/index.js +7 -0
- package/dist/esm/components/cards/cardWithTopIcon/index.js.map +1 -0
- package/dist/esm/components/cards/cardWithTopLeftIcon/index.js +7 -0
- package/dist/esm/components/cards/cardWithTopLeftIcon/index.js.map +1 -0
- package/dist/esm/components/cards/index.js +125 -0
- package/dist/esm/components/cards/index.js.map +1 -0
- package/dist/esm/components/cards/infoCard/index.js +7 -0
- package/dist/esm/components/cards/infoCard/index.js.map +1 -0
- package/dist/esm/components/chip/index.js +22 -0
- package/dist/esm/components/chip/index.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js +32 -0
- package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/AccordionItem/index.js +8 -0
- package/dist/esm/components/comparisonTable/components/AccordionItem/index.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/Chevron.js +10 -0
- package/dist/esm/components/comparisonTable/components/Chevron.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/Row/index.js +36 -0
- package/dist/esm/components/comparisonTable/components/Row/index.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableArrows/Arrow.js +10 -0
- package/dist/esm/components/comparisonTable/components/TableArrows/Arrow.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableArrows/index.js +24 -0
- package/dist/esm/components/comparisonTable/components/TableArrows/index.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableButton/index.js +15 -0
- package/dist/esm/components/comparisonTable/components/TableButton/index.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableButton/index.test.js +37 -0
- package/dist/esm/components/comparisonTable/components/TableButton/index.test.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js +22 -0
- package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableRating/StarIcon.js +10 -0
- package/dist/esm/components/comparisonTable/components/TableRating/StarIcon.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableRating/ZapIcon.js +10 -0
- package/dist/esm/components/comparisonTable/components/TableRating/ZapIcon.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableRating/index.js +27 -0
- package/dist/esm/components/comparisonTable/components/TableRating/index.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js +18 -0
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js +82 -0
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js.map +1 -0
- package/dist/esm/components/comparisonTable/components/TableTrueFalse.js +13 -0
- package/dist/esm/components/comparisonTable/components/TableTrueFalse.js.map +1 -0
- package/dist/esm/components/comparisonTable/index.js +1683 -0
- package/dist/esm/components/comparisonTable/index.js.map +1 -0
- package/dist/esm/components/dateSelector/index.js +2180 -0
- package/dist/esm/components/dateSelector/index.js.map +1 -0
- package/dist/esm/components/dateSelector/index.test.js +65 -0
- package/dist/esm/components/dateSelector/index.test.js.map +1 -0
- package/dist/esm/components/downloadButton/index.js +36 -0
- package/dist/esm/components/downloadButton/index.js.map +1 -0
- package/dist/esm/components/downloadButton/index.stories.js +47 -0
- package/dist/esm/components/downloadButton/index.stories.js.map +1 -0
- package/dist/esm/components/input/autoSuggestInput/index.js +2157 -0
- package/dist/esm/components/input/autoSuggestInput/index.js.map +1 -0
- package/dist/esm/components/input/autoSuggestMultiSelect/index.js +41 -0
- package/dist/esm/components/input/autoSuggestMultiSelect/index.js.map +1 -0
- package/dist/esm/components/input/checkbox/index.js +58 -0
- package/dist/esm/components/input/checkbox/index.js.map +1 -0
- package/dist/esm/components/input/checkbox/index.stories.js +154 -0
- package/dist/esm/components/input/checkbox/index.stories.js.map +1 -0
- package/dist/esm/components/input/checkbox/index.test.js +106 -0
- package/dist/esm/components/input/checkbox/index.test.js.map +1 -0
- package/dist/esm/components/input/currency/index.js +63 -0
- package/dist/esm/components/input/currency/index.js.map +1 -0
- package/dist/esm/components/input/currency/index.test.js +209 -0
- package/dist/esm/components/input/currency/index.test.js.map +1 -0
- package/dist/esm/components/input/iban/index.js +33 -0
- package/dist/esm/components/input/iban/index.js.map +1 -0
- package/dist/esm/components/input/index.js +29 -0
- package/dist/esm/components/input/index.js.map +1 -0
- package/dist/esm/components/markdown/index.js +22178 -0
- package/dist/esm/components/markdown/index.js.map +1 -0
- package/dist/esm/components/markdown/index.stories.js +66 -0
- package/dist/esm/components/markdown/index.stories.js.map +1 -0
- package/dist/esm/components/modal/bottomModal/index.js +35 -0
- package/dist/esm/components/modal/bottomModal/index.js.map +1 -0
- package/dist/esm/components/modal/bottomOrRegularModal/index.js +36 -0
- package/dist/esm/components/modal/bottomOrRegularModal/index.js.map +1 -0
- package/dist/esm/components/modal/regularModal/index.js +28 -0
- package/dist/esm/components/modal/regularModal/index.js.map +1 -0
- package/dist/esm/components/multiDropzone/UploadFileCell/index.js +6 -0
- package/dist/esm/components/multiDropzone/UploadFileCell/index.js.map +1 -0
- package/dist/esm/components/multiDropzone/index.js +2862 -0
- package/dist/esm/components/multiDropzone/index.js.map +1 -0
- package/dist/esm/components/multiDropzone/index.test.js +201 -0
- package/dist/esm/components/multiDropzone/index.test.js.map +1 -0
- package/dist/esm/components/segmentedControl/index.js +42 -0
- package/dist/esm/components/segmentedControl/index.js.map +1 -0
- package/dist/esm/components/segmentedControl/index.stories.js +62 -0
- package/dist/esm/components/segmentedControl/index.stories.js.map +1 -0
- package/dist/esm/components/segmentedControl/index.test.js +63 -0
- package/dist/esm/components/segmentedControl/index.test.js.map +1 -0
- package/dist/esm/components/signaturePad/index.js +560 -0
- package/dist/esm/components/signaturePad/index.js.map +1 -0
- package/dist/esm/components/signaturePad/index.stories.js +33 -0
- package/dist/esm/components/signaturePad/index.stories.js.map +1 -0
- package/dist/esm/customRender-4157fcff.js +24102 -0
- package/dist/esm/customRender-4157fcff.js.map +1 -0
- package/dist/esm/extend-expect-46bdce4a.js +7406 -0
- package/dist/esm/extend-expect-46bdce4a.js.map +1 -0
- package/dist/esm/index-1463d5e9.js +382 -0
- package/dist/esm/index-1463d5e9.js.map +1 -0
- package/dist/esm/index-171a0108.js +997 -0
- package/dist/esm/index-171a0108.js.map +1 -0
- package/dist/esm/index-21239ab0.js +237 -0
- package/dist/esm/index-21239ab0.js.map +1 -0
- package/dist/esm/index-47663d39.js +48 -0
- package/dist/esm/index-47663d39.js.map +1 -0
- package/dist/esm/index-6ced5532.js +69 -0
- package/dist/esm/index-6ced5532.js.map +1 -0
- package/dist/esm/index-db2e797f.js +13 -0
- package/dist/esm/index-db2e797f.js.map +1 -0
- package/dist/esm/index-dd80248b.js +91 -0
- package/dist/esm/index-dd80248b.js.map +1 -0
- package/dist/esm/index-e9e37a34.js +62 -0
- package/dist/esm/index-e9e37a34.js.map +1 -0
- package/dist/esm/index-fb46adf9.js +12 -0
- package/dist/esm/index-fb46adf9.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +50 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/components/autocompleteAddress/index.d.ts +20 -0
- package/dist/esm/lib/components/autocompleteAddress/index.stories.d.ts +66 -0
- package/dist/esm/lib/components/autocompleteAddress/index.test.d.ts +1 -0
- package/dist/esm/lib/components/autocompleteAddress/mapStyle.d.ts +2 -0
- package/dist/esm/lib/components/autocompleteAddress/util/index.d.ts +4 -0
- package/dist/esm/lib/components/button/icons/index.d.ts +9 -0
- package/dist/esm/lib/components/button/index.d.ts +13 -0
- package/dist/esm/lib/components/cards/cardButton/index.d.ts +16 -0
- package/dist/esm/lib/components/cards/cardWithLeftIcon/index.d.ts +14 -0
- package/dist/esm/lib/components/cards/cardWithTopIcon/index.d.ts +15 -0
- package/dist/esm/lib/components/cards/cardWithTopLeftIcon/index.d.ts +14 -0
- package/dist/esm/lib/components/cards/icons/index.d.ts +13 -0
- package/dist/esm/lib/components/cards/index.d.ts +16 -0
- package/dist/esm/lib/components/cards/infoCard/index.d.ts +13 -0
- package/dist/esm/lib/components/chip/index.d.ts +6 -0
- package/dist/esm/lib/components/comparisonTable/components/AccordionItem/AccordionItem.d.ts +9 -0
- package/dist/esm/lib/components/comparisonTable/components/AccordionItem/index.d.ts +1 -0
- package/dist/esm/lib/components/comparisonTable/components/Chevron.d.ts +4 -0
- package/dist/esm/lib/components/comparisonTable/components/Row/index.d.ts +11 -0
- package/dist/esm/lib/components/comparisonTable/components/TableArrows/Arrow.d.ts +4 -0
- package/dist/esm/lib/components/comparisonTable/components/TableArrows/index.d.ts +10 -0
- package/dist/esm/lib/components/comparisonTable/components/TableButton/index.d.ts +8 -0
- package/dist/esm/lib/components/comparisonTable/components/TableButton/index.test.d.ts +1 -0
- package/dist/esm/lib/components/comparisonTable/components/TableInfoButton/index.d.ts +5 -0
- package/dist/esm/lib/components/comparisonTable/components/TableRating/StarIcon.d.ts +4 -0
- package/dist/esm/lib/components/comparisonTable/components/TableRating/ZapIcon.d.ts +4 -0
- package/dist/esm/lib/components/comparisonTable/components/TableRating/index.d.ts +7 -0
- package/dist/esm/lib/components/comparisonTable/components/TableRowHeader/index.d.ts +9 -0
- package/dist/esm/lib/components/comparisonTable/components/TableRowHeader/index.test.d.ts +1 -0
- package/dist/esm/lib/components/comparisonTable/components/TableTrueFalse.d.ts +5 -0
- package/dist/esm/lib/components/comparisonTable/hooks/useComparisonTable.d.ts +14 -0
- package/dist/esm/lib/components/comparisonTable/index.d.ts +52 -0
- package/dist/esm/lib/components/dateSelector/index.d.ts +23 -0
- package/dist/esm/lib/components/dateSelector/index.test.d.ts +1 -0
- package/dist/esm/lib/components/downloadButton/index.d.ts +10 -0
- package/dist/esm/lib/components/downloadButton/index.stories.d.ts +36 -0
- package/dist/esm/lib/components/input/autoSuggestInput/index.d.ts +15 -0
- package/dist/esm/lib/components/input/autoSuggestMultiSelect/index.d.ts +11 -0
- package/dist/esm/lib/components/input/checkbox/index.d.ts +17 -0
- package/dist/esm/lib/components/input/checkbox/index.stories.d.ts +64 -0
- package/dist/esm/lib/components/input/checkbox/index.test.d.ts +1 -0
- package/dist/esm/lib/components/input/currency/format/index.d.ts +2 -0
- package/dist/esm/lib/components/input/currency/index.d.ts +7 -0
- package/dist/esm/lib/components/input/currency/index.test.d.ts +1 -0
- package/dist/esm/lib/components/input/iban/formatIban/index.d.ts +1 -0
- package/dist/esm/lib/components/input/iban/index.d.ts +6 -0
- package/dist/esm/lib/components/input/index.d.ts +16 -0
- package/dist/esm/lib/components/markdown/index.d.ts +10 -0
- package/dist/esm/lib/components/markdown/index.stories.d.ts +44 -0
- package/dist/esm/lib/components/modal/bottomModal/index.d.ts +3 -0
- package/dist/esm/lib/components/modal/bottomOrRegularModal/index.d.ts +3 -0
- package/dist/esm/lib/components/modal/hooks/useOnClose.d.ts +9 -0
- package/dist/esm/lib/components/modal/index.d.ts +13 -0
- package/dist/esm/lib/components/modal/regularModal/index.d.ts +3 -0
- package/dist/esm/lib/components/multiDropzone/UploadFileCell/index.d.ts +10 -0
- package/dist/esm/lib/components/multiDropzone/icons/index.d.ts +11 -0
- package/dist/esm/lib/components/multiDropzone/index.d.ts +15 -0
- package/dist/esm/lib/components/multiDropzone/index.test.d.ts +1 -0
- package/dist/esm/lib/components/multiDropzone/types.d.ts +42 -0
- package/dist/esm/lib/components/multiDropzone/utils/index.d.ts +11 -0
- package/dist/esm/lib/components/segmentedControl/index.d.ts +12 -0
- package/dist/esm/lib/components/segmentedControl/index.stories.d.ts +37 -0
- package/dist/esm/lib/components/segmentedControl/index.test.d.ts +1 -0
- package/dist/esm/lib/components/signaturePad/index.d.ts +19 -0
- package/dist/esm/lib/components/signaturePad/index.stories.d.ts +21 -0
- package/dist/esm/lib/hooks/useOnClickOutside.d.ts +2 -0
- package/dist/esm/lib/index.d.ts +22 -0
- package/dist/esm/lib/models/autoSuggestInput/index.d.ts +4 -0
- package/dist/esm/lib/models/download.d.ts +1 -0
- package/dist/esm/lib/scss/private/base/demo.d.ts +5 -0
- package/dist/esm/lib/scss/public/demo.d.ts +2 -0
- package/dist/esm/lib/util/calendarDate/index.d.ts +3 -0
- package/dist/esm/lib/util/formatBytes/index.d.ts +1 -0
- package/dist/esm/lib/util/generateId/index.d.ts +2 -0
- package/dist/esm/lib/util/images/index.d.ts +11 -0
- package/dist/esm/lib/util/images/index.stories.d.ts +12 -0
- package/dist/esm/lib/util/testUtils/customRender.d.ts +7 -0
- package/dist/esm/lib/util/testUtils/index.d.ts +2 -0
- package/dist/esm/lib/util/zeroFill.d.ts +1 -0
- package/dist/esm/mapStyle-1288a869.js +187 -0
- package/dist/esm/mapStyle-1288a869.js.map +1 -0
- package/dist/esm/scss/private/base/demo.js +80 -0
- package/dist/esm/scss/private/base/demo.js.map +1 -0
- package/dist/esm/scss/public/demo.js +290 -0
- package/dist/esm/scss/public/demo.js.map +1 -0
- package/dist/esm/style-inject.es-1f59c1d0.js +29 -0
- package/dist/esm/style-inject.es-1f59c1d0.js.map +1 -0
- package/dist/esm/tslib.es6-5bc94358.js +104 -0
- package/dist/esm/tslib.es6-5bc94358.js.map +1 -0
- package/dist/esm/useOnClose-d818a54f.js +46 -0
- package/dist/esm/useOnClose-d818a54f.js.map +1 -0
- package/dist/esm/util/images/index.stories.js +23 -0
- package/dist/esm/util/images/index.stories.js.map +1 -0
- package/dist/esm/util/testUtils/customRender.js +7 -0
- package/dist/esm/util/testUtils/customRender.js.map +1 -0
- package/package.json +1 -1
- package/src/lib/components/input/checkbox/index.tsx +2 -1
- package/src/lib/components/input/checkbox/styles.module.scss +3 -0
- package/src/lib/components/markdown/index.stories.tsx +64 -2
- package/src/global.d.ts +0 -1
- package/src/lib/components/markdown/example.md +0 -78
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/hastscript/node_modules/property-information/lib/util/schema.js","../../../../node_modules/hastscript/node_modules/property-information/lib/util/merge.js","../../../../node_modules/hastscript/node_modules/property-information/lib/normalize.js","../../../../node_modules/hastscript/node_modules/property-information/lib/util/info.js","../../../../node_modules/hastscript/node_modules/property-information/lib/util/types.js","../../../../node_modules/hastscript/node_modules/property-information/lib/util/defined-info.js","../../../../node_modules/hastscript/node_modules/property-information/lib/util/create.js","../../../../node_modules/hastscript/node_modules/property-information/lib/xlink.js","../../../../node_modules/hastscript/node_modules/property-information/lib/xml.js","../../../../node_modules/hastscript/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../../node_modules/hastscript/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../../node_modules/hastscript/node_modules/property-information/lib/xmlns.js","../../../../node_modules/hastscript/node_modules/property-information/lib/aria.js","../../../../node_modules/hastscript/node_modules/property-information/lib/html.js","../../../../node_modules/hastscript/node_modules/property-information/lib/svg.js","../../../../node_modules/hastscript/node_modules/property-information/lib/find.js","../../../../node_modules/hastscript/node_modules/property-information/index.js","../../../../node_modules/hast-util-parse-selector/index.js","../../../../node_modules/hastscript/node_modules/space-separated-tokens/index.js","../../../../node_modules/hastscript/node_modules/comma-separated-tokens/index.js","../../../../node_modules/hastscript/lib/core.js","../../../../node_modules/hastscript/lib/html.js","../../../../node_modules/react-markdown/lib/uri-transformer.js","../../../../node_modules/is-buffer/index.js","../../../../node_modules/unist-util-stringify-position/index.js","../../../../node_modules/react-markdown/node_modules/vfile-message/index.js","../../../../node_modules/process/index.js","../../../../node_modules/url/node_modules/punycode/punycode.js","../../../../node_modules/url/util.js","../../../../node_modules/url/url.js","../../../../node_modules/react-markdown/node_modules/vfile/lib/minurl.shared.js","../../../../node_modules/react-markdown/node_modules/vfile/lib/index.js","../../../../node_modules/bail/index.js","../../../../node_modules/extend/index.js","../../../../node_modules/is-plain-obj/index.js","../../../../node_modules/trough/index.js","../../../../node_modules/unified/node_modules/vfile-message/index.js","../../../../node_modules/unified/node_modules/vfile/lib/minurl.shared.js","../../../../node_modules/unified/node_modules/vfile/lib/index.js","../../../../node_modules/unified/lib/index.js","../../../../node_modules/mdast-util-to-string/index.js","../../../../node_modules/micromark-util-chunked/index.js","../../../../node_modules/micromark-util-combine-extensions/index.js","../../../../node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","../../../../node_modules/micromark-util-character/index.js","../../../../node_modules/micromark-factory-space/index.js","../../../../node_modules/micromark/lib/initialize/content.js","../../../../node_modules/micromark/lib/initialize/document.js","../../../../node_modules/micromark-util-classify-character/index.js","../../../../node_modules/micromark-util-resolve-all/index.js","../../../../node_modules/micromark-core-commonmark/lib/attention.js","../../../../node_modules/micromark-core-commonmark/lib/autolink.js","../../../../node_modules/micromark-core-commonmark/lib/blank-line.js","../../../../node_modules/micromark-core-commonmark/lib/block-quote.js","../../../../node_modules/micromark-core-commonmark/lib/character-escape.js","../../../../node_modules/character-entities/index.js","../../../../node_modules/decode-named-character-reference/index.js","../../../../node_modules/micromark-core-commonmark/lib/character-reference.js","../../../../node_modules/micromark-core-commonmark/lib/code-fenced.js","../../../../node_modules/micromark-core-commonmark/lib/code-indented.js","../../../../node_modules/micromark-core-commonmark/lib/code-text.js","../../../../node_modules/micromark-util-subtokenize/index.js","../../../../node_modules/micromark-core-commonmark/lib/content.js","../../../../node_modules/micromark-factory-destination/index.js","../../../../node_modules/micromark-factory-label/index.js","../../../../node_modules/micromark-factory-title/index.js","../../../../node_modules/micromark-factory-whitespace/index.js","../../../../node_modules/micromark-util-normalize-identifier/index.js","../../../../node_modules/micromark-core-commonmark/lib/definition.js","../../../../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../../../../node_modules/micromark-core-commonmark/lib/heading-atx.js","../../../../node_modules/micromark-util-html-tag-name/index.js","../../../../node_modules/micromark-core-commonmark/lib/html-flow.js","../../../../node_modules/micromark-core-commonmark/lib/html-text.js","../../../../node_modules/micromark-core-commonmark/lib/label-end.js","../../../../node_modules/micromark-core-commonmark/lib/label-start-image.js","../../../../node_modules/micromark-core-commonmark/lib/label-start-link.js","../../../../node_modules/micromark-core-commonmark/lib/line-ending.js","../../../../node_modules/micromark-core-commonmark/lib/thematic-break.js","../../../../node_modules/micromark-core-commonmark/lib/list.js","../../../../node_modules/micromark-core-commonmark/lib/setext-underline.js","../../../../node_modules/micromark/lib/initialize/flow.js","../../../../node_modules/micromark/lib/initialize/text.js","../../../../node_modules/micromark/lib/create-tokenizer.js","../../../../node_modules/micromark/lib/constructs.js","../../../../node_modules/micromark/lib/parse.js","../../../../node_modules/micromark/lib/preprocess.js","../../../../node_modules/micromark/lib/postprocess.js","../../../../node_modules/micromark-util-decode-numeric-character-reference/index.js","../../../../node_modules/micromark-util-decode-string/index.js","../../../../node_modules/mdast-util-from-markdown/lib/index.js","../../../../node_modules/react-markdown/node_modules/remark-parse/lib/index.js","../../../../node_modules/mdast-util-to-hast/node_modules/unist-builder/index.js","../../../../node_modules/mdast-util-to-hast/lib/traverse.js","../../../../node_modules/unist-util-visit-parents/node_modules/unist-util-is/index.js","../../../../node_modules/unist-util-visit-parents/color.js","../../../../node_modules/unist-util-visit-parents/index.js","../../../../node_modules/mdast-util-to-hast/node_modules/unist-util-visit/index.js","../../../../node_modules/mdast-util-to-hast/node_modules/unist-util-position/index.js","../../../../node_modules/unist-util-generated/index.js","../../../../node_modules/mdast-util-to-hast/node_modules/mdast-util-definitions/index.js","../../../../node_modules/micromark-util-encode/index.js","../../../../node_modules/micromark-util-sanitize-uri/index.js","../../../../node_modules/mdast-util-to-hast/lib/wrap.js","../../../../node_modules/mdast-util-to-hast/lib/footer.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/break.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/code.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/footnote.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/html.js","../../../../node_modules/mdurl/encode.js","../../../../node_modules/mdast-util-to-hast/lib/revert.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/image.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/link.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/list.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/root.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/table.js","../../../../node_modules/trim-lines/index.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/text.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../../../../node_modules/mdast-util-to-hast/lib/handlers/index.js","../../../../node_modules/mdast-util-to-hast/lib/index.js","../../../../node_modules/remark-rehype/lib/index.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/util/schema.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/util/merge.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/normalize.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/util/info.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/util/types.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/util/defined-info.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/util/create.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/xlink.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/xml.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/xmlns.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/aria.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/html.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/svg.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/find.js","../../../../node_modules/react-markdown/node_modules/property-information/lib/hast-to-react.js","../../../../node_modules/react-markdown/node_modules/property-information/index.js","../../../../node_modules/react-markdown/node_modules/unist-util-visit/index.js","../../../../node_modules/react-markdown/lib/rehype-filter.js","../../../../node_modules/react-markdown/node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/react-markdown/node_modules/react-is/cjs/react-is.development.js","../../../../node_modules/react-markdown/node_modules/react-is/index.js","../../../../node_modules/hast-util-whitespace/index.js","../../../../node_modules/react-markdown/node_modules/space-separated-tokens/index.js","../../../../node_modules/react-markdown/node_modules/comma-separated-tokens/index.js","../../../../node_modules/inline-style-parser/index.js","../../../../node_modules/style-to-object/index.js","../../../../node_modules/react-markdown/lib/ast-to-react.js","../../../../node_modules/react-markdown/lib/react-markdown.js","../../../../node_modules/micromark-extension-directive/lib/factory-attributes.js","../../../../node_modules/micromark-extension-directive/lib/factory-label.js","../../../../node_modules/micromark-extension-directive/lib/factory-name.js","../../../../node_modules/micromark-extension-directive/lib/directive-container.js","../../../../node_modules/micromark-extension-directive/lib/directive-leaf.js","../../../../node_modules/micromark-extension-directive/lib/directive-text.js","../../../../node_modules/micromark-extension-directive/lib/syntax.js","../../../../node_modules/character-entities-legacy/index.js","../../../../node_modules/character-reference-invalid/index.js","../../../../node_modules/parse-entities/node_modules/is-decimal/index.js","../../../../node_modules/is-hexadecimal/index.js","../../../../node_modules/is-alphanumerical/node_modules/is-alphabetical/index.js","../../../../node_modules/is-alphanumerical/node_modules/is-decimal/index.js","../../../../node_modules/is-alphanumerical/index.js","../../../../node_modules/parse-entities/lib/index.js","../../../../node_modules/stringify-entities/lib/core.js","../../../../node_modules/stringify-entities/lib/util/format-basic.js","../../../../node_modules/stringify-entities/lib/index.js","../../../../node_modules/mdast-util-to-markdown/lib/util/track.js","../../../../node_modules/mdast-util-to-markdown/lib/util/container-flow.js","../../../../node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js","../../../../node_modules/mdast-util-to-markdown/lib/util/check-quote.js","../../../../node_modules/mdast-util-directive/index.js","../../../../node_modules/remark-directive/index.js","../../../../node_modules/unist-util-is/convert.js","../../../../node_modules/unist-util-visit/node_modules/unist-util-visit-parents/color.js","../../../../node_modules/unist-util-visit/node_modules/unist-util-visit-parents/index.js","../../../../node_modules/unist-util-visit/index.js","../../../../../src/lib/components/markdown/index.tsx"],"sourcesContent":["/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\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","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\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 * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\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})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\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 * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\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})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\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 capture: boolean,\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 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: boolean,\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 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 onBeforePrint: 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 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 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 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\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})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\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 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 transform: caseSensitiveTransform,\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 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})\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = 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 prop = '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(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n */\n\nvar search = /[#.]/g\n\n/**\n * Create a hast element from a simple CSS selector.\n *\n * @param selector A simple CSS selector.\n * Can contain a tag-name (`foo`), classes (`.bar`), and an ID (`#baz`).\n * Multiple classes are allowed.\n * Uses the last ID if multiple IDs are found.\n * @param [defaultTagName='div'] Tag name to use if `selector` does not specify one.\n */\nexport const parseSelector =\n /**\n * @type {(\n * <Selector extends string, DefaultTagName extends string = 'div'>(selector?: Selector, defaultTagName?: DefaultTagName) => Element & {tagName: import('./extract.js').ExtractTagName<Selector, DefaultTagName>}\n * )}\n */\n (\n /**\n * @param {string} [selector]\n * @param {string} [defaultTagName='div']\n * @returns {Element}\n */\n function (selector, defaultTagName = 'div') {\n var value = selector || ''\n /** @type {Properties} */\n var props = {}\n var start = 0\n /** @type {string} */\n var subvalue\n /** @type {string} */\n var previous\n /** @type {RegExpMatchArray} */\n var match\n\n while (start < value.length) {\n search.lastIndex = start\n match = search.exec(value)\n subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n defaultTagName = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (Array.isArray(props.className)) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {\n type: 'element',\n tagName: defaultTagName,\n properties: props,\n children: []\n }\n }\n )\n","/**\n * Parse space separated tokens to an array of strings.\n *\n * @param {string} value Space separated tokens\n * @returns {Array.<string>} 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 Tokens\n * @returns {string} Space separated tokens\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @typedef {Object} StringifyOptions\n * @property {boolean} [padLeft=true] Whether to pad a space before a token (`boolean`, default: `true`).\n * @property {boolean} [padRight=false] Whether to pad a space after a token (`boolean`, default: `false`).\n */\n\n/**\n * Parse comma separated tokens to an array.\n *\n * @param {string} value\n * @returns {Array.<string>}\n */\nexport function parse(value) {\n /** @type {Array.<string>} */\n var tokens = []\n var input = String(value || '')\n var index = input.indexOf(',')\n var start = 0\n /** @type {boolean} */\n var end\n /** @type {string} */\n var token\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n 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 to comma separated tokens.\n *\n * @param {Array.<string|number>} values\n * @param {StringifyOptions} [options]\n * @returns {string}\n */\nexport function stringify(values, options) {\n var settings = options || {}\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === '') {\n values = values.concat('')\n }\n\n return values\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {Root['children'][number]} Child\n * @typedef {Child|Root} Node\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n *\n * @typedef {Root|Element} HResult\n * @typedef {string|number} HStyleValue\n * @typedef {Object.<string, HStyleValue>} HStyle\n * @typedef {string|number|boolean|null|undefined} HPrimitiveValue\n * @typedef {Array.<string|number>} HArrayValue\n * @typedef {HPrimitiveValue|HArrayValue} HPropertyValue\n * @typedef {{[property: string]: HPropertyValue|HStyle}} HProperties\n *\n * @typedef {string|number|null|undefined} HPrimitiveChild\n * @typedef {Array.<Node|HPrimitiveChild>} HArrayChild\n * @typedef {Node|HPrimitiveChild|HArrayChild} HChild\n */\n\nimport {find, normalize} from 'property-information'\nimport {parseSelector} from 'hast-util-parse-selector'\nimport {parse as spaces} from 'space-separated-tokens'\nimport {parse as commas} from 'comma-separated-tokens'\n\nconst buttonTypes = new Set(['menu', 'submit', 'reset', 'button'])\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Schema} schema\n * @param {string} defaultTagName\n * @param {Array.<string>} [caseSensitive]\n */\nexport function core(schema, defaultTagName, caseSensitive) {\n const adjust = caseSensitive && createAdjustMap(caseSensitive)\n\n const h =\n /**\n * @type {{\n * (): Root\n * (selector: null|undefined, ...children: HChild[]): Root\n * (selector: string, properties?: HProperties, ...children: HChild[]): Element\n * (selector: string, ...children: HChild[]): Element\n * }}\n */\n (\n /**\n * Hyperscript compatible DSL for creating virtual hast trees.\n *\n * @param {string|null} [selector]\n * @param {HProperties|HChild} [properties]\n * @param {HChild[]} children\n * @returns {HResult}\n */\n function (selector, properties, ...children) {\n let index = -1\n /** @type {HResult} */\n let node\n\n if (selector === undefined || selector === null) {\n node = {type: 'root', children: []}\n // @ts-expect-error Properties are not supported for roots.\n children.unshift(properties)\n } else {\n node = parseSelector(selector, defaultTagName)\n // Normalize the name.\n node.tagName = node.tagName.toLowerCase()\n if (adjust && own.call(adjust, node.tagName)) {\n node.tagName = adjust[node.tagName]\n }\n\n // Handle props.\n if (isProperties(properties, node.tagName)) {\n /** @type {string} */\n let key\n\n for (key in properties) {\n if (own.call(properties, key)) {\n // @ts-expect-error `node.properties` is set.\n addProperty(schema, node.properties, key, properties[key])\n }\n }\n } else {\n children.unshift(properties)\n }\n }\n\n // Handle children.\n while (++index < children.length) {\n addChild(node.children, children[index])\n }\n\n if (node.type === 'element' && node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n )\n\n return h\n}\n\n/**\n * @param {HProperties|HChild} value\n * @param {string} name\n * @returns {value is HProperties}\n */\nfunction isProperties(value, name) {\n if (\n value === null ||\n value === undefined ||\n typeof value !== 'object' ||\n Array.isArray(value)\n ) {\n return false\n }\n\n if (name === 'input' || !value.type || typeof value.type !== 'string') {\n return true\n }\n\n if ('children' in value && Array.isArray(value.children)) {\n return false\n }\n\n if (name === 'button') {\n return buttonTypes.has(value.type.toLowerCase())\n }\n\n return !('value' in value)\n}\n\n/**\n * @param {Schema} schema\n * @param {Properties} properties\n * @param {string} key\n * @param {HStyle|HPropertyValue} value\n * @returns {void}\n */\nfunction addProperty(schema, properties, key, value) {\n const info = find(schema, key)\n let index = -1\n /** @type {HPropertyValue} */\n let result\n\n // Ignore nullish and NaN values.\n if (value === undefined || value === null) return\n\n if (typeof value === 'number') {\n // Ignore NaN.\n if (Number.isNaN(value)) return\n\n result = value\n }\n // Booleans.\n else if (typeof value === 'boolean') {\n result = value\n }\n // Handle list values.\n else if (typeof value === 'string') {\n if (info.spaceSeparated) {\n result = spaces(value)\n } else if (info.commaSeparated) {\n result = commas(value)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(value).join(' '))\n } else {\n result = parsePrimitive(info, info.property, value)\n }\n } else if (Array.isArray(value)) {\n result = value.concat()\n } else {\n result = info.property === 'style' ? style(value) : String(value)\n }\n\n if (Array.isArray(result)) {\n /** @type {Array.<string|number>} */\n const finalResult = []\n\n while (++index < result.length) {\n // @ts-expect-error Assume no booleans in array.\n finalResult[index] = parsePrimitive(info, info.property, result[index])\n }\n\n result = finalResult\n }\n\n // Class names (which can be added both on the `selector` and here).\n if (info.property === 'className' && Array.isArray(properties.className)) {\n // @ts-expect-error Assume no booleans in `className`.\n result = properties.className.concat(result)\n }\n\n properties[info.property] = result\n}\n\n/**\n * @param {Array.<Child>} nodes\n * @param {HChild} value\n * @returns {void}\n */\nfunction addChild(nodes, value) {\n let index = -1\n\n if (value === undefined || value === null) {\n // Empty.\n } else if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n } else if (Array.isArray(value)) {\n while (++index < value.length) {\n addChild(nodes, value[index])\n }\n } else if (typeof value === 'object' && 'type' in value) {\n if (value.type === 'root') {\n addChild(nodes, value.children)\n } else {\n nodes.push(value)\n }\n } else {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n}\n\n/**\n * Parse a single primitives.\n *\n * @param {Info} info\n * @param {string} name\n * @param {HPrimitiveValue} value\n * @returns {HPrimitiveValue}\n */\nfunction parsePrimitive(info, name, value) {\n if (typeof value === 'string') {\n if (info.number && value && !Number.isNaN(Number(value))) {\n return Number(value)\n }\n\n if (\n (info.boolean || info.overloadedBoolean) &&\n (value === '' || normalize(value) === normalize(name))\n ) {\n return true\n }\n }\n\n return value\n}\n\n/**\n * @param {HStyle} value\n * @returns {string}\n */\nfunction style(value) {\n /** @type {Array.<string>} */\n const result = []\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n result.push([key, value[key]].join(': '))\n }\n }\n\n return result.join('; ')\n}\n\n/**\n * @param {Array.<string>} values\n * @returns {Object.<string, string>}\n */\nfunction createAdjustMap(values) {\n /** @type {Object.<string, string>} */\n const result = {}\n let index = -1\n\n while (++index < values.length) {\n result[values[index].toLowerCase()] = values[index]\n }\n\n return result\n}\n","/**\n * @typedef {import('./core.js').HChild} Child Acceptable child value\n * @typedef {import('./core.js').HProperties} Properties Acceptable properties value.\n *\n * @typedef {import('./jsx-classic').Element} h.JSX.Element\n * @typedef {import('./jsx-classic').IntrinsicAttributes} h.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic').IntrinsicElements} h.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic').ElementChildrenAttribute} h.JSX.ElementChildrenAttribute\n */\n\nimport {html} from 'property-information'\nimport {core} from './core.js'\n\nexport const h = core(html, 'div')\n","const protocols = ['http', 'https', 'mailto', 'tel']\n\n/**\n * @param {string} uri\n * @returns {string}\n */\nexport function uriTransformer(uri) {\n const url = (uri || '').trim()\n const first = url.charAt(0)\n\n if (first === '#' || first === '/') {\n return url\n }\n\n const colon = url.indexOf(':')\n if (colon === -1) {\n return url\n }\n\n let index = -1\n\n while (++index < protocols.length) {\n const protocol = protocols[index]\n\n if (\n colon === protocol.length &&\n url.slice(0, protocol.length).toLowerCase() === protocol\n ) {\n return url\n }\n }\n\n index = url.indexOf('?')\n if (index !== -1 && colon > index) {\n return url\n }\n\n index = url.indexOf('#')\n if (index !== -1 && colon > index) {\n return url\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)'\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {object & {type: string, position?: Position|undefined}} NodeLike\n */\n\n/**\n * Stringify one point, a position (start and end points), or a node’s\n * positional information.\n *\n * @param {Node|NodeLike|Position|Point|null} [value]\n * @returns {string}\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point|undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position|undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number|undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position|undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\nexport class VFileMessage extends Error {\n /**\n * Constructor of a message for `reason` at `place` from `origin`.\n * When an error is passed in as `reason`, copies the `stack`.\n *\n * @param {string|Error} reason Reason for message (`string` or `Error`). Uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place] Place at which the message occurred in a file (`Node`, `Position`, or `Point`, optional).\n * @param {string} [origin] Place in code the message originates from (`string`, optional).\n */\n constructor(reason, place, origin) {\n /** @type {[string|null, string|null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n position.start = place\n }\n }\n\n // Fields from `Error`\n this.name = stringifyPosition(place) || '1:1'\n this.message = typeof reason === 'object' ? reason.message : reason\n this.stack = typeof reason === 'object' ? reason.stack : ''\n\n /**\n * Reason for message.\n * @type {string}\n */\n this.reason = this.message\n /**\n * If true, marks associated file as no longer processable.\n * @type {boolean?}\n */\n // eslint-disable-next-line no-unused-expressions\n this.fatal\n /**\n * Starting line of error.\n * @type {number?}\n */\n this.line = position.start.line\n /**\n * Starting column of error.\n * @type {number?}\n */\n this.column = position.start.column\n /**\n * Namespace of warning.\n * @type {string?}\n */\n this.source = parts[0]\n /**\n * Category of message.\n * @type {string?}\n */\n this.ruleId = parts[1]\n /**\n * Full range information, when available.\n * Has start and end properties, both set to an object with line and column, set to number?.\n * @type {Position?}\n */\n this.position = position\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /* eslint-disable no-unused-expressions */\n /**\n * You can use this to specify the source value that’s being reported, which\n * is deemed incorrect.\n * @type {string?}\n */\n this.actual\n /**\n * You can use this to suggest values that should be used instead of\n * `actual`, one or more values that are deemed as acceptable.\n * @type {Array<string>?}\n */\n this.expected\n /**\n * You may add a file property with a path of a file (used throughout the VFile ecosystem).\n * @type {string?}\n */\n this.file\n /**\n * You may add a url property with a link to documentation for the message.\n * @type {string?}\n */\n this.url\n /**\n * You may add a note property with a long form description of the message (supported by vfile-reporter).\n * @type {string?}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","// for now just expose the builtin process global from node.js\nmodule.exports = global.process;\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * @param {unknown} fileURLOrPath\n * @returns {fileURLOrPath is URL}\n */\n// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>\nexport function isUrl(fileURLOrPath) {\n return (\n fileURLOrPath !== null &&\n typeof fileURLOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileURLOrPath.href &&\n // @ts-expect-error: indexable.\n fileURLOrPath.origin\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {Record<string, unknown> & {type: string, position?: Position|undefined}} NodeLike\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n *\n * @typedef {'ascii'|'utf8'|'utf-8'|'utf16le'|'ucs2'|'ucs-2'|'base64'|'base64url'|'latin1'|'binary'|'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n * This is a copy of the typing from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>\n *\n * @typedef {Value|Options|VFile|URL} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * @property {Value} [value]\n * @property {string} [cwd]\n * @property {Array<string>} [history]\n * @property {string|URL} [path]\n * @property {string} [basename]\n * @property {string} [stem]\n * @property {string} [extname]\n * @property {string} [dirname]\n * @property {Data} [data]\n *\n * @typedef Map\n * Raw source map, see:\n * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.\n * @property {number} version\n * @property {Array<string>} sources\n * @property {Array<string>} names\n * @property {string|undefined} [sourceRoot]\n * @property {Array<string>|undefined} [sourcesContent]\n * @property {string} mappings\n * @property {string} file\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration: a bunch of keys that will be shallow copied over to the new\n * file.\n *\n * @typedef {Record<string, unknown>} ReporterSettings\n * @typedef {<T = ReporterSettings>(files: Array<VFile>, options: T) => string} Reporter\n */\n\nimport buffer from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n// Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * If `options` is `string` or `Buffer`, it’s treated as `{value: options}`.\n * If `options` is a `URL`, it’s treated as `{path: options}`.\n * If `options` is a `VFile`, shallow copies its data over to the new file.\n * All fields in `options` are set on the newly created `VFile`.\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * It’s not possible to set either `dirname` or `extname` without setting\n * either `history`, `path`, `basename`, or `stem` as well.\n *\n * @param {Compatible} [value]\n */\n constructor(value) {\n /** @type {Options} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n // @ts-expect-error Looks like a buffer.\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n // @ts-expect-error Looks like file or options.\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n * The first is the original path and the last is the current path.\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n * This is used by vfile reporters.\n * @type {boolean}\n */\n this.stored\n\n /**\n * Sometimes files have a non-string, compiled, representation.\n * This can be stored in the `result` field.\n * One example is when turning markdown into React nodes.\n * This is used by unified to store non-string results.\n * @type {unknown}\n */\n this.result\n\n /**\n * Sometimes files have a source map associated with them.\n * This can be stored in the `map` field.\n * This should be a `Map` type, which is equivalent to the `RawSourceMap`\n * type from the `source-map` module.\n * @type {Map|undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (prop in options && options[prop] !== undefined) {\n // @ts-expect-error: TS is confused by the different types for `history`.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) this[prop] = options[prop]\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n * @param {string|URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n * Cannot be set if there’s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding} [encoding='utf8']\n * When `value` is a `Buffer`, `encoding` is a character encoding to\n * understand it as (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding)\n }\n\n /**\n * Constructs a new `VFileMessage`, where `fatal` is set to `false`, and\n * associates it with the file by adding it to `vfile.messages` and setting\n * `message.file` to the current filepath.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Like `VFile#message()`, but associates an informational message where\n * `fatal` is set to `null`.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Like `VFile#message()`, but associates a fatal message where `fatal` is\n * set to `true`, and then immediately throws it.\n *\n * > 👉 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {never}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {void}\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {asserts part is string}\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string|undefined} path\n * @param {string} name\n * @returns {asserts path is string}\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback\n * @typedef {(...input: Array<any>) => any} Middleware\n *\n * @typedef {(...input: Array<any>) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array<Middleware>} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array<any>} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array<any>} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position|undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\nexport class VFileMessage extends Error {\n /**\n * Constructor of a message for `reason` at `place` from `origin`.\n * When an error is passed in as `reason`, copies the `stack`.\n *\n * @param {string|Error} reason Reason for message (`string` or `Error`). Uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place] Place at which the message occurred in a file (`Node`, `Position`, or `Point`, optional).\n * @param {string} [origin] Place in code the message originates from (`string`, optional).\n */\n constructor(reason, place, origin) {\n /** @type {[string|null, string|null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n position.start = place\n }\n }\n\n // Fields from `Error`\n this.name = stringifyPosition(place) || '1:1'\n this.message = typeof reason === 'object' ? reason.message : reason\n this.stack = typeof reason === 'object' ? reason.stack : ''\n\n /**\n * Reason for message.\n * @type {string}\n */\n this.reason = this.message\n /**\n * If true, marks associated file as no longer processable.\n * @type {boolean?}\n */\n // eslint-disable-next-line no-unused-expressions\n this.fatal\n /**\n * Starting line of error.\n * @type {number?}\n */\n this.line = position.start.line\n /**\n * Starting column of error.\n * @type {number?}\n */\n this.column = position.start.column\n /**\n * Namespace of warning.\n * @type {string?}\n */\n this.source = parts[0]\n /**\n * Category of message.\n * @type {string?}\n */\n this.ruleId = parts[1]\n /**\n * Full range information, when available.\n * Has start and end properties, both set to an object with line and column, set to number?.\n * @type {Position?}\n */\n this.position = position\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /* eslint-disable no-unused-expressions */\n /**\n * You can use this to specify the source value that’s being reported, which\n * is deemed incorrect.\n * @type {string?}\n */\n this.actual\n /**\n * You can use this to suggest values that should be used instead of\n * `actual`, one or more values that are deemed as acceptable.\n * @type {Array<string>?}\n */\n this.expected\n /**\n * You may add a file property with a path of a file (used throughout the VFile ecosystem).\n * @type {string?}\n */\n this.file\n /**\n * You may add a url property with a link to documentation for the message.\n * @type {string?}\n */\n this.url\n /**\n * You may add a note property with a long form description of the message (supported by vfile-reporter).\n * @type {string?}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * @param {unknown} fileURLOrPath\n * @returns {fileURLOrPath is URL}\n */\n// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>\nexport function isUrl(fileURLOrPath) {\n return (\n fileURLOrPath !== null &&\n typeof fileURLOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileURLOrPath.href &&\n // @ts-expect-error: indexable.\n fileURLOrPath.origin\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {Record<string, unknown> & {type: string, position?: Position|undefined}} NodeLike\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n *\n * @typedef {'ascii'|'utf8'|'utf-8'|'utf16le'|'ucs2'|'ucs-2'|'base64'|'base64url'|'latin1'|'binary'|'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n * This is a copy of the typing from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>\n *\n * @typedef {Value|Options|VFile|URL} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * @property {Value} [value]\n * @property {string} [cwd]\n * @property {Array<string>} [history]\n * @property {string|URL} [path]\n * @property {string} [basename]\n * @property {string} [stem]\n * @property {string} [extname]\n * @property {string} [dirname]\n * @property {Data} [data]\n *\n * @typedef Map\n * Raw source map, see:\n * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.\n * @property {number} version\n * @property {Array<string>} sources\n * @property {Array<string>} names\n * @property {string|undefined} [sourceRoot]\n * @property {Array<string>|undefined} [sourcesContent]\n * @property {string} mappings\n * @property {string} file\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration: a bunch of keys that will be shallow copied over to the new\n * file.\n *\n * @typedef {Record<string, unknown>} ReporterSettings\n * @typedef {<T = ReporterSettings>(files: Array<VFile>, options: T) => string} Reporter\n */\n\nimport buffer from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n// Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * If `options` is `string` or `Buffer`, it’s treated as `{value: options}`.\n * If `options` is a `URL`, it’s treated as `{path: options}`.\n * If `options` is a `VFile`, shallow copies its data over to the new file.\n * All fields in `options` are set on the newly created `VFile`.\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * It’s not possible to set either `dirname` or `extname` without setting\n * either `history`, `path`, `basename`, or `stem` as well.\n *\n * @param {Compatible} [value]\n */\n constructor(value) {\n /** @type {Options} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n // @ts-expect-error Looks like a buffer.\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n // @ts-expect-error Looks like file or options.\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n * The first is the original path and the last is the current path.\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n * This is used by vfile reporters.\n * @type {boolean}\n */\n this.stored\n\n /**\n * Sometimes files have a non-string, compiled, representation.\n * This can be stored in the `result` field.\n * One example is when turning markdown into React nodes.\n * This is used by unified to store non-string results.\n * @type {unknown}\n */\n this.result\n\n /**\n * Sometimes files have a source map associated with them.\n * This can be stored in the `map` field.\n * This should be a `Map` type, which is equivalent to the `RawSourceMap`\n * type from the `source-map` module.\n * @type {Map|undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (prop in options && options[prop] !== undefined) {\n // @ts-expect-error: TS is confused by the different types for `history`.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) this[prop] = options[prop]\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n * @param {string|URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n * Cannot be set if there’s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding} [encoding='utf8']\n * When `value` is a `Buffer`, `encoding` is a character encoding to\n * understand it as (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding)\n }\n\n /**\n * Constructs a new `VFileMessage`, where `fatal` is set to `false`, and\n * associates it with the file by adding it to `vfile.messages` and setting\n * `message.file` to the current filepath.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Like `VFile#message()`, but associates an informational message where\n * `fatal` is set to `null`.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Like `VFile#message()`, but associates a fatal message where `fatal` is\n * set to `true`, and then immediately throws it.\n *\n * > 👉 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {never}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {void}\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {asserts part is string}\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string|undefined} path\n * @param {string} name\n * @returns {asserts path is string}\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record<string, unknown>} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record<string, unknown>} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record<string, unknown>|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable<unknown[]>} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise<Node>|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can’t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise<VFile>|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record<string, unknown>} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n","/**\n * @typedef Options\n * @property {boolean} [includeImageAlt=true]\n */\n\n/**\n * Get the text content of a node.\n * Prefer the node’s plain-text fields, otherwise serialize its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} node\n * @param {Options} [options]\n * @returns {string}\n */\nexport function toString(node, options) {\n var {includeImageAlt = true} = options || {}\n return one(node, includeImageAlt)\n}\n\n/**\n * @param {unknown} node\n * @param {boolean} includeImageAlt\n * @returns {string}\n */\nfunction one(node, includeImageAlt) {\n return (\n (node &&\n typeof node === 'object' &&\n // @ts-ignore looks like a literal.\n (node.value ||\n // @ts-ignore looks like an image.\n (includeImageAlt ? node.alt : '') ||\n // @ts-ignore looks like a parent.\n ('children' in node && all(node.children, includeImageAlt)) ||\n (Array.isArray(node) && all(node, includeImageAlt)))) ||\n ''\n )\n}\n\n/**\n * @param {Array.<unknown>} values\n * @param {boolean} includeImageAlt\n * @returns {string}\n */\nfunction all(values, includeImageAlt) {\n /** @type {Array.<string>} */\n var result = []\n var index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt)\n }\n\n return result.join('')\n}\n","/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {number} start\n * @param {number} remove\n * @param {T[]} items\n * @returns {void}\n */\nexport function splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {unknown[]} */\n\n let parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) [].splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {T[]} items\n * @returns {T[]}\n */\n\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n","/**\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine several syntax extensions into one.\n *\n * @param {Extension[]} extensions List of syntax extensions.\n * @returns {NormalizedExtension} A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all Extension to merge into.\n * @param {Extension} extension Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let code\n\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {unknown[]} existing\n * @param {unknown[]} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {unknown[]} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine several HTML extensions into one.\n *\n * @param {HtmlExtension[]} htmlExtensions List of HTML extensions.\n * @returns {HtmlExtension} A single combined extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all Extension to merge into.\n * @param {HtmlExtension} extension Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let type\n\n if (right) {\n for (type in right) {\n left[type] = right[type]\n }\n }\n }\n}\n","// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nexport const unicodePunctuationRegex =\n /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {unicodePunctuationRegex} from './lib/unicode-punctuation-regex.js'\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n */\n\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n */\n\nexport const asciiDigit = regexCheck(/\\d/)\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n */\n\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n */\n\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n */\n\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n */\n\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEnding(code) {\n return code !== null && code < -2\n}\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n\nexport const unicodeWhitespace = regexCheck(/\\s/)\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n\nexport const unicodePunctuation = regexCheck(unicodePunctuationRegex)\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => code is number}\n */\n\nfunction regexCheck(regex) {\n return check\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code Character code\n * @returns {code is number} Whether the character code matches the bound regex\n */\n\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownSpace} from 'micromark-util-character'\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {string} type\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n /** @type {State} */\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n}\n/** @type {Initializer} */\n\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n\n let previous\n return contentStart\n /** @type {State} */\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n /** @type {State} */\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Point} Point\n */\n\n/**\n * @typedef {Record<string, unknown>} StackState\n * @typedef {[Construct, StackState]} StackItem\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n/** @type {InitialConstruct} */\n\nexport const document = {\n tokenize: initializeDocument\n}\n/** @type {Construct} */\n\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n/** @type {Initializer} */\n\nfunction initializeDocument(effects) {\n const self = this\n /** @type {StackItem[]} */\n\n const stack = []\n let continued = 0\n /** @type {TokenizeContext|undefined} */\n\n let childFlow\n /** @type {Token|undefined} */\n\n let childToken\n /** @type {number} */\n\n let lineStartOffset\n return start\n /** @type {State} */\n\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n } // Done.\n\n return checkNewContainers(code)\n }\n /** @type {State} */\n\n function documentContinue(code) {\n continued++ // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n\n if (childFlow) {\n closeFlow()\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point|undefined} */\n\n let point // Find the flow chunk.\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n let index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n return checkNewContainers(code)\n }\n\n return start(code)\n }\n /** @type {State} */\n\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n } // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n } // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n } // Check if there is a new container.\n\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n /** @type {State} */\n\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n /** @type {State} */\n\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n /** @type {State} */\n\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n /** @type {State} */\n\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState]) // Try another.\n\n return documentContinued(code)\n }\n /** @type {State} */\n\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n /** @type {State} */\n\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow')) // Get ready for the next line.\n\n continued = 0\n self.interrupt = undefined\n return start\n }\n\n effects.consume(code)\n return flowContinue\n }\n /**\n * @param {Token} token\n * @param {boolean} [eof]\n * @returns {void}\n */\n\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream) // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && // …and either is not ended yet…\n (!childFlow.events[index][1].end || // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean|undefined} */\n\n let seen\n /** @type {Point|undefined} */\n\n let point // Find the previous chunk (the one before the lazy line).\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n\n seen = true\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n }\n }\n /**\n * @param {number} size\n * @returns {void}\n */\n\n function exitContainers(size) {\n let index = stack.length // Exit open containers.\n\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n\n/**\n * Classify whether a character code represents whitespace, punctuation, or\n * something else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * Note that eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * @returns {number|undefined}\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {{resolveAll?: Resolver}[]} constructs\n * @param {Event[]} events\n * @param {TokenizeContext} context\n * @returns {Event[]}\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Resolver[]} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Point} Point\n */\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n\n let open\n /** @type {Token} */\n\n let group\n /** @type {Token} */\n\n let text\n /** @type {Token} */\n\n let openingSequence\n /** @type {Token} */\n\n let closingSequence\n /** @type {number} */\n\n let use\n /** @type {Event[]} */\n\n let nextEvents\n /** @type {number} */\n\n let offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n const token = effects.exit('attentionSequence')\n const after = classifyCharacter(code)\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {void}\n */\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 1\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n /** @type {State} */\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n /** @type {State} */\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n /** @type {State} */\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n /** @type {State} */\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n /** @type {State} */\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n /** @type {State} */\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n /** @type {State} */\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 62) {\n const state = self.containerState\n\n if (!state.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n state.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n/** @type {Exiter} */\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {asciiPunctuation} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * Map of named character references.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntities = {\n AElig: 'Æ',\n AMP: '&',\n Aacute: 'Á',\n Abreve: 'Ă',\n Acirc: 'Â',\n Acy: 'А',\n Afr: '𝔄',\n Agrave: 'À',\n Alpha: 'Α',\n Amacr: 'Ā',\n And: '⩓',\n Aogon: 'Ą',\n Aopf: '𝔸',\n ApplyFunction: '',\n Aring: 'Å',\n Ascr: '𝒜',\n Assign: '≔',\n Atilde: 'Ã',\n Auml: 'Ä',\n Backslash: '∖',\n Barv: '⫧',\n Barwed: '⌆',\n Bcy: 'Б',\n Because: '∵',\n Bernoullis: 'ℬ',\n Beta: 'Β',\n Bfr: '𝔅',\n Bopf: '𝔹',\n Breve: '˘',\n Bscr: 'ℬ',\n Bumpeq: '≎',\n CHcy: 'Ч',\n COPY: '©',\n Cacute: 'Ć',\n Cap: '⋒',\n CapitalDifferentialD: 'ⅅ',\n Cayleys: 'ℭ',\n Ccaron: 'Č',\n Ccedil: 'Ç',\n Ccirc: 'Ĉ',\n Cconint: '∰',\n Cdot: 'Ċ',\n Cedilla: '¸',\n CenterDot: '·',\n Cfr: 'ℭ',\n Chi: 'Χ',\n CircleDot: '⊙',\n CircleMinus: '⊖',\n CirclePlus: '⊕',\n CircleTimes: '⊗',\n ClockwiseContourIntegral: '∲',\n CloseCurlyDoubleQuote: '”',\n CloseCurlyQuote: '’',\n Colon: '∷',\n Colone: '⩴',\n Congruent: '≡',\n Conint: '∯',\n ContourIntegral: '∮',\n Copf: 'ℂ',\n Coproduct: '∐',\n CounterClockwiseContourIntegral: '∳',\n Cross: '⨯',\n Cscr: '𝒞',\n Cup: '⋓',\n CupCap: '≍',\n DD: 'ⅅ',\n DDotrahd: '⤑',\n DJcy: 'Ђ',\n DScy: 'Ѕ',\n DZcy: 'Џ',\n Dagger: '‡',\n Darr: '↡',\n Dashv: '⫤',\n Dcaron: 'Ď',\n Dcy: 'Д',\n Del: '∇',\n Delta: 'Δ',\n Dfr: '𝔇',\n DiacriticalAcute: '´',\n DiacriticalDot: '˙',\n DiacriticalDoubleAcute: '˝',\n DiacriticalGrave: '`',\n DiacriticalTilde: '˜',\n Diamond: '⋄',\n DifferentialD: 'ⅆ',\n Dopf: '𝔻',\n Dot: '¨',\n DotDot: '⃜',\n DotEqual: '≐',\n DoubleContourIntegral: '∯',\n DoubleDot: '¨',\n DoubleDownArrow: '⇓',\n DoubleLeftArrow: '⇐',\n DoubleLeftRightArrow: '⇔',\n DoubleLeftTee: '⫤',\n DoubleLongLeftArrow: '⟸',\n DoubleLongLeftRightArrow: '⟺',\n DoubleLongRightArrow: '⟹',\n DoubleRightArrow: '⇒',\n DoubleRightTee: '⊨',\n DoubleUpArrow: '⇑',\n DoubleUpDownArrow: '⇕',\n DoubleVerticalBar: '∥',\n DownArrow: '↓',\n DownArrowBar: '⤓',\n DownArrowUpArrow: '⇵',\n DownBreve: '̑',\n DownLeftRightVector: '⥐',\n DownLeftTeeVector: '⥞',\n DownLeftVector: '↽',\n DownLeftVectorBar: '⥖',\n DownRightTeeVector: '⥟',\n DownRightVector: '⇁',\n DownRightVectorBar: '⥗',\n DownTee: '⊤',\n DownTeeArrow: '↧',\n Downarrow: '⇓',\n Dscr: '𝒟',\n Dstrok: 'Đ',\n ENG: 'Ŋ',\n ETH: 'Ð',\n Eacute: 'É',\n Ecaron: 'Ě',\n Ecirc: 'Ê',\n Ecy: 'Э',\n Edot: 'Ė',\n Efr: '𝔈',\n Egrave: 'È',\n Element: '∈',\n Emacr: 'Ē',\n EmptySmallSquare: '◻',\n EmptyVerySmallSquare: '▫',\n Eogon: 'Ę',\n Eopf: '𝔼',\n Epsilon: 'Ε',\n Equal: '⩵',\n EqualTilde: '≂',\n Equilibrium: '⇌',\n Escr: 'ℰ',\n Esim: '⩳',\n Eta: 'Η',\n Euml: 'Ë',\n Exists: '∃',\n ExponentialE: 'ⅇ',\n Fcy: 'Ф',\n Ffr: '𝔉',\n FilledSmallSquare: '◼',\n FilledVerySmallSquare: '▪',\n Fopf: '𝔽',\n ForAll: '∀',\n Fouriertrf: 'ℱ',\n Fscr: 'ℱ',\n GJcy: 'Ѓ',\n GT: '>',\n Gamma: 'Γ',\n Gammad: 'Ϝ',\n Gbreve: 'Ğ',\n Gcedil: 'Ģ',\n Gcirc: 'Ĝ',\n Gcy: 'Г',\n Gdot: 'Ġ',\n Gfr: '𝔊',\n Gg: '⋙',\n Gopf: '𝔾',\n GreaterEqual: '≥',\n GreaterEqualLess: '⋛',\n GreaterFullEqual: '≧',\n GreaterGreater: '⪢',\n GreaterLess: '≷',\n GreaterSlantEqual: '⩾',\n GreaterTilde: '≳',\n Gscr: '𝒢',\n Gt: '≫',\n HARDcy: 'Ъ',\n Hacek: 'ˇ',\n Hat: '^',\n Hcirc: 'Ĥ',\n Hfr: 'ℌ',\n HilbertSpace: 'ℋ',\n Hopf: 'ℍ',\n HorizontalLine: '─',\n Hscr: 'ℋ',\n Hstrok: 'Ħ',\n HumpDownHump: '≎',\n HumpEqual: '≏',\n IEcy: 'Е',\n IJlig: 'IJ',\n IOcy: 'Ё',\n Iacute: 'Í',\n Icirc: 'Î',\n Icy: 'И',\n Idot: 'İ',\n Ifr: 'ℑ',\n Igrave: 'Ì',\n Im: 'ℑ',\n Imacr: 'Ī',\n ImaginaryI: 'ⅈ',\n Implies: '⇒',\n Int: '∬',\n Integral: '∫',\n Intersection: '⋂',\n InvisibleComma: '',\n InvisibleTimes: '',\n Iogon: 'Į',\n Iopf: '𝕀',\n Iota: 'Ι',\n Iscr: 'ℐ',\n Itilde: 'Ĩ',\n Iukcy: 'І',\n Iuml: 'Ï',\n Jcirc: 'Ĵ',\n Jcy: 'Й',\n Jfr: '𝔍',\n Jopf: '𝕁',\n Jscr: '𝒥',\n Jsercy: 'Ј',\n Jukcy: 'Є',\n KHcy: 'Х',\n KJcy: 'Ќ',\n Kappa: 'Κ',\n Kcedil: 'Ķ',\n Kcy: 'К',\n Kfr: '𝔎',\n Kopf: '𝕂',\n Kscr: '𝒦',\n LJcy: 'Љ',\n LT: '<',\n Lacute: 'Ĺ',\n Lambda: 'Λ',\n Lang: '⟪',\n Laplacetrf: 'ℒ',\n Larr: '↞',\n Lcaron: 'Ľ',\n Lcedil: 'Ļ',\n Lcy: 'Л',\n LeftAngleBracket: '⟨',\n LeftArrow: '←',\n LeftArrowBar: '⇤',\n LeftArrowRightArrow: '⇆',\n LeftCeiling: '⌈',\n LeftDoubleBracket: '⟦',\n LeftDownTeeVector: '⥡',\n LeftDownVector: '⇃',\n LeftDownVectorBar: '⥙',\n LeftFloor: '⌊',\n LeftRightArrow: '↔',\n LeftRightVector: '⥎',\n LeftTee: '⊣',\n LeftTeeArrow: '↤',\n LeftTeeVector: '⥚',\n LeftTriangle: '⊲',\n LeftTriangleBar: '⧏',\n LeftTriangleEqual: '⊴',\n LeftUpDownVector: '⥑',\n LeftUpTeeVector: '⥠',\n LeftUpVector: '↿',\n LeftUpVectorBar: '⥘',\n LeftVector: '↼',\n LeftVectorBar: '⥒',\n Leftarrow: '⇐',\n Leftrightarrow: '⇔',\n LessEqualGreater: '⋚',\n LessFullEqual: '≦',\n LessGreater: '≶',\n LessLess: '⪡',\n LessSlantEqual: '⩽',\n LessTilde: '≲',\n Lfr: '𝔏',\n Ll: '⋘',\n Lleftarrow: '⇚',\n Lmidot: 'Ŀ',\n LongLeftArrow: '⟵',\n LongLeftRightArrow: '⟷',\n LongRightArrow: '⟶',\n Longleftarrow: '⟸',\n Longleftrightarrow: '⟺',\n Longrightarrow: '⟹',\n Lopf: '𝕃',\n LowerLeftArrow: '↙',\n LowerRightArrow: '↘',\n Lscr: 'ℒ',\n Lsh: '↰',\n Lstrok: 'Ł',\n Lt: '≪',\n Map: '⤅',\n Mcy: 'М',\n MediumSpace: ' ',\n Mellintrf: 'ℳ',\n Mfr: '𝔐',\n MinusPlus: '∓',\n Mopf: '𝕄',\n Mscr: 'ℳ',\n Mu: 'Μ',\n NJcy: 'Њ',\n Nacute: 'Ń',\n Ncaron: 'Ň',\n Ncedil: 'Ņ',\n Ncy: 'Н',\n NegativeMediumSpace: '',\n NegativeThickSpace: '',\n NegativeThinSpace: '',\n NegativeVeryThinSpace: '',\n NestedGreaterGreater: '≫',\n NestedLessLess: '≪',\n NewLine: '\\n',\n Nfr: '𝔑',\n NoBreak: '',\n NonBreakingSpace: ' ',\n Nopf: 'ℕ',\n Not: '⫬',\n NotCongruent: '≢',\n NotCupCap: '≭',\n NotDoubleVerticalBar: '∦',\n NotElement: '∉',\n NotEqual: '≠',\n NotEqualTilde: '≂̸',\n NotExists: '∄',\n NotGreater: '≯',\n NotGreaterEqual: '≱',\n NotGreaterFullEqual: '≧̸',\n NotGreaterGreater: '≫̸',\n NotGreaterLess: '≹',\n NotGreaterSlantEqual: '⩾̸',\n NotGreaterTilde: '≵',\n NotHumpDownHump: '≎̸',\n NotHumpEqual: '≏̸',\n NotLeftTriangle: '⋪',\n NotLeftTriangleBar: '⧏̸',\n NotLeftTriangleEqual: '⋬',\n NotLess: '≮',\n NotLessEqual: '≰',\n NotLessGreater: '≸',\n NotLessLess: '≪̸',\n NotLessSlantEqual: '⩽̸',\n NotLessTilde: '≴',\n NotNestedGreaterGreater: '⪢̸',\n NotNestedLessLess: '⪡̸',\n NotPrecedes: '⊀',\n NotPrecedesEqual: '⪯̸',\n NotPrecedesSlantEqual: '⋠',\n NotReverseElement: '∌',\n NotRightTriangle: '⋫',\n NotRightTriangleBar: '⧐̸',\n NotRightTriangleEqual: '⋭',\n NotSquareSubset: '⊏̸',\n NotSquareSubsetEqual: '⋢',\n NotSquareSuperset: '⊐̸',\n NotSquareSupersetEqual: '⋣',\n NotSubset: '⊂⃒',\n NotSubsetEqual: '⊈',\n NotSucceeds: '⊁',\n NotSucceedsEqual: '⪰̸',\n NotSucceedsSlantEqual: '⋡',\n NotSucceedsTilde: '≿̸',\n NotSuperset: '⊃⃒',\n NotSupersetEqual: '⊉',\n NotTilde: '≁',\n NotTildeEqual: '≄',\n NotTildeFullEqual: '≇',\n NotTildeTilde: '≉',\n NotVerticalBar: '∤',\n Nscr: '𝒩',\n Ntilde: 'Ñ',\n Nu: 'Ν',\n OElig: 'Œ',\n Oacute: 'Ó',\n Ocirc: 'Ô',\n Ocy: 'О',\n Odblac: 'Ő',\n Ofr: '𝔒',\n Ograve: 'Ò',\n Omacr: 'Ō',\n Omega: 'Ω',\n Omicron: 'Ο',\n Oopf: '𝕆',\n OpenCurlyDoubleQuote: '“',\n OpenCurlyQuote: '‘',\n Or: '⩔',\n Oscr: '𝒪',\n Oslash: 'Ø',\n Otilde: 'Õ',\n Otimes: '⨷',\n Ouml: 'Ö',\n OverBar: '‾',\n OverBrace: '⏞',\n OverBracket: '⎴',\n OverParenthesis: '⏜',\n PartialD: '∂',\n Pcy: 'П',\n Pfr: '𝔓',\n Phi: 'Φ',\n Pi: 'Π',\n PlusMinus: '±',\n Poincareplane: 'ℌ',\n Popf: 'ℙ',\n Pr: '⪻',\n Precedes: '≺',\n PrecedesEqual: '⪯',\n PrecedesSlantEqual: '≼',\n PrecedesTilde: '≾',\n Prime: '″',\n Product: '∏',\n Proportion: '∷',\n Proportional: '∝',\n Pscr: '𝒫',\n Psi: 'Ψ',\n QUOT: '\"',\n Qfr: '𝔔',\n Qopf: 'ℚ',\n Qscr: '𝒬',\n RBarr: '⤐',\n REG: '®',\n Racute: 'Ŕ',\n Rang: '⟫',\n Rarr: '↠',\n Rarrtl: '⤖',\n Rcaron: 'Ř',\n Rcedil: 'Ŗ',\n Rcy: 'Р',\n Re: 'ℜ',\n ReverseElement: '∋',\n ReverseEquilibrium: '⇋',\n ReverseUpEquilibrium: '⥯',\n Rfr: 'ℜ',\n Rho: 'Ρ',\n RightAngleBracket: '⟩',\n RightArrow: '→',\n RightArrowBar: '⇥',\n RightArrowLeftArrow: '⇄',\n RightCeiling: '⌉',\n RightDoubleBracket: '⟧',\n RightDownTeeVector: '⥝',\n RightDownVector: '⇂',\n RightDownVectorBar: '⥕',\n RightFloor: '⌋',\n RightTee: '⊢',\n RightTeeArrow: '↦',\n RightTeeVector: '⥛',\n RightTriangle: '⊳',\n RightTriangleBar: '⧐',\n RightTriangleEqual: '⊵',\n RightUpDownVector: '⥏',\n RightUpTeeVector: '⥜',\n RightUpVector: '↾',\n RightUpVectorBar: '⥔',\n RightVector: '⇀',\n RightVectorBar: '⥓',\n Rightarrow: '⇒',\n Ropf: 'ℝ',\n RoundImplies: '⥰',\n Rrightarrow: '⇛',\n Rscr: 'ℛ',\n Rsh: '↱',\n RuleDelayed: '⧴',\n SHCHcy: 'Щ',\n SHcy: 'Ш',\n SOFTcy: 'Ь',\n Sacute: 'Ś',\n Sc: '⪼',\n Scaron: 'Š',\n Scedil: 'Ş',\n Scirc: 'Ŝ',\n Scy: 'С',\n Sfr: '𝔖',\n ShortDownArrow: '↓',\n ShortLeftArrow: '←',\n ShortRightArrow: '→',\n ShortUpArrow: '↑',\n Sigma: 'Σ',\n SmallCircle: '∘',\n Sopf: '𝕊',\n Sqrt: '√',\n Square: '□',\n SquareIntersection: '⊓',\n SquareSubset: '⊏',\n SquareSubsetEqual: '⊑',\n SquareSuperset: '⊐',\n SquareSupersetEqual: '⊒',\n SquareUnion: '⊔',\n Sscr: '𝒮',\n Star: '⋆',\n Sub: '⋐',\n Subset: '⋐',\n SubsetEqual: '⊆',\n Succeeds: '≻',\n SucceedsEqual: '⪰',\n SucceedsSlantEqual: '≽',\n SucceedsTilde: '≿',\n SuchThat: '∋',\n Sum: '∑',\n Sup: '⋑',\n Superset: '⊃',\n SupersetEqual: '⊇',\n Supset: '⋑',\n THORN: 'Þ',\n TRADE: '™',\n TSHcy: 'Ћ',\n TScy: 'Ц',\n Tab: '\\t',\n Tau: 'Τ',\n Tcaron: 'Ť',\n Tcedil: 'Ţ',\n Tcy: 'Т',\n Tfr: '𝔗',\n Therefore: '∴',\n Theta: 'Θ',\n ThickSpace: ' ',\n ThinSpace: ' ',\n Tilde: '∼',\n TildeEqual: '≃',\n TildeFullEqual: '≅',\n TildeTilde: '≈',\n Topf: '𝕋',\n TripleDot: '⃛',\n Tscr: '𝒯',\n Tstrok: 'Ŧ',\n Uacute: 'Ú',\n Uarr: '↟',\n Uarrocir: '⥉',\n Ubrcy: 'Ў',\n Ubreve: 'Ŭ',\n Ucirc: 'Û',\n Ucy: 'У',\n Udblac: 'Ű',\n Ufr: '𝔘',\n Ugrave: 'Ù',\n Umacr: 'Ū',\n UnderBar: '_',\n UnderBrace: '⏟',\n UnderBracket: '⎵',\n UnderParenthesis: '⏝',\n Union: '⋃',\n UnionPlus: '⊎',\n Uogon: 'Ų',\n Uopf: '𝕌',\n UpArrow: '↑',\n UpArrowBar: '⤒',\n UpArrowDownArrow: '⇅',\n UpDownArrow: '↕',\n UpEquilibrium: '⥮',\n UpTee: '⊥',\n UpTeeArrow: '↥',\n Uparrow: '⇑',\n Updownarrow: '⇕',\n UpperLeftArrow: '↖',\n UpperRightArrow: '↗',\n Upsi: 'ϒ',\n Upsilon: 'Υ',\n Uring: 'Ů',\n Uscr: '𝒰',\n Utilde: 'Ũ',\n Uuml: 'Ü',\n VDash: '⊫',\n Vbar: '⫫',\n Vcy: 'В',\n Vdash: '⊩',\n Vdashl: '⫦',\n Vee: '⋁',\n Verbar: '‖',\n Vert: '‖',\n VerticalBar: '∣',\n VerticalLine: '|',\n VerticalSeparator: '❘',\n VerticalTilde: '≀',\n VeryThinSpace: ' ',\n Vfr: '𝔙',\n Vopf: '𝕍',\n Vscr: '𝒱',\n Vvdash: '⊪',\n Wcirc: 'Ŵ',\n Wedge: '⋀',\n Wfr: '𝔚',\n Wopf: '𝕎',\n Wscr: '𝒲',\n Xfr: '𝔛',\n Xi: 'Ξ',\n Xopf: '𝕏',\n Xscr: '𝒳',\n YAcy: 'Я',\n YIcy: 'Ї',\n YUcy: 'Ю',\n Yacute: 'Ý',\n Ycirc: 'Ŷ',\n Ycy: 'Ы',\n Yfr: '𝔜',\n Yopf: '𝕐',\n Yscr: '𝒴',\n Yuml: 'Ÿ',\n ZHcy: 'Ж',\n Zacute: 'Ź',\n Zcaron: 'Ž',\n Zcy: 'З',\n Zdot: 'Ż',\n ZeroWidthSpace: '',\n Zeta: 'Ζ',\n Zfr: 'ℨ',\n Zopf: 'ℤ',\n Zscr: '𝒵',\n aacute: 'á',\n abreve: 'ă',\n ac: '∾',\n acE: '∾̳',\n acd: '∿',\n acirc: 'â',\n acute: '´',\n acy: 'а',\n aelig: 'æ',\n af: '',\n afr: '𝔞',\n agrave: 'à',\n alefsym: 'ℵ',\n aleph: 'ℵ',\n alpha: 'α',\n amacr: 'ā',\n amalg: '⨿',\n amp: '&',\n and: '∧',\n andand: '⩕',\n andd: '⩜',\n andslope: '⩘',\n andv: '⩚',\n ang: '∠',\n ange: '⦤',\n angle: '∠',\n angmsd: '∡',\n angmsdaa: '⦨',\n angmsdab: '⦩',\n angmsdac: '⦪',\n angmsdad: '⦫',\n angmsdae: '⦬',\n angmsdaf: '⦭',\n angmsdag: '⦮',\n angmsdah: '⦯',\n angrt: '∟',\n angrtvb: '⊾',\n angrtvbd: '⦝',\n angsph: '∢',\n angst: 'Å',\n angzarr: '⍼',\n aogon: 'ą',\n aopf: '𝕒',\n ap: '≈',\n apE: '⩰',\n apacir: '⩯',\n ape: '≊',\n apid: '≋',\n apos: \"'\",\n approx: '≈',\n approxeq: '≊',\n aring: 'å',\n ascr: '𝒶',\n ast: '*',\n asymp: '≈',\n asympeq: '≍',\n atilde: 'ã',\n auml: 'ä',\n awconint: '∳',\n awint: '⨑',\n bNot: '⫭',\n backcong: '≌',\n backepsilon: '϶',\n backprime: '‵',\n backsim: '∽',\n backsimeq: '⋍',\n barvee: '⊽',\n barwed: '⌅',\n barwedge: '⌅',\n bbrk: '⎵',\n bbrktbrk: '⎶',\n bcong: '≌',\n bcy: 'б',\n bdquo: '„',\n becaus: '∵',\n because: '∵',\n bemptyv: '⦰',\n bepsi: '϶',\n bernou: 'ℬ',\n beta: 'β',\n beth: 'ℶ',\n between: '≬',\n bfr: '𝔟',\n bigcap: '⋂',\n bigcirc: '◯',\n bigcup: '⋃',\n bigodot: '⨀',\n bigoplus: '⨁',\n bigotimes: '⨂',\n bigsqcup: '⨆',\n bigstar: '★',\n bigtriangledown: '▽',\n bigtriangleup: '△',\n biguplus: '⨄',\n bigvee: '⋁',\n bigwedge: '⋀',\n bkarow: '⤍',\n blacklozenge: '⧫',\n blacksquare: '▪',\n blacktriangle: '▴',\n blacktriangledown: '▾',\n blacktriangleleft: '◂',\n blacktriangleright: '▸',\n blank: '␣',\n blk12: '▒',\n blk14: '░',\n blk34: '▓',\n block: '█',\n bne: '=⃥',\n bnequiv: '≡⃥',\n bnot: '⌐',\n bopf: '𝕓',\n bot: '⊥',\n bottom: '⊥',\n bowtie: '⋈',\n boxDL: '╗',\n boxDR: '╔',\n boxDl: '╖',\n boxDr: '╓',\n boxH: '═',\n boxHD: '╦',\n boxHU: '╩',\n boxHd: '╤',\n boxHu: '╧',\n boxUL: '╝',\n boxUR: '╚',\n boxUl: '╜',\n boxUr: '╙',\n boxV: '║',\n boxVH: '╬',\n boxVL: '╣',\n boxVR: '╠',\n boxVh: '╫',\n boxVl: '╢',\n boxVr: '╟',\n boxbox: '⧉',\n boxdL: '╕',\n boxdR: '╒',\n boxdl: '┐',\n boxdr: '┌',\n boxh: '─',\n boxhD: '╥',\n boxhU: '╨',\n boxhd: '┬',\n boxhu: '┴',\n boxminus: '⊟',\n boxplus: '⊞',\n boxtimes: '⊠',\n boxuL: '╛',\n boxuR: '╘',\n boxul: '┘',\n boxur: '└',\n boxv: '│',\n boxvH: '╪',\n boxvL: '╡',\n boxvR: '╞',\n boxvh: '┼',\n boxvl: '┤',\n boxvr: '├',\n bprime: '‵',\n breve: '˘',\n brvbar: '¦',\n bscr: '𝒷',\n bsemi: '⁏',\n bsim: '∽',\n bsime: '⋍',\n bsol: '\\\\',\n bsolb: '⧅',\n bsolhsub: '⟈',\n bull: '•',\n bullet: '•',\n bump: '≎',\n bumpE: '⪮',\n bumpe: '≏',\n bumpeq: '≏',\n cacute: 'ć',\n cap: '∩',\n capand: '⩄',\n capbrcup: '⩉',\n capcap: '⩋',\n capcup: '⩇',\n capdot: '⩀',\n caps: '∩︀',\n caret: '⁁',\n caron: 'ˇ',\n ccaps: '⩍',\n ccaron: 'č',\n ccedil: 'ç',\n ccirc: 'ĉ',\n ccups: '⩌',\n ccupssm: '⩐',\n cdot: 'ċ',\n cedil: '¸',\n cemptyv: '⦲',\n cent: '¢',\n centerdot: '·',\n cfr: '𝔠',\n chcy: 'ч',\n check: '✓',\n checkmark: '✓',\n chi: 'χ',\n cir: '○',\n cirE: '⧃',\n circ: 'ˆ',\n circeq: '≗',\n circlearrowleft: '↺',\n circlearrowright: '↻',\n circledR: '®',\n circledS: 'Ⓢ',\n circledast: '⊛',\n circledcirc: '⊚',\n circleddash: '⊝',\n cire: '≗',\n cirfnint: '⨐',\n cirmid: '⫯',\n cirscir: '⧂',\n clubs: '♣',\n clubsuit: '♣',\n colon: ':',\n colone: '≔',\n coloneq: '≔',\n comma: ',',\n commat: '@',\n comp: '∁',\n compfn: '∘',\n complement: '∁',\n complexes: 'ℂ',\n cong: '≅',\n congdot: '⩭',\n conint: '∮',\n copf: '𝕔',\n coprod: '∐',\n copy: '©',\n copysr: '℗',\n crarr: '↵',\n cross: '✗',\n cscr: '𝒸',\n csub: '⫏',\n csube: '⫑',\n csup: '⫐',\n csupe: '⫒',\n ctdot: '⋯',\n cudarrl: '⤸',\n cudarrr: '⤵',\n cuepr: '⋞',\n cuesc: '⋟',\n cularr: '↶',\n cularrp: '⤽',\n cup: '∪',\n cupbrcap: '⩈',\n cupcap: '⩆',\n cupcup: '⩊',\n cupdot: '⊍',\n cupor: '⩅',\n cups: '∪︀',\n curarr: '↷',\n curarrm: '⤼',\n curlyeqprec: '⋞',\n curlyeqsucc: '⋟',\n curlyvee: '⋎',\n curlywedge: '⋏',\n curren: '¤',\n curvearrowleft: '↶',\n curvearrowright: '↷',\n cuvee: '⋎',\n cuwed: '⋏',\n cwconint: '∲',\n cwint: '∱',\n cylcty: '⌭',\n dArr: '⇓',\n dHar: '⥥',\n dagger: '†',\n daleth: 'ℸ',\n darr: '↓',\n dash: '‐',\n dashv: '⊣',\n dbkarow: '⤏',\n dblac: '˝',\n dcaron: 'ď',\n dcy: 'д',\n dd: 'ⅆ',\n ddagger: '‡',\n ddarr: '⇊',\n ddotseq: '⩷',\n deg: '°',\n delta: 'δ',\n demptyv: '⦱',\n dfisht: '⥿',\n dfr: '𝔡',\n dharl: '⇃',\n dharr: '⇂',\n diam: '⋄',\n diamond: '⋄',\n diamondsuit: '♦',\n diams: '♦',\n die: '¨',\n digamma: 'ϝ',\n disin: '⋲',\n div: '÷',\n divide: '÷',\n divideontimes: '⋇',\n divonx: '⋇',\n djcy: 'ђ',\n dlcorn: '⌞',\n dlcrop: '⌍',\n dollar: '$',\n dopf: '𝕕',\n dot: '˙',\n doteq: '≐',\n doteqdot: '≑',\n dotminus: '∸',\n dotplus: '∔',\n dotsquare: '⊡',\n doublebarwedge: '⌆',\n downarrow: '↓',\n downdownarrows: '⇊',\n downharpoonleft: '⇃',\n downharpoonright: '⇂',\n drbkarow: '⤐',\n drcorn: '⌟',\n drcrop: '⌌',\n dscr: '𝒹',\n dscy: 'ѕ',\n dsol: '⧶',\n dstrok: 'đ',\n dtdot: '⋱',\n dtri: '▿',\n dtrif: '▾',\n duarr: '⇵',\n duhar: '⥯',\n dwangle: '⦦',\n dzcy: 'џ',\n dzigrarr: '⟿',\n eDDot: '⩷',\n eDot: '≑',\n eacute: 'é',\n easter: '⩮',\n ecaron: 'ě',\n ecir: '≖',\n ecirc: 'ê',\n ecolon: '≕',\n ecy: 'э',\n edot: 'ė',\n ee: 'ⅇ',\n efDot: '≒',\n efr: '𝔢',\n eg: '⪚',\n egrave: 'è',\n egs: '⪖',\n egsdot: '⪘',\n el: '⪙',\n elinters: '⏧',\n ell: 'ℓ',\n els: '⪕',\n elsdot: '⪗',\n emacr: 'ē',\n empty: '∅',\n emptyset: '∅',\n emptyv: '∅',\n emsp13: ' ',\n emsp14: ' ',\n emsp: ' ',\n eng: 'ŋ',\n ensp: ' ',\n eogon: 'ę',\n eopf: '𝕖',\n epar: '⋕',\n eparsl: '⧣',\n eplus: '⩱',\n epsi: 'ε',\n epsilon: 'ε',\n epsiv: 'ϵ',\n eqcirc: '≖',\n eqcolon: '≕',\n eqsim: '≂',\n eqslantgtr: '⪖',\n eqslantless: '⪕',\n equals: '=',\n equest: '≟',\n equiv: '≡',\n equivDD: '⩸',\n eqvparsl: '⧥',\n erDot: '≓',\n erarr: '⥱',\n escr: 'ℯ',\n esdot: '≐',\n esim: '≂',\n eta: 'η',\n eth: 'ð',\n euml: 'ë',\n euro: '€',\n excl: '!',\n exist: '∃',\n expectation: 'ℰ',\n exponentiale: 'ⅇ',\n fallingdotseq: '≒',\n fcy: 'ф',\n female: '♀',\n ffilig: 'ffi',\n fflig: 'ff',\n ffllig: 'ffl',\n ffr: '𝔣',\n filig: 'fi',\n fjlig: 'fj',\n flat: '♭',\n fllig: 'fl',\n fltns: '▱',\n fnof: 'ƒ',\n fopf: '𝕗',\n forall: '∀',\n fork: '⋔',\n forkv: '⫙',\n fpartint: '⨍',\n frac12: '½',\n frac13: '⅓',\n frac14: '¼',\n frac15: '⅕',\n frac16: '⅙',\n frac18: '⅛',\n frac23: '⅔',\n frac25: '⅖',\n frac34: '¾',\n frac35: '⅗',\n frac38: '⅜',\n frac45: '⅘',\n frac56: '⅚',\n frac58: '⅝',\n frac78: '⅞',\n frasl: '⁄',\n frown: '⌢',\n fscr: '𝒻',\n gE: '≧',\n gEl: '⪌',\n gacute: 'ǵ',\n gamma: 'γ',\n gammad: 'ϝ',\n gap: '⪆',\n gbreve: 'ğ',\n gcirc: 'ĝ',\n gcy: 'г',\n gdot: 'ġ',\n ge: '≥',\n gel: '⋛',\n geq: '≥',\n geqq: '≧',\n geqslant: '⩾',\n ges: '⩾',\n gescc: '⪩',\n gesdot: '⪀',\n gesdoto: '⪂',\n gesdotol: '⪄',\n gesl: '⋛︀',\n gesles: '⪔',\n gfr: '𝔤',\n gg: '≫',\n ggg: '⋙',\n gimel: 'ℷ',\n gjcy: 'ѓ',\n gl: '≷',\n glE: '⪒',\n gla: '⪥',\n glj: '⪤',\n gnE: '≩',\n gnap: '⪊',\n gnapprox: '⪊',\n gne: '⪈',\n gneq: '⪈',\n gneqq: '≩',\n gnsim: '⋧',\n gopf: '𝕘',\n grave: '`',\n gscr: 'ℊ',\n gsim: '≳',\n gsime: '⪎',\n gsiml: '⪐',\n gt: '>',\n gtcc: '⪧',\n gtcir: '⩺',\n gtdot: '⋗',\n gtlPar: '⦕',\n gtquest: '⩼',\n gtrapprox: '⪆',\n gtrarr: '⥸',\n gtrdot: '⋗',\n gtreqless: '⋛',\n gtreqqless: '⪌',\n gtrless: '≷',\n gtrsim: '≳',\n gvertneqq: '≩︀',\n gvnE: '≩︀',\n hArr: '⇔',\n hairsp: ' ',\n half: '½',\n hamilt: 'ℋ',\n hardcy: 'ъ',\n harr: '↔',\n harrcir: '⥈',\n harrw: '↭',\n hbar: 'ℏ',\n hcirc: 'ĥ',\n hearts: '♥',\n heartsuit: '♥',\n hellip: '…',\n hercon: '⊹',\n hfr: '𝔥',\n hksearow: '⤥',\n hkswarow: '⤦',\n hoarr: '⇿',\n homtht: '∻',\n hookleftarrow: '↩',\n hookrightarrow: '↪',\n hopf: '𝕙',\n horbar: '―',\n hscr: '𝒽',\n hslash: 'ℏ',\n hstrok: 'ħ',\n hybull: '⁃',\n hyphen: '‐',\n iacute: 'í',\n ic: '',\n icirc: 'î',\n icy: 'и',\n iecy: 'е',\n iexcl: '¡',\n iff: '⇔',\n ifr: '𝔦',\n igrave: 'ì',\n ii: 'ⅈ',\n iiiint: '⨌',\n iiint: '∭',\n iinfin: '⧜',\n iiota: '℩',\n ijlig: 'ij',\n imacr: 'ī',\n image: 'ℑ',\n imagline: 'ℐ',\n imagpart: 'ℑ',\n imath: 'ı',\n imof: '⊷',\n imped: 'Ƶ',\n in: '∈',\n incare: '℅',\n infin: '∞',\n infintie: '⧝',\n inodot: 'ı',\n int: '∫',\n intcal: '⊺',\n integers: 'ℤ',\n intercal: '⊺',\n intlarhk: '⨗',\n intprod: '⨼',\n iocy: 'ё',\n iogon: 'į',\n iopf: '𝕚',\n iota: 'ι',\n iprod: '⨼',\n iquest: '¿',\n iscr: '𝒾',\n isin: '∈',\n isinE: '⋹',\n isindot: '⋵',\n isins: '⋴',\n isinsv: '⋳',\n isinv: '∈',\n it: '',\n itilde: 'ĩ',\n iukcy: 'і',\n iuml: 'ï',\n jcirc: 'ĵ',\n jcy: 'й',\n jfr: '𝔧',\n jmath: 'ȷ',\n jopf: '𝕛',\n jscr: '𝒿',\n jsercy: 'ј',\n jukcy: 'є',\n kappa: 'κ',\n kappav: 'ϰ',\n kcedil: 'ķ',\n kcy: 'к',\n kfr: '𝔨',\n kgreen: 'ĸ',\n khcy: 'х',\n kjcy: 'ќ',\n kopf: '𝕜',\n kscr: '𝓀',\n lAarr: '⇚',\n lArr: '⇐',\n lAtail: '⤛',\n lBarr: '⤎',\n lE: '≦',\n lEg: '⪋',\n lHar: '⥢',\n lacute: 'ĺ',\n laemptyv: '⦴',\n lagran: 'ℒ',\n lambda: 'λ',\n lang: '⟨',\n langd: '⦑',\n langle: '⟨',\n lap: '⪅',\n laquo: '«',\n larr: '←',\n larrb: '⇤',\n larrbfs: '⤟',\n larrfs: '⤝',\n larrhk: '↩',\n larrlp: '↫',\n larrpl: '⤹',\n larrsim: '⥳',\n larrtl: '↢',\n lat: '⪫',\n latail: '⤙',\n late: '⪭',\n lates: '⪭︀',\n lbarr: '⤌',\n lbbrk: '❲',\n lbrace: '{',\n lbrack: '[',\n lbrke: '⦋',\n lbrksld: '⦏',\n lbrkslu: '⦍',\n lcaron: 'ľ',\n lcedil: 'ļ',\n lceil: '⌈',\n lcub: '{',\n lcy: 'л',\n ldca: '⤶',\n ldquo: '“',\n ldquor: '„',\n ldrdhar: '⥧',\n ldrushar: '⥋',\n ldsh: '↲',\n le: '≤',\n leftarrow: '←',\n leftarrowtail: '↢',\n leftharpoondown: '↽',\n leftharpoonup: '↼',\n leftleftarrows: '⇇',\n leftrightarrow: '↔',\n leftrightarrows: '⇆',\n leftrightharpoons: '⇋',\n leftrightsquigarrow: '↭',\n leftthreetimes: '⋋',\n leg: '⋚',\n leq: '≤',\n leqq: '≦',\n leqslant: '⩽',\n les: '⩽',\n lescc: '⪨',\n lesdot: '⩿',\n lesdoto: '⪁',\n lesdotor: '⪃',\n lesg: '⋚︀',\n lesges: '⪓',\n lessapprox: '⪅',\n lessdot: '⋖',\n lesseqgtr: '⋚',\n lesseqqgtr: '⪋',\n lessgtr: '≶',\n lesssim: '≲',\n lfisht: '⥼',\n lfloor: '⌊',\n lfr: '𝔩',\n lg: '≶',\n lgE: '⪑',\n lhard: '↽',\n lharu: '↼',\n lharul: '⥪',\n lhblk: '▄',\n ljcy: 'љ',\n ll: '≪',\n llarr: '⇇',\n llcorner: '⌞',\n llhard: '⥫',\n lltri: '◺',\n lmidot: 'ŀ',\n lmoust: '⎰',\n lmoustache: '⎰',\n lnE: '≨',\n lnap: '⪉',\n lnapprox: '⪉',\n lne: '⪇',\n lneq: '⪇',\n lneqq: '≨',\n lnsim: '⋦',\n loang: '⟬',\n loarr: '⇽',\n lobrk: '⟦',\n longleftarrow: '⟵',\n longleftrightarrow: '⟷',\n longmapsto: '⟼',\n longrightarrow: '⟶',\n looparrowleft: '↫',\n looparrowright: '↬',\n lopar: '⦅',\n lopf: '𝕝',\n loplus: '⨭',\n lotimes: '⨴',\n lowast: '∗',\n lowbar: '_',\n loz: '◊',\n lozenge: '◊',\n lozf: '⧫',\n lpar: '(',\n lparlt: '⦓',\n lrarr: '⇆',\n lrcorner: '⌟',\n lrhar: '⇋',\n lrhard: '⥭',\n lrm: '',\n lrtri: '⊿',\n lsaquo: '‹',\n lscr: '𝓁',\n lsh: '↰',\n lsim: '≲',\n lsime: '⪍',\n lsimg: '⪏',\n lsqb: '[',\n lsquo: '‘',\n lsquor: '‚',\n lstrok: 'ł',\n lt: '<',\n ltcc: '⪦',\n ltcir: '⩹',\n ltdot: '⋖',\n lthree: '⋋',\n ltimes: '⋉',\n ltlarr: '⥶',\n ltquest: '⩻',\n ltrPar: '⦖',\n ltri: '◃',\n ltrie: '⊴',\n ltrif: '◂',\n lurdshar: '⥊',\n luruhar: '⥦',\n lvertneqq: '≨︀',\n lvnE: '≨︀',\n mDDot: '∺',\n macr: '¯',\n male: '♂',\n malt: '✠',\n maltese: '✠',\n map: '↦',\n mapsto: '↦',\n mapstodown: '↧',\n mapstoleft: '↤',\n mapstoup: '↥',\n marker: '▮',\n mcomma: '⨩',\n mcy: 'м',\n mdash: '—',\n measuredangle: '∡',\n mfr: '𝔪',\n mho: '℧',\n micro: 'µ',\n mid: '∣',\n midast: '*',\n midcir: '⫰',\n middot: '·',\n minus: '−',\n minusb: '⊟',\n minusd: '∸',\n minusdu: '⨪',\n mlcp: '⫛',\n mldr: '…',\n mnplus: '∓',\n models: '⊧',\n mopf: '𝕞',\n mp: '∓',\n mscr: '𝓂',\n mstpos: '∾',\n mu: 'μ',\n multimap: '⊸',\n mumap: '⊸',\n nGg: '⋙̸',\n nGt: '≫⃒',\n nGtv: '≫̸',\n nLeftarrow: '⇍',\n nLeftrightarrow: '⇎',\n nLl: '⋘̸',\n nLt: '≪⃒',\n nLtv: '≪̸',\n nRightarrow: '⇏',\n nVDash: '⊯',\n nVdash: '⊮',\n nabla: '∇',\n nacute: 'ń',\n nang: '∠⃒',\n nap: '≉',\n napE: '⩰̸',\n napid: '≋̸',\n napos: 'ʼn',\n napprox: '≉',\n natur: '♮',\n natural: '♮',\n naturals: 'ℕ',\n nbsp: ' ',\n nbump: '≎̸',\n nbumpe: '≏̸',\n ncap: '⩃',\n ncaron: 'ň',\n ncedil: 'ņ',\n ncong: '≇',\n ncongdot: '⩭̸',\n ncup: '⩂',\n ncy: 'н',\n ndash: '–',\n ne: '≠',\n neArr: '⇗',\n nearhk: '⤤',\n nearr: '↗',\n nearrow: '↗',\n nedot: '≐̸',\n nequiv: '≢',\n nesear: '⤨',\n nesim: '≂̸',\n nexist: '∄',\n nexists: '∄',\n nfr: '𝔫',\n ngE: '≧̸',\n nge: '≱',\n ngeq: '≱',\n ngeqq: '≧̸',\n ngeqslant: '⩾̸',\n nges: '⩾̸',\n ngsim: '≵',\n ngt: '≯',\n ngtr: '≯',\n nhArr: '⇎',\n nharr: '↮',\n nhpar: '⫲',\n ni: '∋',\n nis: '⋼',\n nisd: '⋺',\n niv: '∋',\n njcy: 'њ',\n nlArr: '⇍',\n nlE: '≦̸',\n nlarr: '↚',\n nldr: '‥',\n nle: '≰',\n nleftarrow: '↚',\n nleftrightarrow: '↮',\n nleq: '≰',\n nleqq: '≦̸',\n nleqslant: '⩽̸',\n nles: '⩽̸',\n nless: '≮',\n nlsim: '≴',\n nlt: '≮',\n nltri: '⋪',\n nltrie: '⋬',\n nmid: '∤',\n nopf: '𝕟',\n not: '¬',\n notin: '∉',\n notinE: '⋹̸',\n notindot: '⋵̸',\n notinva: '∉',\n notinvb: '⋷',\n notinvc: '⋶',\n notni: '∌',\n notniva: '∌',\n notnivb: '⋾',\n notnivc: '⋽',\n npar: '∦',\n nparallel: '∦',\n nparsl: '⫽⃥',\n npart: '∂̸',\n npolint: '⨔',\n npr: '⊀',\n nprcue: '⋠',\n npre: '⪯̸',\n nprec: '⊀',\n npreceq: '⪯̸',\n nrArr: '⇏',\n nrarr: '↛',\n nrarrc: '⤳̸',\n nrarrw: '↝̸',\n nrightarrow: '↛',\n nrtri: '⋫',\n nrtrie: '⋭',\n nsc: '⊁',\n nsccue: '⋡',\n nsce: '⪰̸',\n nscr: '𝓃',\n nshortmid: '∤',\n nshortparallel: '∦',\n nsim: '≁',\n nsime: '≄',\n nsimeq: '≄',\n nsmid: '∤',\n nspar: '∦',\n nsqsube: '⋢',\n nsqsupe: '⋣',\n nsub: '⊄',\n nsubE: '⫅̸',\n nsube: '⊈',\n nsubset: '⊂⃒',\n nsubseteq: '⊈',\n nsubseteqq: '⫅̸',\n nsucc: '⊁',\n nsucceq: '⪰̸',\n nsup: '⊅',\n nsupE: '⫆̸',\n nsupe: '⊉',\n nsupset: '⊃⃒',\n nsupseteq: '⊉',\n nsupseteqq: '⫆̸',\n ntgl: '≹',\n ntilde: 'ñ',\n ntlg: '≸',\n ntriangleleft: '⋪',\n ntrianglelefteq: '⋬',\n ntriangleright: '⋫',\n ntrianglerighteq: '⋭',\n nu: 'ν',\n num: '#',\n numero: '№',\n numsp: ' ',\n nvDash: '⊭',\n nvHarr: '⤄',\n nvap: '≍⃒',\n nvdash: '⊬',\n nvge: '≥⃒',\n nvgt: '>⃒',\n nvinfin: '⧞',\n nvlArr: '⤂',\n nvle: '≤⃒',\n nvlt: '<⃒',\n nvltrie: '⊴⃒',\n nvrArr: '⤃',\n nvrtrie: '⊵⃒',\n nvsim: '∼⃒',\n nwArr: '⇖',\n nwarhk: '⤣',\n nwarr: '↖',\n nwarrow: '↖',\n nwnear: '⤧',\n oS: 'Ⓢ',\n oacute: 'ó',\n oast: '⊛',\n ocir: '⊚',\n ocirc: 'ô',\n ocy: 'о',\n odash: '⊝',\n odblac: 'ő',\n odiv: '⨸',\n odot: '⊙',\n odsold: '⦼',\n oelig: 'œ',\n ofcir: '⦿',\n ofr: '𝔬',\n ogon: '˛',\n ograve: 'ò',\n ogt: '⧁',\n ohbar: '⦵',\n ohm: 'Ω',\n oint: '∮',\n olarr: '↺',\n olcir: '⦾',\n olcross: '⦻',\n oline: '‾',\n olt: '⧀',\n omacr: 'ō',\n omega: 'ω',\n omicron: 'ο',\n omid: '⦶',\n ominus: '⊖',\n oopf: '𝕠',\n opar: '⦷',\n operp: '⦹',\n oplus: '⊕',\n or: '∨',\n orarr: '↻',\n ord: '⩝',\n order: 'ℴ',\n orderof: 'ℴ',\n ordf: 'ª',\n ordm: 'º',\n origof: '⊶',\n oror: '⩖',\n orslope: '⩗',\n orv: '⩛',\n oscr: 'ℴ',\n oslash: 'ø',\n osol: '⊘',\n otilde: 'õ',\n otimes: '⊗',\n otimesas: '⨶',\n ouml: 'ö',\n ovbar: '⌽',\n par: '∥',\n para: '¶',\n parallel: '∥',\n parsim: '⫳',\n parsl: '⫽',\n part: '∂',\n pcy: 'п',\n percnt: '%',\n period: '.',\n permil: '‰',\n perp: '⊥',\n pertenk: '‱',\n pfr: '𝔭',\n phi: 'φ',\n phiv: 'ϕ',\n phmmat: 'ℳ',\n phone: '☎',\n pi: 'π',\n pitchfork: '⋔',\n piv: 'ϖ',\n planck: 'ℏ',\n planckh: 'ℎ',\n plankv: 'ℏ',\n plus: '+',\n plusacir: '⨣',\n plusb: '⊞',\n pluscir: '⨢',\n plusdo: '∔',\n plusdu: '⨥',\n pluse: '⩲',\n plusmn: '±',\n plussim: '⨦',\n plustwo: '⨧',\n pm: '±',\n pointint: '⨕',\n popf: '𝕡',\n pound: '£',\n pr: '≺',\n prE: '⪳',\n prap: '⪷',\n prcue: '≼',\n pre: '⪯',\n prec: '≺',\n precapprox: '⪷',\n preccurlyeq: '≼',\n preceq: '⪯',\n precnapprox: '⪹',\n precneqq: '⪵',\n precnsim: '⋨',\n precsim: '≾',\n prime: '′',\n primes: 'ℙ',\n prnE: '⪵',\n prnap: '⪹',\n prnsim: '⋨',\n prod: '∏',\n profalar: '⌮',\n profline: '⌒',\n profsurf: '⌓',\n prop: '∝',\n propto: '∝',\n prsim: '≾',\n prurel: '⊰',\n pscr: '𝓅',\n psi: 'ψ',\n puncsp: ' ',\n qfr: '𝔮',\n qint: '⨌',\n qopf: '𝕢',\n qprime: '⁗',\n qscr: '𝓆',\n quaternions: 'ℍ',\n quatint: '⨖',\n quest: '?',\n questeq: '≟',\n quot: '\"',\n rAarr: '⇛',\n rArr: '⇒',\n rAtail: '⤜',\n rBarr: '⤏',\n rHar: '⥤',\n race: '∽̱',\n racute: 'ŕ',\n radic: '√',\n raemptyv: '⦳',\n rang: '⟩',\n rangd: '⦒',\n range: '⦥',\n rangle: '⟩',\n raquo: '»',\n rarr: '→',\n rarrap: '⥵',\n rarrb: '⇥',\n rarrbfs: '⤠',\n rarrc: '⤳',\n rarrfs: '⤞',\n rarrhk: '↪',\n rarrlp: '↬',\n rarrpl: '⥅',\n rarrsim: '⥴',\n rarrtl: '↣',\n rarrw: '↝',\n ratail: '⤚',\n ratio: '∶',\n rationals: 'ℚ',\n rbarr: '⤍',\n rbbrk: '❳',\n rbrace: '}',\n rbrack: ']',\n rbrke: '⦌',\n rbrksld: '⦎',\n rbrkslu: '⦐',\n rcaron: 'ř',\n rcedil: 'ŗ',\n rceil: '⌉',\n rcub: '}',\n rcy: 'р',\n rdca: '⤷',\n rdldhar: '⥩',\n rdquo: '”',\n rdquor: '”',\n rdsh: '↳',\n real: 'ℜ',\n realine: 'ℛ',\n realpart: 'ℜ',\n reals: 'ℝ',\n rect: '▭',\n reg: '®',\n rfisht: '⥽',\n rfloor: '⌋',\n rfr: '𝔯',\n rhard: '⇁',\n rharu: '⇀',\n rharul: '⥬',\n rho: 'ρ',\n rhov: 'ϱ',\n rightarrow: '→',\n rightarrowtail: '↣',\n rightharpoondown: '⇁',\n rightharpoonup: '⇀',\n rightleftarrows: '⇄',\n rightleftharpoons: '⇌',\n rightrightarrows: '⇉',\n rightsquigarrow: '↝',\n rightthreetimes: '⋌',\n ring: '˚',\n risingdotseq: '≓',\n rlarr: '⇄',\n rlhar: '⇌',\n rlm: '',\n rmoust: '⎱',\n rmoustache: '⎱',\n rnmid: '⫮',\n roang: '⟭',\n roarr: '⇾',\n robrk: '⟧',\n ropar: '⦆',\n ropf: '𝕣',\n roplus: '⨮',\n rotimes: '⨵',\n rpar: ')',\n rpargt: '⦔',\n rppolint: '⨒',\n rrarr: '⇉',\n rsaquo: '›',\n rscr: '𝓇',\n rsh: '↱',\n rsqb: ']',\n rsquo: '’',\n rsquor: '’',\n rthree: '⋌',\n rtimes: '⋊',\n rtri: '▹',\n rtrie: '⊵',\n rtrif: '▸',\n rtriltri: '⧎',\n ruluhar: '⥨',\n rx: '℞',\n sacute: 'ś',\n sbquo: '‚',\n sc: '≻',\n scE: '⪴',\n scap: '⪸',\n scaron: 'š',\n sccue: '≽',\n sce: '⪰',\n scedil: 'ş',\n scirc: 'ŝ',\n scnE: '⪶',\n scnap: '⪺',\n scnsim: '⋩',\n scpolint: '⨓',\n scsim: '≿',\n scy: 'с',\n sdot: '⋅',\n sdotb: '⊡',\n sdote: '⩦',\n seArr: '⇘',\n searhk: '⤥',\n searr: '↘',\n searrow: '↘',\n sect: '§',\n semi: ';',\n seswar: '⤩',\n setminus: '∖',\n setmn: '∖',\n sext: '✶',\n sfr: '𝔰',\n sfrown: '⌢',\n sharp: '♯',\n shchcy: 'щ',\n shcy: 'ш',\n shortmid: '∣',\n shortparallel: '∥',\n shy: '',\n sigma: 'σ',\n sigmaf: 'ς',\n sigmav: 'ς',\n sim: '∼',\n simdot: '⩪',\n sime: '≃',\n simeq: '≃',\n simg: '⪞',\n simgE: '⪠',\n siml: '⪝',\n simlE: '⪟',\n simne: '≆',\n simplus: '⨤',\n simrarr: '⥲',\n slarr: '←',\n smallsetminus: '∖',\n smashp: '⨳',\n smeparsl: '⧤',\n smid: '∣',\n smile: '⌣',\n smt: '⪪',\n smte: '⪬',\n smtes: '⪬︀',\n softcy: 'ь',\n sol: '/',\n solb: '⧄',\n solbar: '⌿',\n sopf: '𝕤',\n spades: '♠',\n spadesuit: '♠',\n spar: '∥',\n sqcap: '⊓',\n sqcaps: '⊓︀',\n sqcup: '⊔',\n sqcups: '⊔︀',\n sqsub: '⊏',\n sqsube: '⊑',\n sqsubset: '⊏',\n sqsubseteq: '⊑',\n sqsup: '⊐',\n sqsupe: '⊒',\n sqsupset: '⊐',\n sqsupseteq: '⊒',\n squ: '□',\n square: '□',\n squarf: '▪',\n squf: '▪',\n srarr: '→',\n sscr: '𝓈',\n ssetmn: '∖',\n ssmile: '⌣',\n sstarf: '⋆',\n star: '☆',\n starf: '★',\n straightepsilon: 'ϵ',\n straightphi: 'ϕ',\n strns: '¯',\n sub: '⊂',\n subE: '⫅',\n subdot: '⪽',\n sube: '⊆',\n subedot: '⫃',\n submult: '⫁',\n subnE: '⫋',\n subne: '⊊',\n subplus: '⪿',\n subrarr: '⥹',\n subset: '⊂',\n subseteq: '⊆',\n subseteqq: '⫅',\n subsetneq: '⊊',\n subsetneqq: '⫋',\n subsim: '⫇',\n subsub: '⫕',\n subsup: '⫓',\n succ: '≻',\n succapprox: '⪸',\n succcurlyeq: '≽',\n succeq: '⪰',\n succnapprox: '⪺',\n succneqq: '⪶',\n succnsim: '⋩',\n succsim: '≿',\n sum: '∑',\n sung: '♪',\n sup1: '¹',\n sup2: '²',\n sup3: '³',\n sup: '⊃',\n supE: '⫆',\n supdot: '⪾',\n supdsub: '⫘',\n supe: '⊇',\n supedot: '⫄',\n suphsol: '⟉',\n suphsub: '⫗',\n suplarr: '⥻',\n supmult: '⫂',\n supnE: '⫌',\n supne: '⊋',\n supplus: '⫀',\n supset: '⊃',\n supseteq: '⊇',\n supseteqq: '⫆',\n supsetneq: '⊋',\n supsetneqq: '⫌',\n supsim: '⫈',\n supsub: '⫔',\n supsup: '⫖',\n swArr: '⇙',\n swarhk: '⤦',\n swarr: '↙',\n swarrow: '↙',\n swnwar: '⤪',\n szlig: 'ß',\n target: '⌖',\n tau: 'τ',\n tbrk: '⎴',\n tcaron: 'ť',\n tcedil: 'ţ',\n tcy: 'т',\n tdot: '⃛',\n telrec: '⌕',\n tfr: '𝔱',\n there4: '∴',\n therefore: '∴',\n theta: 'θ',\n thetasym: 'ϑ',\n thetav: 'ϑ',\n thickapprox: '≈',\n thicksim: '∼',\n thinsp: ' ',\n thkap: '≈',\n thksim: '∼',\n thorn: 'þ',\n tilde: '˜',\n times: '×',\n timesb: '⊠',\n timesbar: '⨱',\n timesd: '⨰',\n tint: '∭',\n toea: '⤨',\n top: '⊤',\n topbot: '⌶',\n topcir: '⫱',\n topf: '𝕥',\n topfork: '⫚',\n tosa: '⤩',\n tprime: '‴',\n trade: '™',\n triangle: '▵',\n triangledown: '▿',\n triangleleft: '◃',\n trianglelefteq: '⊴',\n triangleq: '≜',\n triangleright: '▹',\n trianglerighteq: '⊵',\n tridot: '◬',\n trie: '≜',\n triminus: '⨺',\n triplus: '⨹',\n trisb: '⧍',\n tritime: '⨻',\n trpezium: '⏢',\n tscr: '𝓉',\n tscy: 'ц',\n tshcy: 'ћ',\n tstrok: 'ŧ',\n twixt: '≬',\n twoheadleftarrow: '↞',\n twoheadrightarrow: '↠',\n uArr: '⇑',\n uHar: '⥣',\n uacute: 'ú',\n uarr: '↑',\n ubrcy: 'ў',\n ubreve: 'ŭ',\n ucirc: 'û',\n ucy: 'у',\n udarr: '⇅',\n udblac: 'ű',\n udhar: '⥮',\n ufisht: '⥾',\n ufr: '𝔲',\n ugrave: 'ù',\n uharl: '↿',\n uharr: '↾',\n uhblk: '▀',\n ulcorn: '⌜',\n ulcorner: '⌜',\n ulcrop: '⌏',\n ultri: '◸',\n umacr: 'ū',\n uml: '¨',\n uogon: 'ų',\n uopf: '𝕦',\n uparrow: '↑',\n updownarrow: '↕',\n upharpoonleft: '↿',\n upharpoonright: '↾',\n uplus: '⊎',\n upsi: 'υ',\n upsih: 'ϒ',\n upsilon: 'υ',\n upuparrows: '⇈',\n urcorn: '⌝',\n urcorner: '⌝',\n urcrop: '⌎',\n uring: 'ů',\n urtri: '◹',\n uscr: '𝓊',\n utdot: '⋰',\n utilde: 'ũ',\n utri: '▵',\n utrif: '▴',\n uuarr: '⇈',\n uuml: 'ü',\n uwangle: '⦧',\n vArr: '⇕',\n vBar: '⫨',\n vBarv: '⫩',\n vDash: '⊨',\n vangrt: '⦜',\n varepsilon: 'ϵ',\n varkappa: 'ϰ',\n varnothing: '∅',\n varphi: 'ϕ',\n varpi: 'ϖ',\n varpropto: '∝',\n varr: '↕',\n varrho: 'ϱ',\n varsigma: 'ς',\n varsubsetneq: '⊊︀',\n varsubsetneqq: '⫋︀',\n varsupsetneq: '⊋︀',\n varsupsetneqq: '⫌︀',\n vartheta: 'ϑ',\n vartriangleleft: '⊲',\n vartriangleright: '⊳',\n vcy: 'в',\n vdash: '⊢',\n vee: '∨',\n veebar: '⊻',\n veeeq: '≚',\n vellip: '⋮',\n verbar: '|',\n vert: '|',\n vfr: '𝔳',\n vltri: '⊲',\n vnsub: '⊂⃒',\n vnsup: '⊃⃒',\n vopf: '𝕧',\n vprop: '∝',\n vrtri: '⊳',\n vscr: '𝓋',\n vsubnE: '⫋︀',\n vsubne: '⊊︀',\n vsupnE: '⫌︀',\n vsupne: '⊋︀',\n vzigzag: '⦚',\n wcirc: 'ŵ',\n wedbar: '⩟',\n wedge: '∧',\n wedgeq: '≙',\n weierp: '℘',\n wfr: '𝔴',\n wopf: '𝕨',\n wp: '℘',\n wr: '≀',\n wreath: '≀',\n wscr: '𝓌',\n xcap: '⋂',\n xcirc: '◯',\n xcup: '⋃',\n xdtri: '▽',\n xfr: '𝔵',\n xhArr: '⟺',\n xharr: '⟷',\n xi: 'ξ',\n xlArr: '⟸',\n xlarr: '⟵',\n xmap: '⟼',\n xnis: '⋻',\n xodot: '⨀',\n xopf: '𝕩',\n xoplus: '⨁',\n xotime: '⨂',\n xrArr: '⟹',\n xrarr: '⟶',\n xscr: '𝓍',\n xsqcup: '⨆',\n xuplus: '⨄',\n xutri: '△',\n xvee: '⋁',\n xwedge: '⋀',\n yacute: 'ý',\n yacy: 'я',\n ycirc: 'ŷ',\n ycy: 'ы',\n yen: '¥',\n yfr: '𝔶',\n yicy: 'ї',\n yopf: '𝕪',\n yscr: '𝓎',\n yucy: 'ю',\n yuml: 'ÿ',\n zacute: 'ź',\n zcaron: 'ž',\n zcy: 'з',\n zdot: 'ż',\n zeetrf: 'ℨ',\n zeta: 'ζ',\n zfr: '𝔷',\n zhcy: 'ж',\n zigrarr: '⇝',\n zopf: '𝕫',\n zscr: '𝓏',\n zwj: '',\n zwnj: ''\n}\n","import {characterEntities} from 'character-entities'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Decode a single character reference (without the `&` or `;`).\n * You probably only need this when you’re building parsers yourself that follow\n * different rules compared to HTML.\n * This is optimized to be tiny in browsers.\n *\n * @param {string} value\n * `notin` (named), `#123` (deci), `#x123` (hexa).\n * @returns {string|false}\n * Decoded reference.\n */\nexport function decodeNamedCharacterReference(value) {\n return own.call(characterEntities, value) ? characterEntities[value] : false\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n\n let max\n /** @type {(code: Code) => code is number} */\n\n let test\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n /** @type {State} */\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n /** @type {State} */\n\n function value(code) {\n /** @type {Token} */\n let token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n /** @type {Construct} */\n\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n }\n const tail = this.events[this.events.length - 1]\n const initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let sizeOpen = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n /** @type {State} */\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n /** @type {State} */\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n /** @type {State} */\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n /** @type {State} */\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n /** @type {State} */\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n /** @type {State} */\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : contentStart(code)\n }\n /** @type {State} */\n\n function contentStart(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(\n effects,\n contentStart,\n 'linePrefix',\n initialPrefix + 1\n )\n : contentStart\n ),\n after\n )(code)\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return contentStart(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeNonLazyLine(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {Tokenizer} */\n\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n /** @type {State} */\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n}\n/** @type {Construct} */\n\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeIndented')\n return factorySpace(effects, afterStartPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterStartPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? afterPrefix(code)\n : nok(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n /** @type {State} */\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeIndented')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? ok(code)\n : markdownLineEnding(code)\n ? start(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n/** @type {Resolver} */\n\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n\n let index\n /** @type {number|undefined} */\n\n let enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n/** @type {Previous} */\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n\n let size\n /** @type {Token} */\n\n let token\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n /** @type {State} */\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n /** @type {State} */\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n /** @type {State} */\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n /** @type {State} */\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {splice} from 'micromark-util-chunked'\n\n/**\n * Tokenize subcontent.\n *\n * @param {Event[]} events\n * @returns {boolean}\n */\nexport function subtokenize(events) {\n /** @type {Record<string, number>} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n\n let event\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number} */\n\n let otherIndex\n /** @type {Event} */\n\n let otherEvent\n /** @type {Event[]} */\n\n let parameters\n /** @type {Event[]} */\n\n let subevents\n /** @type {boolean|undefined} */\n\n let more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n splice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n/**\n * Tokenize embedded tokens.\n *\n * @param {Event[]} events\n * @param {number} eventIndex\n * @returns {Record<string, number>}\n */\n\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {number[]} */\n\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {[number, number][]} */\n\n const jumps = []\n /** @type {Record<string, number>} */\n\n const gaps = {}\n /** @type {Chunk[]} */\n\n let stream\n /** @type {Token|undefined} */\n\n let previous\n let index = -1\n /** @type {Token|undefined} */\n\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start] // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n\n if (!current.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = current\n current = current.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n current = token\n\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start) // Help GC.\n\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n } // Help GC.\n\n tokenizer.events = [] // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n } // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n\n index = breaks.length\n\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n splice(events, start, 2, slice)\n }\n\n index = -1\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n}\n/** @type {Construct} */\n\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContent(effects, ok) {\n /** @type {Token} */\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous\n })\n previous = previous.next\n return data\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this\n return startLookahead\n /** @type {State} */\n\n function startLookahead(code) {\n effects.exit('chunkContent')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1]\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return ok(code)\n }\n\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiControl,\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} literalType\n * @param {string} literalMarkerType\n * @param {string} rawType\n * @param {string} stringType\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (code === null || code === 41 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n /** @type {State} */\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n /** @type {State} */\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n /** @type {State} */\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @this {TokenizeContext}\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable<Code>} */\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n /** @type {State} */\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n /** @type {State} */\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n /** @type {State} */\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n /** @type {State} */\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n","/**\n * Normalize an identifier (such as used in definitions).\n *\n * @param {string} value\n * @returns {string}\n */\nexport function normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // 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","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\n/** @type {Construct} */\n\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this\n /** @type {string} */\n\n let identifier\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n /** @type {State} */\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n/** @type {Resolver} */\n\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2\n let contentStart = 3\n /** @type {Token} */\n\n let content\n /** @type {Token} */\n\n let text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n // @ts-expect-error Constants are fine to assign.\n contentType: 'text'\n }\n splice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n const self = this\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n /** @type {State} */\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result\n * in more relaxed rules (condition 6): because they are known blocks, the\n * HTML-like syntax doesn’t have to be strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result in\n * HTML that can include lines w/o exiting, until a closing tag also in this\n * list is found (condition 1).\n *\n * This module is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * Note that `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name'\nimport {blankLine} from './blank-line.js'\n/** @type {Construct} */\n\nexport const htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\n/** @type {Construct} */\n\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveToHtmlFlow(events) {\n let index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this\n /** @type {number} */\n\n let kind\n /** @type {boolean} */\n\n let startTag\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {Code} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.includes(buffer.toLowerCase())\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting\n\n return self.interrupt && !self.parser.lazy[self.now().line]\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n /** @type {State} */\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = null\n return completeAttributeValueUnquoted(code)\n }\n /** @type {State} */\n\n function completeAttributeValueQuoted(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n /** @type {State} */\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n /** @type {State} */\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n /** @type {State} */\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n /** @type {State} */\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n /** @type {State} */\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code)\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n /** @type {Tokenizer} */\n\n function htmlLineEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {State} */\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n } // More dashes.\n\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable<Code>|undefined} */\n\n let marker\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {State} */\n\n let returnState\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n /** @type {State} */\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n /** @type {State} */\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n /** @type {State} */\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n /** @type {State} */\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n /** @type {State} */\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n /** @type {State} */\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n/** @type {Construct} */\n\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\n\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\n/** @type {Construct} */\n\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n/** @type {Resolver} */\n\nfunction resolveAllLabelEnd(events) {\n let index = -1\n /** @type {Token} */\n\n let token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n/** @type {Resolver} */\n\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n\n let token\n /** @type {number|undefined} */\n\n let open\n /** @type {number|undefined} */\n\n let close\n /** @type {Event[]} */\n\n let media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = push(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = push(media, [['enter', text, context]]) // Between.\n\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = push(media, events.slice(close + 1)) // Media close.\n\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n\n let labelStart\n /** @type {boolean} */\n\n let defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n /** @type {State} */\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n /** @type {State} */\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n /** @type {State} */\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n /** @type {State} */\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeFullReference(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook. */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @typedef {Record<string, unknown> & {marker: Code, type: string, size: number}} ListContainerState\n * @typedef {TokenizeContext & {containerState: ListContainerState}} TokenizeContextWithState\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {asciiDigit, markdownSpace} from 'micromark-util-character'\nimport {blankLine} from './blank-line.js'\nimport {thematicBreak} from './thematic-break.js'\n/** @type {Construct} */\n\nexport const list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n/** @type {Construct} */\n\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n/** @type {Construct} */\n\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n /**\n * @type {State}\n **/\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n blankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n /** @type {State} */\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(blankLine, onBlank, notBlank)\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n /** @type {State} */\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n /** @type {State} */\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n/**\n * @type {Exiter}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !markdownSpace(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n/** @type {Resolver} */\n\nfunction resolveToSetextUnderline(events, context) {\n let index = events.length\n /** @type {number|undefined} */\n\n let content\n /** @type {number|undefined} */\n\n let text\n /** @type {number|undefined} */\n\n let definition // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {NonNullable<Code>} */\n\n let marker\n /** @type {boolean} */\n\n let paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {blankLine, content} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n}\n/** @type {Initializer} */\n\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n /** @type {State} */\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n /** @type {State} */\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nexport const resolver = {\n resolveAll: createResolver()\n}\nexport const string = initializeFactory('string')\nexport const text = initializeFactory('text')\n/**\n * @param {'string'|'text'} field\n * @returns {InitialConstruct}\n */\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n /** @type {Initializer} */\n\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n /** @type {State} */\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n /** @type {State} */\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n\n function atBreak(code) {\n if (code === null) {\n return true\n }\n\n const list = constructs[code]\n let index = -1\n\n if (list) {\n while (++index < list.length) {\n const item = list[index]\n\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n\n return false\n }\n }\n}\n/**\n * @param {Resolver} [extraResolver]\n * @returns {Resolver}\n */\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n /** @type {Resolver} */\n\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number|undefined} */\n\n let enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\n\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean|undefined} */\n\n let tabs\n\n while (index--) {\n const chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n */\n\n/**\n * @typedef Info\n * @property {() => void} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit<Point, '_index'|'_bufferIndex'>} [from]\n * @returns {TokenizeContext}\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record<string, number>} */\n\n const columnStart = {}\n /** @type {Construct[]} */\n\n const resolveAllConstructs = []\n /** @type {Chunk[]} */\n\n let chunks = []\n /** @type {Token[]} */\n\n let stack = []\n /** @type {boolean|undefined} */\n\n let consumed = true\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n /**\n * The state function.\n *\n * @type {State|void}\n */\n\n let state = initialize.tokenize.call(context, effects)\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n\n let expectedCode\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n\n return context\n /** @type {TokenizeContext['write']} */\n\n function write(slice) {\n chunks = push(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n /** @type {TokenizeContext['sliceStream']} */\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n /** @type {TokenizeContext['now']} */\n\n function now() {\n return Object.assign({}, point)\n }\n /** @type {TokenizeContext['defineSkip']} */\n\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n\n function main() {\n /** @type {number} */\n let chunkIndex\n\n while (point._index < chunks.length) {\n const chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n /** @type {Effects['consume']} */\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n\n consumed = true\n }\n /** @type {Effects['enter']} */\n\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n /** @type {Effects['exit']} */\n\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {Record<string, unknown>} [fields]\n */\n\n function constructFactory(onreturn, fields) {\n return hook\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Construct|Construct[]|ConstructRecord} constructs\n * @param {State} returnState\n * @param {State} [bogusState]\n * @returns {State}\n */\n\n function hook(constructs, returnState, bogusState) {\n /** @type {Construct[]} */\n let listOfConstructs\n /** @type {number} */\n\n let constructIndex\n /** @type {Construct} */\n\n let currentConstruct\n /** @type {Info} */\n\n let info\n return Array.isArray(constructs)\n ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs)\n : 'tokenize' in constructs // @ts-expect-error Looks like a construct.\n ? handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n\n function handleMapOfConstructs(map) {\n return start\n /** @type {State} */\n\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n /**\n * Handle a list of construct.\n *\n * @param {Construct[]} list\n * @returns {State}\n */\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n\n if (list.length === 0) {\n return bogusState\n }\n\n return handleConstruct(list[constructIndex])\n }\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n\n function handleConstruct(construct) {\n return start\n /** @type {State} */\n\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n /** @type {State} */\n\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n /** @type {State} */\n\n function nok(code) {\n consumed = true\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n splice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n /**\n * Store state.\n *\n * @returns {Info}\n */\n\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n /**\n * Restore state.\n *\n * @returns {void}\n */\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Chunk[]} chunks\n * @param {Pick<Token, 'start'|'end'>} token\n * @returns {Chunk[]}\n */\n\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Chunk[]} */\n\n let view\n\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Chunk[]} chunks\n * @param {boolean} [expandTabs=false]\n * @returns {string}\n */\n\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {string[]} */\n\n const result = []\n /** @type {boolean|undefined} */\n\n let atTab\n\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n\n let value\n\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n\n case -4: {\n value = '\\n'\n break\n }\n\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n/** @type {Extension['document']} */\n\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n/** @type {Extension['contentInitial']} */\n\nexport const contentInitial = {\n [91]: definition\n}\n/** @type {Extension['flowInitial']} */\n\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n/** @type {Extension['flow']} */\n\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n/** @type {Extension['string']} */\n\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n/** @type {Extension['text']} */\n\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n/** @type {Extension['insideSpan']} */\n\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n/** @type {Extension['attentionMarkers']} */\n\nexport const attentionMarkers = {\n null: [42, 95]\n}\n/** @type {Extension['disable']} */\n\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Create} Create\n */\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {text, string} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n/**\n * @param {ParseOptions} [options]\n * @returns {ParseContext}\n */\n\nexport function parse(options = {}) {\n /** @type {FullNormalizedExtension} */\n // @ts-expect-error `defaultConstructs` is full, so the result will be too.\n const constructs = combineExtensions(\n // @ts-expect-error Same as above.\n [defaultConstructs].concat(options.extensions || [])\n )\n /** @type {ParseContext} */\n\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n /**\n * @param {InitialConstruct} initial\n */\n\n function create(initial) {\n return creator\n /** @type {Create} */\n\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {boolean} [end=false]\n * @returns {Chunk[]}\n */\nconst search = /[\\0\\t\\n\\r]/g\n/**\n * @returns {Preprocessor}\n */\n\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean|undefined} */\n\n let start = true\n /** @type {boolean|undefined} */\n\n let atCarriageReturn\n return preprocessor\n /** @type {Preprocessor} */\n\n function preprocessor(value, encoding, end) {\n /** @type {Chunk[]} */\n const chunks = []\n /** @type {RegExpMatchArray|null} */\n\n let match\n /** @type {number} */\n\n let next\n /** @type {number} */\n\n let startPosition\n /** @type {number} */\n\n let endPosition\n /** @type {Code} */\n\n let code // @ts-expect-error `Buffer` does allow an encoding.\n\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n\n break\n }\n\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {subtokenize} from 'micromark-util-subtokenize'\n/**\n * @param {Event[]} events\n * @returns {Event[]}\n */\n\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return String.fromCharCode(code)\n}\n","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n/**\n * Utility to decode markdown strings (which occur in places such as fenced\n * code info strings, destinations, labels, and titles).\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\n\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n } // Reference.\n\n const head = $2.charCodeAt(0)\n\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist').Point} Point\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Content} Content\n * @typedef {Root|Content} Node\n * @typedef {Extract<Node, UnistParent>} Parent\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n *\n * @typedef {UnistParent & {type: 'fragment', children: Array<PhrasingContent>}} Fragment\n */\n\n/**\n * @typedef _CompileDataFields\n * @property {boolean|undefined} expectingFirstListItemValue\n * @property {boolean|undefined} flowCodeInside\n * @property {boolean|undefined} setextHeadingSlurpLineEnding\n * @property {boolean|undefined} atHardBreak\n * @property {'collapsed'|'full'} referenceType\n * @property {boolean|undefined} inReference\n * @property {'characterReferenceMarkerHexadecimal'|'characterReferenceMarkerNumeric'} characterReferenceType\n *\n * @typedef {Record<string, unknown> & Partial<_CompileDataFields>} CompileData\n *\n * @typedef {(tree: Root) => Root|void} Transform\n * @typedef {(this: CompileContext, token: Token) => void} Handle\n * @typedef {Record<string, Handle>} Handles\n * Token types mapping to handles\n * @typedef {Record<string, Record<string, unknown>|Array<unknown>> & {canContainEols: Array<string>, transforms: Array<Transform>, enter: Handles, exit: Handles}} NormalizedExtension\n * @typedef {Partial<NormalizedExtension>} Extension\n * An mdast extension changes how markdown tokens are turned into mdast.\n *\n * @typedef {(this: Omit<CompileContext, 'sliceSerialize'>, left: Token|undefined, right: Token) => void} OnEnterError\n * @typedef {(this: Omit<CompileContext, 'sliceSerialize'>, left: Token, right: Token) => void} OnExitError\n *\n * @typedef CompileContext\n * mdast compiler context\n * @property {Array<Node | Fragment>} stack\n * @property {Array<[Token, OnEnterError|undefined]>} tokenStack\n * @property {(key: string, value?: unknown) => void} setData\n * Set data into the key-value store.\n * @property {<K extends string>(key: K) => CompileData[K]} getData\n * Get data from the key-value store.\n * @property {(this: CompileContext) => void} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {<N extends Node>(this: CompileContext, node: N, token: Token, onError?: OnEnterError) => N} enter\n * Enter a token.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit\n * Exit a token.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {NormalizedExtension} config\n * Configuration.\n *\n * @typedef {{mdastExtensions?: Array<Extension|Array<Extension>>}} FromMarkdownOptions\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n */\nimport {toString} from 'mdast-util-to-string'\nimport {parse} from 'micromark/lib/parse.js'\nimport {preprocess} from 'micromark/lib/preprocess.js'\nimport {postprocess} from 'micromark/lib/postprocess.js'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n/**\n * @param value Markdown to parse (`string` or `Buffer`).\n * @param [encoding] Character encoding to understand `value` as when it’s a `Buffer` (`string`, default: `'utf8'`).\n * @param [options] Configuration\n */\n\nexport const fromMarkdown =\n /**\n * @type {(\n * ((value: Value, encoding: Encoding, options?: Options) => Root) &\n * ((value: Value, options?: Options) => Root)\n * )}\n */\n\n /**\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {Options} [options]\n * @returns {Root}\n */\n function (value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n\n return compiler(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n }\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options} [options]\n */\n\nfunction compiler(options = {}) {\n /** @type {NormalizedExtension} */\n // @ts-expect-error: our base has all required fields, so the result will too.\n const config = configure(\n {\n transforms: [],\n canContainEols: [\n 'emphasis',\n 'fragment',\n 'heading',\n 'paragraph',\n 'strong'\n ],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n options.mdastExtensions || []\n )\n /** @type {CompileData} */\n\n const data = {}\n return compile\n /**\n * @param {Array<Event>} events\n * @returns {Root}\n */\n\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {CompileContext['stack']} */\n\n const stack = [tree]\n /** @type {CompileContext['tokenStack']} */\n\n const tokenStack = []\n /** @type {Array<number>} */\n\n const listStack = []\n /** @type {Omit<CompileContext, 'sliceSerialize'>} */\n\n const context = {\n stack,\n tokenStack,\n config,\n enter,\n exit,\n buffer,\n resume,\n setData,\n getData\n }\n let index = -1\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n const handler = config[events[index][0]]\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n if (tokenStack.length > 0) {\n const tail = tokenStack[tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n } // Figure out `root` position.\n\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n index = -1\n\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n\n return tree\n }\n /**\n * @param {Array<Event>} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token|undefined} */\n\n let listItem\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number|undefined} */\n\n let firstBlankLineIndex\n /** @type {boolean|undefined} */\n\n let atMarker\n\n while (++index <= length) {\n const event = events[index]\n\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n // @ts-expect-error Patched.\n listItem._spread = true\n } // Fix position.\n\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n } // Create a new list item.\n\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n // @ts-expect-error Patched\n _spread: false,\n start: Object.assign({}, event[1].start)\n } // @ts-expect-error: `listItem` is most definitely defined, TS...\n\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n } // @ts-expect-error Patched.\n\n events[start][1]._spread = listSpread\n return length\n }\n /**\n * @type {CompileContext['setData']}\n * @param [value]\n */\n\n function setData(key, value) {\n data[key] = value\n }\n /**\n * @type {CompileContext['getData']}\n * @template {string} K\n * @param {K} key\n * @returns {CompileData[K]}\n */\n\n function getData(key) {\n return data[key]\n }\n /**\n * @param {Point} d\n * @returns {Point}\n */\n\n function point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n }\n /**\n * @param {(token: Token) => Node} create\n * @param {Handle} [and]\n * @returns {Handle}\n */\n\n function opener(create, and) {\n return open\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n /** @type {CompileContext['buffer']} */\n\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n /**\n * @type {CompileContext['enter']}\n * @template {Node} N\n * @this {CompileContext}\n * @param {N} node\n * @param {Token} token\n * @param {OnEnterError} [errorHandler]\n * @returns {N}\n */\n\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n // @ts-expect-error: Assume `Node` can exist as a child of `parent`.\n parent.children.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler]) // @ts-expect-error: `end` will be patched later.\n\n node.position = {\n start: point(token.start)\n }\n return node\n }\n /**\n * @param {Handle} [and]\n * @returns {Handle}\n */\n\n function closer(and) {\n return close\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n /**\n * @type {CompileContext['exit']}\n * @this {CompileContext}\n * @param {Token} token\n * @param {OnExitError} [onExitError]\n * @returns {Node}\n */\n\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n\n node.position.end = point(token.end)\n return node\n }\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n\n function resume() {\n return toString(this.stack.pop())\n } //\n // Handlers.\n //\n\n /** @type {Handle} */\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n /** @type {Handle} */\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n const ancestor =\n /** @type {List} */\n this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n setData('expectingFirstListItemValue')\n }\n }\n /** @type {Handle} */\n\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.lang = data\n }\n /** @type {Handle} */\n\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.meta = data\n }\n /** @type {Handle} */\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n /** @type {Handle} */\n\n function onexitcodefenced() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n setData('flowCodeInside')\n }\n /** @type {Handle} */\n\n function onexitcodeindented() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n /** @type {Handle} */\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n const label = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n /** @type {Handle} */\n\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.title = data\n }\n /** @type {Handle} */\n\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.url = data\n }\n /** @type {Handle} */\n\n function onexitatxheadingsequence(token) {\n const node =\n /** @type {Heading} */\n this.stack[this.stack.length - 1]\n\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n /** @type {Handle} */\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n /** @type {Handle} */\n\n function onexitsetextheadinglinesequence(token) {\n const node =\n /** @type {Heading} */\n this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n /** @type {Handle} */\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n /** @type {Handle} */\n\n function onenterdata(token) {\n const parent =\n /** @type {Parent} */\n this.stack[this.stack.length - 1]\n /** @type {Node} */\n\n let tail = parent.children[parent.children.length - 1]\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text() // @ts-expect-error: we’ll add `end` later.\n\n tail.position = {\n start: point(token.start)\n } // @ts-expect-error: Assume `parent` accepts `text`.\n\n parent.children.push(tail)\n }\n\n this.stack.push(tail)\n }\n /** @type {Handle} */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n /** @type {Handle} */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n setData('atHardBreak')\n return\n }\n\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n /** @type {Handle} */\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n /** @type {Handle} */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node =\n /** @type {HTML} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexithtmltext() {\n const data = this.resume()\n const node =\n /** @type {HTML} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexitcodetext() {\n const data = this.resume()\n const node =\n /** @type {InlineCode} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexitlink() {\n const context =\n /** @type {Link & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference' // @ts-expect-error: mutate.\n\n context.referenceType = getData('referenceType') || 'shortcut' // @ts-expect-error: mutate.\n\n delete context.url\n delete context.title\n } else {\n // @ts-expect-error: mutate.\n delete context.identifier // @ts-expect-error: mutate.\n\n delete context.label\n }\n\n setData('referenceType')\n }\n /** @type {Handle} */\n\n function onexitimage() {\n const context =\n /** @type {Image & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference' // @ts-expect-error: mutate.\n\n context.referenceType = getData('referenceType') || 'shortcut' // @ts-expect-error: mutate.\n\n delete context.url\n delete context.title\n } else {\n // @ts-expect-error: mutate.\n delete context.identifier // @ts-expect-error: mutate.\n\n delete context.label\n }\n\n setData('referenceType')\n }\n /** @type {Handle} */\n\n function onexitlabeltext(token) {\n const ancestor =\n /** @type {(Link|Image) & {identifier: string, label: string}} */\n this.stack[this.stack.length - 2]\n const string = this.sliceSerialize(token)\n ancestor.label = decodeString(string)\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n /** @type {Handle} */\n\n function onexitlabel() {\n const fragment =\n /** @type {Fragment} */\n this.stack[this.stack.length - 1]\n const value = this.resume()\n const node =\n /** @type {(Link|Image) & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // Assume a reference.\n\n setData('inReference', true)\n\n if (node.type === 'link') {\n // @ts-expect-error: Assume static phrasing content.\n node.children = fragment.children\n } else {\n node.alt = value\n }\n }\n /** @type {Handle} */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node =\n /** @type {Link|Image} */\n this.stack[this.stack.length - 1]\n node.url = data\n }\n /** @type {Handle} */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node =\n /** @type {Link|Image} */\n this.stack[this.stack.length - 1]\n node.title = data\n }\n /** @type {Handle} */\n\n function onexitresource() {\n setData('inReference')\n }\n /** @type {Handle} */\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n /** @type {Handle} */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node =\n /** @type {LinkReference|ImageReference} */\n this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n /** @type {Handle} */\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n /** @type {Handle} */\n\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = getData('characterReferenceType')\n /** @type {string} */\n\n let value\n\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n setData('characterReferenceType')\n } else {\n // @ts-expect-error `decodeNamedCharacterReference` can return false for\n // invalid named character references, but everything we’ve tokenized is\n // valid.\n value = decodeNamedCharacterReference(data)\n }\n\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n /** @type {Handle} */\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node =\n /** @type {Link} */\n this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n /** @type {Handle} */\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node =\n /** @type {Link} */\n this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n } //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n /** @returns {Code} */\n\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n /** @returns {InlineCode} */\n\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n /** @returns {Definition} */\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n /** @returns {Emphasis} */\n\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n /** @returns {Heading} */\n\n function heading() {\n // @ts-expect-error `depth` will be set later.\n return {\n type: 'heading',\n depth: undefined,\n children: []\n }\n }\n /** @returns {Break} */\n\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n /** @returns {HTML} */\n\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n /** @returns {Image} */\n\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n /** @returns {Link} */\n\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n /**\n * @param {Token} token\n * @returns {List}\n */\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n // @ts-expect-error Patched.\n spread: token._spread,\n children: []\n }\n }\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n\n function listItem(token) {\n return {\n type: 'listItem',\n // @ts-expect-error Patched.\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n /** @returns {Paragraph} */\n\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n /** @returns {Strong} */\n\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n /** @returns {Text} */\n\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n /** @returns {ThematicBreak} */\n\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n/**\n * @param {Extension} combined\n * @param {Array<Extension|Array<Extension>>} extensions\n * @returns {Extension}\n */\n\nfunction configure(combined, extensions) {\n let index = -1\n\n while (++index < extensions.length) {\n const value = extensions[index]\n\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n\n return combined\n}\n/**\n * @param {Extension} combined\n * @param {Extension} extension\n * @returns {void}\n */\n\nfunction extension(combined, extension) {\n /** @type {string} */\n let key\n\n for (key in extension) {\n if (own.call(extension, key)) {\n const list = key === 'canContainEols' || key === 'transforms'\n const maybe = own.call(combined, key) ? combined[key] : undefined\n /* c8 ignore next */\n\n const left = maybe || (combined[key] = list ? [] : {})\n const right = extension[key]\n\n if (right) {\n if (list) {\n // @ts-expect-error: `left` is an array.\n combined[key] = [...left, ...right]\n } else {\n Object.assign(left, right)\n }\n }\n }\n }\n}\n/** @type {OnEnterError} */\n\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/** @type {import('unified').Plugin<[Options?] | void[], string, Root>} */\nexport default function remarkParse(options) {\n /** @type {import('unified').ParserFunction<Root>} */\n const parser = (doc) => {\n // Assume options.\n const settings = /** @type {Options} */ (this.data('settings'))\n\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: this.data('micromarkExtensions') || [],\n mdastExtensions: this.data('fromMarkdownExtensions') || []\n })\n )\n }\n\n Object.assign(this, {Parser: parser})\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist').Literal} Literal\n * @typedef {Object.<string, unknown>} Props\n * @typedef {Array.<Node>|string} ChildrenOrValue\n *\n * @typedef {(<T extends string, P extends Record<string, unknown>, C extends Node[]>(type: T, props: P, children: C) => {type: T, children: C} & P)} BuildParentWithProps\n * @typedef {(<T extends string, P extends Record<string, unknown>>(type: T, props: P, value: string) => {type: T, value: string} & P)} BuildLiteralWithProps\n * @typedef {(<T extends string, P extends Record<string, unknown>>(type: T, props: P) => {type: T} & P)} BuildVoidWithProps\n * @typedef {(<T extends string, C extends Node[]>(type: T, children: C) => {type: T, children: C})} BuildParent\n * @typedef {(<T extends string>(type: T, value: string) => {type: T, value: string})} BuildLiteral\n * @typedef {(<T extends string>(type: T) => {type: T})} BuildVoid\n */\n\nexport var u = /**\n * @type {BuildVoid & BuildVoidWithProps & BuildLiteral & BuildLiteralWithProps & BuildParent & BuildParentWithProps}\n */ (\n /**\n * @param {string} type Type of node\n * @param {Props|ChildrenOrValue} [props] Additional properties for node (or `children` or `value`)\n * @param {ChildrenOrValue} [value] `children` or `value` of node\n * @returns {Node}\n */\n function (type, props, value) {\n /** @type {Node} */\n var node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n node.children = value\n } else if (value !== undefined && value !== null) {\n node.value = String(value)\n }\n\n return node\n }\n)\n","/**\n * @typedef {import('mdast').Root|import('mdast').Parent['children'][number]} MdastNode\n * @typedef {import('./index.js').H} H\n * @typedef {import('./index.js').Handler} Handler\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Transform an unknown node.\n * @type {Handler}\n * @param {MdastNode} node\n */\nfunction unknown(h, node) {\n const data = node.data || {}\n\n if (\n 'value' in node &&\n !(\n own.call(data, 'hName') ||\n own.call(data, 'hProperties') ||\n own.call(data, 'hChildren')\n )\n ) {\n return h.augment(node, u('text', node.value))\n }\n\n return h(node, 'div', all(h, node))\n}\n\n/**\n * @type {Handler}\n * @param {MdastNode} node\n */\nexport function one(h, node, parent) {\n const type = node && node.type\n /** @type {Handler} */\n let fn\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(h.handlers, type)) {\n fn = h.handlers[type]\n } else if (h.passThrough && h.passThrough.includes(type)) {\n fn = returnNode\n } else {\n fn = h.unknownHandler\n }\n\n return (typeof fn === 'function' ? fn : unknown)(h, node, parent)\n}\n\n/**\n * @type {Handler}\n * @param {MdastNode} node\n */\nfunction returnNode(h, node) {\n // @ts-expect-error: Pass through custom node.\n return 'children' in node ? {...node, children: all(h, node)} : node\n}\n\n/**\n * @param {H} h\n * @param {MdastNode} parent\n */\nexport function all(h, parent) {\n /** @type {Array<Content>} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n\n while (++index < nodes.length) {\n const result = one(h, nodes[index], parent)\n\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n *\n * @typedef {string} Type\n * @typedef {Object<string, unknown>} Props\n *\n * @typedef {null|undefined|Type|Props|TestFunctionAnything|Array.<Type|Props|TestFunctionAnything>} Test\n */\n\n/**\n * Check if a node passes a test\n *\n * @callback TestFunctionAnything\n * @param {Node} node\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean|void}\n */\n\n/**\n * Check if a node passes a certain node test\n *\n * @template {Node} X\n * @callback TestFunctionPredicate\n * @param {Node} node\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is X}\n */\n\n/**\n * @callback AssertAnything\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean}\n */\n\n/**\n * Check if a node passes a certain node test\n *\n * @template {Node} Y\n * @callback AssertPredicate\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is Y}\n */\n\nexport const is =\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @type {(\n * (<T extends Node>(node: unknown, test: T['type']|Partial<T>|TestFunctionPredicate<T>|Array.<T['type']|Partial<T>|TestFunctionPredicate<T>>, index?: number|null|undefined, parent?: Parent|null|undefined, context?: unknown) => node is T) &\n * ((node?: unknown, test?: Test, index?: number|null|undefined, parent?: Parent|null|undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @param {unknown} [node] Node to check\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @param {number|null|undefined} [index] Position of `node` in `parent`\n * @param {Parent|null|undefined} [parent] Parent of `node`\n * @param {unknown} [context] Context object to invoke `test` with\n * @returns {boolean} Whether test passed and `node` is a `Node` (object with `type` set to non-empty `string`).\n */\n // eslint-disable-next-line max-params\n function is(node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n // @ts-expect-error Looks like a node.\n return node && node.type && typeof node.type === 'string'\n ? Boolean(check.call(context, node, index, parent))\n : false\n }\n )\n\nexport const convert =\n /**\n * @type {(\n * (<T extends Node>(test: T['type']|Partial<T>|TestFunctionPredicate<T>) => AssertPredicate<T>) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * Generate an assertion from a check.\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n/**\n * @param {Array.<Type|Props|TestFunctionAnything>} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array.<AssertAnything>} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {unknown[]} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Utility to assert each property in `test` is represented in `node`, and each\n * values are strictly equal.\n *\n * @param {Props} check\n * @returns {AssertAnything}\n */\nfunction propsFactory(check) {\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n /** @type {string} */\n let key\n\n for (key in check) {\n // @ts-expect-error: hush, it sure works as an index.\n if (node[key] !== check[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s type\n * for said string.\n *\n * @param {Type} check\n * @returns {AssertAnything}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s type\n * for said string.\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {Array.<unknown>} parameters\n * @returns {boolean}\n */\n function assertion(...parameters) {\n // @ts-expect-error: spreading is fine.\n return Boolean(check.call(this, ...parameters))\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","/**\n * @param {string} d\n * @returns {string}\n */\nexport function color(d) {\n return '\\u001B[33m' + d + '\\u001B[39m'\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('./complex-types').Action} Action\n * @typedef {import('./complex-types').Index} Index\n * @typedef {import('./complex-types').ActionTuple} ActionTuple\n * @typedef {import('./complex-types').VisitorResult} VisitorResult\n * @typedef {import('./complex-types').Visitor} Visitor\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal\n */\nexport const CONTINUE = true\n/**\n * Do not traverse this node’s children\n */\nexport const SKIP = 'skip'\n/**\n * Stop traversing immediately\n */\nexport const EXIT = false\n\n/**\n * Visit children of tree which pass a test\n *\n * @param tree Abstract syntax tree to walk\n * @param test Test node, optional\n * @param visitor Function to run for each node\n * @param reverse Visit the tree in reverse order, defaults to false\n */\nexport const visitParents =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: import('./complex-types').BuildVisitor<Tree, Check>, reverse?: boolean) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: import('./complex-types').BuildVisitor<Tree>, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types').Visitor<Node>} visitor\n * @param {boolean} [reverse]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n const is = convert(test)\n const step = reverse ? -1 : 1\n\n factory(tree, null, [])()\n\n /**\n * @param {Node} node\n * @param {number?} index\n * @param {Array.<Parent>} parents\n */\n function factory(node, index, parents) {\n /** @type {Object.<string, unknown>} */\n // @ts-expect-error: hush\n const value = typeof node === 'object' && node !== null ? node : {}\n /** @type {string|undefined} */\n let name\n\n if (typeof value.type === 'string') {\n name =\n typeof value.tagName === 'string'\n ? value.tagName\n : typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' +\n color(value.type + (name ? '<' + name + '>' : '')) +\n ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n let result = []\n /** @type {ActionTuple} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array.<Parent>} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n // @ts-expect-error looks like a parent.\n if (node.children && result[0] !== SKIP) {\n // @ts-expect-error looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-expect-error looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-expect-error looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n // @ts-expect-error looks like a parent.\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * @param {VisitorResult} value\n * @returns {ActionTuple}\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n * @typedef {import('./complex-types').Visitor} Visitor\n */\n\nimport {visitParents, CONTINUE, SKIP, EXIT} from 'unist-util-visit-parents'\n\nexport {CONTINUE, SKIP, EXIT}\n\n/**\n * Visit children of tree which pass a test\n *\n * @param tree Abstract syntax tree to walk\n * @param test Test, optional\n * @param visitor Function to run for each node\n * @param reverse Fisit the tree in reverse, defaults to false\n */\nexport const visit =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: import('./complex-types').BuildVisitor<Tree, Check>, reverse?: boolean) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: import('./complex-types').BuildVisitor<Tree>, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types').Visitor} visitor\n * @param {boolean} [reverse]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array.<Parent>} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n","/**\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Node} Node\n * @typedef {Record<string, unknown> & {type: string, position?: PositionLike|undefined}} NodeLike\n * @typedef {import('unist').Point} Point\n *\n * @typedef {Partial<Point>} PointLike\n *\n * @typedef PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n */\n\nexport const pointStart = point('start')\nexport const pointEnd = point('end')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {NodeLike|Node} [node]\n * @returns {Position}\n */\nexport function position(node) {\n return {start: pointStart(node), end: pointEnd(node)}\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'start'|'end'} type\n */\nfunction point(type) {\n return point\n\n /**\n * Get the positional info of `node`.\n *\n * @param {NodeLike|Node} [node]\n * @returns {Point}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n return {\n line: point.line || null,\n column: point.column || null,\n offset: point.offset > -1 ? point.offset : null\n }\n }\n}\n","/**\n * @typedef {Object} PointLike\n * @property {number} [line]\n * @property {number} [column]\n * @property {number} [offset]\n *\n * @typedef {Object} PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n *\n * @typedef {Object} NodeLike\n * @property {PositionLike} [position]\n */\n\n/**\n * Check if `node` is *generated*.\n *\n * @param {NodeLike} [node]\n * @returns {boolean}\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Content} Node\n * @typedef {import('mdast').Definition} Definition\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Find definitions in `node`.\n * Uses CommonMark precedence, which means that earlier definitions are\n * preferred over duplicate later definitions.\n *\n * @param {Node} node\n */\nexport function definitions(node) {\n /** @type {Record<string, Definition>} */\n const cache = Object.create(null)\n\n if (!node || !node.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(node, 'definition', (definition) => {\n const id = clean(definition.identifier)\n if (id && !own.call(cache, id)) {\n cache[id] = definition\n }\n })\n\n return definition\n\n /**\n * Get a node from the bound definition cache.\n *\n * @param {string} identifier\n * @returns {Definition|null}\n */\n function definition(identifier) {\n const id = clean(identifier)\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\n/**\n * @param {string} [value]\n * @returns {string}\n */\nfunction clean(value) {\n return String(value || '').toUpperCase()\n}\n","const characterReferences = {'\"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'}\n\n/**\n * Encode only the dangerous HTML characters.\n *\n * This ensures that certain characters which have special meaning in HTML are\n * dealt with.\n * Technically, we can skip `>` and `\"` in many cases, but CM includes them.\n *\n * @param {string} value\n * @returns {string}\n */\nexport function encode(value) {\n return value.replace(/[\"&<>]/g, replace)\n\n /**\n * @param {string} value\n * @returns {string}\n */\n function replace(value) {\n // @ts-expect-error Hush, it’s fine.\n return '&' + characterReferences[value] + ';'\n }\n}\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\n\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri` below).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * Then, a regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`,\n * or `/^https?$/i` for `img[src]`.\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string|undefined} url\n * @param {RegExp} [protocol]\n * @returns {string}\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n\n if (!protocol) {\n return value\n }\n\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon < 0 || // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) || // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n/**\n * Normalize a URL (such as used in definitions).\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * @returns {string}\n */\n\nfunction normalizeUri(value) {\n /** @type {string[]} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n\n let replace = '' // A correct percent encoded value.\n\n if (\n code === 37 &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n } // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n } // Astral.\n else if (code > 55295 && code < 57344) {\n const next = value.charCodeAt(index + 1) // A correct surrogate pair.\n\n if (code < 56320 && next > 56319 && next < 57344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n } // Lone surrogate.\n else {\n replace = '\\uFFFD'\n }\n } // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n\n if (skip) {\n index += skip\n skip = 0\n }\n }\n\n return result.join('') + value.slice(start)\n}\n","/**\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * Wrap `nodes` with line feeds between each entry.\n * Optionally adds line feeds at the start and end.\n *\n * @param {Array<Content>} nodes\n * @param {boolean} [loose=false]\n * @returns {Array<Content>}\n */\nexport function wrap(nodes, loose) {\n /** @type {Array<Content>} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push(u('text', '\\n'))\n }\n\n while (++index < nodes.length) {\n if (index) result.push(u('text', '\\n'))\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push(u('text', '\\n'))\n }\n\n return result\n}\n","/**\n * @typedef {import('mdast').BlockContent} BlockContent\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('./index.js').H} H\n */\n\nimport {sanitizeUri} from 'micromark-util-sanitize-uri'\nimport {u} from 'unist-builder'\nimport {all} from './traverse.js'\nimport {wrap} from './wrap.js'\n\n/**\n * @param {H} h\n */\nexport function footer(h) {\n let index = -1\n /** @type {Array<ElementContent>} */\n const listItems = []\n\n while (++index < h.footnoteOrder.length) {\n const def = h.footnoteById[h.footnoteOrder[index].toUpperCase()]\n\n if (!def) {\n continue\n }\n\n const content = all(h, def)\n const id = String(def.identifier)\n const safeId = sanitizeUri(id.toLowerCase())\n let referenceIndex = 0\n /** @type {Array<ElementContent>} */\n const backReferences = []\n\n while (++referenceIndex <= h.footnoteCounts[id]) {\n /** @type {Element} */\n const backReference = {\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n h.clobberPrefix +\n 'fnref-' +\n safeId +\n (referenceIndex > 1 ? '-' + referenceIndex : ''),\n dataFootnoteBackref: true,\n className: ['data-footnote-backref'],\n ariaLabel: h.footnoteBackLabel\n },\n children: [{type: 'text', value: '↩'}]\n }\n\n if (referenceIndex > 1) {\n backReference.children.push({\n type: 'element',\n tagName: 'sup',\n children: [{type: 'text', value: String(referenceIndex)}]\n })\n }\n\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n backReferences.push(backReference)\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: h.clobberPrefix + 'fn-' + safeId},\n children: wrap(content, true)\n }\n\n if (def.position) {\n listItem.position = def.position\n }\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return null\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: 'h2',\n properties: {id: 'footnote-label', className: ['sr-only']},\n children: [u('text', h.footnoteLabel)]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Blockquote} node\n */\nexport function blockquote(h, node) {\n return h(node, 'blockquote', wrap(all(h, node), true))\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Break} node\n * @returns {Array<Element|Text>}\n */\nexport function hardBreak(h, node) {\n return [h(node, 'br'), u('text', '\\n')]\n}\n","/**\n * @typedef {import('mdast').Code} Code\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Code} node\n */\nexport function code(h, node) {\n const value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n const lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/)\n /** @type {Properties} */\n const props = {}\n\n if (lang) {\n props.className = ['language-' + lang]\n }\n\n const code = h(node, 'code', props, [u('text', value)])\n\n if (node.meta) {\n code.data = {meta: node.meta}\n }\n\n return h(node.position, 'pre', [code])\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Delete} node\n */\nexport function strikethrough(h, node) {\n return h(node, 'del', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Emphasis} node\n */\nexport function emphasis(h, node) {\n return h(node, 'em', all(h, node))\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {sanitizeUri} from 'micromark-util-sanitize-uri'\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {FootnoteReference} node\n */\nexport function footnoteReference(h, node) {\n const id = String(node.identifier)\n const safeId = sanitizeUri(id.toLowerCase())\n const index = h.footnoteOrder.indexOf(id)\n /** @type {number} */\n let counter\n\n if (index === -1) {\n h.footnoteOrder.push(id)\n h.footnoteCounts[id] = 1\n counter = h.footnoteOrder.length\n } else {\n h.footnoteCounts[id]++\n counter = index + 1\n }\n\n const reuseCounter = h.footnoteCounts[id]\n\n return h(node, 'sup', [\n h(\n node.position,\n 'a',\n {\n href: '#' + h.clobberPrefix + 'fn-' + safeId,\n id:\n h.clobberPrefix +\n 'fnref-' +\n safeId +\n (reuseCounter > 1 ? '-' + reuseCounter : ''),\n dataFootnoteRef: true,\n ariaDescribedBy: 'footnote-label'\n },\n [u('text', String(counter))]\n )\n ])\n}\n","/**\n * @typedef {import('mdast').Footnote} Footnote\n * @typedef {import('../index.js').Handler} Handler\n *\n * @todo\n * `footnote` (or “inline note”) are a pandoc footnotes feature (`^[a note]`)\n * that does not exist in GFM.\n * We still have support for it, so that things remain working with\n * `micromark-extension-footnote` and `mdast-util-footnote`, but in the future\n * we might be able to remove it?\n */\n\nimport {footnoteReference} from './footnote-reference.js'\n\n/**\n * @type {Handler}\n * @param {Footnote} node\n */\nexport function footnote(h, node) {\n const footnoteById = h.footnoteById\n let no = 1\n\n while (no in footnoteById) no++\n\n const identifier = String(no)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(h, {\n type: 'footnoteReference',\n identifier,\n position: node.position\n })\n}\n","/**\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Heading} node\n */\nexport function heading(h, node) {\n return h(node, 'h' + node.depth, all(h, node))\n}\n","/**\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * Return either a `raw` node in dangerous mode, otherwise nothing.\n *\n * @type {Handler}\n * @param {HTML} node\n */\nexport function html(h, node) {\n return h.dangerous ? h.augment(node, u('raw', node.value)) : null\n}\n","\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('./index.js').Handler} Handler\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\nimport {all} from './traverse.js'\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @type {Handler}\n * @param {ImageReference|LinkReference} node\n * @returns {Content|Array<Content>}\n */\nexport function revert(h, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return u('text', '![' + node.alt + suffix)\n }\n\n const contents = all(h, node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift(u('text', '['))\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push(u('text', suffix))\n }\n\n return contents\n}\n","/**\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {revert} from '../revert.js'\n\n/**\n * @type {Handler}\n * @param {ImageReference} node\n */\nexport function imageReference(h, node) {\n const def = h.definition(node.identifier)\n\n if (!def) {\n return revert(h, node)\n }\n\n /** @type {Properties} */\n const props = {src: normalize(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'img', props)\n}\n","/**\n * @typedef {import('mdast').Image} Image\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\n\n/**\n * @type {Handler}\n * @param {Image} node\n */\nexport function image(h, node) {\n /** @type {Properties} */\n const props = {src: normalize(node.url), alt: node.alt}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'img', props)\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {InlineCode} node\n */\nexport function inlineCode(h, node) {\n return h(node, 'code', [u('text', node.value.replace(/\\r?\\n|\\r/g, ' '))])\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {revert} from '../revert.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {LinkReference} node\n */\nexport function linkReference(h, node) {\n const def = h.definition(node.identifier)\n\n if (!def) {\n return revert(h, node)\n }\n\n /** @type {Properties} */\n const props = {href: normalize(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Link} node\n */\nexport function link(h, node) {\n /** @type {Properties} */\n const props = {href: normalize(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').List} List\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n * @typedef {import('../index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {ListItem} node\n * @param {List} parent\n */\nexport function listItem(h, node, parent) {\n const result = all(h, node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const props = {}\n /** @type {Array<Content>} */\n const wrapped = []\n\n if (typeof node.checked === 'boolean') {\n /** @type {Element} */\n let paragraph\n\n if (\n result[0] &&\n result[0].type === 'element' &&\n result[0].tagName === 'p'\n ) {\n paragraph = result[0]\n } else {\n paragraph = h(null, 'p', [])\n result.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift(u('text', ' '))\n }\n\n paragraph.children.unshift(\n h(null, 'input', {\n type: 'checkbox',\n checked: node.checked,\n disabled: true\n })\n )\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n props.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < result.length) {\n const child = result[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n wrapped.push(u('text', '\\n'))\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n wrapped.push(...child.children)\n } else {\n wrapped.push(child)\n }\n }\n\n const tail = result[result.length - 1]\n\n // Add a final eol.\n if (tail && (loose || !('tagName' in tail) || tail.tagName !== 'p')) {\n wrapped.push(u('text', '\\n'))\n }\n\n return h(node, 'li', props, wrapped)\n}\n\n/**\n * @param {List} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = node.spread\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n\n return Boolean(loose)\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","/**\n * @typedef {import('mdast').List} List\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {List} node\n * @returns {Element}\n */\nexport function list(h, node) {\n /** @type {Properties} */\n const props = {}\n const name = node.ordered ? 'ol' : 'ul'\n const items = all(h, node)\n let index = -1\n\n if (typeof node.start === 'number' && node.start !== 1) {\n props.start = node.start\n }\n\n // Like GitHub, add a class for custom styling.\n while (++index < items.length) {\n const item = items[index]\n\n if (\n item.type === 'element' &&\n item.tagName === 'li' &&\n item.properties &&\n Array.isArray(item.properties.className) &&\n item.properties.className.includes('task-list-item')\n ) {\n props.className = ['contains-task-list']\n break\n }\n }\n\n return h(node, name, props, wrap(items, true))\n}\n","/**\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Paragraph} node\n */\nexport function paragraph(h, node) {\n return h(node, 'p', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\nimport {all} from '../traverse.js'\nimport {wrap} from '../wrap.js'\n\n/**\n * @type {Handler}\n * @param {Root} node\n */\nexport function root(h, node) {\n // @ts-expect-error `root`s are also fine.\n return h.augment(node, u('root', wrap(all(h, node))))\n}\n","/**\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Strong} node\n */\nexport function strong(h, node) {\n return h(node, 'strong', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n * @typedef {import('../index.js').Content} Content\n */\n\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Table} node\n */\nexport function table(h, node) {\n const rows = node.children\n let index = -1\n const align = node.align || []\n /** @type {Array<Element>} */\n const result = []\n\n while (++index < rows.length) {\n const row = rows[index].children\n const name = index === 0 ? 'th' : 'td'\n /** @type {Array<Content>} */\n const out = []\n let cellIndex = -1\n const length = node.align ? align.length : row.length\n\n while (++cellIndex < length) {\n const cell = row[cellIndex]\n out.push(\n h(cell, name, {align: align[cellIndex]}, cell ? all(h, cell) : [])\n )\n }\n\n result[index] = h(rows[index], 'tr', wrap(out, true))\n }\n\n return h(\n node,\n 'table',\n wrap(\n [h(result[0].position, 'thead', wrap([result[0]], true))].concat(\n result[1]\n ? h(\n {\n start: pointStart(result[1]),\n end: pointEnd(result[result.length - 1])\n },\n 'tbody',\n wrap(result.slice(1), true)\n )\n : []\n ),\n true\n )\n )\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array<string>} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","/**\n * @typedef {import('mdast').Text} Text\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {trimLines} from 'trim-lines'\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Text} node\n */\nexport function text(h, node) {\n return h.augment(node, u('text', trimLines(String(node.value))))\n}\n","/**\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n */\n\n/**\n * @type {Handler}\n * @param {ThematicBreak} [node]\n * @returns {Element}\n */\nexport function thematicBreak(h, node) {\n return h(node, 'hr')\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {footnote} from './footnote.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root,\n strong,\n table,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return null\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Parent['children'][number]} MdastNode\n * @typedef {import('hast').Root|import('hast').Parent['children'][number]} HastNode\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').ElementContent} Content\n * @typedef {import('unist-util-position').PositionLike} PositionLike\n *\n * @typedef EmbeddedHastFields\n * @property {string} [hName] Defines the tag name of an element\n * @property {Properties} [hProperties] Defines the properties of an element\n * @property {Array<Content>} [hChildren] Defines the (hast) children of an element\n *\n * @typedef {Record<string, unknown> & EmbeddedHastFields} Data unist data with embedded hast fields\n *\n * @typedef {MdastNode & {data?: Data}} NodeWithData unist node with embedded hast data\n *\n * @callback Handler\n * @param {H} h Handle context\n * @param {any} node mdast node to handle\n * @param {Parent|null} parent Parent of `node`\n * @returns {Content|Array<Content>|null|undefined} hast node\n *\n * @callback HFunctionProps\n * @param {MdastNode|PositionLike|null|undefined} node mdast node or unist position\n * @param {string} tagName HTML tag name\n * @param {Properties} props Properties\n * @param {Array<Content>?} [children] hast content\n * @returns {Element}\n *\n * @callback HFunctionNoProps\n * @param {MdastNode|PositionLike|null|undefined} node mdast node or unist position\n * @param {string} tagName HTML tag name\n * @param {Array<Content>?} [children] hast content\n * @returns {Element}\n *\n * @typedef HFields\n * @property {boolean} dangerous Whether HTML is allowed\n * @property {string} clobberPrefix Prefix to use to prevent DOM clobbering\n * @property {string} footnoteLabel Label to use to introduce the footnote section\n * @property {string} footnoteBackLabel Label to use to go back to a footnote call from the footnote section\n * @property {(identifier: string) => Definition|null} definition Definition cache\n * @property {Record<string, FootnoteDefinition>} footnoteById Footnote cache\n * @property {Array<string>} footnoteOrder Order in which footnotes occur\n * @property {Record<string, number>} footnoteCounts Counts the same footnote was used\n * @property {Handlers} handlers Applied handlers\n * @property {Handler} unknownHandler Handler for any none not in `passThrough` or otherwise handled\n * @property {(left: NodeWithData|PositionLike|null|undefined, right: Content) => Content} augment Like `h` but lower-level and usable on non-elements.\n * @property {Array<string>} passThrough List of node types to pass through untouched (except for their children).\n *\n * @typedef Options\n * @property {boolean} [allowDangerousHtml=false]\n * Whether to allow `html` nodes and inject them as `raw` HTML\n * @property {string} [clobberPrefix='user-content-']\n * Prefix to use before the `id` attribute to prevent it from *clobbering*.\n * attributes.\n * DOM clobbering is this:\n *\n * ```html\n * <p id=x></p>\n * <script>alert(x)</script>\n * ```\n *\n * Elements by their ID are made available in browsers on the `window` object.\n * Using a prefix prevents this from being a problem.\n * @property {string} [footnoteLabel='Footnotes']\n * Label to use for the footnotes section.\n * Affects screen reader users.\n * Change it if you’re authoring in a different language.\n * @property {string} [footnoteBackLabel='Back to content']\n * Label to use from backreferences back to their footnote call.\n * Affects screen reader users.\n * Change it if you’re authoring in a different language.\n * @property {Handlers} [handlers]\n * Object mapping mdast nodes to functions handling them\n * @property {Array<string>} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast\n * @property {Handler} [unknownHandler]\n * Handler for all unknown nodes.\n *\n * @typedef {Record<string, Handler>} Handlers\n * Map of node types to handlers\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} H\n * Handle context\n */\n\nimport {u} from 'unist-builder'\nimport {visit} from 'unist-util-visit'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {one} from './traverse.js'\nimport {footer} from './footer.js'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to transform.\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {H} `h` function\n */\nfunction factory(tree, options) {\n const settings = options || {}\n const dangerous = settings.allowDangerousHtml || false\n /** @type {Record<string, FootnoteDefinition>} */\n const footnoteById = {}\n\n h.dangerous = dangerous\n h.clobberPrefix =\n settings.clobberPrefix === undefined || settings.clobberPrefix === null\n ? 'user-content-'\n : settings.clobberPrefix\n h.footnoteLabel = settings.footnoteLabel || 'Footnotes'\n h.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content'\n h.definition = definitions(tree)\n h.footnoteById = footnoteById\n /** @type {Array<string>} */\n h.footnoteOrder = []\n /** @type {Record<string, number>} */\n h.footnoteCounts = {}\n h.augment = augment\n h.handlers = {...handlers, ...settings.handlers}\n h.unknownHandler = settings.unknownHandler\n h.passThrough = settings.passThrough\n\n visit(tree, 'footnoteDefinition', (definition) => {\n const id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n })\n\n // @ts-expect-error Hush, it’s fine!\n return h\n\n /**\n * Finalise the created `right`, a hast node, from `left`, an mdast node.\n * @param {(NodeWithData|PositionLike)?} left\n * @param {Content} right\n * @returns {Content}\n */\n function augment(left, right) {\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && 'data' in left && left.data) {\n /** @type {Data} */\n const data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = {...right.properties, ...data.hProperties}\n }\n\n if ('children' in right && right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n if (left) {\n const ctx = 'type' in left ? left : {position: left}\n\n if (!generated(ctx)) {\n // @ts-expect-error: fine.\n right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n }\n }\n\n return right\n }\n\n /**\n * Create an element for `node`.\n *\n * @type {HFunctionProps}\n */\n function h(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props\n props = {}\n }\n\n // @ts-expect-error augmenting an element yields an element.\n return augment(node, {\n type: 'element',\n tagName,\n properties: props || {},\n children: children || []\n })\n }\n}\n\n/**\n * Transform `tree` (an mdast node) to a hast node.\n *\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {HastNode|null|undefined} hast node\n */\nexport function toHast(tree, options) {\n const h = factory(tree, options)\n const node = one(h, tree, null)\n const foot = footer(h)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push(u('text', '\\n'), foot)\n }\n\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n\nexport {handlers as defaultHandlers} from './handlers/index.js'\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor<any, any, any, any>} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `<MdastRoot, HastRoot>` overload doesn’t seem to work :'(\n\n/**\n * Plugin that turns markdown into HTML to support rehype.\n *\n * * If a destination processor is given, that processor runs with a new HTML\n * (hast) tree (bridge-mode).\n * As the given processor runs with a hast tree, and rehype plugins support\n * hast, that means rehype plugins can be used with the given processor.\n * The hast tree is discarded in the end.\n * It’s highly unlikely that you want to do this.\n * * The common case is to not pass a destination processor, in which case the\n * current processor continues running with a new HTML (hast) tree\n * (mutate-mode).\n * As the current processor continues with a hast tree, and rehype plugins\n * support hast, that means rehype plugins can be used after\n * `remark-rehype`.\n * It’s likely that this is what you want to do.\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination || options)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further plugins run on the hast tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned by `toHast`.\n return (node) => toHast(node, options)\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\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","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\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 * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\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})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\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 * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\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})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\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 capture: boolean,\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 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: boolean,\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 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 onBeforePrint: 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 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 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 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\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})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\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 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 transform: caseSensitiveTransform,\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 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})\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = 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 prop = '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(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","export const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n * @typedef {import('./complex-types').Visitor} Visitor\n */\n\nimport {visitParents, CONTINUE, SKIP, EXIT} from 'unist-util-visit-parents'\n\nexport {CONTINUE, SKIP, EXIT}\n\n/**\n * Visit children of tree which pass a test\n *\n * @param tree Abstract syntax tree to walk\n * @param test Test, optional\n * @param visitor Function to run for each node\n * @param reverse Fisit the tree in reverse, defaults to false\n */\nexport const visit =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: import('./complex-types').BuildVisitor<Tree, Check>, reverse?: boolean) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: import('./complex-types').BuildVisitor<Tree>, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types').Visitor} visitor\n * @param {boolean} [reverse]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array.<Parent>} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n","import {visit} from 'unist-util-visit'\n\n/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n *\n * @callback AllowElement\n * @param {Element} element\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {boolean|undefined}\n *\n * @typedef Options\n * @property {Array<string>} [allowedElements]\n * @property {Array<string>} [disallowedElements=[]]\n * @property {AllowElement} [allowElement]\n * @property {boolean} [unwrapDisallowed=false]\n */\n\n/**\n * @type {import('unified').Plugin<[Options], Root>}\n */\nexport default function rehypeFilter(options) {\n if (options.allowedElements && options.disallowedElements) {\n throw new TypeError(\n 'Only one of `allowedElements` and `disallowedElements` should be defined'\n )\n }\n\n if (\n options.allowedElements ||\n options.disallowedElements ||\n options.allowElement\n ) {\n return (tree) => {\n visit(tree, 'element', (node, index, parent_) => {\n const parent = /** @type {Element|Root} */ (parent_)\n /** @type {boolean|undefined} */\n let remove\n\n if (options.allowedElements) {\n remove = !options.allowedElements.includes(node.tagName)\n } else if (options.disallowedElements) {\n remove = options.disallowedElements.includes(node.tagName)\n }\n\n if (!remove && options.allowElement && typeof index === 'number') {\n remove = !options.allowElement(node, index, parent)\n }\n\n if (remove && typeof index === 'number') {\n if (options.unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n\n return undefined\n })\n }\n }\n}\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @param {unknown} thing\n * @returns {boolean}\n */\nexport function whitespace(thing) {\n /** @type {string} */\n var value =\n // @ts-ignore looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-ignore looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See <https://html.spec.whatwg.org/#space-character>.\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * Parse space separated tokens to an array of strings.\n *\n * @param {string} value Space separated tokens\n * @returns {Array.<string>} 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 Tokens\n * @returns {string} Space separated tokens\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @typedef {Object} StringifyOptions\n * @property {boolean} [padLeft=true] Whether to pad a space before a token (`boolean`, default: `true`).\n * @property {boolean} [padRight=false] Whether to pad a space after a token (`boolean`, default: `false`).\n */\n\n/**\n * Parse comma separated tokens to an array.\n *\n * @param {string} value\n * @returns {Array.<string>}\n */\nexport function parse(value) {\n /** @type {Array.<string>} */\n var tokens = []\n var input = String(value || '')\n var index = input.indexOf(',')\n var start = 0\n /** @type {boolean} */\n var end\n /** @type {string} */\n var token\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n 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 to comma separated tokens.\n *\n * @param {Array.<string|number>} values\n * @param {StringifyOptions} [options]\n * @returns {string}\n */\nexport function stringify(values, options) {\n var settings = options || {}\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === '') {\n values = values.concat('')\n }\n\n return values\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\n","/**\n * @template T\n * @typedef {import('react').ComponentType<T>} ComponentType<T>\n */\n\n/**\n * @template T\n * @typedef {import('react').ComponentPropsWithoutRef<T>} ComponentPropsWithoutRef<T>\n */\n\n/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('unist').Position} Position\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('./complex-types').ReactMarkdownProps} ReactMarkdownProps\n *\n * @typedef Raw\n * @property {'raw'} type\n * @property {string} value\n *\n * @typedef Context\n * @property {Options} options\n * @property {Schema} schema\n * @property {number} listDepth\n *\n * @callback TransformLink\n * @param {string} href\n * @param {Array<ElementContent>} children\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformImage\n * @param {string} src\n * @param {string} alt\n * @param {string?} title\n * @returns {string}\n *\n * @typedef {import('react').HTMLAttributeAnchorTarget} TransformLinkTargetType\n *\n * @callback TransformLinkTarget\n * @param {string} href\n * @param {Array<ElementContent>} children\n * @param {string?} title\n * @returns {TransformLinkTargetType|undefined}\n *\n * @typedef {keyof JSX.IntrinsicElements} ReactMarkdownNames\n *\n * To do: is `data-sourcepos` typeable?\n *\n * @typedef {ComponentPropsWithoutRef<'code'> & ReactMarkdownProps & {inline?: boolean}} CodeProps\n * @typedef {ComponentPropsWithoutRef<'h1'> & ReactMarkdownProps & {level: number}} HeadingProps\n * @typedef {ComponentPropsWithoutRef<'li'> & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} LiProps\n * @typedef {ComponentPropsWithoutRef<'ol'> & ReactMarkdownProps & {depth: number, ordered: true}} OrderedListProps\n * @typedef {ComponentPropsWithoutRef<'table'> & ReactMarkdownProps & {style?: Record<string, unknown>, isHeader: boolean}} TableCellProps\n * @typedef {ComponentPropsWithoutRef<'tr'> & ReactMarkdownProps & {isHeader: boolean}} TableRowProps\n * @typedef {ComponentPropsWithoutRef<'ul'> & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps\n *\n * @typedef {ComponentType<CodeProps>} CodeComponent\n * @typedef {ComponentType<HeadingProps>} HeadingComponent\n * @typedef {ComponentType<LiProps>} LiComponent\n * @typedef {ComponentType<OrderedListProps>} OrderedListComponent\n * @typedef {ComponentType<TableCellProps>} TableCellComponent\n * @typedef {ComponentType<TableRowProps>} TableRowComponent\n * @typedef {ComponentType<UnorderedListProps>} UnorderedListComponent\n *\n * @typedef SpecialComponents\n * @property {CodeComponent|ReactMarkdownNames} code\n * @property {HeadingComponent|ReactMarkdownNames} h1\n * @property {HeadingComponent|ReactMarkdownNames} h2\n * @property {HeadingComponent|ReactMarkdownNames} h3\n * @property {HeadingComponent|ReactMarkdownNames} h4\n * @property {HeadingComponent|ReactMarkdownNames} h5\n * @property {HeadingComponent|ReactMarkdownNames} h6\n * @property {LiComponent|ReactMarkdownNames} li\n * @property {OrderedListComponent|ReactMarkdownNames} ol\n * @property {TableCellComponent|ReactMarkdownNames} td\n * @property {TableCellComponent|ReactMarkdownNames} th\n * @property {TableRowComponent|ReactMarkdownNames} tr\n * @property {UnorderedListComponent|ReactMarkdownNames} ul\n *\n * @typedef {Partial<Omit<import('./complex-types').NormalComponents, keyof SpecialComponents> & SpecialComponents>} Components\n *\n * @typedef Options\n * @property {boolean} [sourcePos=false]\n * @property {boolean} [rawSourcePos=false]\n * @property {boolean} [skipHtml=false]\n * @property {boolean} [includeElementIndex=false]\n * @property {null|false|TransformLink} [transformLinkUri]\n * @property {TransformImage} [transformImageUri]\n * @property {TransformLinkTargetType|TransformLinkTarget} [linkTarget]\n * @property {Components} [components]\n */\n\nimport React from 'react'\nimport ReactIs from 'react-is'\nimport {whitespace} from 'hast-util-whitespace'\nimport {svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport style from 'style-to-object'\n\nconst own = {}.hasOwnProperty\n\n// The table-related elements that must not contain whitespace text according\n// to React.\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * @param {Context} context\n * @param {Element|Root} node\n */\nexport function childrenToReact(context, node) {\n /** @type {Array<ReactNode>} */\n const children = []\n let childIndex = -1\n /** @type {Comment|Doctype|Element|Raw|Text} */\n let child\n\n while (++childIndex < node.children.length) {\n child = node.children[childIndex]\n\n if (child.type === 'element') {\n children.push(toReact(context, child, childIndex, node))\n } else if (child.type === 'text') {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we drop it.\n // See: <https://github.com/facebook/react/pull/7081>.\n // See: <https://github.com/facebook/react/pull/7515>.\n // See: <https://github.com/remarkjs/remark-react/issues/64>.\n // See: <https://github.com/remarkjs/react-markdown/issues/576>.\n if (\n node.type !== 'element' ||\n !tableElements.has(node.tagName) ||\n !whitespace(child)\n ) {\n children.push(child.value)\n }\n } else if (child.type === 'raw' && !context.options.skipHtml) {\n // Default behavior is to show (encoded) HTML.\n children.push(child.value)\n }\n }\n\n return children\n}\n\n/**\n * @param {Context} context\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n */\nfunction toReact(context, node, index, parent) {\n const options = context.options\n const parentSchema = context.schema\n /** @type {ReactMarkdownNames} */\n // @ts-expect-error assume a known HTML/SVG element.\n const name = node.tagName\n /** @type {Record<string, unknown>} */\n const properties = {}\n let schema = parentSchema\n /** @type {string} */\n let property\n\n if (parentSchema.space === 'html' && name === 'svg') {\n schema = svg\n context.schema = schema\n }\n\n if (node.properties) {\n for (property in node.properties) {\n if (own.call(node.properties, property)) {\n addProperty(properties, property, node.properties[property], context)\n }\n }\n }\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth++\n }\n\n const children = childrenToReact(context, node)\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth--\n }\n\n // Restore parent schema.\n context.schema = parentSchema\n\n // Nodes created by plugins do not have positional info, in which case we use\n // an object that matches the position interface.\n const position = node.position || {\n start: {line: null, column: null, offset: null},\n end: {line: null, column: null, offset: null}\n }\n const component =\n options.components && own.call(options.components, name)\n ? options.components[name]\n : name\n const basic = typeof component === 'string' || component === React.Fragment\n\n if (!ReactIs.isValidElementType(component)) {\n throw new TypeError(\n `Component for name \\`${name}\\` not defined or is not renderable`\n )\n }\n\n properties.key = [\n name,\n position.start.line,\n position.start.column,\n index\n ].join('-')\n\n if (name === 'a' && options.linkTarget) {\n properties.target =\n typeof options.linkTarget === 'function'\n ? options.linkTarget(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n : options.linkTarget\n }\n\n if (name === 'a' && options.transformLinkUri) {\n properties.href = options.transformLinkUri(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (\n !basic &&\n name === 'code' &&\n parent.type === 'element' &&\n parent.tagName !== 'pre'\n ) {\n properties.inline = true\n }\n\n if (\n !basic &&\n (name === 'h1' ||\n name === 'h2' ||\n name === 'h3' ||\n name === 'h4' ||\n name === 'h5' ||\n name === 'h6')\n ) {\n properties.level = Number.parseInt(name.charAt(1), 10)\n }\n\n if (name === 'img' && options.transformImageUri) {\n properties.src = options.transformImageUri(\n String(properties.src || ''),\n String(properties.alt || ''),\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (!basic && name === 'li' && parent.type === 'element') {\n const input = getInputElement(node)\n properties.checked =\n input && input.properties ? Boolean(input.properties.checked) : null\n properties.index = getElementsBeforeCount(parent, node)\n properties.ordered = parent.tagName === 'ol'\n }\n\n if (!basic && (name === 'ol' || name === 'ul')) {\n properties.ordered = name === 'ol'\n properties.depth = context.listDepth\n }\n\n if (name === 'td' || name === 'th') {\n if (properties.align) {\n if (!properties.style) properties.style = {}\n // @ts-expect-error assume `style` is an object\n properties.style.textAlign = properties.align\n delete properties.align\n }\n\n if (!basic) {\n properties.isHeader = name === 'th'\n }\n }\n\n if (!basic && name === 'tr' && parent.type === 'element') {\n properties.isHeader = Boolean(parent.tagName === 'thead')\n }\n\n // If `sourcePos` is given, pass source information (line/column info from markdown source).\n if (options.sourcePos) {\n properties['data-sourcepos'] = flattenPosition(position)\n }\n\n if (!basic && options.rawSourcePos) {\n properties.sourcePosition = node.position\n }\n\n // If `includeElementIndex` is given, pass node index info to components.\n if (!basic && options.includeElementIndex) {\n properties.index = getElementsBeforeCount(parent, node)\n properties.siblingCount = getElementsBeforeCount(parent)\n }\n\n if (!basic) {\n properties.node = node\n }\n\n // Ensure no React warnings are emitted for void elements w/ children.\n return children.length > 0\n ? React.createElement(component, properties, children)\n : React.createElement(component, properties)\n}\n\n/**\n * @param {Element|Root} node\n * @returns {Element?}\n */\nfunction getInputElement(node) {\n let index = -1\n\n while (++index < node.children.length) {\n const child = node.children[index]\n\n if (child.type === 'element' && child.tagName === 'input') {\n return child\n }\n }\n\n return null\n}\n\n/**\n * @param {Element|Root} parent\n * @param {Element} [node]\n * @returns {number}\n */\nfunction getElementsBeforeCount(parent, node) {\n let index = -1\n let count = 0\n\n while (++index < parent.children.length) {\n if (parent.children[index] === node) break\n if (parent.children[index].type === 'element') count++\n }\n\n return count\n}\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n */\nfunction addProperty(props, prop, value, ctx) {\n const info = find(ctx.schema, prop)\n let result = value\n\n // Ignore nullish and `NaN` values.\n // eslint-disable-next-line no-self-compare\n if (result === null || result === undefined || result !== result) {\n return\n }\n\n // Accept `array`.\n // Most props are space-separated.\n if (Array.isArray(result)) {\n result = info.commaSeparated ? commas(result) : spaces(result)\n }\n\n if (info.property === 'style' && typeof result === 'string') {\n result = parseStyle(result)\n }\n\n if (info.space && info.property) {\n props[\n own.call(hastToReact, info.property)\n ? hastToReact[info.property]\n : info.property\n ] = result\n } else if (info.attribute) {\n props[info.attribute] = result\n }\n}\n\n/**\n * @param {string} value\n * @returns {Record<string, string>}\n */\nfunction parseStyle(value) {\n /** @type {Record<string, string>} */\n const result = {}\n\n try {\n style(value, iterator)\n } catch {\n // Silent.\n }\n\n return result\n\n /**\n * @param {string} name\n * @param {string} v\n */\n function iterator(name, v) {\n const k = name.slice(0, 4) === '-ms-' ? `ms-${name.slice(4)}` : name\n result[k.replace(/-([a-z])/g, styleReplacer)] = v\n }\n}\n\n/**\n * @param {unknown} _\n * @param {string} $1\n */\nfunction styleReplacer(_, $1) {\n return $1.toUpperCase()\n}\n\n/**\n * @param {Position|{start: {line: null, column: null, offset: null}, end: {line: null, column: null, offset: null}}} pos\n * @returns {string}\n */\nfunction flattenPosition(pos) {\n return [\n pos.start.line,\n ':',\n pos.start.column,\n '-',\n pos.end.line,\n ':',\n pos.end.column\n ]\n .map((d) => String(d))\n .join('')\n}\n","/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<{}>} ReactElement\n * @typedef {import('unified').PluggableList} PluggableList\n * @typedef {import('hast').Root} Root\n * @typedef {import('./rehype-filter.js').Options} FilterOptions\n * @typedef {import('./ast-to-react.js').Options} TransformOptions\n *\n * @typedef CoreOptions\n * @property {string} children\n *\n * @typedef PluginOptions\n * @property {PluggableList} [remarkPlugins=[]]\n * @property {PluggableList} [rehypePlugins=[]]\n * @property {import('remark-rehype').Options | undefined} [remarkRehypeOptions={}]\n *\n * @typedef LayoutOptions\n * @property {string} [className]\n *\n * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions\n *\n * @typedef Deprecation\n * @property {string} id\n * @property {string} [to]\n */\n\nimport React from 'react'\nimport {VFile} from 'vfile'\nimport {unified} from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport PropTypes from 'prop-types'\nimport {html} from 'property-information'\nimport rehypeFilter from './rehype-filter.js'\nimport {uriTransformer} from './uri-transformer.js'\nimport {childrenToReact} from './ast-to-react.js'\n\nconst own = {}.hasOwnProperty\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {Record<string, Deprecation>} */\nconst deprecated = {\n plugins: {to: 'plugins', id: 'change-plugins-to-remarkplugins'},\n renderers: {to: 'components', id: 'change-renderers-to-components'},\n astPlugins: {id: 'remove-buggy-html-in-markdown-parser'},\n allowDangerousHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n escapeHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n source: {to: 'children', id: 'change-source-to-children'},\n allowNode: {\n to: 'allowElement',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n allowedTypes: {\n to: 'allowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n disallowedTypes: {\n to: 'disallowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n includeNodeIndex: {\n to: 'includeElementIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n }\n}\n\n/**\n * React component to render markdown.\n *\n * @param {ReactMarkdownOptions} options\n * @returns {ReactElement}\n */\nexport function ReactMarkdown(options) {\n for (const key in deprecated) {\n if (own.call(deprecated, key) && own.call(options, key)) {\n const deprecation = deprecated[key]\n console.warn(\n `[react-markdown] Warning: please ${\n deprecation.to ? `use \\`${deprecation.to}\\` instead of` : 'remove'\n } \\`${key}\\` (see <${changelog}#${deprecation.id}> for more info)`\n )\n delete deprecated[key]\n }\n }\n\n const processor = unified()\n .use(remarkParse)\n .use(options.remarkPlugins || [])\n .use(remarkRehype, {\n ...options.remarkRehypeOptions,\n allowDangerousHtml: true\n })\n .use(options.rehypePlugins || [])\n .use(rehypeFilter, options)\n\n const file = new VFile()\n\n if (typeof options.children === 'string') {\n file.value = options.children\n } else if (options.children !== undefined && options.children !== null) {\n console.warn(\n `[react-markdown] Warning: please pass a string as \\`children\\` (not: \\`${options.children}\\`)`\n )\n }\n\n const hastNode = processor.runSync(processor.parse(file), file)\n\n if (hastNode.type !== 'root') {\n throw new TypeError('Expected a `root` node')\n }\n\n /** @type {ReactElement} */\n let result = React.createElement(\n React.Fragment,\n {},\n childrenToReact({options, schema: html, listDepth: 0}, hastNode)\n )\n\n if (options.className) {\n result = React.createElement('div', {className: options.className}, result)\n }\n\n return result\n}\n\nReactMarkdown.defaultProps = {transformLinkUri: uriTransformer}\n\nReactMarkdown.propTypes = {\n // Core options:\n children: PropTypes.string,\n // Layout options:\n className: PropTypes.string,\n // Filter options:\n allowElement: PropTypes.func,\n allowedElements: PropTypes.arrayOf(PropTypes.string),\n disallowedElements: PropTypes.arrayOf(PropTypes.string),\n unwrapDisallowed: PropTypes.bool,\n // Plugin options:\n remarkPlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n // prettier-ignore\n // type-coverage:ignore-next-line\n PropTypes.any\n )\n ])\n )\n ])\n ),\n rehypePlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n // prettier-ignore\n // type-coverage:ignore-next-line\n PropTypes.any\n )\n ])\n )\n ])\n ),\n // Transform options:\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n skipHtml: PropTypes.bool,\n includeElementIndex: PropTypes.bool,\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n components: PropTypes.object\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} attributesType\n * @param {string} attributesMarkerType\n * @param {string} attributeType\n * @param {string} attributeIdType\n * @param {string} attributeClassType\n * @param {string} attributeNameType\n * @param {string} attributeInitializerType\n * @param {string} attributeValueLiteralType\n * @param {string} attributeValueType\n * @param {string} attributeValueMarker\n * @param {string} attributeValueData\n * @param {boolean} [disallowEol=false]\n */\n\n/* eslint-disable-next-line max-params */\nexport function factoryAttributes(\n effects,\n ok,\n nok,\n attributesType,\n attributesMarkerType,\n attributeType,\n attributeIdType,\n attributeClassType,\n attributeNameType,\n attributeInitializerType,\n attributeValueLiteralType,\n attributeValueType,\n attributeValueMarker,\n attributeValueData,\n disallowEol\n) {\n /** @type {string} */\n let type\n /** @type {Code|undefined} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(attributesType)\n effects.enter(attributesMarkerType)\n effects.consume(code)\n effects.exit(attributesMarkerType)\n return between\n }\n /** @type {State} */\n\n function between(code) {\n if (code === 35) {\n type = attributeIdType\n return shortcutStart(code)\n }\n\n if (code === 46) {\n type = attributeClassType\n return shortcutStart(code)\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.enter(attributeType)\n effects.enter(attributeNameType)\n effects.consume(code)\n return name\n }\n\n if (disallowEol && markdownSpace(code)) {\n return factorySpace(effects, between, 'whitespace')(code)\n }\n\n if (!disallowEol && markdownLineEndingOrSpace(code)) {\n return factoryWhitespace(effects, between)(code)\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function shortcutStart(code) {\n effects.enter(attributeType)\n effects.enter(type)\n effects.enter(type + 'Marker')\n effects.consume(code)\n effects.exit(type + 'Marker')\n return shortcutStartAfter\n }\n /** @type {State} */\n\n function shortcutStartAfter(code) {\n if (\n code === null ||\n code === 34 ||\n code === 35 ||\n code === 39 ||\n code === 46 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n code === 125 ||\n markdownLineEndingOrSpace(code)\n ) {\n return nok(code)\n }\n\n effects.enter(type + 'Value')\n effects.consume(code)\n return shortcut\n }\n /** @type {State} */\n\n function shortcut(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (\n code === 35 ||\n code === 46 ||\n code === 125 ||\n markdownLineEndingOrSpace(code)\n ) {\n effects.exit(type + 'Value')\n effects.exit(type)\n effects.exit(attributeType)\n return between(code)\n }\n\n effects.consume(code)\n return shortcut\n }\n /** @type {State} */\n\n function name(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return name\n }\n\n effects.exit(attributeNameType)\n\n if (disallowEol && markdownSpace(code)) {\n return factorySpace(effects, nameAfter, 'whitespace')(code)\n }\n\n if (!disallowEol && markdownLineEndingOrSpace(code)) {\n return factoryWhitespace(effects, nameAfter)(code)\n }\n\n return nameAfter(code)\n }\n /** @type {State} */\n\n function nameAfter(code) {\n if (code === 61) {\n effects.enter(attributeInitializerType)\n effects.consume(code)\n effects.exit(attributeInitializerType)\n return valueBefore\n } // Attribute w/o value.\n\n effects.exit(attributeType)\n return between(code)\n }\n /** @type {State} */\n\n function valueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n code === 125 ||\n (disallowEol && markdownLineEnding(code))\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.enter(attributeValueLiteralType)\n effects.enter(attributeValueMarker)\n effects.consume(code)\n effects.exit(attributeValueMarker)\n marker = code\n return valueQuotedStart\n }\n\n if (disallowEol && markdownSpace(code)) {\n return factorySpace(effects, valueBefore, 'whitespace')(code)\n }\n\n if (!disallowEol && markdownLineEndingOrSpace(code)) {\n return factoryWhitespace(effects, valueBefore)(code)\n }\n\n effects.enter(attributeValueType)\n effects.enter(attributeValueData)\n effects.consume(code)\n marker = undefined\n return valueUnquoted\n }\n /** @type {State} */\n\n function valueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 125 || markdownLineEndingOrSpace(code)) {\n effects.exit(attributeValueData)\n effects.exit(attributeValueType)\n effects.exit(attributeType)\n return between(code)\n }\n\n effects.consume(code)\n return valueUnquoted\n }\n /** @type {State} */\n\n function valueQuotedStart(code) {\n if (code === marker) {\n effects.enter(attributeValueMarker)\n effects.consume(code)\n effects.exit(attributeValueMarker)\n effects.exit(attributeValueLiteralType)\n effects.exit(attributeType)\n return valueQuotedAfter\n }\n\n effects.enter(attributeValueType)\n return valueQuotedBetween(code)\n }\n /** @type {State} */\n\n function valueQuotedBetween(code) {\n if (code === marker) {\n effects.exit(attributeValueType)\n return valueQuotedStart(code)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n return disallowEol\n ? nok(code)\n : factoryWhitespace(effects, valueQuotedBetween)(code)\n }\n\n effects.enter(attributeValueData)\n effects.consume(code)\n return valueQuoted\n }\n /** @type {State} */\n\n function valueQuoted(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit(attributeValueData)\n return valueQuotedBetween(code)\n }\n\n effects.consume(code)\n return valueQuoted\n }\n /** @type {State} */\n\n function valueQuotedAfter(code) {\n return code === 125 || markdownLineEndingOrSpace(code)\n ? between(code)\n : end(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 125) {\n effects.enter(attributesMarkerType)\n effects.consume(code)\n effects.exit(attributesMarkerType)\n effects.exit(attributesType)\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n// This is a fork of:\n// <https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label>\n// to allow empty labels, balanced brackets (such as for nested directives),\n// text instead of strings, and optionally disallows EOLs.\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @param {boolean} [disallowEol=false]\n */\n// eslint-disable-next-line max-params\nexport function factoryLabel(\n effects,\n ok,\n nok,\n type,\n markerType,\n stringType,\n disallowEol\n) {\n let size = 0\n let balance = 0\n /** @type {Token|undefined} */\n\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n return afterStart\n }\n /** @type {State} */\n\n function afterStart(code) {\n if (code === 93) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n if (code === 93 && !balance) {\n return atClosingBrace(code)\n }\n\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n if (previous) previous.next = token\n previous = token\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null || size > 999) {\n return nok(code)\n }\n\n if (code === 91 && ++balance > 32) {\n return nok(code)\n }\n\n if (code === 93 && !balance--) {\n effects.exit('chunkText')\n return atClosingBrace(code)\n }\n\n if (markdownLineEnding(code)) {\n if (disallowEol) {\n return nok(code)\n }\n\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n }\n\n effects.consume(code)\n return code === 92 ? dataEscape : data\n }\n /** @type {State} */\n\n function dataEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return data\n }\n\n return data(code)\n }\n /** @type {State} */\n\n function atClosingBrace(code) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n}\n","/**\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {asciiAlpha, asciiAlphanumeric} from 'micromark-util-character'\n\n/**\n * @this {TokenizeContext}\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n */\nexport function factoryName(effects, ok, nok, type) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (asciiAlpha(code)) {\n effects.enter(type)\n effects.consume(code)\n return name\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function name(code) {\n if (code === 45 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return name\n }\n\n effects.exit(type)\n return self.previous === 45 || self.previous === 95 ? nok(code) : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {factoryAttributes} from './factory-attributes.js'\nimport {factoryLabel} from './factory-label.js'\nimport {factoryName} from './factory-name.js'\n/** @type {Construct} */\n\nexport const directiveContainer = {\n tokenize: tokenizeDirectiveContainer,\n concrete: true\n}\nconst label = {\n tokenize: tokenizeLabel,\n partial: true\n}\nconst attributes = {\n tokenize: tokenizeAttributes,\n partial: true\n}\nconst nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDirectiveContainer(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n const initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let sizeOpen = 0\n /** @type {Token} */\n\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('directiveContainer')\n effects.enter('directiveContainerFence')\n effects.enter('directiveContainerSequence')\n return sequenceOpen(code)\n }\n /** @type {State} */\n\n function sequenceOpen(code) {\n if (code === 58) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n if (sizeOpen < 3) {\n return nok(code)\n }\n\n effects.exit('directiveContainerSequence')\n return factoryName.call(\n self,\n effects,\n afterName,\n nok,\n 'directiveContainerName'\n )(code)\n }\n /** @type {State} */\n\n function afterName(code) {\n return code === 91\n ? effects.attempt(label, afterLabel, afterLabel)(code)\n : afterLabel(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return code === 123\n ? effects.attempt(attributes, afterAttributes, afterAttributes)(code)\n : afterAttributes(code)\n }\n /** @type {State} */\n\n function afterAttributes(code) {\n return factorySpace(effects, openAfter, 'whitespace')(code)\n }\n /** @type {State} */\n\n function openAfter(code) {\n effects.exit('directiveContainerFence')\n\n if (code === null) {\n return afterOpening(code)\n }\n\n if (markdownLineEnding(code)) {\n if (self.interrupt) {\n return ok(code)\n }\n\n return effects.attempt(nonLazyLine, contentStart, afterOpening)(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function afterOpening(code) {\n effects.exit('directiveContainer')\n return ok(code)\n }\n /** @type {State} */\n\n function contentStart(code) {\n if (code === null) {\n effects.exit('directiveContainer')\n return ok(code)\n }\n\n effects.enter('directiveContainerContent')\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n if (code === null) {\n return after(code)\n }\n\n return effects.attempt(\n {\n tokenize: tokenizeClosingFence,\n partial: true\n },\n after,\n initialSize\n ? factorySpace(effects, chunkStart, 'linePrefix', initialSize + 1)\n : chunkStart\n )(code)\n }\n /** @type {State} */\n\n function chunkStart(code) {\n if (code === null) {\n return after(code)\n }\n\n const token = effects.enter('chunkDocument', {\n contentType: 'document',\n previous\n })\n if (previous) previous.next = token\n previous = token\n return contentContinue(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n if (code === null) {\n const t = effects.exit('chunkDocument')\n self.parser.lazy[t.start.line] = false\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(nonLazyLine, nonLazyLineAfter, lineAfter)(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n /** @type {State} */\n\n function nonLazyLineAfter(code) {\n effects.consume(code)\n const t = effects.exit('chunkDocument')\n self.parser.lazy[t.start.line] = false\n return lineStart\n }\n /** @type {State} */\n\n function lineAfter(code) {\n const t = effects.exit('chunkDocument')\n self.parser.lazy[t.start.line] = false\n return after(code)\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('directiveContainerContent')\n effects.exit('directiveContainer')\n return ok(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0\n return factorySpace(effects, closingPrefixAfter, 'linePrefix', 4)\n /** @type {State} */\n\n function closingPrefixAfter(code) {\n effects.enter('directiveContainerFence')\n effects.enter('directiveContainerSequence')\n return closingSequence(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === 58) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('directiveContainerSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('directiveContainerFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabel(effects, ok, nok) {\n // Always a `[`\n return factoryLabel(\n effects,\n ok,\n nok,\n 'directiveContainerLabel',\n 'directiveContainerLabelMarker',\n 'directiveContainerLabelString',\n true\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttributes(effects, ok, nok) {\n // Always a `{`\n return factoryAttributes(\n effects,\n ok,\n nok,\n 'directiveContainerAttributes',\n 'directiveContainerAttributesMarker',\n 'directiveContainerAttribute',\n 'directiveContainerAttributeId',\n 'directiveContainerAttributeClass',\n 'directiveContainerAttributeName',\n 'directiveContainerAttributeInitializerMarker',\n 'directiveContainerAttributeValueLiteral',\n 'directiveContainerAttributeValue',\n 'directiveContainerAttributeValueMarker',\n 'directiveContainerAttributeValueData',\n true\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNonLazyLine(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {factoryAttributes} from './factory-attributes.js'\nimport {factoryLabel} from './factory-label.js'\nimport {factoryName} from './factory-name.js'\n/** @type {Construct} */\n\nexport const directiveLeaf = {\n tokenize: tokenizeDirectiveLeaf\n}\nconst label = {\n tokenize: tokenizeLabel,\n partial: true\n}\nconst attributes = {\n tokenize: tokenizeAttributes,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDirectiveLeaf(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('directiveLeaf')\n effects.enter('directiveLeafSequence')\n effects.consume(code)\n return inStart\n }\n /** @type {State} */\n\n function inStart(code) {\n if (code === 58) {\n effects.consume(code)\n effects.exit('directiveLeafSequence')\n return factoryName.call(\n self,\n effects,\n afterName,\n nok,\n 'directiveLeafName'\n )\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function afterName(code) {\n return code === 91\n ? effects.attempt(label, afterLabel, afterLabel)(code)\n : afterLabel(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return code === 123\n ? effects.attempt(attributes, afterAttributes, afterAttributes)(code)\n : afterAttributes(code)\n }\n /** @type {State} */\n\n function afterAttributes(code) {\n return factorySpace(effects, end, 'whitespace')(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('directiveLeaf')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabel(effects, ok, nok) {\n // Always a `[`\n return factoryLabel(\n effects,\n ok,\n nok,\n 'directiveLeafLabel',\n 'directiveLeafLabelMarker',\n 'directiveLeafLabelString',\n true\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttributes(effects, ok, nok) {\n // Always a `{`\n return factoryAttributes(\n effects,\n ok,\n nok,\n 'directiveLeafAttributes',\n 'directiveLeafAttributesMarker',\n 'directiveLeafAttribute',\n 'directiveLeafAttributeId',\n 'directiveLeafAttributeClass',\n 'directiveLeafAttributeName',\n 'directiveLeafAttributeInitializerMarker',\n 'directiveLeafAttributeValueLiteral',\n 'directiveLeafAttributeValue',\n 'directiveLeafAttributeValueMarker',\n 'directiveLeafAttributeValueData',\n true\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factoryAttributes} from './factory-attributes.js'\nimport {factoryLabel} from './factory-label.js'\nimport {factoryName} from './factory-name.js'\n/** @type {Construct} */\n\nexport const directiveText = {\n tokenize: tokenizeDirectiveText,\n previous\n}\nconst label = {\n tokenize: tokenizeLabel,\n partial: true\n}\nconst attributes = {\n tokenize: tokenizeAttributes,\n partial: true\n}\n/** @type {Previous} */\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 58 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDirectiveText(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('directiveText')\n effects.enter('directiveTextMarker')\n effects.consume(code)\n effects.exit('directiveTextMarker')\n return factoryName.call(self, effects, afterName, nok, 'directiveTextName')\n }\n /** @type {State} */\n\n function afterName(code) {\n return code === 58\n ? nok(code)\n : code === 91\n ? effects.attempt(label, afterLabel, afterLabel)(code)\n : afterLabel(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return code === 123\n ? effects.attempt(attributes, afterAttributes, afterAttributes)(code)\n : afterAttributes(code)\n }\n /** @type {State} */\n\n function afterAttributes(code) {\n effects.exit('directiveText')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabel(effects, ok, nok) {\n // Always a `[`\n return factoryLabel(\n effects,\n ok,\n nok,\n 'directiveTextLabel',\n 'directiveTextLabelMarker',\n 'directiveTextLabelString'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttributes(effects, ok, nok) {\n // Always a `{`\n return factoryAttributes(\n effects,\n ok,\n nok,\n 'directiveTextAttributes',\n 'directiveTextAttributesMarker',\n 'directiveTextAttribute',\n 'directiveTextAttributeId',\n 'directiveTextAttributeClass',\n 'directiveTextAttributeName',\n 'directiveTextAttributeInitializerMarker',\n 'directiveTextAttributeValueLiteral',\n 'directiveTextAttributeValue',\n 'directiveTextAttributeValueMarker',\n 'directiveTextAttributeValueData'\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\nimport {directiveContainer} from './directive-container.js'\nimport {directiveLeaf} from './directive-leaf.js'\nimport {directiveText} from './directive-text.js'\n/**\n * @returns {Extension}\n */\n\nexport function directive() {\n return {\n text: {\n [58]: directiveText\n },\n flow: {\n [58]: [directiveContainer, directiveLeaf]\n }\n }\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 invalid numeric character references to their replacements, according to HTML.\n *\n * @type {Record<number, string>}\n */\nexport const characterReferenceInvalid = {\n 0: '�',\n 128: '€',\n 130: '‚',\n 131: 'ƒ',\n 132: '„',\n 133: '…',\n 134: '†',\n 135: '‡',\n 136: 'ˆ',\n 137: '‰',\n 138: 'Š',\n 139: '‹',\n 140: 'Œ',\n 142: 'Ž',\n 145: '‘',\n 146: '’',\n 147: '“',\n 148: '”',\n 149: '•',\n 150: '–',\n 151: '—',\n 152: '˜',\n 153: '™',\n 154: 'š',\n 155: '›',\n 156: 'œ',\n 158: 'ž',\n 159: 'Ÿ'\n}\n","/**\n * Check if the given character code, or the character code at the first\n * character, is decimal.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is a decimal\n */\nexport function isDecimal(character) {\n const code =\n typeof character === 'string' ? character.charCodeAt(0) : character\n\n return code >= 48 && code <= 57 /* 0-9 */\n}\n","/**\n * Check if the given character code, or the character code at the first\n * character, is hexadecimal.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is hexadecimal\n */\nexport function isHexadecimal(character) {\n const code =\n typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n","/**\n * Check if the given character code, or the character code at the first\n * character, is alphabetical.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is alphabetical.\n */\nexport function isAlphabetical(character) {\n const code =\n typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 && code <= 122) /* a-z */ ||\n (code >= 65 && code <= 90) /* A-Z */\n )\n}\n","/**\n * Check if the given character code, or the character code at the first\n * character, is decimal.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is a decimal\n */\nexport function isDecimal(character) {\n const code =\n typeof character === 'string' ? character.charCodeAt(0) : character\n\n return code >= 48 && code <= 57 /* 0-9 */\n}\n","import {isAlphabetical} from 'is-alphabetical'\nimport {isDecimal} from 'is-decimal'\n\n/**\n * Check if the given character code, or the character code at the first\n * character, is alphanumerical.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is alphanumerical.\n */\nexport function isAlphanumerical(character) {\n return isAlphabetical(character) || isDecimal(character)\n}\n","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\nimport {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterReferenceInvalid} from 'character-reference-invalid'\nimport {isDecimal} from 'is-decimal'\nimport {isHexadecimal} from 'is-hexadecimal'\nimport {isAlphanumerical} from 'is-alphanumerical'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\n\nconst fromCharCode = String.fromCharCode\n\n// Warning messages.\nconst messages = [\n '',\n /* 1: Non terminated (named) */\n 'Named character references must be terminated by a semicolon',\n /* 2: Non terminated (numeric) */\n 'Numeric character references must be terminated by a semicolon',\n /* 3: Empty (named) */\n 'Named character references cannot be empty',\n /* 4: Empty (numeric) */\n 'Numeric character references cannot be empty',\n /* 5: Unknown (named) */\n 'Named character references must be known',\n /* 6: Disallowed (numeric) */\n 'Numeric character references cannot be disallowed',\n /* 7: Prohibited (numeric) */\n 'Numeric character references cannot be outside the permissible Unicode range'\n]\n\n/**\n * Parse HTML character references.\n *\n * @param {string} value\n * @param {import('../index.js').Options} [options={}]\n */\nexport function parseEntities(value, options = {}) {\n const additional =\n typeof options.additional === 'string'\n ? options.additional.charCodeAt(0)\n : options.additional\n /** @type {string[]} */\n const result = []\n let index = 0\n let lines = -1\n let queue = ''\n /** @type {Point|undefined} */\n let point\n /** @type {number[]|undefined} */\n let indent\n\n if (options.position) {\n if ('start' in options.position || 'indent' in options.position) {\n indent = options.position.indent\n point = options.position.start\n } else {\n point = options.position\n }\n }\n\n let line = (point ? point.line : 0) || 1\n let column = (point ? point.column : 0) || 1\n\n // Cache the current point.\n let previous = now()\n /** @type {number|undefined} */\n let character\n\n // Ensure the algorithm walks over the first character (inclusive).\n index--\n\n while (++index <= value.length) {\n // If the previous character was a newline.\n if (character === 10 /* `\\n` */) {\n column = (indent ? indent[lines] : 0) || 1\n }\n\n character = value.charCodeAt(index)\n\n if (character === 38 /* `&` */) {\n const following = value.charCodeAt(index + 1)\n\n // The behavior depends on the identity of the next character.\n if (\n following === 9 /* `\\t` */ ||\n following === 10 /* `\\n` */ ||\n following === 12 /* `\\f` */ ||\n following === 32 /* ` ` */ ||\n following === 38 /* `&` */ ||\n following === 60 /* `<` */ ||\n Number.isNaN(following) ||\n (additional && following === additional)\n ) {\n // Not a character reference.\n // No characters are consumed, and nothing is returned.\n // This is not an error, either.\n queue += fromCharCode(character)\n column++\n continue\n }\n\n const start = index + 1\n let begin = start\n let end = start\n /** @type {string} */\n let type\n\n if (following === 35 /* `#` */) {\n // Numerical reference.\n end = ++begin\n\n // The behavior further depends on the next character.\n const following = value.charCodeAt(end)\n\n if (following === 88 /* `X` */ || following === 120 /* `x` */) {\n // ASCII hexadecimal digits.\n type = 'hexadecimal'\n end = ++begin\n } else {\n // ASCII decimal digits.\n type = 'decimal'\n }\n } else {\n // Named reference.\n type = 'named'\n }\n\n let characterReferenceCharacters = ''\n let characterReference = ''\n let characters = ''\n // Each type of character reference accepts different characters.\n // This test is used to detect whether a reference has ended (as the semicolon\n // is not strictly needed).\n const test =\n type === 'named'\n ? isAlphanumerical\n : type === 'decimal'\n ? isDecimal\n : isHexadecimal\n\n end--\n\n while (++end <= value.length) {\n const following = value.charCodeAt(end)\n\n if (!test(following)) {\n break\n }\n\n characters += fromCharCode(following)\n\n // Check if we can match a legacy named reference.\n // If so, we cache that as the last viable named reference.\n // This ensures we do not need to walk backwards later.\n if (type === 'named' && characterEntitiesLegacy.includes(characters)) {\n characterReferenceCharacters = characters\n // @ts-expect-error: always able to decode.\n characterReference = decodeNamedCharacterReference(characters)\n }\n }\n\n let terminated = value.charCodeAt(end) === 59 /* `;` */\n\n if (terminated) {\n end++\n\n const namedReference =\n type === 'named' ? decodeNamedCharacterReference(characters) : false\n\n if (namedReference) {\n characterReferenceCharacters = characters\n characterReference = namedReference\n }\n }\n\n let diff = 1 + end - start\n let reference = ''\n\n if (!terminated && options.nonTerminated === false) {\n // Empty.\n } else if (!characters) {\n // An empty (possible) reference is valid, unless it’s numeric (thus an\n // ampersand followed by an octothorp).\n if (type !== 'named') {\n warning(4 /* Empty (numeric) */, diff)\n }\n } else if (type === 'named') {\n // An ampersand followed by anything unknown, and not terminated, is\n // invalid.\n if (terminated && !characterReference) {\n warning(5 /* Unknown (named) */, 1)\n } else {\n // If there’s something after an named reference which is not known,\n // cap the reference.\n if (characterReferenceCharacters !== characters) {\n end = begin + characterReferenceCharacters.length\n diff = 1 + end - begin\n terminated = false\n }\n\n // If the reference is not terminated, warn.\n if (!terminated) {\n const reason = characterReferenceCharacters\n ? 1 /* Non terminated (named) */\n : 3 /* Empty (named) */\n\n if (options.attribute) {\n const following = value.charCodeAt(end)\n\n if (following === 61 /* `=` */) {\n warning(reason, diff)\n characterReference = ''\n } else if (isAlphanumerical(following)) {\n characterReference = ''\n } else {\n warning(reason, diff)\n }\n } else {\n warning(reason, diff)\n }\n }\n }\n\n reference = characterReference\n } else {\n if (!terminated) {\n // All nonterminated numeric references are not rendered, and emit a\n // warning.\n warning(2 /* Non terminated (numeric) */, diff)\n }\n\n // When terminated and numerical, parse as either hexadecimal or\n // decimal.\n let referenceCode = Number.parseInt(\n characters,\n type === 'hexadecimal' ? 16 : 10\n )\n\n // Emit a warning when the parsed number is prohibited, and replace with\n // replacement character.\n if (prohibited(referenceCode)) {\n warning(7 /* Prohibited (numeric) */, diff)\n reference = fromCharCode(65533 /* `�` */)\n } else if (referenceCode in characterReferenceInvalid) {\n // Emit a warning when the parsed number is disallowed, and replace by\n // an alternative.\n warning(6 /* Disallowed (numeric) */, diff)\n reference = characterReferenceInvalid[referenceCode]\n } else {\n // Parse the number.\n let output = ''\n\n // Emit a warning when the parsed number should not be used.\n if (disallowed(referenceCode)) {\n warning(6 /* Disallowed (numeric) */, diff)\n }\n\n // Serialize the number.\n if (referenceCode > 0xffff) {\n referenceCode -= 0x10000\n output += fromCharCode((referenceCode >>> (10 & 0x3ff)) | 0xd800)\n referenceCode = 0xdc00 | (referenceCode & 0x3ff)\n }\n\n reference = output + fromCharCode(referenceCode)\n }\n }\n\n // Found it!\n // First eat the queued characters as normal text, then eat a reference.\n if (reference) {\n flush()\n\n previous = now()\n index = end - 1\n column += end - start + 1\n result.push(reference)\n const next = now()\n next.offset++\n\n if (options.reference) {\n options.reference.call(\n options.referenceContext,\n reference,\n {start: previous, end: next},\n value.slice(start - 1, end)\n )\n }\n\n previous = next\n } else {\n // If we could not find a reference, queue the checked characters (as\n // normal characters), and move the pointer to their end.\n // This is possible because we can be certain neither newlines nor\n // ampersands are included.\n characters = value.slice(start - 1, end)\n queue += characters\n column += characters.length\n index = end - 1\n }\n } else {\n // Handle anything other than an ampersand, including newlines and EOF.\n if (character === 10 /* `\\n` */) {\n line++\n lines++\n column = 0\n }\n\n if (Number.isNaN(character)) {\n flush()\n } else {\n queue += fromCharCode(character)\n column++\n }\n }\n }\n\n // Return the reduced nodes.\n return result.join('')\n\n // Get current position.\n function now() {\n return {\n line,\n column,\n offset: index + ((point ? point.offset : 0) || 0)\n }\n }\n\n /**\n * Handle the warning.\n *\n * @param {1|2|3|4|5|6|7} code\n * @param {number} offset\n */\n function warning(code, offset) {\n /** @type {ReturnType<now>} */\n let position\n\n if (options.warning) {\n position = now()\n position.column += offset\n position.offset += offset\n\n options.warning.call(\n options.warningContext,\n messages[code],\n position,\n code\n )\n }\n }\n\n /**\n * Flush `queue` (normal text).\n * Macro invoked before each reference and at the end of `value`.\n * Does nothing when `queue` is empty.\n */\n function flush() {\n if (queue) {\n result.push(queue)\n\n if (options.text) {\n options.text.call(options.textContext, queue, {\n start: previous,\n end: now()\n })\n }\n\n queue = ''\n }\n }\n}\n\n/**\n * Check if `character` is outside the permissible unicode range.\n *\n * @param {number} code\n * @returns {boolean}\n */\nfunction prohibited(code) {\n return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff\n}\n\n/**\n * Check if `character` is disallowed.\n *\n * @param {number} code\n * @returns {boolean}\n */\nfunction disallowed(code) {\n return (\n (code >= 0x0001 && code <= 0x0008) ||\n code === 0x000b ||\n (code >= 0x000d && code <= 0x001f) ||\n (code >= 0x007f && code <= 0x009f) ||\n (code >= 0xfdd0 && code <= 0xfdef) ||\n (code & 0xffff) === 0xffff ||\n (code & 0xffff) === 0xfffe\n )\n}\n","/**\n * @typedef CoreOptions\n * @property {Array<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\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 ? charactersToExpression(options.subset) : /[\"&'<>`]/g,\n basic\n )\n\n if (options.subset || options.escapeOnly) {\n return value\n }\n\n return (\n value\n // Surrogate pairs.\n .replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, surrogate)\n // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n // non-ASCII ones).\n .replace(\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,\n basic\n )\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 * @param {Array<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(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&'))\n }\n\n return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n","/**\n * The smallest way to encode a character.\n *\n * @param {number} code\n * @returns {string}\n */\nexport function formatBasic(code) {\n return '&#x' + code.toString(16).toUpperCase() + ';'\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 * @typedef {import('unist').Point} Point\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\n/**\n * Functions to track output positions.\n * This info isn’t used yet but suchs functionality allows line wrapping,\n * and theoretically source maps (though, is there practical use in that?).\n *\n * @param {TrackFields} options_\n */\nexport function track(options_) {\n // Defaults are used to prevent crashes when older utilities somehow activate\n // this code.\n /* c8 ignore next 5 */\n const options = options_ || {}\n const now = options.now || {}\n let lineShift = options.lineShift || 0\n let line = now.line || 1\n let column = now.column || 1\n\n return {move, current, shift}\n\n /**\n * Get the current tracked info.\n *\n * @returns {{now: Point, lineShift: number}}\n */\n function current() {\n return {now: {line, column}, lineShift}\n }\n\n /**\n * Define an increased line shift (the typical indent for lines).\n *\n * @param {number} value\n */\n function shift(value) {\n lineShift += value\n }\n\n /**\n * Move past a string.\n *\n * @param {string} value\n * @returns {string}\n */\n function move(value = '') {\n const chunks = value.split(/\\r?\\n|\\r/g)\n const tail = chunks[chunks.length - 1]\n line += chunks.length - 1\n column =\n chunks.length === 1 ? column + tail.length : 1 + tail.length + lineShift\n return value\n }\n}\n","/**\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').Join} Join\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\nimport {track} from './track.js'\n\n/**\n * @param {Parent} parent\n * @param {Context} context\n * @param {TrackFields} safeOptions\n * @returns {string}\n */\nexport function containerFlow(parent, context, safeOptions) {\n const indexStack = context.indexStack\n const children = parent.children || []\n const tracker = track(safeOptions)\n /** @type {Array<string>} */\n const results = []\n let index = -1\n\n indexStack.push(-1)\n\n while (++index < children.length) {\n const child = children[index]\n\n indexStack[indexStack.length - 1] = index\n\n results.push(\n tracker.move(\n context.handle(child, parent, context, {\n before: '\\n',\n after: '\\n',\n ...tracker.current()\n })\n )\n )\n\n if (child.type !== 'list') {\n context.bulletLastUsed = undefined\n }\n\n if (index < children.length - 1) {\n results.push(tracker.move(between(child, children[index + 1])))\n }\n }\n\n indexStack.pop()\n\n return results.join('')\n\n /**\n * @param {Node} left\n * @param {Node} right\n * @returns {string}\n */\n function between(left, right) {\n let index = context.join.length\n\n while (index--) {\n const result = context.join[index](left, right, parent, context)\n\n if (result === true || result === 1) {\n break\n }\n\n if (typeof result === 'number') {\n return '\\n'.repeat(1 + result)\n }\n\n if (result === false) {\n return '\\n\\n<!---->\\n\\n'\n }\n }\n\n return '\\n\\n'\n }\n}\n","/**\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').SafeOptions} SafeOptions\n * @typedef {import('../types.js').Context} Context\n */\n\nimport {track} from './track.js'\n\n/**\n * @param {Parent} parent\n * @param {Context} context\n * @param {SafeOptions} safeOptions\n * @returns {string}\n */\nexport function containerPhrasing(parent, context, safeOptions) {\n const indexStack = context.indexStack\n const children = parent.children || []\n /** @type {Array<string>} */\n const results = []\n let index = -1\n let before = safeOptions.before\n\n indexStack.push(-1)\n let tracker = track(safeOptions)\n\n while (++index < children.length) {\n const child = children[index]\n /** @type {string} */\n let after\n\n indexStack[indexStack.length - 1] = index\n\n if (index + 1 < children.length) {\n // @ts-expect-error: hush, it’s actually a `zwitch`.\n let handle = context.handle.handlers[children[index + 1].type]\n if (handle && handle.peek) handle = handle.peek\n after = handle\n ? handle(children[index + 1], parent, context, {\n before: '',\n after: '',\n ...tracker.current()\n }).charAt(0)\n : ''\n } else {\n after = safeOptions.after\n }\n\n // In some cases, html (text) can be found in phrasing right after an eol.\n // When we’d serialize that, in most cases that would be seen as html\n // (flow).\n // As we can’t escape or so to prevent it from happening, we take a somewhat\n // reasonable approach: replace that eol with a space.\n // See: <https://github.com/syntax-tree/mdast-util-to-markdown/issues/15>\n if (\n results.length > 0 &&\n (before === '\\r' || before === '\\n') &&\n child.type === 'html'\n ) {\n results[results.length - 1] = results[results.length - 1].replace(\n /(\\r?\\n|\\r)$/,\n ' '\n )\n before = ' '\n\n // To do: does this work to reset tracker?\n tracker = track(safeOptions)\n tracker.move(results.join(''))\n }\n\n results.push(\n tracker.move(\n context.handle(child, parent, context, {\n ...tracker.current(),\n before,\n after\n })\n )\n )\n\n before = results[results.length - 1].slice(-1)\n }\n\n indexStack.pop()\n\n return results.join('')\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {Context} context\n * @returns {Exclude<Options['quote'], undefined>}\n */\nexport function checkQuote(context) {\n const marker = context.options.quote || '\"'\n\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n 'Cannot serialize title with `' +\n marker +\n '` for `options.quote`, expected `\"`, or `\\'`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').BlockContent} BlockContent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Token} Token\n * @typedef {import('mdast-util-to-markdown/lib/types.js').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown/lib/types.js').Context} Context\n * @typedef {import('mdast-util-to-markdown/lib/types.js').Options} ToMarkdownExtension\n * @typedef {import('./complex-types').ContainerDirective} ContainerDirective\n * @typedef {import('./complex-types').LeafDirective} LeafDirective\n * @typedef {import('./complex-types').TextDirective} TextDirective\n * @typedef {ContainerDirective|LeafDirective|TextDirective} Directive\n */\n\nimport {parseEntities} from 'parse-entities'\nimport {stringifyEntitiesLight} from 'stringify-entities'\nimport {visitParents} from 'unist-util-visit-parents'\nimport {containerFlow} from 'mdast-util-to-markdown/lib/util/container-flow.js'\nimport {containerPhrasing} from 'mdast-util-to-markdown/lib/util/container-phrasing.js'\nimport {checkQuote} from 'mdast-util-to-markdown/lib/util/check-quote.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\nconst own = {}.hasOwnProperty\n\nconst shortcut = /^[^\\t\\n\\r \"#'.<=>`}]+$/\n\nhandleDirective.peek = peekDirective\n\n/** @type {FromMarkdownExtension} */\nexport const directiveFromMarkdown = {\n canContainEols: ['textDirective'],\n enter: {\n directiveContainer: enterContainer,\n directiveContainerAttributes: enterAttributes,\n directiveContainerLabel: enterContainerLabel,\n\n directiveLeaf: enterLeaf,\n directiveLeafAttributes: enterAttributes,\n\n directiveText: enterText,\n directiveTextAttributes: enterAttributes\n },\n exit: {\n directiveContainer: exit,\n directiveContainerAttributeClassValue: exitAttributeClassValue,\n directiveContainerAttributeIdValue: exitAttributeIdValue,\n directiveContainerAttributeName: exitAttributeName,\n directiveContainerAttributeValue: exitAttributeValue,\n directiveContainerAttributes: exitAttributes,\n directiveContainerLabel: exitContainerLabel,\n directiveContainerName: exitName,\n\n directiveLeaf: exit,\n directiveLeafAttributeClassValue: exitAttributeClassValue,\n directiveLeafAttributeIdValue: exitAttributeIdValue,\n directiveLeafAttributeName: exitAttributeName,\n directiveLeafAttributeValue: exitAttributeValue,\n directiveLeafAttributes: exitAttributes,\n directiveLeafName: exitName,\n\n directiveText: exit,\n directiveTextAttributeClassValue: exitAttributeClassValue,\n directiveTextAttributeIdValue: exitAttributeIdValue,\n directiveTextAttributeName: exitAttributeName,\n directiveTextAttributeValue: exitAttributeValue,\n directiveTextAttributes: exitAttributes,\n directiveTextName: exitName\n }\n}\n\n/** @type {ToMarkdownExtension} */\nexport const directiveToMarkdown = {\n unsafe: [\n {\n character: '\\r',\n inConstruct: ['leafDirectiveLabel', 'containerDirectiveLabel']\n },\n {\n character: '\\n',\n inConstruct: ['leafDirectiveLabel', 'containerDirectiveLabel']\n },\n {\n before: '[^:]',\n character: ':',\n after: '[A-Za-z]',\n inConstruct: ['phrasing']\n },\n {atBreak: true, character: ':', after: ':'}\n ],\n handlers: {\n containerDirective: handleDirective,\n leafDirective: handleDirective,\n textDirective: handleDirective\n }\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterContainer(token) {\n enter.call(this, 'containerDirective', token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterLeaf(token) {\n enter.call(this, 'leafDirective', token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterText(token) {\n enter.call(this, 'textDirective', token)\n}\n\n/**\n * @this {CompileContext}\n * @param {Directive['type']} type\n * @param {Token} token\n */\nfunction enter(type, token) {\n this.enter({type, name: '', attributes: {}, children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @param {Token} token\n */\nfunction exitName(token) {\n const node = /** @type {Directive} */ (this.stack[this.stack.length - 1])\n node.name = this.sliceSerialize(token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterContainerLabel(token) {\n this.enter(\n {type: 'paragraph', data: {directiveLabel: true}, children: []},\n token\n )\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitContainerLabel(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterAttributes() {\n this.setData('directiveAttributes', [])\n this.buffer() // Capture EOLs\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitAttributeIdValue(token) {\n const list = /** @type {Array.<[string, string]>} */ (\n this.getData('directiveAttributes')\n )\n list.push(['id', parseEntities(this.sliceSerialize(token))])\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitAttributeClassValue(token) {\n const list = /** @type {Array.<[string, string]>} */ (\n this.getData('directiveAttributes')\n )\n list.push(['class', parseEntities(this.sliceSerialize(token))])\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitAttributeValue(token) {\n const list = /** @type {Array.<[string, string]>} */ (\n this.getData('directiveAttributes')\n )\n list[list.length - 1][1] = parseEntities(this.sliceSerialize(token))\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitAttributeName(token) {\n const list = /** @type {Array.<[string, string]>} */ (\n this.getData('directiveAttributes')\n )\n\n // Attribute names in CommonMark are significantly limited, so character\n // references can’t exist.\n list.push([this.sliceSerialize(token), ''])\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitAttributes() {\n const list = /** @type {Array.<[string, string]>} */ (\n this.getData('directiveAttributes')\n )\n /** @type {Record.<string, string>} */\n const cleaned = {}\n let index = -1\n\n while (++index < list.length) {\n const attribute = list[index]\n\n if (attribute[0] === 'class' && cleaned.class) {\n cleaned.class += ' ' + attribute[1]\n } else {\n cleaned[attribute[0]] = attribute[1]\n }\n }\n\n this.setData('directiveAttributes')\n this.resume() // Drop EOLs\n const node = /** @type {Directive} */ (this.stack[this.stack.length - 1])\n node.attributes = cleaned\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exit(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {Directive} node\n */\nfunction handleDirective(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n const sequence = fence(node)\n const exit = context.enter(node.type)\n let value = tracker.move(sequence + (node.name || ''))\n /** @type {Directive|Paragraph|undefined} */\n let label = node\n\n if (node.type === 'containerDirective') {\n const head = (node.children || [])[0]\n label = inlineDirectiveLabel(head) ? head : undefined\n }\n\n if (label && label.children && label.children.length > 0) {\n const exit = context.enter('label')\n const subexit = context.enter(node.type + 'Label')\n value += tracker.move('[')\n value += tracker.move(\n containerPhrasing(label, context, {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n value += tracker.move(']')\n subexit()\n exit()\n }\n\n value += tracker.move(attributes(node, context))\n\n if (node.type === 'containerDirective') {\n const head = (node.children || [])[0]\n let shallow = node\n\n if (inlineDirectiveLabel(head)) {\n shallow = Object.assign({}, node, {children: node.children.slice(1)})\n }\n\n if (shallow && shallow.children && shallow.children.length > 0) {\n value += tracker.move('\\n')\n value += tracker.move(containerFlow(shallow, context, tracker.current()))\n }\n\n value += tracker.move('\\n' + sequence)\n }\n\n exit()\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction peekDirective() {\n return ':'\n}\n\n/**\n * @param {Directive} node\n * @param {Context} context\n * @returns {string}\n */\nfunction attributes(node, context) {\n const quote = checkQuote(context)\n const subset = node.type === 'textDirective' ? [quote] : [quote, '\\n', '\\r']\n const attrs = node.attributes || {}\n /** @type {Array.<string>} */\n const values = []\n /** @type {string|undefined} */\n let classesFull\n /** @type {string|undefined} */\n let classes\n /** @type {string|undefined} */\n let id\n /** @type {string} */\n let key\n\n for (key in attrs) {\n if (\n own.call(attrs, key) &&\n attrs[key] !== undefined &&\n attrs[key] !== null\n ) {\n const value = String(attrs[key])\n\n if (key === 'id') {\n id = shortcut.test(value) ? '#' + value : quoted('id', value)\n } else if (key === 'class') {\n const list = value.split(/[\\t\\n\\r ]+/g)\n /** @type {Array.<string>} */\n const classesFullList = []\n /** @type {Array.<string>} */\n const classesList = []\n let index = -1\n\n while (++index < list.length) {\n ;(shortcut.test(list[index]) ? classesList : classesFullList).push(\n list[index]\n )\n }\n\n classesFull =\n classesFullList.length > 0\n ? quoted('class', classesFullList.join(' '))\n : ''\n classes = classesList.length > 0 ? '.' + classesList.join('.') : ''\n } else {\n values.push(quoted(key, value))\n }\n }\n }\n\n if (classesFull) {\n values.unshift(classesFull)\n }\n\n if (classes) {\n values.unshift(classes)\n }\n\n if (id) {\n values.unshift(id)\n }\n\n return values.length > 0 ? '{' + values.join(' ') + '}' : ''\n\n /**\n * @param {string} key\n * @param {string} value\n * @returns {string}\n */\n function quoted(key, value) {\n return (\n key +\n (value\n ? '=' + quote + stringifyEntitiesLight(value, {subset}) + quote\n : '')\n )\n }\n}\n\n/**\n * @param {BlockContent} node\n * @returns {node is Paragraph & {data: {directiveLabel: boolean}}}\n */\nfunction inlineDirectiveLabel(node) {\n return Boolean(\n node && node.type === 'paragraph' && node.data && node.data.directiveLabel\n )\n}\n\n/**\n * @param {Directive} node\n * @returns {string}\n */\nfunction fence(node) {\n let size = 0\n\n if (node.type === 'containerDirective') {\n visitParents(node, 'containerDirective', onvisit)\n size += 3\n } else if (node.type === 'leafDirective') {\n size = 2\n } else {\n size = 1\n }\n\n return ':'.repeat(size)\n\n /** @type {import('unist-util-visit-parents/complex-types').BuildVisitor<Root, Directive>} */\n function onvisit(_, parents) {\n let index = parents.length\n let nesting = 0\n\n while (index--) {\n if (parents[index].type === 'containerDirective') {\n nesting++\n }\n }\n\n if (nesting > size) size = nesting\n }\n}\n","/**\n * @typedef {import('mdast').Root} Root\n *\n * @typedef {import('mdast-util-directive')} DoNotTouchAsThisImportIncludesDirectivesInTree\n */\n\nimport {directive} from 'micromark-extension-directive'\nimport {directiveFromMarkdown, directiveToMarkdown} from 'mdast-util-directive'\n\n/**\n * Plugin to support the generic directives proposal (`:cite[smith04]`,\n * `::youtube[Video of a cat in a box]{v=01ab2cd3efg}`, and such).\n *\n * @type {import('unified').Plugin<void[], Root>}\n */\nexport default function remarkDirective() {\n const data = this.data()\n\n add('micromarkExtensions', directive())\n add('fromMarkdownExtensions', directiveFromMarkdown)\n add('toMarkdownExtensions', directiveToMarkdown)\n\n /**\n * @param {string} field\n * @param {unknown} value\n */\n function add(field, value) {\n const list = /** @type {unknown[]} */ (\n // Other extensions\n /* c8 ignore next 2 */\n data[field] ? data[field] : (data[field] = [])\n )\n\n list.push(value)\n }\n}\n","'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (test == null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return 'length' in test ? anyFactory(test) : allFactory(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction allFactory(test) {\n return all\n\n function all(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) return false\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = []\n var index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return any\n\n function any() {\n var index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","module.exports = color\nfunction color(d) {\n return '\\u001B[33m' + d + '\\u001B[39m'\n}\n","'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\nvar color = require('./color')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var step\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n step = reverse ? -1 : 1\n\n factory(tree, null, [])()\n\n function factory(node, index, parents) {\n var value = typeof node === 'object' && node !== null ? node : {}\n var name\n\n if (typeof value.type === 'string') {\n name =\n typeof value.tagName === 'string'\n ? value.tagName\n : typeof value.name === 'string'\n ? value.name\n : undefined\n\n visit.displayName =\n 'node (' + color(value.type + (name ? '<' + name + '>' : '')) + ')'\n }\n\n return visit\n\n function visit() {\n var grandparents = parents.concat(node)\n var result = []\n var subresult\n var offset\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n offset = (reverse ? node.children.length : -1) + step\n\n while (offset > -1 && offset < node.children.length) {\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n","import { h } from 'hastscript/html.js';\nimport { FunctionComponent } from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport remarkDirective from 'remark-directive';\nimport visit from 'unist-util-visit';\n\nimport styles from './styles.module.scss';\n\n// The plugin function 'directiveToHTMLTag' is used in conjunction with 'remarkDirective' to parse custom markdown tags.\n\n// It converts tags in the form of :mytag[value]{attributes} to the\n// corresponding custom HTML tags <mytag ...attributes>value<mytag> .\n// (NOTE: tag names are always converted to lowercase custom html tags)\n\n// These can then be overridden by supplying the ReactMarkdown component with\n// an entry in its 'components' property:\n// <ReactMarkdown components={\n// mytag: ({ children }) => (<h1>{childrend}</h1>)\n// }>\n\n// Without those plugins, it's only possible to override the standard html tags as listed here:\n// https://github.com/remarkjs/react-markdown#appendix-b-components\n\nconst directiveToHTMLTag = () => {\n return (tree: any) => {\n // Visit the given tree and transform 'text-', 'leaf-' or 'containerDirectives' (= custom tags) as parsed by\n // the remarkDirective plugin\n visit(\n tree,\n ['textDirective', 'leafDirective', 'containerDirective'],\n (node: any) => {\n // Grab a reference to the data of the custom tag node\n const data = node.data || (node.data = {});\n\n // Create a HyperText Abstract Syntax Tree (HAST) from the node\n const hast = h(node.name, node.attributes);\n\n // Modify the node data with the resulting HAST's data to transform the node into something\n // that ReactMarkdown can understand (custom html tag) and later replace with a custom component\n data.hName = hast.tagName;\n data.hProperties = hast.properties;\n }\n );\n };\n};\n\nconst Link = (openLinksInNewTab: boolean) => (props: any) => {\n return openLinksInNewTab ? (\n <a href={props.href} className=\"p-a\" target=\"_blank\" rel=\"noreferrer\">\n {props.children}\n </a>\n ) : (\n <a href={props.href} className=\"p-a\">\n {props.children}\n </a>\n );\n};\n\nconst Paragraph = (className: string) => (props: any) => {\n return <p className={className || 'p-p mt8'}>{props.children}</p>;\n};\n\nconst Heading = (props: any) => {\n const { level } = props;\n\n switch (level) {\n case 1:\n return <h1 className=\"p-h1 p--serif mt32\">{props.children}</h1>;\n case 2:\n return <h2 className=\"p-h2 mt24\">{props.children}</h2>;\n case 3:\n return <h3 className=\"p-h3 mt16\">{props.children}</h3>;\n case 4:\n return <h4 className=\"p-h4 mt8\">{props.children}</h4>;\n default:\n return <p>{props.children}</p>;\n }\n};\n\nconst UList = (props: any) => {\n return <ul className={`p-p ${styles.ulist} mt8`}>{props.children}</ul>;\n};\n\nconst OList = (props: any) => {\n return <ol className={`p-p ${styles.olist} mt8`}>{props.children}</ol>;\n};\n\nconst Strong = (props: any) => {\n return <strong className=\"fw-bold\">{props.children}</strong>;\n};\n\nconst Italic = (props: any) => {\n return <em className=\"fs-italic\">{props.children}</em>;\n};\n\nconst Code = (props: any) => {\n return (\n <div className={`bg-grey-200 p8 p-p--small my8 br2 ${styles.code}`}>\n {props.children}\n </div>\n );\n};\n\nexport interface MarkdownProps {\n children: string;\n customMDComponents?: Record<string, FunctionComponent<any>>;\n className?: string;\n openLinksInNewTab?: boolean;\n paragraphClassName?: string;\n}\n\nconst Markdown = ({\n children,\n customMDComponents,\n className = '',\n openLinksInNewTab = false,\n paragraphClassName = '',\n}: MarkdownProps) => (\n <ReactMarkdown\n children={children}\n className={className}\n components={{\n a: Link(openLinksInNewTab),\n p: Paragraph(paragraphClassName),\n h1: Heading,\n h2: Heading,\n h3: Heading,\n h4: Heading,\n h5: Heading,\n ol: OList,\n ul: UList,\n strong: Strong,\n em: Italic,\n code: Code,\n ...customMDComponents,\n }}\n remarkPlugins={[remarkDirective, directiveToHTMLTag]}\n />\n);\n\nexport { Markdown};\n"],"names":["Schema","merge","normalize","Info","powers","boolean","increment","booleanish","overloadedBoolean","number","spaceSeparated","commaSeparated","commaOrSpaceSeparated","checks","types","DefinedInfo","mark","own","create","xlink","xml","caseSensitiveTransform","caseInsensitiveTransform","xmlns","aria","html","svg","valid","dash","cap","find","camelcase","kebab","htmlBase","svgBase","search","parse","core","addProperty","spaces","commas","h","point","VFileMessage","process","global","this","util","require$$0","require$$1","isUrl","order","VFile","buffer","proc","urlToPath","assertNonEmpty","assertPath","assertPart","isPlainObject","wrap","isPlainObj","one","all","content","document","exit","previous","factoryLabel","thematicBreak","list","flow","string","text","resolveText","u","convert","ok","typeFactory","anyFactory","color","CONTINUE","SKIP","EXIT","visitParents","toResult","visit","encode","reactIsModule","stringify","React","style","label","tokenizeLabel","attributes","tokenizeAttributes","isDecimal","_jsx"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,QAAM,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;AACvC,IAAI,IAAI,CAAC,QAAQ,GAAG,SAAQ;AAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,OAAM;AACxB,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,IAAI,CAAC,KAAK,GAAG,MAAK;AACxB,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACAA,QAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,GAAE;AAC9B;AACAA,QAAM,CAAC,SAAS,CAAC,MAAM,GAAG,GAAE;AAC5B;AACAA,QAAM,CAAC,SAAS,CAAC,KAAK,GAAG;;AC3BzB;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,OAAK,CAAC,WAAW,EAAE,KAAK,EAAE;AAC1C;AACA,EAAE,MAAM,QAAQ,GAAG,GAAE;AACrB;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE;AACvC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAC;AACxD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,EAAC;AACpD,GAAG;AACH;AACA,EAAE,OAAO,IAAID,QAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;AAC5C;;ACzBA;AACA;AACA;AACA;AACO,SAASE,WAAS,CAAC,KAAK,EAAE;AACjC,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE;AAC5B;;ACNO,MAAMC,MAAI,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE;AACnC;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,SAAQ;AAC5B;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,UAAS;AAC9B,GAAG;AACH,CAAC;AACD;AACA;AACAA,MAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAI;AAC3BA,MAAI,CAAC,SAAS,CAAC,OAAO,GAAG,MAAK;AAC9BA,MAAI,CAAC,SAAS,CAAC,UAAU,GAAG,MAAK;AACjCA,MAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,MAAK;AACxCA,MAAI,CAAC,SAAS,CAAC,MAAM,GAAG,MAAK;AAC7BA,MAAI,CAAC,SAAS,CAAC,cAAc,GAAG,MAAK;AACrCA,MAAI,CAAC,SAAS,CAAC,cAAc,GAAG,MAAK;AACrCA,MAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,MAAK;AAC5CA,MAAI,CAAC,SAAS,CAAC,eAAe,GAAG,MAAK;AACtCA,MAAI,CAAC,SAAS,CAAC,OAAO,GAAG;;ACxBzB,IAAIC,QAAM,GAAG,EAAC;AACd;AACO,MAAMC,SAAO,GAAGC,WAAS,GAAE;AAC3B,MAAMC,YAAU,GAAGD,WAAS,GAAE;AAC9B,MAAME,mBAAiB,GAAGF,WAAS,GAAE;AACrC,MAAMG,QAAM,GAAGH,WAAS,GAAE;AAC1B,MAAMI,gBAAc,GAAGJ,WAAS,GAAE;AAClC,MAAMK,gBAAc,GAAGL,WAAS,GAAE;AAClC,MAAMM,uBAAqB,GAAGN,WAAS,GAAE;AAChD;AACA,SAASA,WAAS,GAAG;AACrB,EAAE,OAAO,CAAC,IAAI,EAAEF,QAAM;AACtB;;;;;;;;;;;;;ACTA;AACA;AACA,MAAMS,QAAM,GAAG,MAAM,CAAC,IAAI,CAACC,OAAK,EAAC;AACjC;AACO,MAAMC,aAAW,SAASZ,MAAI,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;AAChD,IAAI,IAAI,KAAK,GAAG,CAAC,EAAC;AAClB;AACA,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAC;AAC9B;AACA,IAAIa,MAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC;AAC9B;AACA,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAClC,MAAM,OAAO,EAAE,KAAK,GAAGH,QAAM,CAAC,MAAM,EAAE;AACtC,QAAQ,MAAM,KAAK,GAAGA,QAAM,CAAC,KAAK,EAAC;AACnC,QAAQG,MAAI,CAAC,IAAI,EAAEH,QAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAGC,OAAK,CAAC,KAAK,CAAC,MAAMA,OAAK,CAAC,KAAK,CAAC,EAAC;AACzE,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACAC,aAAW,CAAC,SAAS,CAAC,OAAO,GAAG,KAAI;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE;AAClC,EAAE,IAAI,KAAK,EAAE;AACb;AACA,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAK;AACvB,GAAG;AACH;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA,MAAMC,KAAG,GAAG,EAAE,CAAC,eAAc;AAC7B;AACA;AACA;AACA;AACA;AACO,SAASC,QAAM,CAAC,UAAU,EAAE;AACnC;AACA,EAAE,MAAM,QAAQ,GAAG,GAAE;AACrB;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB;AACA,EAAE,IAAI,KAAI;AACV;AACA,EAAE,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE;AACtC,IAAI,IAAID,KAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;AAC/C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAC;AAC/C,MAAM,MAAM,IAAI,GAAG,IAAIF,aAAW;AAClC,QAAQ,IAAI;AACZ,QAAQ,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC;AAC/D,QAAQ,KAAK;AACb,QAAQ,UAAU,CAAC,KAAK;AACxB,QAAO;AACP;AACA,MAAM;AACN,QAAQ,UAAU,CAAC,eAAe;AAClC,QAAQ,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjD,QAAQ;AACR,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAI;AACnC,OAAO;AACP;AACA,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAI;AAC3B;AACA,MAAM,MAAM,CAACb,WAAS,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;AACpC,MAAM,MAAM,CAACA,WAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AAC9C,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,IAAIF,QAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;AACvD;;ACvDO,MAAMmB,OAAK,GAAGD,QAAM,CAAC;AAC5B,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE;AACrB,IAAI,OAAO,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACjD,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,SAAS,EAAE,IAAI;AACnB,GAAG;AACH,CAAC;;ACdM,MAAME,KAAG,GAAGF,QAAM,CAAC;AAC1B,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE;AACrB,IAAI,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC/C,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC5D,CAAC;;ACRD;AACA;AACA;AACA;AACA;AACO,SAASG,wBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE;AAC9D,EAAE,OAAO,SAAS,IAAI,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS;AACpE;;ACLA;AACA;AACA;AACA;AACA;AACO,SAASC,0BAAwB,CAAC,UAAU,EAAE,QAAQ,EAAE;AAC/D,EAAE,OAAOD,wBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;AACnE;;ACNO,MAAME,OAAK,GAAGL,QAAM,CAAC;AAC5B,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;AACzC,EAAE,SAAS,EAAEI,0BAAwB;AACrC,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAC7C,CAAC;;ACLM,MAAME,MAAI,GAAGN,QAAM,CAAC;AAC3B,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE;AACrB,IAAI,OAAO,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzE,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,oBAAoB,EAAE,IAAI;AAC9B,IAAI,UAAU,EAAEX,YAAU;AAC1B,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,QAAQ,EAAEA,YAAU;AACxB,IAAI,WAAW,EAAEA,YAAU;AAC3B,IAAI,YAAY,EAAEE,QAAM;AACxB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,WAAW,EAAEA,QAAM;AACvB,IAAI,YAAY,EAAEC,gBAAc;AAChC,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,eAAe,EAAEA,gBAAc;AACnC,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAEH,YAAU;AAC5B,IAAI,cAAc,EAAEG,gBAAc;AAClC,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,YAAY,EAAEH,YAAU;AAC5B,IAAI,UAAU,EAAEG,gBAAc;AAC9B,IAAI,WAAW,EAAEH,YAAU;AAC3B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,UAAU,EAAEA,YAAU;AAC1B,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,cAAc,EAAEG,gBAAc;AAClC,IAAI,SAAS,EAAED,QAAM;AACrB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAEF,YAAU;AACzB,IAAI,aAAa,EAAEA,YAAU;AAC7B,IAAI,mBAAmB,EAAEA,YAAU;AACnC,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,QAAQ,EAAEG,gBAAc;AAC5B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,YAAY,EAAED,QAAM;AACxB,IAAI,WAAW,EAAEF,YAAU;AAC3B,IAAI,YAAY,EAAEA,YAAU;AAC5B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,YAAY,EAAEA,YAAU;AAC5B,IAAI,mBAAmB,EAAEG,gBAAc;AACvC,IAAI,YAAY,EAAED,QAAM;AACxB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,WAAW,EAAEA,QAAM;AACvB,IAAI,YAAY,EAAEF,YAAU;AAC5B,IAAI,WAAW,EAAEE,QAAM;AACvB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,CAAC;;AC/CM,MAAMgB,MAAI,GAAGP,QAAM,CAAC;AAC3B,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,EAAE,SAAS,EAAEI,0BAAwB;AACrC,EAAE,eAAe,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC;AAC/D,EAAE,UAAU,EAAE;AACd;AACA,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,MAAM,EAAEX,gBAAc;AAC1B,IAAI,aAAa,EAAED,gBAAc;AACjC,IAAI,SAAS,EAAEA,gBAAc;AAC7B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,eAAe,EAAEL,SAAO;AAC5B,IAAI,mBAAmB,EAAEA,SAAO;AAChC,IAAI,cAAc,EAAEA,SAAO;AAC3B,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK,EAAEA,SAAO;AAClB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,YAAY,EAAEK,gBAAc;AAChC,IAAI,SAAS,EAAEL,SAAO;AACtB,IAAI,QAAQ,EAAEA,SAAO;AACrB,IAAI,OAAO,EAAEA,SAAO;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAEA,SAAO;AACpB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,SAAS,EAAEK,gBAAc;AAC7B,IAAI,IAAI,EAAED,QAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,eAAe,EAAEF,YAAU;AAC/B,IAAI,QAAQ,EAAEF,SAAO;AACrB,IAAI,YAAY,EAAEK,gBAAc;AAChC,IAAI,MAAM,EAAED,QAAM,GAAGE,gBAAc;AACnC,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAEN,SAAO;AACpB,IAAI,KAAK,EAAEA,SAAO;AAClB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAEA,SAAO;AACrB,IAAI,QAAQ,EAAEG,mBAAiB;AAC/B,IAAI,SAAS,EAAED,YAAU;AACzB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,cAAc,EAAEF,SAAO;AAC3B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAEK,gBAAc;AAC3B,IAAI,MAAM,EAAED,QAAM;AAClB,IAAI,MAAM,EAAEJ,SAAO;AACnB,IAAI,IAAI,EAAEI,QAAM;AAChB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAEC,gBAAc;AAC3B,IAAI,SAAS,EAAEA,gBAAc;AAC7B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK,EAAEL,SAAO;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAEK,gBAAc;AAC5B,IAAI,OAAO,EAAEA,gBAAc;AAC3B,IAAI,SAAS,EAAEL,SAAO;AACtB,IAAI,QAAQ,EAAEK,gBAAc;AAC5B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAEL,SAAO;AACjB,IAAI,GAAG,EAAEI,QAAM;AACf,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,QAAQ,EAAEJ,SAAO;AACrB,IAAI,KAAK,EAAEA,SAAO;AAClB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,QAAQ,EAAEA,SAAO;AACrB,IAAI,UAAU,EAAEA,SAAO;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,yBAAyB,EAAE,IAAI;AACnC,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,oBAAoB,EAAE,IAAI;AAC9B,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAEA,SAAO;AACjB,IAAI,OAAO,EAAEI,QAAM;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAEC,gBAAc;AACxB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,WAAW,EAAEL,SAAO;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAEA,SAAO;AACrB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,GAAG,EAAEK,gBAAc;AACvB,IAAI,QAAQ,EAAEL,SAAO;AACrB,IAAI,QAAQ,EAAEA,SAAO;AACrB,IAAI,IAAI,EAAEI,QAAM;AAChB,IAAI,OAAO,EAAEA,QAAM;AACnB,IAAI,OAAO,EAAEC,gBAAc;AAC3B,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAEL,SAAO;AACnB,IAAI,QAAQ,EAAEA,SAAO;AACrB,IAAI,QAAQ,EAAEA,SAAO;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAEI,QAAM;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAEA,QAAM;AAChB,IAAI,UAAU,EAAEF,YAAU;AAC1B,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAEE,QAAM;AACjB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,QAAQ,EAAEA,QAAM;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,aAAa,EAAEJ,SAAO;AAC1B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAEE,YAAU;AACrB,IAAI,KAAK,EAAEE,QAAM;AACjB,IAAI,IAAI,EAAE,IAAI;AACd;AACA;AACA;AACA,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,OAAO,EAAEC,gBAAc;AAC3B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAED,QAAM;AAClB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,OAAO,EAAEJ,SAAO;AACpB,IAAI,OAAO,EAAEA,SAAO;AACpB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAEI,QAAM;AAClB,IAAI,UAAU,EAAEA,QAAM;AACtB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,WAAW,EAAEA,QAAM;AACvB,IAAI,QAAQ,EAAEJ,SAAO;AACrB,IAAI,MAAM,EAAEA,SAAO;AACnB,IAAI,OAAO,EAAEA,SAAO;AACpB,IAAI,MAAM,EAAEA,SAAO;AACnB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,WAAW,EAAEI,QAAM;AACvB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAEF,YAAU;AACzB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,SAAS,EAAEE,QAAM;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAEA,QAAM;AAClB;AACA;AACA,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,uBAAuB,EAAEJ,SAAO;AACpC,IAAI,qBAAqB,EAAEA,SAAO;AAClC,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAEI,QAAM;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,YAAY,EAAE,IAAI;AACtB,GAAG;AACH,CAAC;;AC1SM,MAAMiB,KAAG,GAAGR,QAAM,CAAC;AAC1B,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,UAAU,EAAE;AACd,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,iBAAiB,EAAE,oBAAoB;AAC3C,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,kBAAkB,EAAE,qBAAqB;AAC7C,IAAI,yBAAyB,EAAE,6BAA6B;AAC5D,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,0BAA0B,EAAE,8BAA8B;AAC9D,IAAI,wBAAwB,EAAE,4BAA4B;AAC1D,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,UAAU,EAAE,cAAc;AAC9B,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,iBAAiB,EAAE,oBAAoB;AAC3C,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,eAAe,EAAE,kBAAkB;AACvC,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,qBAAqB,EAAE,wBAAwB;AACnD,IAAI,sBAAsB,EAAE,yBAAyB;AACrD,IAAI,eAAe,EAAE,kBAAkB;AACvC,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,iBAAiB,EAAE,oBAAoB;AAC3C,IAAI,kBAAkB,EAAE,qBAAqB;AAC7C,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,UAAU,EAAE,cAAc;AAC9B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,OAAO,EAAE,UAAU;AACvB;AACA,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,aAAa,EAAE,eAAe;AAClC,GAAG;AACH,EAAE,SAAS,EAAEG,wBAAsB;AACnC,EAAE,UAAU,EAAE;AACd,IAAI,KAAK,EAAET,uBAAqB;AAChC,IAAI,YAAY,EAAEH,QAAM;AACxB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,UAAU,EAAEA,QAAM;AACtB,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAEA,QAAM;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAEA,QAAM;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAEA,QAAM;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,SAAS,EAAEC,gBAAc;AAC7B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,yBAAyB,EAAE,IAAI;AACnC,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAED,QAAM;AACnB,IAAI,eAAe,EAAEA,QAAM;AAC3B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,OAAO,EAAEA,QAAM;AACnB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,QAAQ,EAAEJ,SAAO;AACrB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAEI,QAAM;AACrB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,QAAQ,EAAEA,QAAM;AACpB,IAAI,yBAAyB,EAAE,IAAI;AACnC,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,WAAW,EAAEA,QAAM;AACvB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAEE,gBAAc;AACtB,IAAI,EAAE,EAAEA,gBAAc;AACtB,IAAI,SAAS,EAAEA,gBAAc;AAC7B,IAAI,0BAA0B,EAAE,IAAI;AACpC,IAAI,wBAAwB,EAAE,IAAI;AAClC,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAEF,QAAM;AACnB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,WAAW,EAAEA,QAAM;AACvB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,CAAC,EAAEA,QAAM;AACb,IAAI,EAAE,EAAEA,QAAM;AACd,IAAI,EAAE,EAAEA,QAAM;AACd,IAAI,EAAE,EAAEA,QAAM;AACd,IAAI,EAAE,EAAEA,QAAM;AACd,IAAI,YAAY,EAAEG,uBAAqB;AACvC,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,iBAAiB,EAAEH,QAAM;AAC7B,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,sBAAsB,EAAE,IAAI;AAChC,IAAI,qBAAqB,EAAE,IAAI;AAC/B,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,gBAAgB,EAAEA,QAAM;AAC5B,IAAI,iBAAiB,EAAEA,QAAM;AAC7B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,UAAU,EAAEA,QAAM;AACtB,IAAI,mBAAmB,EAAE,IAAI;AAC7B,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAEC,gBAAc;AACxB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAED,QAAM;AACrB,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,SAAS,EAAEA,QAAM;AACrB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,mBAAmB,EAAE,IAAI;AAC7B,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAEG,uBAAqB;AACnC,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,GAAG,EAAEA,uBAAqB;AAC9B,IAAI,GAAG,EAAEA,uBAAqB;AAC9B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,kBAAkB,EAAEA,uBAAqB;AAC7C,IAAI,gBAAgB,EAAEA,uBAAqB;AAC3C,IAAI,aAAa,EAAEA,uBAAqB;AACxC,IAAI,eAAe,EAAEA,uBAAqB;AAC1C,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,gBAAgB,EAAEH,QAAM;AAC5B,IAAI,gBAAgB,EAAEA,QAAM;AAC5B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,qBAAqB,EAAEA,QAAM;AACjC,IAAI,sBAAsB,EAAEA,QAAM;AAClC,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,eAAe,EAAEG,uBAAqB;AAC1C,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,gBAAgB,EAAEH,QAAM;AAC5B,IAAI,aAAa,EAAEA,QAAM;AACzB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,mBAAmB,EAAE,IAAI;AAC7B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,oBAAoB,EAAE,IAAI;AAC9B,IAAI,cAAc,EAAEG,uBAAqB;AACzC,IAAI,QAAQ,EAAEH,QAAM;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAEA,QAAM;AACnB,IAAI,OAAO,EAAEA,QAAM;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,MAAM,EAAEG,uBAAqB;AACjC,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,iBAAiB,EAAEH,QAAM;AAC7B,IAAI,kBAAkB,EAAEA,QAAM;AAC9B,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,UAAU,EAAEA,QAAM;AACtB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAEA,QAAM;AACvB,IAAI,aAAa,EAAEA,QAAM;AACzB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,QAAQ,EAAEA,QAAM;AACpB,IAAI,YAAY,EAAEA,QAAM;AACxB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAEA,QAAM;AACpB,IAAI,WAAW,EAAEA,QAAM;AACvB,IAAI,WAAW,EAAEA,QAAM;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,OAAO,EAAEA,QAAM;AACnB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,UAAU,EAAE,IAAI;AACpB,GAAG;AACH,CAAC;;ACpjBD;AACA;AACA;AAKA;AACA,MAAMkB,OAAK,GAAG,kBAAiB;AAC/B,MAAMC,MAAI,GAAG,UAAS;AACtB,MAAMC,KAAG,GAAG,SAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,MAAI,CAAC,MAAM,EAAE,KAAK,EAAE;AACpC,EAAE,MAAM,MAAM,GAAG5B,WAAS,CAAC,KAAK,EAAC;AACjC,EAAE,IAAI,IAAI,GAAG,MAAK;AAClB,EAAE,IAAI,IAAI,GAAGC,OAAI;AACjB;AACA,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;AAC/B,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjD,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAIwB,OAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC/E;AACA,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACjC;AACA,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAACC,MAAI,EAAEG,WAAS,EAAC;AAC1D,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC;AAClE,KAAK,MAAM;AACX;AACA,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAC;AACjC;AACA,MAAM,IAAI,CAACH,MAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC5B,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAACC,KAAG,EAAEG,OAAK,EAAC;AAC7C;AACA,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACtC,UAAU,MAAM,GAAG,GAAG,GAAG,OAAM;AAC/B,SAAS;AACT;AACA,QAAQ,KAAK,GAAG,MAAM,GAAG,OAAM;AAC/B,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,GAAGjB,cAAW;AACtB,GAAG;AACH;AACA,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC9B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAASiB,OAAK,CAAC,EAAE,EAAE;AACnB,EAAE,OAAO,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE;AAC/B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAASD,WAAS,CAAC,EAAE,EAAE;AACvB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACnC;;ACnEA;AACA;AACA;AACA;AAaO,MAAMN,MAAI,GAAGxB,OAAK,CAAC,CAACmB,KAAG,EAAED,OAAK,EAAEI,OAAK,EAAEC,MAAI,EAAES,MAAQ,CAAC,EAAE,MAAM,EAAC;AACnDhC,OAAK,CAAC,CAACmB,KAAG,EAAED,OAAK,EAAEI,OAAK,EAAEC,MAAI,EAAEU,KAAO,CAAC,EAAE,KAAK;;ACjBlE;AACA;AACA;AACA;AACA;AACA,IAAIC,QAAM,GAAG,QAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,QAAQ,EAAE,cAAc,GAAG,KAAK,EAAE;AAChD,MAAM,IAAI,KAAK,GAAG,QAAQ,IAAI,GAAE;AAChC;AACA,MAAM,IAAI,KAAK,GAAG,GAAE;AACpB,MAAM,IAAI,KAAK,GAAG,EAAC;AACnB;AACA,MAAM,IAAI,SAAQ;AAClB;AACA,MAAM,IAAI,SAAQ;AAClB;AACA,MAAM,IAAI,MAAK;AACf;AACA,MAAM,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE;AACnC,QAAQA,QAAM,CAAC,SAAS,GAAG,MAAK;AAChC,QAAQ,KAAK,GAAGA,QAAM,CAAC,IAAI,CAAC,KAAK,EAAC;AAClC,QAAQ,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAC;AACzE;AACA,QAAQ,IAAI,QAAQ,EAAE;AACtB,UAAU,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAY,cAAc,GAAG,SAAQ;AACrC,WAAW,MAAM,IAAI,QAAQ,KAAK,GAAG,EAAE;AACvC,YAAY,KAAK,CAAC,EAAE,GAAG,SAAQ;AAC/B,WAAW,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;AACrD,YAAY,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAC;AAC1C,WAAW,MAAM;AACjB,YAAY,KAAK,CAAC,SAAS,GAAG,CAAC,QAAQ,EAAC;AACxC,WAAW;AACX;AACA,UAAU,KAAK,IAAI,QAAQ,CAAC,OAAM;AAClC,SAAS;AACT;AACA,QAAQ,IAAI,KAAK,EAAE;AACnB,UAAU,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAC;AAC7B,UAAU,KAAK,GAAE;AACjB,SAAS;AACT,OAAO;AACP;AACA,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,OAAO,EAAE,cAAc;AAC/B,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,QAAQ,EAAE,EAAE;AACpB,OAAO;AACP,KAAK;AACL;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,OAAK,CAAC,KAAK,EAAE;AAC7B,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,GAAE;AAC1C,EAAE,OAAO,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;AAClD;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,OAAK,CAAC,KAAK,EAAE;AAC7B;AACA,EAAE,IAAI,MAAM,GAAG,GAAE;AACjB,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,EAAC;AACjC,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAC;AAChC,EAAE,IAAI,KAAK,GAAG,EAAC;AACf;AACA,EAAE,IAAI,IAAG;AACT;AACA,EAAE,IAAI,MAAK;AACX;AACA,EAAE,OAAO,CAAC,GAAG,EAAE;AACf,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAM;AAC1B,MAAM,GAAG,GAAG,KAAI;AAChB,KAAK;AACL;AACA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,GAAE;AAC5C;AACA,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE;AACvB,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAC;AACxB,KAAK;AACL;AACA,IAAI,KAAK,GAAG,KAAK,GAAG,EAAC;AACrB,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAC;AACrC,GAAG;AACH;AACA,EAAE,OAAO,MAAM;AACf;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC;AAClE;AACA,MAAMnB,KAAG,GAAG,EAAE,CAAC,eAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACO,SAASoB,MAAI,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE;AAC5D,EAAE,MAAM,MAAM,GAAG,aAAa,IAAI,eAAe,CAAC,aAAa,EAAC;AAChE;AACA,EAAE,MAAM,CAAC;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,UAAU,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE;AACnD,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAC;AACtB;AACA,QAAQ,IAAI,KAAI;AAChB;AACA,QAAQ,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE;AACzD,UAAU,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAC;AAC7C;AACA,UAAU,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAC;AACtC,SAAS,MAAM;AACf,UAAU,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAC;AACxD;AACA,UAAU,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAE;AACnD,UAAU,IAAI,MAAM,IAAIpB,KAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AACxD,YAAY,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAC;AAC/C,WAAW;AACX;AACA;AACA,UAAU,IAAI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AACtD;AACA,YAAY,IAAI,IAAG;AACnB;AACA,YAAY,KAAK,GAAG,IAAI,UAAU,EAAE;AACpC,cAAc,IAAIA,KAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;AAC7C;AACA,gBAAgBqB,aAAW,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAC;AAC1E,eAAe;AACf,aAAa;AACb,WAAW,MAAM;AACjB,YAAY,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAC;AACxC,WAAW;AACX,SAAS;AACT;AACA;AACA,QAAQ,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE;AAC1C,UAAU,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAC;AAClD,SAAS;AACT;AACA,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;AACpE,UAAU,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC;AAChE,UAAU,IAAI,CAAC,QAAQ,GAAG,GAAE;AAC5B,SAAS;AACT;AACA,QAAQ,OAAO,IAAI;AACnB,OAAO;AACP,MAAK;AACL;AACA,EAAE,OAAO,CAAC;AACV,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;AACnC,EAAE;AACF,IAAI,KAAK,KAAK,IAAI;AAClB,IAAI,KAAK,KAAK,SAAS;AACvB,IAAI,OAAO,KAAK,KAAK,QAAQ;AAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACxB,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;AACA,EAAE,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AACzE,IAAI,OAAO,IAAI;AACf,GAAG;AACH;AACA,EAAE,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC5D,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;AACA,EAAE,IAAI,IAAI,KAAK,QAAQ,EAAE;AACzB,IAAI,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACpD,GAAG;AACH;AACA,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;AAC5B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE;AACrD,EAAE,MAAM,IAAI,GAAGR,MAAI,CAAC,MAAM,EAAE,GAAG,EAAC;AAChC,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,IAAI,OAAM;AACZ;AACA;AACA,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,MAAM;AACnD;AACA,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjC;AACA,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM;AACnC;AACA,IAAI,MAAM,GAAG,MAAK;AAClB,GAAG;AACH;AACA,OAAO,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AACvC,IAAI,MAAM,GAAG,MAAK;AAClB,GAAG;AACH;AACA,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACtC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AAC7B,MAAM,MAAM,GAAGS,OAAM,CAAC,KAAK,EAAC;AAC5B,KAAK,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE;AACpC,MAAM,MAAM,GAAGC,OAAM,CAAC,KAAK,EAAC;AAC5B,KAAK,MAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC3C,MAAM,MAAM,GAAGD,OAAM,CAACC,OAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC;AAC9C,KAAK,MAAM;AACX,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC;AACzD,KAAK;AACL,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACnC,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAE;AAC3B,GAAG,MAAM;AACT,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,EAAC;AACrE,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC7B;AACA,IAAI,MAAM,WAAW,GAAG,GAAE;AAC1B;AACA,IAAI,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;AACpC;AACA,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC;AAC7E,KAAK;AACL;AACA,IAAI,MAAM,GAAG,YAAW;AACxB,GAAG;AACH;AACA;AACA,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC5E;AACA,IAAI,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAC;AAChD,GAAG;AACH;AACA,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAM;AACpC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE;AAChC,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAE1C,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAC;AACpD,GAAG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACnC,IAAI,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE;AACnC,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAC;AACnC,KAAK;AACL,GAAG,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE;AAC3D,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AAC/B,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAC;AACrC,KAAK,MAAM;AACX,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC;AACvB,KAAK;AACL,GAAG,MAAM;AACT,IAAI,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,KAAK,GAAG,GAAG,CAAC;AAC3E,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;AAC3C,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;AAC9D,MAAM,OAAO,MAAM,CAAC,KAAK,CAAC;AAC1B,KAAK;AACL;AACA,IAAI;AACJ,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB;AAC7C,OAAO,KAAK,KAAK,EAAE,IAAItC,WAAS,CAAC,KAAK,CAAC,KAAKA,WAAS,CAAC,IAAI,CAAC,CAAC;AAC5D,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,KAAK;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,CAAC,KAAK,EAAE;AACtB;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB;AACA,EAAE,IAAI,IAAG;AACT;AACA,EAAE,KAAK,GAAG,IAAI,KAAK,EAAE;AACrB,IAAI,IAAIe,KAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;AAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;AAC/C,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,MAAM,EAAE;AACjC;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;AAClC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAC;AACvD,GAAG;AACH;AACA,EAAE,OAAO,MAAM;AACf;;AC9RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACO,MAAMwB,GAAC,GAAGJ,MAAI,CAACZ,MAAI,EAAE,KAAK;;ACbjC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAC;AACpD;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,GAAG,EAAE;AACpC,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,GAAE;AAChC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAC;AAC7B;AACA,EAAE,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE;AACtC,IAAI,OAAO,GAAG;AACd,GAAG;AACH;AACA,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAC;AAChC,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACpB,IAAI,OAAO,GAAG;AACd,GAAG;AACH;AACA,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE;AACrC,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAC;AACrC;AACA,IAAI;AACJ,MAAM,KAAK,KAAK,QAAQ,CAAC,MAAM;AAC/B,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ;AAC9D,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,KAAK;AACL,GAAG;AACH;AACA,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAC;AAC1B,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE;AACrC,IAAI,OAAO,GAAG;AACd,GAAG;AACH;AACA,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAC;AAC1B,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE;AACrC,IAAI,OAAO,GAAG;AACd,GAAG;AACH;AACA;AACA,EAAE,OAAO,oBAAoB;AAC7B;;;;;;;;;ICrCA,QAAc,GAAG,SAAS,QAAQ,EAAE,GAAG,EAAE;AACzC,EAAE,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI;AAC/C,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,QAAQ,KAAK,UAAU,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;AACnF;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,iBAAiB,CAAC,KAAK,EAAE;AACzC;AACA,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3C,IAAI,OAAO,EAAE;AACb,GAAG;AACH;AACA;AACA,EAAE,IAAI,UAAU,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,EAAE;AAC9C,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;AACnC,GAAG;AACH;AACA;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE;AAC1C,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC;AAC1B,GAAG;AACH;AACA;AACA,EAAE,IAAI,MAAM,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE;AAC5C,IAAI,OAAOiB,OAAK,CAAC,KAAK,CAAC;AACvB,GAAG;AACH;AACA;AACA,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAASA,OAAK,CAAC,KAAK,EAAE;AACtB,EAAE,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;AACxE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvB,EAAE,OAAOA,OAAK,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAGA,OAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;AAC9D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,CAAC,KAAK,EAAE;AACtB,EAAE,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,CAAC;AACvD;;AC7DA;AACA;AACA;AACA;AACA;AACA;AAGA;AACO,MAAMC,cAAY,SAAS,KAAK,CAAC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AACrC;AACA,IAAI,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAC;AAC9B;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB;AACA,MAAM,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;AACvC;AACA,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;AACrC,MAAK;AACL;AACA,IAAI,KAAK,GAAE;AACX;AACA,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,MAAM,GAAG,MAAK;AACpB,MAAM,KAAK,GAAG,UAAS;AACvB,KAAK;AACL;AACA,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACpC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAC;AACvC;AACA,MAAM,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AACxB,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,OAAM;AACzB,OAAO,MAAM;AACb,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAC;AACzC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAC;AAC1C,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,KAAK,EAAE;AACf;AACA,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,EAAE;AAClD,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;AAC5B,UAAU,QAAQ,GAAG,KAAK,CAAC,SAAQ;AACnC,SAAS;AACT,OAAO;AACP;AACA,WAAW,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE;AACnD,QAAQ,QAAQ,GAAG,MAAK;AACxB,OAAO;AACP;AACA,WAAW,IAAI,MAAM,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE;AACrD,QAAQ,QAAQ,CAAC,KAAK,GAAG,MAAK;AAC9B,OAAO;AACP,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,MAAK;AACjD,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,OAAM;AACvE,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,GAAE;AAC/D;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAO;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAK;AACd;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAI;AACnC;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAM;AACvC;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,EAAC;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,EAAC;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,SAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAM;AACf;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAQ;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAI;AACb;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAG;AACZ;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAI;AACb;AACA,GAAG;AACH,CAAC;AACD;AACAA,cAAY,CAAC,SAAS,CAAC,IAAI,GAAG,GAAE;AAChCA,cAAY,CAAC,SAAS,CAAC,IAAI,GAAG,GAAE;AAChCA,cAAY,CAAC,SAAS,CAAC,MAAM,GAAG,GAAE;AAClCA,cAAY,CAAC,SAAS,CAAC,OAAO,GAAG,GAAE;AACnCA,cAAY,CAAC,SAAS,CAAC,KAAK,GAAG,GAAE;AACjCA,cAAY,CAAC,SAAS,CAAC,KAAK,GAAG,KAAI;AACnCA,cAAY,CAAC,SAAS,CAAC,MAAM,GAAG,KAAI;AACpCA,cAAY,CAAC,SAAS,CAAC,IAAI,GAAG,KAAI;AAClCA,cAAY,CAAC,SAAS,CAAC,MAAM,GAAG,KAAI;AACpCA,cAAY,CAAC,SAAS,CAAC,MAAM,GAAG,KAAI;AACpCA,cAAY,CAAC,SAAS,CAAC,QAAQ,GAAG;;ACzJlC;IACAC,SAAc,GAAGC,cAAM,CAAC,OAAO;;;;;;;;;ACA9B,CAAC,SAAS,IAAI,EAAE;AACjB;AACA;AACA,CAAC,IAAI,WAAW,GAAiC,OAAO;AACxD,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;AAC/B,CAAC,IAAI,UAAU,GAAgC,MAAM;AACrD,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;AAC7B,CAAC,IAAI,UAAU,GAAG,OAAOA,cAAM,IAAI,QAAQ,IAAIA,cAAM,CAAC;AACtD,CAAC;AACD,EAAE,UAAU,CAAC,MAAM,KAAK,UAAU;AAClC,EAAE,UAAU,CAAC,MAAM,KAAK,UAAU;AAClC,EAAE,UAAU,CAAC,IAAI,KAAK,UAAU;AAChC,GAAG;AACH,EAAE,IAAI,GAAG,UAAU,CAAC;AACpB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,IAAI,QAAQ;AACb;AACA;AACA,CAAC,MAAM,GAAG,UAAU;AACpB;AACA;AACA,CAAC,IAAI,GAAG,EAAE;AACV,CAAC,IAAI,GAAG,CAAC;AACT,CAAC,IAAI,GAAG,EAAE;AACV,CAAC,IAAI,GAAG,EAAE;AACV,CAAC,IAAI,GAAG,GAAG;AACX,CAAC,WAAW,GAAG,EAAE;AACjB,CAAC,QAAQ,GAAG,GAAG;AACf,CAAC,SAAS,GAAG,GAAG;AAChB;AACA;AACA,CAAC,aAAa,GAAG,OAAO;AACxB,CAAC,aAAa,GAAG,cAAc;AAC/B,CAAC,eAAe,GAAG,2BAA2B;AAC9C;AACA;AACA,CAAC,MAAM,GAAG;AACV,EAAE,UAAU,EAAE,iDAAiD;AAC/D,EAAE,WAAW,EAAE,gDAAgD;AAC/D,EAAE,eAAe,EAAE,eAAe;AAClC,EAAE;AACF;AACA;AACA,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI;AAC5B,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AACnB,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY;AACzC;AACA;AACA,CAAC,GAAG,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE;AACtB,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE;AACzB,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAC5B,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,OAAO,MAAM,EAAE,EAAE;AACnB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE;AAChC,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB;AACA;AACA,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3B,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACrB,GAAG;AACH;AACA,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACnD,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjC,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,EAAE,OAAO,MAAM,GAAG,OAAO,CAAC;AAC1B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,UAAU,CAAC,MAAM,EAAE;AAC7B,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,MAAM,OAAO,GAAG,CAAC;AACjB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;AAC5B,MAAM,KAAK;AACX,MAAM,KAAK,CAAC;AACZ,EAAE,OAAO,OAAO,GAAG,MAAM,EAAE;AAC3B,GAAG,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AACxC,GAAG,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,OAAO,GAAG,MAAM,EAAE;AAC/D;AACA,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AACzC,IAAI,IAAI,CAAC,KAAK,GAAG,MAAM,KAAK,MAAM,EAAE;AACpC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;AACtE,KAAK,MAAM;AACX;AACA;AACA,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,KAAK,OAAO,EAAE,CAAC;AACf,KAAK;AACL,IAAI,MAAM;AACV,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvB,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,UAAU,CAAC,KAAK,EAAE;AAC5B,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE;AACpC,GAAG,IAAI,MAAM,GAAG,EAAE,CAAC;AACnB,GAAG,IAAI,KAAK,GAAG,MAAM,EAAE;AACvB,IAAI,KAAK,IAAI,OAAO,CAAC;AACrB,IAAI,MAAM,IAAI,kBAAkB,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;AAChE,IAAI,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AACnC,IAAI;AACJ,GAAG,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACvC,GAAG,OAAO,MAAM,CAAC;AACjB,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,YAAY,CAAC,SAAS,EAAE;AAClC,EAAE,IAAI,SAAS,GAAG,EAAE,GAAG,EAAE,EAAE;AAC3B,GAAG,OAAO,SAAS,GAAG,EAAE,CAAC;AACzB,GAAG;AACH,EAAE,IAAI,SAAS,GAAG,EAAE,GAAG,EAAE,EAAE;AAC3B,GAAG,OAAO,SAAS,GAAG,EAAE,CAAC;AACzB,GAAG;AACH,EAAE,IAAI,SAAS,GAAG,EAAE,GAAG,EAAE,EAAE;AAC3B,GAAG,OAAO,SAAS,GAAG,EAAE,CAAC;AACzB,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;AACpC;AACA;AACA,EAAE,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE;AAC7C,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACZ,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;AACvD,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;AACpC,EAAE,8BAA8B,KAAK,GAAG,aAAa,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE;AAC9E,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC;AACxC,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AACjE,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE;AACxB;AACA,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM;AAChC,MAAM,GAAG;AACT,MAAM,CAAC,GAAG,CAAC;AACX,MAAM,CAAC,GAAG,QAAQ;AAClB,MAAM,IAAI,GAAG,WAAW;AACxB,MAAM,KAAK;AACX,MAAM,CAAC;AACP,MAAM,KAAK;AACX,MAAM,IAAI;AACV,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,KAAK;AACX,MAAM,CAAC;AACP;AACA,MAAM,UAAU,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACvC,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE;AACjB,GAAG,KAAK,GAAG,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE;AAC9B;AACA,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;AACpC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AACvB,IAAI;AACJ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,KAAK,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,6BAA6B;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,sBAAsB,CAAC,IAAI,IAAI,EAAE;AAClE;AACA,IAAI,IAAI,KAAK,IAAI,WAAW,EAAE;AAC9B,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACpD;AACA,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;AAC1D,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;AACvB,KAAK;AACL;AACA,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AACnB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AAChE;AACA,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;AACnB,KAAK,MAAM;AACX,KAAK;AACL;AACA,IAAI,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;AAC1B,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE;AACxC,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;AACvB,KAAK;AACL;AACA,IAAI,CAAC,IAAI,UAAU,CAAC;AACpB;AACA,IAAI;AACJ;AACA,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3B,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC1C;AACA;AACA;AACA,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE;AACpC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AACtB,IAAI;AACJ;AACA,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACvB,GAAG,CAAC,IAAI,GAAG,CAAC;AACZ;AACA;AACA,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B;AACA,GAAG;AACH;AACA,EAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,MAAM,CAAC,KAAK,EAAE;AACxB,EAAE,IAAI,CAAC;AACP,MAAM,KAAK;AACX,MAAM,cAAc;AACpB,MAAM,WAAW;AACjB,MAAM,IAAI;AACV,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,YAAY;AAClB,MAAM,MAAM,GAAG,EAAE;AACjB;AACA,MAAM,WAAW;AACjB;AACA,MAAM,qBAAqB;AAC3B,MAAM,UAAU;AAChB,MAAM,OAAO,CAAC;AACd;AACA;AACA,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC5B;AACA;AACA,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;AAC7B;AACA;AACA,EAAE,CAAC,GAAG,QAAQ,CAAC;AACf,EAAE,KAAK,GAAG,CAAC,CAAC;AACZ,EAAE,IAAI,GAAG,WAAW,CAAC;AACrB;AACA;AACA,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;AACpC,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,GAAG,IAAI,YAAY,GAAG,IAAI,EAAE;AAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;AAClD,IAAI;AACJ,GAAG;AACH;AACA,EAAE,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;AAC/C;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,WAAW,EAAE;AACnB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1B,GAAG;AACH;AACA;AACA,EAAE,OAAO,cAAc,GAAG,WAAW,EAAE;AACvC;AACA;AACA;AACA,GAAG,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;AACjD,IAAI,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE;AAC/C,KAAK,CAAC,GAAG,YAAY,CAAC;AACtB,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA,GAAG,qBAAqB,GAAG,cAAc,GAAG,CAAC,CAAC;AAC9C,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,IAAI,qBAAqB,CAAC,EAAE;AAChE,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AACtB,IAAI;AACJ;AACA,GAAG,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC;AAC5C,GAAG,CAAC,GAAG,CAAC,CAAC;AACT;AACA,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;AACrC,IAAI,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5B;AACA,IAAI,IAAI,YAAY,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,EAAE;AAC9C,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;AACvB,KAAK;AACL;AACA,IAAI,IAAI,YAAY,IAAI,CAAC,EAAE;AAC3B;AACA,KAAK,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,sBAAsB,CAAC,IAAI,IAAI,EAAE;AAC9D,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AAClE,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;AACjB,OAAO,MAAM;AACb,OAAO;AACP,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC;AAC5B,MAAM,MAAM,CAAC,IAAI;AACjB,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,GAAG,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;AACpE,OAAO,CAAC;AACR,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;AACtC,MAAM;AACN;AACA,KAAK,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,cAAc,IAAI,WAAW,CAAC,CAAC;AAC/E,KAAK,KAAK,GAAG,CAAC,CAAC;AACf,KAAK,EAAE,cAAc,CAAC;AACtB,KAAK;AACL,IAAI;AACJ;AACA,GAAG,EAAE,KAAK,CAAC;AACX,GAAG,EAAE,CAAC,CAAC;AACP;AACA,GAAG;AACH,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,SAAS,CAAC,KAAK,EAAE;AAC3B,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE;AAC3C,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3C,MAAM,MAAM,CAAC;AACb,GAAG,CAAC,CAAC;AACL,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE;AACzB,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE;AAC3C,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC7B,MAAM,MAAM,CAAC;AACb,GAAG,CAAC,CAAC;AACL,EAAE;AACF;AACA;AACA;AACA;AACA,CAAC,QAAQ,GAAG;AACZ;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,EAAE,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAE;AACV,GAAG,QAAQ,EAAE,UAAU;AACvB,GAAG,QAAQ,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,QAAQ,EAAE,MAAM;AAClB,EAAE,QAAQ,EAAE,MAAM;AAClB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,WAAW,EAAE,SAAS;AACxB,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA,CAQQ,IAAI,WAAW,IAAI,UAAU,EAAE;AACvC,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,WAAW,EAAE;AACrC,GAAG,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC;AACjC,GAAG,MAAM;AACT,GAAG,KAAK,GAAG,IAAI,QAAQ,EAAE;AACzB,IAAI,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,IAAI;AACJ,GAAG;AACH,EAAE,MAAM;AACR,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3B,EAAE;AACF;AACA,CAAC,CAACC,cAAI,CAAC;;;IC/gBPC,MAAc,GAAG;AACjB,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE;AAC1B,IAAI,OAAO,OAAO,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpC,GAAG;AACH,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE;AAC1B,IAAI,OAAO,OAAO,GAAG,CAAC,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC;AACpD,GAAG;AACH,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE;AACxB,IAAI,OAAO,GAAG,KAAK,IAAI,CAAC;AACxB,GAAG;AACH,EAAE,iBAAiB,EAAE,SAAS,GAAG,EAAE;AACnC,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC;AACvB,GAAG;AACH,CAAC;;ACQD,IAAI,QAAQ,GAAGC,kBAAmB,CAAC;AACnC,IAAI,IAAI,GAAGC,MAAiB,CAAC;AAC7B;SACa,GAAG,SAAS;WACV,GAAG,WAAW;iBACR,GAAG,iBAAiB;UAC3B,GAAG,UAAU;AAC3B;OACW,GAAG,IAAI;AAClB;AACA,SAAS,GAAG,GAAG;AACf,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACvB,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACtB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACvB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACrB,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACpB,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACvB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,mBAAmB;AACzC,IAAI,WAAW,GAAG,UAAU;AAC5B;AACA;AACA,IAAI,iBAAiB,GAAG,oCAAoC;AAC5D;AACA;AACA;AACA,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACxD;AACA;AACA,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AAC3D;AACA;AACA,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACtC;AACA;AACA;AACA;AACA,IAAI,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;AAC/D,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACrC,IAAI,cAAc,GAAG,GAAG;AACxB,IAAI,mBAAmB,GAAG,wBAAwB;AAClD,IAAI,iBAAiB,GAAG,8BAA8B;AACtD;AACA,IAAI,cAAc,GAAG;AACrB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,aAAa,EAAE,IAAI;AACzB,KAAK;AACL;AACA,IAAI,gBAAgB,GAAG;AACvB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,aAAa,EAAE,IAAI;AACzB,KAAK;AACL;AACA,IAAI,eAAe,GAAG;AACtB,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,KAAK,EAAE,IAAI;AACjB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,SAAS,EAAE,IAAI;AACrB,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK;AACL,IAAI,WAAW,GAAG,UAAsB,CAAC;AACzC;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE,gBAAgB,EAAE,iBAAiB,EAAE;AAC5D,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,GAAG,EAAE,OAAO,GAAG,CAAC;AAClE;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;AAClB,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;AACpD,EAAE,OAAO,CAAC,CAAC;AACX,CAAC;AACD;AACA,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,GAAG,EAAE,gBAAgB,EAAE,iBAAiB,EAAE;AACzE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC3B,IAAI,MAAM,IAAI,SAAS,CAAC,wCAAwC,GAAG,OAAO,GAAG,CAAC,CAAC;AAC/E,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,IAAI,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AACnC,MAAM,QAAQ;AACd,UAAU,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG;AAC1E,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;AAClC,MAAM,UAAU,GAAG,KAAK,CAAC;AACzB,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACjD,EAAE,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B;AACA,EAAE,IAAI,IAAI,GAAG,GAAG,CAAC;AACjB;AACA;AACA;AACA,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACrB;AACA,EAAE,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACzD;AACA,IAAI,IAAI,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACvB,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACvB,MAAM,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACpC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACpC,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,UAAU,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,SAAS,MAAM;AACf,UAAU,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7C,SAAS;AACT,OAAO,MAAM,IAAI,gBAAgB,EAAE;AACnC,QAAQ,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACzB,QAAQ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACxB,OAAO;AACP,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACrB,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AACzC,IAAI,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACrC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,iBAAiB,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE;AACxE,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;AAC7C,IAAI,IAAI,OAAO,IAAI,EAAE,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE;AACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5B,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC1B,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC9B,OAAO,OAAO,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;AACrB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC;AACzD,QAAQ,OAAO,GAAG,GAAG,CAAC;AACtB,KAAK;AACL;AACA;AACA;AACA,IAAI,IAAI,IAAI,EAAE,MAAM,CAAC;AACrB,IAAI,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;AACxB;AACA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACrC,KAAK,MAAM;AACX;AACA;AACA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9C,KAAK;AACL;AACA;AACA;AACA,IAAI,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;AACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,MAAM,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC3C,KAAK;AACL;AACA;AACA,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;AACjB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC;AACzD,QAAQ,OAAO,GAAG,GAAG,CAAC;AACtB,KAAK;AACL;AACA,IAAI,IAAI,OAAO,KAAK,CAAC,CAAC;AACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;AAC5B;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACvC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B;AACA;AACA,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;AACrB;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC;AACA;AACA;AACA,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;AAC/C,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;AACxD;AACA;AACA,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChD,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxD,QAAQ,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,IAAI,EAAE,SAAS;AAC5B,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;AAC9C,UAAU,IAAI,OAAO,GAAG,EAAE,CAAC;AAC3B,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACvD,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE;AAC1C;AACA;AACA;AACA,cAAc,OAAO,IAAI,GAAG,CAAC;AAC7B,aAAa,MAAM;AACnB,cAAc,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACjC,aAAa;AACb,WAAW;AACX;AACA,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;AACnD,YAAY,IAAI,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,YAAY,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,YAAY,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACpD,YAAY,IAAI,GAAG,EAAE;AACrB,cAAc,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,cAAc,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,aAAa;AACb,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE;AAChC,cAAc,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACpD,aAAa;AACb,YAAY,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD,YAAY,MAAM;AAClB,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,cAAc,EAAE;AAC/C,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACzB,KAAK,MAAM;AACX;AACA,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAClD,KAAK;AACL;AACA,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB;AACA;AACA;AACA;AACA,MAAM,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtD,KAAK;AACL;AACA,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAC7C,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AAChC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;AAC3B;AACA;AACA;AACA,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAC3B,QAAQ,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1B,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;AACnC;AACA;AACA;AACA;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACvD,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,SAAS;AACjB,MAAM,IAAI,GAAG,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACvC,MAAM,IAAI,GAAG,KAAK,EAAE,EAAE;AACtB,QAAQ,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AACzB,OAAO;AACP,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC/B,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;AACnB;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,GAAG;AACH,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC7B,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACjB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClC,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACrC,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjD,KAAK;AACL,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7B,GAAG,MAAM,IAAI,gBAAgB,EAAE;AAC/B;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACpB,GAAG;AACH,EAAE,IAAI,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACjC,EAAE,IAAI,eAAe,CAAC,UAAU,CAAC;AACjC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACvC,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AACxB,GAAG;AACH;AACA;AACA,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;AACpC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AAChC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AAC9B,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,GAAG;AACH;AACA;AACA,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC5B,EAAE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF;AACA;AACA,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB;AACA;AACA;AACA;AACA,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9C,EAAE,IAAI,EAAE,GAAG,YAAY,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnE,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;AACtB,CAAC;AACD;AACA,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,WAAW;AAClC,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAC7B,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACrC,IAAI,IAAI,IAAI,GAAG,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE;AACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE;AACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;AAC5B,MAAM,IAAI,GAAG,KAAK;AAClB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB;AACA,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;AACjB,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC5B,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC5B,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpD,QAAQ,IAAI,CAAC,QAAQ;AACrB,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AACnC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;AAC9B,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,KAAK;AAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/B,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;AACtC,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9C,GAAG;AACH;AACA,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7D;AACA,EAAE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,QAAQ,IAAI,GAAG,CAAC;AAC/D;AACA;AACA;AACA,EAAE,IAAI,IAAI,CAAC,OAAO;AAClB,MAAM,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE;AAClE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;AAC/B,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;AAC1E,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AACpB,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,GAAG;AACH;AACA,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AACxD,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;AAChE;AACA,EAAE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE;AACvD,IAAI,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACrC,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACtC;AACA,EAAE,OAAO,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;AACpD,CAAC,CAAC;AACF;AACA,SAAS,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE;AACtC,EAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AACD;AACA,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,QAAQ,EAAE;AAC3C,EAAE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACtE,CAAC,CAAC;AACF;AACA,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC5C,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,QAAQ,CAAC;AAC/B,EAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AACD;AACA,GAAG,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,QAAQ,EAAE;AACjD,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC/B,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;AACxB,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACrC,IAAI,QAAQ,GAAG,GAAG,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;AACzB,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC5C,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACzB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,GAAG;AACH;AACA;AACA;AACA,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC9B;AACA;AACA,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE;AAC5B,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;AAClC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA;AACA,EAAE,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC9C;AACA,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC9C,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3B,MAAM,IAAI,IAAI,KAAK,UAAU;AAC7B,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtC,KAAK;AACL;AACA;AACA,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,QAAQ,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC7C,MAAM,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;AAC1C,KAAK;AACL;AACA,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;AAClC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC7C,MAAM,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5C,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChC,OAAO;AACP,MAAM,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;AACpC,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL;AACA,IAAI,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;AACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAChE,MAAM,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACzD,MAAM,OAAO,OAAO,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;AAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;AACrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjD,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAClD,MAAM,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAC1C,KAAK;AACL,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACpC,IAAI,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAClC,IAAI,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;AACtC,IAAI,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAChC,IAAI,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC;AACzD,IAAI,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAChC;AACA,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE;AAC1C,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;AACpC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;AAClC,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1B,KAAK;AACL,IAAI,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;AACxD,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;AAClC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC1E,MAAM,QAAQ;AACd,UAAU,QAAQ,CAAC,IAAI;AACvB,UAAU,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;AAClE,OAAO;AACP,MAAM,UAAU,IAAI,QAAQ,IAAI,WAAW;AAC3C,qBAAqB,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD,MAAM,aAAa,GAAG,UAAU;AAChC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;AACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;AACvE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;AACzB,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACvB,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;AACrB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;AACtD,WAAW,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,KAAK;AACL,IAAI,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE;AAC3B,MAAM,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC/B,MAAM,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAC3B,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;AACzB,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC1D,aAAa,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5C,OAAO;AACP,MAAM,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAC3B,KAAK;AACL,IAAI,UAAU,GAAG,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACxE,GAAG;AACH;AACA,EAAE,IAAI,QAAQ,EAAE;AAChB;AACA,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE;AACxD,kBAAkB,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC9C,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,EAAE;AACpE,sBAAsB,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC1D,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACpC,IAAI,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAClC,IAAI,OAAO,GAAG,OAAO,CAAC;AACtB;AACA,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC7B;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC;AAC/B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAClB,IAAI,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACpC,IAAI,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAClC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACvD;AACA;AACA;AACA,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;AACtD;AACA;AACA;AACA,MAAM,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AAClE,uBAAuB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACtD,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;AACzC,QAAQ,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;AAC3D,OAAO;AACP,KAAK;AACL,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACpC,IAAI,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAClC;AACA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AACtE,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE;AAC3D,qBAAqB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;AAClC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACvB;AACA;AACA,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC3B;AACA,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE;AACvB,MAAM,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACxC,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,KAAK;AACL,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;AAClC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,EAAE,IAAI,gBAAgB;AACtB,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;AACzD,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;AACtD;AACA;AACA;AACA,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACb,EAAE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACtB,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;AACtB,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9B,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,MAAM,EAAE,EAAE,CAAC;AACX,KAAK,MAAM,IAAI,EAAE,EAAE;AACnB,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,MAAM,EAAE,EAAE,CAAC;AACX,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,EAAE;AACrC,IAAI,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AACrB,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5B,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;AACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;AACrD,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;AAClE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,GAAG;AACH;AACA,EAAE,IAAI,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;AACpC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACnD;AACA;AACA,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE;AACnD,oCAAoC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;AAC1E;AACA;AACA;AACA,IAAI,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AAChE,qBAAqB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACpD,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;AACvC,MAAM,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;AACzD,KAAK;AACL,GAAG;AACH;AACA,EAAE,UAAU,GAAG,UAAU,KAAK,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7D;AACA,EAAE,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE;AACjC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACvB,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC3B,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACvB,GAAG,MAAM;AACT,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,GAAG;AACH;AACA;AACA,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AACpE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE;AACzD,mBAAmB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACvD,GAAG;AACH,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;AAC7C,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;AACtD,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;AAChC,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AACF;AACA,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,WAAW;AACrC,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACvB,EAAE,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;AACtB,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AACrD,GAAG;AACH,EAAE,IAAI,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACjC,CAAC;;AC3tBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,OAAK,CAAC,aAAa,EAAE;AACrC,EAAE;AACF,IAAI,aAAa,KAAK,IAAI;AAC1B,IAAI,OAAO,aAAa,KAAK,QAAQ;AACrC;AACA,IAAI,aAAa,CAAC,IAAI;AACtB;AACA,IAAI,aAAa,CAAC,MAAM;AACxB,GAAG;AACH;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA,MAAMC,OAAK,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAC;AAC3E;AACO,MAAMC,OAAK,CAAC;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB;AACA,IAAI,IAAI,QAAO;AACf;AACA,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,MAAM,OAAO,GAAG,GAAE;AAClB,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAIC,QAAM,CAAC,KAAK,CAAC,EAAE;AAC3D;AACA,MAAM,OAAO,GAAG,CAAC,KAAK,EAAC;AACvB,KAAK,MAAM,IAAIH,OAAK,CAAC,KAAK,CAAC,EAAE;AAC7B,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,EAAC;AAC7B,KAAK,MAAM;AACX;AACA,MAAM,OAAO,GAAG,MAAK;AACrB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,GAAE;AAClB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,GAAE;AACrB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,GAA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O,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,EAAC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,GAAG,UAAU,CAAC,qBAAqB,EAAC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,YAAY,CAAC,IAAI,EAAE;AACnC,EAAE;AACF;AACA;AACA,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC;AAChD,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,yBAAyB,CAAC,IAAI,EAAE;AAChD,EAAE,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;AACnD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACzC,EAAE,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;AACnC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,IAAI,EAAE;AACpC,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,EAAE;AAClD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,EAAC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,kBAAkB,GAAG,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M;AACR,EAAE,KAAK;AACP,EAAE,IAAI;AACN,EAAE,aAAa;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,kBAAkB,EAAE,MAAM;AAC5B,EAAC;AACD;AACA;AACA,SAAS,MAAM,GAAG;AAClB,EAAE,OAAO,IAAI;AACb;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACA,MAAMR,KAAG,GAAG,EAAE,CAAC,eAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE;AAChC,EAAE,MAAM,QAAQ,GAAG,OAAO,IAAI,GAAE;AAChC,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,IAAI,MAAK;AACxD;AACA,EAAE,MAAM,YAAY,GAAG,GAAE;AACzB;AACA,EAAE,CAAC,CAAC,SAAS,GAAG,UAAS;AACzB,EAAE,CAAC,CAAC,aAAa;AACjB,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI;AAC3E,QAAQ,eAAe;AACvB,QAAQ,QAAQ,CAAC,cAAa;AAC9B,EAAE,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,IAAI,YAAW;AACzD,EAAE,CAAC,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,IAAI,kBAAiB;AACvE,EAAE,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,EAAC;AAClC,EAAE,CAAC,CAAC,YAAY,GAAG,aAAY;AAC/B;AACA,EAAE,CAAC,CAAC,aAAa,GAAG,GAAE;AACtB;AACA,EAAE,CAAC,CAAC,cAAc,GAAG,GAAE;AACvB,EAAE,CAAC,CAAC,OAAO,GAAG,QAAO;AACrB,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAC;AAClD,EAAE,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,eAAc;AAC5C,EAAE,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,YAAW;AACtC;AACA,EAAEqE,OAAK,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC,UAAU,KAAK;AACpD,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,GAAE;AAC1D;AACA;AACA;AACA,IAAI,IAAI,CAACrE,KAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;AACrC,MAAM,YAAY,CAAC,EAAE,CAAC,GAAG,WAAU;AACnC,KAAK;AACL,GAAG,EAAC;AACJ;AACA;AACA,EAAE,OAAO,CAAC;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;AAChC;AACA,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AAC7C;AACA,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,KAAI;AAC5B;AACA,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE;AACtB,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;AACtC,UAAU,KAAK,GAAG;AAClB,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,UAAU,EAAE,EAAE;AAC1B,YAAY,QAAQ,EAAE,EAAE;AACxB,YAAW;AACX,SAAS;AACT;AACA,QAAQ,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAK;AAClC,OAAO;AACP;AACA,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;AACxD,QAAQ,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,EAAC;AACrE,OAAO;AACP;AACA,MAAM,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;AACnE,QAAQ,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAS;AACvC,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAC;AAC1D;AACA,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;AAC3B;AACA,QAAQ,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAC;AACrE,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC7C,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,MAAM,QAAQ,GAAG,MAAK;AACtB,MAAM,KAAK,GAAG,GAAE;AAChB,KAAK;AACL;AACA;AACA,IAAI,OAAO,OAAO,CAAC,IAAI,EAAE;AACzB,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,OAAO;AACb,MAAM,UAAU,EAAE,KAAK,IAAI,EAAE;AAC7B,MAAM,QAAQ,EAAE,QAAQ,IAAI,EAAE;AAC9B,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE;AACtC,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,EAAC;AAClC,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAC;AACjC,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAC;AACxB;AACA,EAAE,IAAI,IAAI,EAAE;AACZ;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC0D,GAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAC;AAC7C,GAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI;AACpE;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;AACA,IAAI,UAAU,WAAW,EAAE,OAAO,EAAE;AACpC,MAAM,OAAO,WAAW,IAAI,KAAK,IAAI,WAAW;AAChD,UAAU,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;AACtC,UAAU,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC;AACxC,KAAK;AACL,IAAG;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE;AACtC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK;AAC/B,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK;AAC5D,MAAM,IAAI,CAAC,KAAK,EAAC;AACjB,KAAK,EAAC;AACN,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,OAAO,EAAE;AACzB;AACA,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;AACxC;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,MAAM,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;AACvC,IAAI,IAAI,CAAC,QAAQ,GAAG,SAAQ;AAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,OAAM;AACxB,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,IAAI,CAAC,KAAK,GAAG,MAAK;AACxB,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,GAAE;AAC9B;AACA,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,GAAE;AAC5B;AACA,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG;;AC3BzB;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE;AAC1C;AACA,EAAE,MAAM,QAAQ,GAAG,GAAE;AACrB;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE;AACvC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAC;AACxD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,EAAC;AACpD,GAAG;AACH;AACA,EAAE,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;AAC5C;;ACzBA;AACA;AACA;AACA;AACO,SAAS,SAAS,CAAC,KAAK,EAAE;AACjC,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE;AAC5B;;ACNO,MAAM,IAAI,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE;AACnC;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,SAAQ;AAC5B;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,UAAS;AAC9B,GAAG;AACH,CAAC;AACD;AACA;AACA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAI;AAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,MAAK;AAC9B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,MAAK;AACjC,IAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,MAAK;AACxC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,MAAK;AAC7B,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,MAAK;AACrC,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,MAAK;AACrC,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,MAAK;AAC5C,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,MAAK;AACtC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG;;ACxBzB,IAAI,MAAM,GAAG,EAAC;AACd;AACO,MAAM,OAAO,GAAG,SAAS,GAAE;AAC3B,MAAM,UAAU,GAAG,SAAS,GAAE;AAC9B,MAAM,iBAAiB,GAAG,SAAS,GAAE;AACrC,MAAM,MAAM,GAAG,SAAS,GAAE;AAC1B,MAAM,cAAc,GAAG,SAAS,GAAE;AAClC,MAAM,cAAc,GAAG,SAAS,GAAE;AAClC,MAAM,qBAAqB,GAAG,SAAS,GAAE;AAChD;AACA,SAAS,SAAS,GAAG;AACrB,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM;AACtB;;;;;;;;;;;;;ACTA;AACA;AACA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAC;AACjC;AACO,MAAM,WAAW,SAAS,IAAI,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;AAChD,IAAI,IAAI,KAAK,GAAG,CAAC,EAAC;AAClB;AACA,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAC;AAC9B;AACA,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC;AAC9B;AACA,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAClC,MAAM,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;AACtC,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAC;AACnC,QAAQ,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,EAAC;AACzE,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,KAAI;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE;AAClC,EAAE,IAAI,KAAK,EAAE;AACb;AACA,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAK;AACvB,GAAG;AACH;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA,MAAM1D,KAAG,GAAG,EAAE,CAAC,eAAc;AAC7B;AACA;AACA;AACA;AACA;AACO,SAAS,MAAM,CAAC,UAAU,EAAE;AACnC;AACA,EAAE,MAAM,QAAQ,GAAG,GAAE;AACrB;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB;AACA,EAAE,IAAI,KAAI;AACV;AACA,EAAE,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE;AACtC,IAAI,IAAIA,KAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;AAC/C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAC;AAC/C,MAAM,MAAM,IAAI,GAAG,IAAI,WAAW;AAClC,QAAQ,IAAI;AACZ,QAAQ,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC;AAC/D,QAAQ,KAAK;AACb,QAAQ,UAAU,CAAC,KAAK;AACxB,QAAO;AACP;AACA,MAAM;AACN,QAAQ,UAAU,CAAC,eAAe;AAClC,QAAQ,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjD,QAAQ;AACR,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAI;AACnC,OAAO;AACP;AACA,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAI;AAC3B;AACA,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;AACpC,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AAC9C,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;AACvD;;ACvDO,MAAM,KAAK,GAAG,MAAM,CAAC;AAC5B,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE;AACrB,IAAI,OAAO,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACjD,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,SAAS,EAAE,IAAI;AACnB,GAAG;AACH,CAAC;;ACdM,MAAM,GAAG,GAAG,MAAM,CAAC;AAC1B,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE;AACrB,IAAI,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC/C,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC5D,CAAC;;ACRD;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE;AAC9D,EAAE,OAAO,SAAS,IAAI,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS;AACpE;;ACLA;AACA;AACA;AACA;AACA;AACO,SAAS,wBAAwB,CAAC,UAAU,EAAE,QAAQ,EAAE;AAC/D,EAAE,OAAO,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;AACnE;;ACNO,MAAM,KAAK,GAAG,MAAM,CAAC;AAC5B,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;AACzC,EAAE,SAAS,EAAE,wBAAwB;AACrC,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC;AAC7C,CAAC;;ACLM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE;AACrB,IAAI,OAAO,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzE,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,oBAAoB,EAAE,IAAI;AAC9B,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,eAAe,EAAE,cAAc;AACnC,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,UAAU;AAC5B,IAAI,cAAc,EAAE,cAAc;AAClC,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,YAAY,EAAE,UAAU;AAC5B,IAAI,UAAU,EAAE,cAAc;AAC9B,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,cAAc,EAAE,cAAc;AAClC,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,aAAa,EAAE,UAAU;AAC7B,IAAI,mBAAmB,EAAE,UAAU;AACnC,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,WAAW,EAAE,UAAU;AAC3B,IAAI,YAAY,EAAE,UAAU;AAC5B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,YAAY,EAAE,UAAU;AAC5B,IAAI,mBAAmB,EAAE,cAAc;AACvC,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,YAAY,EAAE,UAAU;AAC5B,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,CAAC;;AC/CM,MAAMQ,MAAI,GAAG,MAAM,CAAC;AAC3B,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,EAAE,SAAS,EAAE,wBAAwB;AACrC,EAAE,eAAe,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC;AAC/D,EAAE,UAAU,EAAE;AACd;AACA,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,aAAa,EAAE,cAAc;AACjC,IAAI,SAAS,EAAE,cAAc;AAC7B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,eAAe,EAAE,OAAO;AAC5B,IAAI,mBAAmB,EAAE,OAAO;AAChC,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,SAAS,EAAE,cAAc;AAC7B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,eAAe,EAAE,UAAU;AAC/B,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,MAAM,EAAE,MAAM,GAAG,cAAc;AACnC,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,SAAS,EAAE,cAAc;AAC7B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,GAAG,EAAE,MAAM;AACf,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,UAAU,EAAE,OAAO;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,yBAAyB,EAAE,IAAI;AACnC,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,oBAAoB,EAAE,IAAI;AAC9B,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,WAAW,EAAE,OAAO;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,GAAG,EAAE,cAAc;AACvB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,aAAa,EAAE,OAAO;AAC1B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,IAAI,EAAE,IAAI;AACd;AACA;AACA;AACA,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,MAAM;AAClB;AACA;AACA,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,uBAAuB,EAAE,OAAO;AACpC,IAAI,qBAAqB,EAAE,OAAO;AAClC,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,YAAY,EAAE,IAAI;AACtB,GAAG;AACH,CAAC;;AC1SM,MAAMC,KAAG,GAAG,MAAM,CAAC;AAC1B,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,UAAU,EAAE;AACd,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,iBAAiB,EAAE,oBAAoB;AAC3C,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,kBAAkB,EAAE,qBAAqB;AAC7C,IAAI,yBAAyB,EAAE,6BAA6B;AAC5D,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,0BAA0B,EAAE,8BAA8B;AAC9D,IAAI,wBAAwB,EAAE,4BAA4B;AAC1D,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,UAAU,EAAE,cAAc;AAC9B,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,iBAAiB,EAAE,oBAAoB;AAC3C,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,eAAe,EAAE,kBAAkB;AACvC,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,qBAAqB,EAAE,wBAAwB;AACnD,IAAI,sBAAsB,EAAE,yBAAyB;AACrD,IAAI,eAAe,EAAE,kBAAkB;AACvC,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,UAAU,EAAE,aAAa;AAC7B,IAAI,cAAc,EAAE,iBAAiB;AACrC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,iBAAiB,EAAE,oBAAoB;AAC3C,IAAI,kBAAkB,EAAE,qBAAqB;AAC7C,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,UAAU,EAAE,cAAc;AAC9B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,QAAQ,EAAE,WAAW;AACzB,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,WAAW,EAAE,eAAe;AAChC,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,WAAW,EAAE,cAAc;AAC/B,IAAI,OAAO,EAAE,UAAU;AACvB;AACA,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,aAAa,EAAE,eAAe;AAClC,GAAG;AACH,EAAE,SAAS,EAAE,sBAAsB;AACnC,EAAE,UAAU,EAAE;AACd,IAAI,KAAK,EAAE,qBAAqB;AAChC,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,SAAS,EAAE,cAAc;AAC7B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,yBAAyB,EAAE,IAAI;AACnC,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,eAAe,EAAE,MAAM;AAC3B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,QAAQ,EAAE,OAAO;AACrB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,yBAAyB,EAAE,IAAI;AACnC,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,SAAS,EAAE,cAAc;AAC7B,IAAI,0BAA0B,EAAE,IAAI;AACpC,IAAI,wBAAwB,EAAE,IAAI;AAClC,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,CAAC,EAAE,MAAM;AACb,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,YAAY,EAAE,qBAAqB;AACvC,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,iBAAiB,EAAE,MAAM;AAC7B,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,sBAAsB,EAAE,IAAI;AAChC,IAAI,qBAAqB,EAAE,IAAI;AAC/B,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,gBAAgB,EAAE,MAAM;AAC5B,IAAI,iBAAiB,EAAE,MAAM;AAC7B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,mBAAmB,EAAE,IAAI;AAC7B,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,SAAS,EAAE,MAAM;AACrB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,mBAAmB,EAAE,IAAI;AAC7B,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,qBAAqB;AACnC,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,GAAG,EAAE,qBAAqB;AAC9B,IAAI,GAAG,EAAE,qBAAqB;AAC9B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,kBAAkB,EAAE,qBAAqB;AAC7C,IAAI,gBAAgB,EAAE,qBAAqB;AAC3C,IAAI,aAAa,EAAE,qBAAqB;AACxC,IAAI,eAAe,EAAE,qBAAqB;AAC1C,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,gBAAgB,EAAE,MAAM;AAC5B,IAAI,gBAAgB,EAAE,MAAM;AAC5B,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,qBAAqB,EAAE,MAAM;AACjC,IAAI,sBAAsB,EAAE,MAAM;AAClC,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,eAAe,EAAE,qBAAqB;AAC1C,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,gBAAgB,EAAE,MAAM;AAC5B,IAAI,aAAa,EAAE,MAAM;AACzB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,mBAAmB,EAAE,IAAI;AAC7B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,oBAAoB,EAAE,IAAI;AAC9B,IAAI,cAAc,EAAE,qBAAqB;AACzC,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,MAAM,EAAE,qBAAqB;AACjC,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,iBAAiB,EAAE,MAAM;AAC7B,IAAI,kBAAkB,EAAE,MAAM;AAC9B,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,aAAa,EAAE,MAAM;AACzB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,UAAU,EAAE,IAAI;AACpB,GAAG;AACH,CAAC;;ACpjBD;AACA;AACA;AAKA;AACA,MAAM,KAAK,GAAG,kBAAiB;AAC/B,MAAM,IAAI,GAAG,UAAS;AACtB,MAAM,GAAG,GAAG,SAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE;AACpC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAC;AACjC,EAAE,IAAI,IAAI,GAAG,MAAK;AAClB,EAAE,IAAI,IAAI,GAAG,KAAI;AACjB;AACA,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;AAC/B,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjD,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC/E;AACA,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACjC;AACA,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAC;AAC1D,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC;AAClE,KAAK,MAAM;AACX;AACA,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAC;AACjC;AACA,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC5B,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAC;AAC7C;AACA,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACtC,UAAU,MAAM,GAAG,GAAG,GAAG,OAAM;AAC/B,SAAS;AACT;AACA,QAAQ,KAAK,GAAG,MAAM,GAAG,OAAM;AAC/B,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,GAAG,YAAW;AACtB,GAAG;AACH;AACA,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC9B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,CAAC,EAAE,EAAE;AACnB,EAAE,OAAO,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE;AAC/B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,CAAC,EAAE,EAAE;AACvB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACnC;;ACnEO,MAAM,WAAW,GAAG;AAC3B,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,eAAe,EAAE,iBAAiB;AACpC,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,aAAa,EAAE,eAAe;AAChC,EAAE,cAAc,EAAE,gBAAgB;AAClC,EAAE,gBAAgB,EAAE,kBAAkB;AACtC,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,YAAY,EAAE,cAAc;AAC9B,EAAE,YAAY,EAAE,cAAc;AAC9B,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,UAAU,EAAE,YAAY;AAC1B,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,UAAU,EAAE,YAAY;AAC1B;;AClBA;AACA;AACA;AACA;AAaO,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAEO,MAAQ,CAAC,EAAE,MAAM,EAAC;AAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAEC,KAAO,CAAC,EAAE,KAAK;;ACjBlE;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMoD,OAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AAC5C,MAAM,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AACvE,QAAQ,OAAO,GAAG,QAAO;AACzB,QAAQ,OAAO,GAAG,KAAI;AACtB,QAAQ,IAAI,GAAG,KAAI;AACnB,OAAO;AACP;AACA,MAAMF,cAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAC;AACjD;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE;AACvC,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;AAClD,QAAQ,OAAO,OAAO;AACtB,UAAU,IAAI;AACd,UAAU,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;AACvD,UAAU,MAAM;AAChB,SAAS;AACT,OAAO;AACP,KAAK;AACL;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,YAAY,CAAC,OAAO,EAAE;AAC9C,EAAE,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,kBAAkB,EAAE;AAC7D,IAAI,MAAM,IAAI,SAAS;AACvB,MAAM,0EAA0E;AAChF,KAAK;AACL,GAAG;AACH;AACA,EAAE;AACF,IAAI,OAAO,CAAC,eAAe;AAC3B,IAAI,OAAO,CAAC,kBAAkB;AAC9B,IAAI,OAAO,CAAC,YAAY;AACxB,IAAI;AACJ,IAAI,OAAO,CAAC,IAAI,KAAK;AACrB,MAAME,OAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,KAAK;AACvD,QAAQ,MAAM,MAAM,gCAAgC,OAAO,EAAC;AAC5D;AACA,QAAQ,IAAI,OAAM;AAClB;AACA,QAAQ,IAAI,OAAO,CAAC,eAAe,EAAE;AACrC,UAAU,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAC;AAClE,SAAS,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE;AAC/C,UAAU,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAC;AACpE,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC1E,UAAU,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAC;AAC7D,SAAS;AACT;AACA,QAAQ,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjD,UAAU,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzD,YAAY,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAC;AAC9D,WAAW,MAAM;AACjB,YAAY,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAC;AAC5C,WAAW;AACX;AACA,UAAU,OAAO,KAAK;AACtB,SAAS;AACT;AACA,QAAQ,OAAO,SAAS;AACxB,OAAO,EAAC;AACR,KAAK;AACL,GAAG;AACH;;;;;;;;;;;;;;;ACxDa,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAClf,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uCAAwB,CAAC,wCAAyB,CAAC,gCAAiB,CAAC,mCAAoB,CAAC,iCAAkB,CAAC,6BAAc,CAAC,6BAAc,CAAC,+BAAgB,CAAC,iCAAkB,CAAC,mCAAoB,CAAC,iCAAkB,CAAC,EAAE;mCAC9c,CAAC,oCAAqB,CAAC,UAAU,CAAC,OAAM,CAAC,CAAC,yCAA0B,CAAC,UAAU,CAAC,OAAM,CAAC,CAAC,0CAA2B,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,0CAA2B,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,qCAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,mCAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,+BAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,+BAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;+BACzd,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,mCAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,qCAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,mCAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uCAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;yCAC1N,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+BAAgB,CAAC;;;;;;;;;;;;;ACFjT;AACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC3C,EAAE,CAAC,WAAW;AAEd;AACA;AACA;AACA;AACA;AACA,IAAI,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACrD,IAAI,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACnD,IAAI,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACvD,IAAI,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC7D,IAAI,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACvD,IAAI,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACvD,IAAI,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACrD,IAAI,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACnE,IAAI,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC7D,IAAI,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACvD,IAAI,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACjE,IAAI,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC/C,IAAI,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC/C,IAAI,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACzD;AACA;AACA;AACA,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC;AACA,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B;AACA;AACA;AACA,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B;AACA,IAAI,sBAAsB,CAAC;AAC3B;AACA;AACA,EAAE,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAChE,CAAC;AACD;AACA,SAAS,kBAAkB,CAAC,IAAI,EAAE;AAClC,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAC9D,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA;AACA,EAAE,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,mBAAmB,IAAI,kBAAkB,KAAK,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,wBAAwB,IAAI,kBAAkB,KAAK,IAAI,KAAK,oBAAoB,IAAI,cAAc,KAAK,kBAAkB,KAAK,uBAAuB,GAAG;AACjU,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AACjD,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,mBAAmB,IAAI,IAAI,CAAC,QAAQ,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB;AAC3M;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;AAChF,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD;AACA,SAAS,MAAM,CAAC,MAAM,EAAE;AACxB,EAAE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AACrD,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACnC;AACA,IAAI,QAAQ,QAAQ;AACpB,MAAM,KAAK,kBAAkB;AAC7B,QAAQ,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/B;AACA,QAAQ,QAAQ,IAAI;AACpB,UAAU,KAAK,mBAAmB,CAAC;AACnC,UAAU,KAAK,mBAAmB,CAAC;AACnC,UAAU,KAAK,sBAAsB,CAAC;AACtC,UAAU,KAAK,mBAAmB,CAAC;AACnC,UAAU,KAAK,wBAAwB;AACvC,YAAY,OAAO,IAAI,CAAC;AACxB;AACA,UAAU;AACV,YAAY,IAAI,YAAY,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AACrD;AACA,YAAY,QAAQ,YAAY;AAChC,cAAc,KAAK,yBAAyB,CAAC;AAC7C,cAAc,KAAK,kBAAkB,CAAC;AACtC,cAAc,KAAK,sBAAsB,CAAC;AAC1C,cAAc,KAAK,eAAe,CAAC;AACnC,cAAc,KAAK,eAAe,CAAC;AACnC,cAAc,KAAK,mBAAmB;AACtC,gBAAgB,OAAO,YAAY,CAAC;AACpC;AACA,cAAc;AACd,gBAAgB,OAAO,QAAQ,CAAC;AAChC,aAAa;AACb;AACA,SAAS;AACT;AACA,MAAM,KAAK,iBAAiB;AAC5B,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,IAAI,eAAe,GAAG,kBAAkB,CAAC;AACzC,IAAI,eAAe,GAAG,mBAAmB,CAAC;AAC1C,IAAI,OAAO,GAAG,kBAAkB,CAAC;AACjC,IAAI,UAAU,GAAG,sBAAsB,CAAC;AACxC,IAAI,QAAQ,GAAG,mBAAmB,CAAC;AACnC,IAAI,IAAI,GAAG,eAAe,CAAC;AAC3B,IAAI,IAAI,GAAG,eAAe,CAAC;AAC3B,IAAI,MAAM,GAAG,iBAAiB,CAAC;AAC/B,IAAI,QAAQ,GAAG,mBAAmB,CAAC;AACnC,IAAI,UAAU,GAAG,sBAAsB,CAAC;AACxC,IAAI,QAAQ,GAAG,mBAAmB,CAAC;AACnC,IAAI,YAAY,GAAG,wBAAwB,CAAC;AAC5C,IAAI,mCAAmC,GAAG,KAAK,CAAC;AAChD,IAAI,wCAAwC,GAAG,KAAK,CAAC;AACrD;AACA,SAAS,WAAW,CAAC,MAAM,EAAE;AAC7B,EAAE;AACF,IAAI,IAAI,CAAC,mCAAmC,EAAE;AAC9C,MAAM,mCAAmC,GAAG,IAAI,CAAC;AACjD;AACA,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,uDAAuD,GAAG,mCAAmC,CAAC,CAAC;AACrH,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,EAAE;AACF,IAAI,IAAI,CAAC,wCAAwC,EAAE;AACnD,MAAM,wCAAwC,GAAG,IAAI,CAAC;AACtD;AACA,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,4DAA4D,GAAG,mCAAmC,CAAC,CAAC;AAC1H,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACnC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAAC;AAC/C,CAAC;AACD,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACnC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;AAChD,CAAC;AACD,SAAS,SAAS,CAAC,MAAM,EAAE;AAC3B,EAAE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC;AACjG,CAAC;AACD,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC;AACnD,CAAC;AACD,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;AAChD,CAAC;AACD,SAAS,MAAM,CAAC,MAAM,EAAE;AACxB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC;AAC5C,CAAC;AACD,SAAS,MAAM,CAAC,MAAM,EAAE;AACxB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC;AAC5C,CAAC;AACD,SAAS,QAAQ,CAAC,MAAM,EAAE;AAC1B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC;AAC9C,CAAC;AACD,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;AAChD,CAAC;AACD,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC;AACnD,CAAC;AACD,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;AAChD,CAAC;AACD,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,wBAAwB,CAAC;AACrD,CAAC;AACD;mCACuB,GAAG,eAAe,CAAC;mCACnB,GAAG,eAAe,CAAC;2BAC3B,GAAG,OAAO,CAAC;8BACR,GAAG,UAAU,CAAC;4BAChB,GAAG,QAAQ,CAAC;wBAChB,GAAG,IAAI,CAAC;wBACR,GAAG,IAAI,CAAC;0BACN,GAAG,MAAM,CAAC;4BACR,GAAG,QAAQ,CAAC;8BACV,GAAG,UAAU,CAAC;4BAChB,GAAG,QAAQ,CAAC;gCACR,GAAG,YAAY,CAAC;+BACjB,GAAG,WAAW,CAAC;oCACV,GAAG,gBAAgB,CAAC;qCACnB,GAAG,iBAAiB,CAAC;qCACrB,GAAG,iBAAiB,CAAC;6BAC7B,GAAG,SAAS,CAAC;gCACV,GAAG,YAAY,CAAC;8BAClB,GAAG,UAAU,CAAC;0BAClB,GAAG,MAAM,CAAC;0BACV,GAAG,MAAM,CAAC;4BACR,GAAG,QAAQ,CAAC;8BACV,GAAG,UAAU,CAAC;gCACZ,GAAG,YAAY,CAAC;8BAClB,GAAG,UAAU,CAAC;kCACV,GAAG,cAAc,CAAC;sCACd,GAAG,kBAAkB,CAAC;0BAClC,GAAG,MAAM,CAAC;AACxB,GAAG,GAAG,CAAC;AACP;;AC1NA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC3C,EAAEE,eAAc,GAAGxC,sBAA2C,CAAC;AAC/D,CAAC,MAAM;AACP,EAAEwC,eAAc,GAAGvC,mBAAwC,CAAC;AAC5D;;;;ACNA;AACA;AACA;AACA;AACO,SAAS,UAAU,CAAC,KAAK,EAAE;AAClC;AACA,EAAE,IAAI,KAAK;AACX;AACA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;AAC/D;AACA,QAAQ,KAAK,CAAC,KAAK,IAAI,EAAE;AACzB,QAAQ,MAAK;AACb;AACA;AACA;AACA,EAAE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,EAAE;AAC9E;;AChBA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASwC,WAAS,CAAC,MAAM,EAAE;AAClC,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AAChC;;ACnBA;AACA;AACA;AACA;AACA;AAqCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;AAC3C,EAAE,IAAI,QAAQ,GAAG,OAAO,IAAI,GAAE;AAC9B;AACA;AACA,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;AACxC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC;AAC9B,GAAG;AACH;AACA,EAAE,OAAO,MAAM;AACf,KAAK,IAAI;AACT,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,GAAG,EAAE;AACnC,QAAQ,GAAG;AACX,SAAS,QAAQ,CAAC,OAAO,KAAK,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC;AAC/C,KAAK;AACL,KAAK,IAAI,EAAE;AACX;;AChEA;AACA;AACA,IAAI,aAAa,GAAG,iCAAiC,CAAC;AACtD;AACA,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,IAAI,gBAAgB,GAAG,MAAM,CAAC;AAC9B;AACA;AACA,IAAI,cAAc,GAAG,wCAAwC,CAAC;AAC9D,IAAI,WAAW,GAAG,OAAO,CAAC;AAC1B,IAAI,WAAW,GAAG,sDAAsD,CAAC;AACzE,IAAI,eAAe,GAAG,SAAS,CAAC;AAChC;AACA;AACA,IAAI,UAAU,GAAG,YAAY,CAAC;AAC9B;AACA;AACA,IAAI,OAAO,GAAG,IAAI,CAAC;AACnB,IAAI,aAAa,GAAG,GAAG,CAAC;AACxB,IAAI,QAAQ,GAAG,GAAG,CAAC;AACnB,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB;AACA;AACA,IAAI,YAAY,GAAG,SAAS,CAAC;AAC7B,IAAI,gBAAgB,GAAG,aAAa,CAAC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACA,iBAAc,GAAG,SAAS,KAAK,EAAE,OAAO,EAAE;AAC1C,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjC,IAAI,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;AAC3D,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;AACxB;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC1B;AACA;AACA;AACA;AACA,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC;AACjB,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,cAAc,CAAC,GAAG,EAAE;AAC/B,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACzC,IAAI,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;AACtC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACrC,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AACvD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,QAAQ,GAAG;AACtB,IAAI,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACjD,IAAI,OAAO,SAAS,IAAI,EAAE;AAC1B,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1C,MAAM,UAAU,EAAE,CAAC;AACnB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,CAAC;AACN,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,QAAQ,CAAC,KAAK,EAAE;AAC3B,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAChD,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AACjC,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;AAGrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,KAAK,CAAC,GAAG,EAAE;AACtB,IAAI,IAAI,GAAG,GAAG,IAAI,KAAK;AACvB,MAAM,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG;AAC/D,KAAK,CAAC;AACN,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;AACrB,IAAI,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;AAClC,IAAI,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;AACtB,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACxB,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB;AACA,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAEnB,MAAM;AACX,MAAM,MAAM,GAAG,CAAC;AAChB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,KAAK,CAAC,EAAE,EAAE;AACrB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO;AACnB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;AACxB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpC,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,UAAU,GAAG;AACxB,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC5B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,QAAQ,CAAC,KAAK,EAAE;AAC3B,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;AACxB,IAAI,QAAQ,CAAC,GAAG,OAAO,EAAE,GAAG;AAC5B,MAAM,IAAI,CAAC,KAAK,KAAK,EAAE;AACvB,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,OAAO;AACP,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;AACzB,IAAI,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;AAChF;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,IAAI;AACJ,MAAM,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,OAAO,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3E,MAAM;AACN,MAAM,EAAE,CAAC,CAAC;AACV,KAAK;AACL,IAAI,CAAC,IAAI,CAAC,CAAC;AACX;AACA,IAAI,IAAI,YAAY,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;AAC9C,MAAM,OAAO,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAC7C,KAAK;AACL;AACA,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,IAAI,MAAM,IAAI,CAAC,CAAC;AAChB,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;AACxB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,IAAI,MAAM,IAAI,CAAC,CAAC;AAChB;AACA,IAAI,OAAO,GAAG,CAAC;AACf,MAAM,IAAI,EAAE,YAAY;AACxB,MAAM,OAAO,EAAE,GAAG;AAClB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,WAAW,GAAG;AACzB,IAAI,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;AACzB;AACA;AACA,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AACrC,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;AACtB,IAAI,OAAO,EAAE,CAAC;AACd;AACA;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAClE;AACA;AACA,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AACjC;AACA,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC;AAClB,MAAM,IAAI,EAAE,gBAAgB;AAC5B,MAAM,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAClE,MAAM,KAAK,EAAE,GAAG;AAChB,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAC3D,UAAU,YAAY;AACtB,KAAK,CAAC,CAAC;AACP;AACA;AACA,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAC3B;AACA,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,YAAY,GAAG;AAC1B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;AACnB;AACA,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpB;AACA;AACA,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,QAAQ,IAAI,GAAG,WAAW,EAAE,GAAG;AACnC,MAAM,IAAI,IAAI,KAAK,KAAK,EAAE;AAC1B,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC;AACpE;;ACpQA,IAAI,KAAK,GAAGzC,iBAA8B,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE;AACxC,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC;AACpB,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3C,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,IAAI,WAAW,CAAC;AAClB,EAAE,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAClC,EAAE,IAAI,WAAW,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC;AACnD,EAAE,IAAI,QAAQ,CAAC;AACf,EAAE,IAAI,KAAK,CAAC;AACZ;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC3D,IAAI,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAClC,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;AACpC,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;AAC9B;AACA,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC7C,KAAK,MAAM,IAAI,KAAK,EAAE;AACtB,MAAM,MAAM,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC;AAC9B,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AAC/B,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;IACA,aAAc,GAAG,aAAa;;ACzC9B;AACA;AACA;AACA;AAwGA;AACA,MAAM/B,KAAG,GAAG,EAAE,CAAC,eAAc;AAC7B;AACA;AACA;AACA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAC;AACzE;AACA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE;AAC/C;AACA,EAAE,MAAM,QAAQ,GAAG,GAAE;AACrB,EAAE,IAAI,UAAU,GAAG,CAAC,EAAC;AACrB;AACA,EAAE,IAAI,MAAK;AACX;AACA,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC9C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAC;AACrC;AACA,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;AAClC,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAC;AAC9D,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,QAAQ,IAAI,CAAC,IAAI,KAAK,SAAS;AAC/B,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACxC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1B,QAAQ;AACR,QAAQ,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC;AAClC,OAAO;AACP,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;AAClE;AACA,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC;AAChC,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,QAAQ;AACjB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;AAC/C,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAO;AACjC,EAAE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAM;AACrC;AACA;AACA,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAO;AAC3B;AACA,EAAE,MAAM,UAAU,GAAG,GAAE;AACvB,EAAE,IAAI,MAAM,GAAG,aAAY;AAC3B;AACA,EAAE,IAAI,SAAQ;AACd;AACA,EAAE,IAAI,YAAY,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,EAAE;AACvD,IAAI,MAAM,GAAG,IAAG;AAChB,IAAI,OAAO,CAAC,MAAM,GAAG,OAAM;AAC3B,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;AACvB,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;AACtC,MAAM,IAAIA,KAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;AAC/C,QAAQ,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAC;AAC7E,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACtC,IAAI,OAAO,CAAC,SAAS,GAAE;AACvB,GAAG;AACH;AACA,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,EAAC;AACjD;AACA,EAAE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACtC,IAAI,OAAO,CAAC,SAAS,GAAE;AACvB,GAAG;AACH;AACA;AACA,EAAE,OAAO,CAAC,MAAM,GAAG,aAAY;AAC/B;AACA;AACA;AACA,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI;AACpC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;AACnD,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;AACjD,IAAG;AACH,EAAE,MAAM,SAAS;AACjB,IAAI,OAAO,CAAC,UAAU,IAAIA,KAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;AAC5D,QAAQ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;AAChC,QAAQ,KAAI;AACZ,EAAE,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAKyE,cAAK,CAAC,SAAQ;AAC7E;AACA,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;AAC9C,IAAI,MAAM,IAAI,SAAS;AACvB,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,mCAAmC,CAAC;AACvE,KAAK;AACL,GAAG;AACH;AACA,EAAE,UAAU,CAAC,GAAG,GAAG;AACnB,IAAI,IAAI;AACR,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI;AACvB,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM;AACzB,IAAI,KAAK;AACT,GAAG,CAAC,IAAI,CAAC,GAAG,EAAC;AACb;AACA,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE;AAC1C,IAAI,UAAU,CAAC,MAAM;AACrB,MAAM,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU;AAC9C,UAAU,OAAO,CAAC,UAAU;AAC5B,YAAY,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;AACzC,YAAY,IAAI,CAAC,QAAQ;AACzB,YAAY,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI;AAC1E,WAAW;AACX,UAAU,OAAO,CAAC,WAAU;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,gBAAgB,EAAE;AAChD,IAAI,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,gBAAgB;AAC9C,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;AACnC,MAAM,IAAI,CAAC,QAAQ;AACnB,MAAM,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI;AACpE,MAAK;AACL,GAAG;AACH;AACA,EAAE;AACF,IAAI,CAAC,KAAK;AACV,IAAI,IAAI,KAAK,MAAM;AACnB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;AAC7B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;AAC5B,IAAI;AACJ,IAAI,UAAU,CAAC,MAAM,GAAG,KAAI;AAC5B,GAAG;AACH;AACA,EAAE;AACF,IAAI,CAAC,KAAK;AACV,KAAK,IAAI,KAAK,IAAI;AAClB,MAAM,IAAI,KAAK,IAAI;AACnB,MAAM,IAAI,KAAK,IAAI;AACnB,MAAM,IAAI,KAAK,IAAI;AACnB,MAAM,IAAI,KAAK,IAAI;AACnB,MAAM,IAAI,KAAK,IAAI,CAAC;AACpB,IAAI;AACJ,IAAI,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAC;AAC1D,GAAG;AACH;AACA,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,iBAAiB,EAAE;AACnD,IAAI,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,iBAAiB;AAC9C,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC;AAClC,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC;AAClC,MAAM,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI;AACpE,MAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AAC5D,IAAI,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAC;AACvC,IAAI,UAAU,CAAC,OAAO;AACtB,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAI;AAC1E,IAAI,UAAU,CAAC,KAAK,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAC;AAC3D,IAAI,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,KAAI;AAChD,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE;AAClD,IAAI,UAAU,CAAC,OAAO,GAAG,IAAI,KAAK,KAAI;AACtC,IAAI,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,UAAS;AACxC,GAAG;AACH;AACA,EAAE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACtC,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;AAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,GAAE;AAClD;AACA,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,MAAK;AACnD,MAAM,OAAO,UAAU,CAAC,MAAK;AAC7B,KAAK;AACL;AACA,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,MAAM,UAAU,CAAC,QAAQ,GAAG,IAAI,KAAK,KAAI;AACzC,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AAC5D,IAAI,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,EAAC;AAC7D,GAAG;AACH;AACA;AACA,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE;AACzB,IAAI,UAAU,CAAC,gBAAgB,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAC;AAC5D,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,EAAE;AACtC,IAAI,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,SAAQ;AAC7C,GAAG;AACH;AACA;AACA,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,mBAAmB,EAAE;AAC7C,IAAI,UAAU,CAAC,KAAK,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAC;AAC3D,IAAI,UAAU,CAAC,YAAY,GAAG,sBAAsB,CAAC,MAAM,EAAC;AAC5D,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,UAAU,CAAC,IAAI,GAAG,KAAI;AAC1B,GAAG;AACH;AACA;AACA,EAAE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC5B,MAAMA,cAAK,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC;AAC1D,MAAMA,cAAK,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC;AAChD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzC,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAC;AACtC;AACA,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;AAC/D,MAAM,OAAO,KAAK;AAClB,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,IAAI;AACb,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE;AAC9C,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB,EAAE,IAAI,KAAK,GAAG,EAAC;AACf;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC3C,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,KAAK;AAC9C,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,KAAK,GAAE;AAC1D,GAAG;AACH;AACA,EAAE,OAAO,KAAK;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;AAC9C,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAC;AACrC,EAAE,IAAI,MAAM,GAAG,MAAK;AACpB;AACA;AACA;AACA,EAAE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE;AACpE,IAAI,MAAM;AACV,GAAG;AACH;AACA;AACA;AACA,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,GAAGlD,SAAM,CAAC,MAAM,CAAC,GAAGD,WAAM,CAAC,MAAM,EAAC;AAClE,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC/D,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,EAAC;AAC/B,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnC,IAAI,KAAK;AACT,MAAMtB,KAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC1C,UAAU,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpC,UAAU,IAAI,CAAC,QAAQ;AACvB,KAAK,GAAG,OAAM;AACd,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAM;AAClC,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB;AACA,EAAE,IAAI;AACN,IAAI0E,aAAK,CAAC,KAAK,EAAE,QAAQ,EAAC;AAC1B,GAAG,CAAC,MAAM;AACV;AACA,GAAG;AACH;AACA,EAAE,OAAO,MAAM;AACf;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE;AAC7B,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAI;AACxE,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,GAAG,EAAC;AACrD,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE;AAC9B,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE;AACzB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,GAAG,EAAE;AAC9B,EAAE,OAAO;AACT,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI;AAClB,IAAI,GAAG;AACP,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM;AACpB,IAAI,GAAG;AACP,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI;AAChB,IAAI,GAAG;AACP,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM;AAClB,GAAG;AACH,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,KAAK,IAAI,CAAC,EAAE,CAAC;AACb;;AChcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYA;AACA,MAAM1E,KAAG,GAAG,EAAE,CAAC,eAAc;AAC7B,MAAM,SAAS;AACf,EAAE,oEAAmE;AACrE;AACA;AACA,MAAM,UAAU,GAAG;AACnB,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,iCAAiC,CAAC;AACjE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,gCAAgC,CAAC;AACrE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,sCAAsC,CAAC;AAC1D,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,sCAAsC,CAAC;AAClE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,sCAAsC,CAAC;AAC1D,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,2BAA2B,CAAC;AAC3D,EAAE,SAAS,EAAE;AACb,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,EAAE,EAAE,oDAAoD;AAC5D,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,EAAE,EAAE,iBAAiB;AACzB,IAAI,EAAE,EAAE,oDAAoD;AAC5D,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,EAAE,EAAE,oBAAoB;AAC5B,IAAI,EAAE,EAAE,oDAAoD;AAC5D,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,EAAE,EAAE,qBAAqB;AAC7B,IAAI,EAAE,EAAE,gDAAgD;AACxD,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,OAAO,EAAE;AACvC,EAAE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAChC,IAAI,IAAIA,KAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAIA,KAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;AAC7D,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAC;AACzC,MAAM,OAAO,CAAC,IAAI;AAClB,QAAQ,CAAC,iCAAiC;AAC1C,UAAU,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,QAAQ;AAC5E,SAAS,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,gBAAgB,CAAC;AAC1E,QAAO;AACP,MAAM,OAAO,UAAU,CAAC,GAAG,EAAC;AAC5B,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,SAAS,GAAG,OAAO,EAAE;AAC7B,KAAK,GAAG,CAAC,WAAW,CAAC;AACrB,KAAK,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;AACrC,KAAK,GAAG,CAAC,YAAY,EAAE;AACvB,MAAM,GAAG,OAAO,CAAC,mBAAmB;AACpC,MAAM,kBAAkB,EAAE,IAAI;AAC9B,KAAK,CAAC;AACN,KAAK,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;AACrC,KAAK,GAAG,CAAC,YAAY,EAAE,OAAO,EAAC;AAC/B;AACA,EAAE,MAAM,IAAI,GAAG,IAAImC,OAAK,GAAE;AAC1B;AACA,EAAE,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC5C,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAQ;AACjC,GAAG,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1E,IAAI,OAAO,CAAC,IAAI;AAChB,MAAM,CAAC,uEAAuE,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrG,MAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC;AACjE;AACA,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;AAChC,IAAI,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC;AACjD,GAAG;AACH;AACA;AACA,EAAE,IAAI,MAAM,GAAGsC,cAAK,CAAC,aAAa;AAClC,IAAIA,cAAK,CAAC,QAAQ;AAClB,IAAI,EAAE;AACN,IAAI,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC;AACpE,IAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE;AACzB,IAAI,MAAM,GAAGA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAC;AAC/E,GAAG;AACH;AACA,EAAE,OAAO,MAAM;AACf,CAAC;AACD;AACA,aAAa,CAAC,YAAY,GAAG,CAAC,gBAAgB,EAAE,cAAc,EAAC;AAC/D;AACA,aAAa,CAAC,SAAS,GAAG;AAC1B;AACA,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM;AAC5B;AACA,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B;AACA,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI;AAC9B,EAAE,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;AACtD,EAAE,kBAAkB,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;AACzD,EAAE,gBAAgB,EAAE,SAAS,CAAC,IAAI;AAClC;AACA,EAAE,aAAa,EAAE,SAAS,CAAC,OAAO;AAClC,IAAI,SAAS,CAAC,SAAS,CAAC;AACxB,MAAM,SAAS,CAAC,MAAM;AACtB,MAAM,SAAS,CAAC,IAAI;AACpB,MAAM,SAAS,CAAC,OAAO;AACvB,QAAQ,SAAS,CAAC,SAAS,CAAC;AAC5B,UAAU,SAAS,CAAC,IAAI;AACxB,UAAU,SAAS,CAAC,MAAM;AAC1B,UAAU,SAAS,CAAC,MAAM;AAC1B,UAAU,SAAS,CAAC,IAAI;AACxB,UAAU,SAAS,CAAC,OAAO;AAC3B;AACA;AACA,YAAY,SAAS,CAAC,GAAG;AACzB,WAAW;AACX,SAAS,CAAC;AACV,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH,EAAE,aAAa,EAAE,SAAS,CAAC,OAAO;AAClC,IAAI,SAAS,CAAC,SAAS,CAAC;AACxB,MAAM,SAAS,CAAC,MAAM;AACtB,MAAM,SAAS,CAAC,IAAI;AACpB,MAAM,SAAS,CAAC,OAAO;AACvB,QAAQ,SAAS,CAAC,SAAS,CAAC;AAC5B,UAAU,SAAS,CAAC,IAAI;AACxB,UAAU,SAAS,CAAC,MAAM;AAC1B,UAAU,SAAS,CAAC,MAAM;AAC1B,UAAU,SAAS,CAAC,IAAI;AACxB,UAAU,SAAS,CAAC,OAAO;AAC3B;AACA;AACA,YAAY,SAAS,CAAC,GAAG;AACzB,WAAW;AACX,SAAS,CAAC;AACV,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;AAC3B,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI;AAC9B,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,mBAAmB,EAAE,SAAS,CAAC,IAAI;AACrC,EAAE,gBAAgB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AACzE,EAAE,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACrE,EAAE,iBAAiB,EAAE,SAAS,CAAC,IAAI;AACnC,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM;AAC9B;;AC1LA;AACA;AACA;AACA;AACA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,iBAAiB;AACjC,EAAE,OAAO;AACT,EAAE,EAAE;AACJ,EAAE,GAAG;AACL,EAAE,cAAc;AAChB,EAAE,oBAAoB;AACtB,EAAE,aAAa;AACf,EAAE,eAAe;AACjB,EAAE,kBAAkB;AACpB,EAAE,iBAAiB;AACnB,EAAE,wBAAwB;AAC1B,EAAE,yBAAyB;AAC3B,EAAE,kBAAkB;AACpB,EAAE,oBAAoB;AACtB,EAAE,kBAAkB;AACpB,EAAE,WAAW;AACb,EAAE;AACF;AACA,EAAE,IAAI,KAAI;AACV;AACA;AACA,EAAE,IAAI,OAAM;AACZ,EAAE,OAAO,KAAK;AACd;AACA;AACA,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,EAAC;AACjC,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAC;AACvC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAC;AACtC,IAAI,OAAO,OAAO;AAClB,GAAG;AACH;AACA;AACA,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE;AACzB,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACrB,MAAM,IAAI,GAAG,gBAAe;AAC5B,MAAM,OAAO,aAAa,CAAC,IAAI,CAAC;AAChC,KAAK;AACL;AACA,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACrB,MAAM,IAAI,GAAG,mBAAkB;AAC/B,MAAM,OAAO,aAAa,CAAC,IAAI,CAAC;AAChC,KAAK;AACL;AACA,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACxD,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,EAAC;AAClC,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAC;AACtC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,IAAI;AACjB,KAAK;AACL;AACA,IAAI,IAAI,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;AAC5C,MAAM,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC;AAC/D,KAAK;AACL;AACA,IAAI,IAAI,CAAC,WAAW,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE;AACzD,MAAM,OAAO,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;AACtD,KAAK;AACL;AACA,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,GAAG;AACH;AACA;AACA,EAAE,SAAS,aAAa,CAAC,IAAI,EAAE;AAC/B,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,EAAC;AAChC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAC;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,EAAC;AAClC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAC;AACjC,IAAI,OAAO,kBAAkB;AAC7B,GAAG;AACH;AACA;AACA,EAAE,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACpC,IAAI;AACJ,MAAM,IAAI,KAAK,IAAI;AACnB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,GAAG;AAClB,MAAM,yBAAyB,CAAC,IAAI,CAAC;AACrC,MAAM;AACN,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAC;AACjC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,QAAQ;AACnB,GAAG;AACH;AACA;AACA,EAAE,SAAS,QAAQ,CAAC,IAAI,EAAE;AAC1B,IAAI;AACJ,MAAM,IAAI,KAAK,IAAI;AACnB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM;AACN,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL;AACA,IAAI;AACJ,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,GAAG;AAClB,MAAM,yBAAyB,CAAC,IAAI,CAAC;AACrC,MAAM;AACN,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,EAAC;AAClC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAC;AACxB,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,EAAC;AACjC,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC;AAC1B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,QAAQ;AACnB,GAAG;AACH;AACA;AACA,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE;AACtB,IAAI;AACJ,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,iBAAiB,CAAC,IAAI,CAAC;AAC7B,MAAM;AACN,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,IAAI;AACjB,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAC;AACnC;AACA,IAAI,IAAI,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;AAC5C,MAAM,OAAO,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC;AACjE,KAAK;AACL;AACA,IAAI,IAAI,CAAC,WAAW,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE;AACzD,MAAM,OAAO,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC;AACxD,KAAK;AACL;AACA,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC;AAC1B,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACrB,MAAM,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAC;AAC7C,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAC;AAC5C,MAAM,OAAO,WAAW;AACxB,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,EAAC;AAC/B,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC;AACxB,GAAG;AACH;AACA;AACA,EAAE,SAAS,WAAW,CAAC,IAAI,EAAE;AAC7B,IAAI;AACJ,MAAM,IAAI,KAAK,IAAI;AACnB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,GAAG;AAClB,OAAO,WAAW,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM;AACN,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL;AACA,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE;AACpC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAC;AAC9C,MAAM,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAC;AACzC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAC;AACxC,MAAM,MAAM,GAAG,KAAI;AACnB,MAAM,OAAO,gBAAgB;AAC7B,KAAK;AACL;AACA,IAAI,IAAI,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;AAC5C,MAAM,OAAO,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC;AACnE,KAAK;AACL;AACA,IAAI,IAAI,CAAC,WAAW,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE;AACzD,MAAM,OAAO,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAC;AACrC,IAAI,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAC;AACrC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,MAAM,GAAG,UAAS;AACtB,IAAI,OAAO,aAAa;AACxB,GAAG;AACH;AACA;AACA,EAAE,SAAS,aAAa,CAAC,IAAI,EAAE;AAC/B,IAAI;AACJ,MAAM,IAAI,KAAK,IAAI;AACnB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM,IAAI,KAAK,EAAE;AACjB,MAAM;AACN,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL;AACA,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE;AACzD,MAAM,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAC;AACtC,MAAM,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAC;AACtC,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,EAAC;AACjC,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC;AAC1B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,aAAa;AACxB,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAClC,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE;AACzB,MAAM,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAC;AACzC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAC;AACxC,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAC;AAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,EAAC;AACjC,MAAM,OAAO,gBAAgB;AAC7B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAC;AACrC,IAAI,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACnC,GAAG;AACH;AACA;AACA,EAAE,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACpC,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE;AACzB,MAAM,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAC;AACtC,MAAM,OAAO,gBAAgB,CAAC,IAAI,CAAC;AACnC,KAAK;AACL;AACA,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL;AACA,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAClC,MAAM,OAAO,WAAW;AACxB,UAAU,GAAG,CAAC,IAAI,CAAC;AACnB,UAAU,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAC9D,KAAK;AACL;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAC;AACrC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,WAAW;AACtB,GAAG;AACH;AACA;AACA,EAAE,SAAS,WAAW,CAAC,IAAI,EAAE;AAC7B,IAAI,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACtE,MAAM,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAC;AACtC,MAAM,OAAO,kBAAkB,CAAC,IAAI,CAAC;AACrC,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,WAAW;AACtB,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAClC,IAAI,OAAO,IAAI,KAAK,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC;AAC1D,QAAQ,OAAO,CAAC,IAAI,CAAC;AACrB,QAAQ,GAAG,CAAC,IAAI,CAAC;AACjB,GAAG;AACH;AACA;AACA,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;AACtB,MAAM,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAC;AACzC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAC;AACxC,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,EAAC;AAClC,MAAM,OAAO,EAAE;AACf,KAAK;AACL;AACA,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,GAAG;AACH;;ACzUA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,YAAY;AAC5B,EAAE,OAAO;AACT,EAAE,EAAE;AACJ,EAAE,GAAG;AACL,EAAE,IAAI;AACN,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,WAAW;AACb,EAAE;AACF,EAAE,IAAI,IAAI,GAAG,EAAC;AACd,EAAE,IAAI,OAAO,GAAG,EAAC;AACjB;AACA;AACA,EAAE,IAAI,SAAQ;AACd,EAAE,OAAO,KAAK;AACd;AACA;AACA,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAC;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAC;AAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAC;AAC5B,IAAI,OAAO,UAAU;AACrB,GAAG;AACH;AACA;AACA,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE;AAC5B,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACrB,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,EAAC;AAC/B,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,EAAC;AAC9B,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAC;AACxB,MAAM,OAAO,EAAE;AACf,KAAK;AACL;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAC;AAC7B,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC;AAC1B,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;AACjC,MAAM,OAAO,cAAc,CAAC,IAAI,CAAC;AACjC,KAAK;AACL;AACA,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;AAC7C,MAAM,WAAW,EAAE,MAAM;AACzB,MAAM,QAAQ;AACd,KAAK,EAAC;AACN,IAAI,IAAI,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAK;AACvC,IAAI,QAAQ,GAAG,MAAK;AACpB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA;AACA,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE;AACtB,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE;AACrC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL;AACA,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE;AACvC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL;AACA,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE;AACnC,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,EAAC;AAC/B,MAAM,OAAO,cAAc,CAAC,IAAI,CAAC;AACjC,KAAK;AACL;AACA,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAClC,MAAM,IAAI,WAAW,EAAE;AACvB,QAAQ,OAAO,GAAG,CAAC,IAAI,CAAC;AACxB,OAAO;AACP;AACA,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,EAAC;AAC/B,MAAM,OAAO,SAAS;AACtB,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,IAAI,KAAK,EAAE,GAAG,UAAU,GAAG,IAAI;AAC1C,GAAG;AACH;AACA;AACA,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE;AAC5B,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE;AACnD,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,IAAI,GAAE;AACZ,MAAM,OAAO,IAAI;AACjB,KAAK;AACL;AACA,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,GAAG;AACH;AACA;AACA,EAAE,SAAS,cAAc,CAAC,IAAI,EAAE;AAChC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAC;AAC5B,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAC;AAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAC;AAC5B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAC;AACtB,IAAI,OAAO,EAAE;AACb,GAAG;AACH;;AC5HA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;AACpD,EAAE,MAAM,IAAI,GAAG,KAAI;AACnB,EAAE,OAAO,KAAK;AACd;AACA;AACA,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;AACvB,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AAC1B,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAC;AACzB,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,IAAI;AACjB,KAAK;AACL;AACA,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,GAAG;AACH;AACA;AACA,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE;AACtB,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;AAC/D,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,IAAI;AACjB,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAC;AACtB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AAC9E,GAAG;AACH;;ACvCA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACO,MAAM,kBAAkB,GAAG;AAClC,EAAE,QAAQ,EAAE,0BAA0B;AACtC,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAC;AACD,MAAME,OAAK,GAAG;AACd,EAAE,QAAQ,EAAEC,eAAa;AACzB,EAAE,OAAO,EAAE,IAAI;AACf,EAAC;AACD,MAAMC,YAAU,GAAG;AACnB,EAAE,QAAQ,EAAEC,oBAAkB;AAC9B,EAAE,OAAO,EAAE,IAAI;AACf,EAAC;AACD,MAAM,WAAW,GAAG;AACpB,EAAE,QAAQ,EAAE,mBAAmB;AAC/B,EAAE,OAAO,EAAE,IAAI;AACf,EAAC;AACD;AACA;AACA,SAAS,0BAA0B,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AACtD,EAAE,MAAM,IAAI,GAAG,KAAI;AACnB,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;AAClD,EAAE,MAAM,WAAW;AACnB,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY;AACzC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM;AACpD,QAAQ,EAAC;AACT,EAAE,IAAI,QAAQ,GAAG,EAAC;AAClB;AACA;AACA,EAAE,IAAI,SAAQ;AACd,EAAE,OAAO,KAAK;AACd;AACA;AACA,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAC;AACvC,IAAI,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAC;AAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAC;AAC/C,IAAI,OAAO,YAAY,CAAC,IAAI,CAAC;AAC7B,GAAG;AACH;AACA;AACA,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACrB,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,QAAQ,GAAE;AAChB,MAAM,OAAO,YAAY;AACzB,KAAK;AACL;AACA,IAAI,IAAI,QAAQ,GAAG,CAAC,EAAE;AACtB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAC;AAC9C,IAAI,OAAO,WAAW,CAAC,IAAI;AAC3B,MAAM,IAAI;AACV,MAAM,OAAO;AACb,MAAM,SAAS;AACf,MAAM,GAAG;AACT,MAAM,wBAAwB;AAC9B,KAAK,CAAC,IAAI,CAAC;AACX,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,OAAO,IAAI,KAAK,EAAE;AACtB,QAAQ,OAAO,CAAC,OAAO,CAACH,OAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AAC5D,QAAQ,UAAU,CAAC,IAAI,CAAC;AACxB,GAAG;AACH;AACA;AACA,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE;AAC5B,IAAI,OAAO,IAAI,KAAK,GAAG;AACvB,QAAQ,OAAO,CAAC,OAAO,CAACE,YAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC;AAC3E,QAAQ,eAAe,CAAC,IAAI,CAAC;AAC7B,GAAG;AACH;AACA;AACA,EAAE,SAAS,eAAe,CAAC,IAAI,EAAE;AACjC,IAAI,OAAO,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC;AAC/D,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAC;AAC3C;AACA,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,YAAY,CAAC,IAAI,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAClC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AAC1B,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC;AACvB,OAAO;AACP;AACA,MAAM,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC;AAC3E,KAAK;AACL;AACA,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,GAAG;AACH;AACA;AACA,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE;AAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAC;AACtC,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC;AACnB,GAAG;AACH;AACA;AACA,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAC;AACxC,MAAM,OAAO,EAAE,CAAC,IAAI,CAAC;AACrB,KAAK;AACL;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAC;AAC9C,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC;AAC1B,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC;AACxB,KAAK;AACL;AACA,IAAI,OAAO,OAAO,CAAC,OAAO;AAC1B,MAAM;AACN,QAAQ,QAAQ,EAAE,oBAAoB;AACtC,QAAQ,OAAO,EAAE,IAAI;AACrB,OAAO;AACP,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,UAAU,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,GAAG,CAAC,CAAC;AAC1E,UAAU,UAAU;AACpB,KAAK,CAAC,IAAI,CAAC;AACX,GAAG;AACH;AACA;AACA,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE;AAC5B,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC;AACxB,KAAK;AACL;AACA,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE;AACjD,MAAM,WAAW,EAAE,UAAU;AAC7B,MAAM,QAAQ;AACd,KAAK,EAAC;AACN,IAAI,IAAI,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAK;AACvC,IAAI,QAAQ,GAAG,MAAK;AACpB,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC;AAChC,GAAG;AACH;AACA;AACA,EAAE,SAAS,eAAe,CAAC,IAAI,EAAE;AACjC,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAC;AAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAK;AAC5C,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC;AACxB,KAAK;AACL;AACA,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAClC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC;AAC1E,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,eAAe;AAC1B,GAAG;AACH;AACA;AACA,EAAE,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAClC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAC;AAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAK;AAC1C,IAAI,OAAO,SAAS;AACpB,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAC;AAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAK;AAC1C,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC;AACtB,GAAG;AACH;AACA;AACA,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAC;AAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAC;AACtC,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC;AACnB,GAAG;AACH;AACA;AACA,EAAE,SAAS,oBAAoB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,GAAG,EAAC;AAChB,IAAI,OAAO,YAAY,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,CAAC;AACrE;AACA;AACA,IAAI,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACtC,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAC;AAC9C,MAAM,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAC;AACjD,MAAM,OAAO,eAAe,CAAC,IAAI,CAAC;AAClC,KAAK;AACL;AACA;AACA,IAAI,SAAS,eAAe,CAAC,IAAI,EAAE;AACnC,MAAM,IAAI,IAAI,KAAK,EAAE,EAAE;AACvB,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC7B,QAAQ,IAAI,GAAE;AACd,QAAQ,OAAO,eAAe;AAC9B,OAAO;AACP;AACA,MAAM,IAAI,IAAI,GAAG,QAAQ,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC;AAC3C,MAAM,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAC;AAChD,MAAM,OAAO,YAAY,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC;AAC1E,KAAK;AACL;AACA;AACA,IAAI,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACtC,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACrD,QAAQ,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAC;AAC/C,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC;AACvB,OAAO;AACP;AACA,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AACtB,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA,SAASD,eAAa,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AACzC;AACA,EAAE,OAAO,YAAY;AACrB,IAAI,OAAO;AACX,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,yBAAyB;AAC7B,IAAI,+BAA+B;AACnC,IAAI,+BAA+B;AACnC,IAAI,IAAI;AACR,GAAG;AACH,CAAC;AACD;AACA;AACA,SAASE,oBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AAC9C;AACA,EAAE,OAAO,iBAAiB;AAC1B,IAAI,OAAO;AACX,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,8BAA8B;AAClC,IAAI,oCAAoC;AACxC,IAAI,6BAA6B;AACjC,IAAI,+BAA+B;AACnC,IAAI,kCAAkC;AACtC,IAAI,iCAAiC;AACrC,IAAI,8CAA8C;AAClD,IAAI,yCAAyC;AAC7C,IAAI,kCAAkC;AACtC,IAAI,wCAAwC;AAC5C,IAAI,sCAAsC;AAC1C,IAAI,IAAI;AACR,GAAG;AACH,CAAC;AACD;AACA;AACA,SAAS,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AAC/C,EAAE,MAAM,IAAI,GAAG,KAAI;AACnB,EAAE,OAAO,KAAK;AACd;AACA;AACA,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,EAAC;AAC/B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAC;AAC9B,IAAI,OAAO,SAAS;AACpB,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AACnE,GAAG;AACH;;AClSA;AACA;AACA;AACA;AACA;AAMA;AACA;AACO,MAAM,aAAa,GAAG;AAC7B,EAAE,QAAQ,EAAE,qBAAqB;AACjC,EAAC;AACD,MAAMH,OAAK,GAAG;AACd,EAAE,QAAQ,EAAEC,eAAa;AACzB,EAAE,OAAO,EAAE,IAAI;AACf,EAAC;AACD,MAAMC,YAAU,GAAG;AACnB,EAAE,QAAQ,EAAEC,oBAAkB;AAC9B,EAAE,OAAO,EAAE,IAAI;AACf,EAAC;AACD;AACA;AACA,SAAS,qBAAqB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AACjD,EAAE,MAAM,IAAI,GAAG,KAAI;AACnB,EAAE,OAAO,KAAK;AACd;AACA;AACA,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,EAAC;AAClC,IAAI,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAC;AAC1C,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,OAAO;AAClB,GAAG;AACH;AACA;AACA,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE;AACzB,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACrB,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAC;AAC3C,MAAM,OAAO,WAAW,CAAC,IAAI;AAC7B,QAAQ,IAAI;AACZ,QAAQ,OAAO;AACf,QAAQ,SAAS;AACjB,QAAQ,GAAG;AACX,QAAQ,mBAAmB;AAC3B,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,OAAO,IAAI,KAAK,EAAE;AACtB,QAAQ,OAAO,CAAC,OAAO,CAACH,OAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AAC5D,QAAQ,UAAU,CAAC,IAAI,CAAC;AACxB,GAAG;AACH;AACA;AACA,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE;AAC5B,IAAI,OAAO,IAAI,KAAK,GAAG;AACvB,QAAQ,OAAO,CAAC,OAAO,CAACE,YAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC;AAC3E,QAAQ,eAAe,CAAC,IAAI,CAAC;AAC7B,GAAG;AACH;AACA;AACA,EAAE,SAAS,eAAe,CAAC,IAAI,EAAE;AACjC,IAAI,OAAO,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC;AACzD,GAAG;AACH;AACA;AACA,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACnD,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,EAAC;AACnC,MAAM,OAAO,EAAE,CAAC,IAAI,CAAC;AACrB,KAAK;AACL;AACA,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,GAAG;AACH,CAAC;AACD;AACA;AACA,SAASD,eAAa,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AACzC;AACA,EAAE,OAAO,YAAY;AACrB,IAAI,OAAO;AACX,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,0BAA0B;AAC9B,IAAI,IAAI;AACR,GAAG;AACH,CAAC;AACD;AACA;AACA,SAASE,oBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AAC9C;AACA,EAAE,OAAO,iBAAiB;AAC1B,IAAI,OAAO;AACX,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,yBAAyB;AAC7B,IAAI,+BAA+B;AACnC,IAAI,wBAAwB;AAC5B,IAAI,0BAA0B;AAC9B,IAAI,6BAA6B;AACjC,IAAI,4BAA4B;AAChC,IAAI,yCAAyC;AAC7C,IAAI,oCAAoC;AACxC,IAAI,6BAA6B;AACjC,IAAI,mCAAmC;AACvC,IAAI,iCAAiC;AACrC,IAAI,IAAI;AACR,GAAG;AACH;;ACtHA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACO,MAAM,aAAa,GAAG;AAC7B,EAAE,QAAQ,EAAE,qBAAqB;AACjC,EAAE,QAAQ;AACV,EAAC;AACD,MAAM,KAAK,GAAG;AACd,EAAE,QAAQ,EAAE,aAAa;AACzB,EAAE,OAAO,EAAE,IAAI;AACf,EAAC;AACD,MAAMD,YAAU,GAAG;AACnB,EAAE,QAAQ,EAAE,kBAAkB;AAC9B,EAAE,OAAO,EAAE,IAAI;AACf,EAAC;AACD;AACA;AACA,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB;AACA,EAAE;AACF,IAAI,IAAI,KAAK,EAAE;AACf,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB;AACrE,GAAG;AACH,CAAC;AACD;AACA;AACA,SAAS,qBAAqB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AACjD,EAAE,MAAM,IAAI,GAAG,KAAI;AACnB,EAAE,OAAO,KAAK;AACd;AACA;AACA,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,EAAC;AAClC,IAAI,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAC;AACxC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC;AACzB,IAAI,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAC;AACvC,IAAI,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,CAAC;AAC/E,GAAG;AACH;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,OAAO,IAAI,KAAK,EAAE;AACtB,QAAQ,GAAG,CAAC,IAAI,CAAC;AACjB,QAAQ,IAAI,KAAK,EAAE;AACnB,QAAQ,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AAC5D,QAAQ,UAAU,CAAC,IAAI,CAAC;AACxB,GAAG;AACH;AACA;AACA,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE;AAC5B,IAAI,OAAO,IAAI,KAAK,GAAG;AACvB,QAAQ,OAAO,CAAC,OAAO,CAACA,YAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC;AAC3E,QAAQ,eAAe,CAAC,IAAI,CAAC;AAC7B,GAAG;AACH;AACA;AACA,EAAE,SAAS,eAAe,CAAC,IAAI,EAAE;AACjC,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,EAAC;AACjC,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC;AACnB,GAAG;AACH,CAAC;AACD;AACA;AACA,SAAS,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AACzC;AACA,EAAE,OAAO,YAAY;AACrB,IAAI,OAAO;AACX,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,0BAA0B;AAC9B,GAAG;AACH,CAAC;AACD;AACA;AACA,SAAS,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AAC9C;AACA,EAAE,OAAO,iBAAiB;AAC1B,IAAI,OAAO;AACX,IAAI,EAAE;AACN,IAAI,GAAG;AACP,IAAI,yBAAyB;AAC7B,IAAI,+BAA+B;AACnC,IAAI,wBAAwB;AAC5B,IAAI,0BAA0B;AAC9B,IAAI,6BAA6B;AACjC,IAAI,4BAA4B;AAChC,IAAI,yCAAyC;AAC7C,IAAI,oCAAoC;AACxC,IAAI,6BAA6B;AACjC,IAAI,mCAAmC;AACvC,IAAI,iCAAiC;AACrC,GAAG;AACH;;ACtGA;AACA;AACA;AAIA;AACA;AACA;AACA;AACO,SAAS,SAAS,GAAG;AAC5B,EAAE,OAAO;AACT,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE,GAAG,aAAa;AACzB,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,CAAC,EAAE,GAAG,CAAC,kBAAkB,EAAE,aAAa,CAAC;AAC/C,KAAK;AACL,GAAG;AACH;;ACnBA;AACA;AACA;AACA;AACA;AACO,MAAM,uBAAuB,GAAG;AACvC,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,IAAI;AACN,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,IAAI;AACN,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,IAAI;AACN,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,MAAM;AACR;;AChHA;AACA;AACA;AACA;AACA;AACO,MAAM,yBAAyB,GAAG;AACzC,EAAE,CAAC,EAAE,GAAG;AACR,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV,EAAE,GAAG,EAAE,GAAG;AACV;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,WAAS,CAAC,SAAS,EAAE;AACrC,EAAE,MAAM,IAAI;AACZ,IAAI,OAAO,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAS;AACvE;AACA,EAAE,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE;AACjC;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,SAAS,EAAE;AACzC,EAAE,MAAM,IAAI;AACZ,IAAI,OAAO,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAS;AACvE;AACA,EAAE;AACF,IAAI,CAAC,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,GAAG;AACtC,KAAK,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE,CAAC;AACtC,KAAK,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE,CAAC;AACtC,GAAG;AACH;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,SAAS,EAAE;AAC1C,EAAE,MAAM,IAAI;AACZ,IAAI,OAAO,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAS;AACvE;AACA,EAAE;AACF,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG;AAC9B,KAAK,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;AAC9B,GAAG;AACH;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,SAAS,CAAC,SAAS,EAAE;AACrC,EAAE,MAAM,IAAI;AACZ,IAAI,OAAO,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAS;AACvE;AACA,EAAE,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE;AACjC;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,gBAAgB,CAAC,SAAS,EAAE;AAC5C,EAAE,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC;AAC1D;;ACZA;AACA;AACA;AACA;AAQA;AACA,MAAM,YAAY,GAAG,MAAM,CAAC,aAAY;AACxC;AACA;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,EAAE;AACJ;AACA,EAAE,8DAA8D;AAChE;AACA,EAAE,gEAAgE;AAClE;AACA,EAAE,4CAA4C;AAC9C;AACA,EAAE,8CAA8C;AAChD;AACA,EAAE,0CAA0C;AAC5C;AACA,EAAE,mDAAmD;AACrD;AACA,EAAE,8EAA8E;AAChF,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE;AACnD,EAAE,MAAM,UAAU;AAClB,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;AAC1C,QAAQ,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AACxC,QAAQ,OAAO,CAAC,WAAU;AAC1B;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB,EAAE,IAAI,KAAK,GAAG,EAAC;AACf,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB,EAAE,IAAI,KAAK,GAAG,GAAE;AAChB;AACA,EAAE,IAAI,MAAK;AACX;AACA,EAAE,IAAI,OAAM;AACZ;AACA,EAAE,IAAI,OAAO,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AACrE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAM;AACtC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAK;AACpC,KAAK,MAAM;AACX,MAAM,KAAK,GAAG,OAAO,CAAC,SAAQ;AAC9B,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,IAAI,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,EAAC;AAC1C,EAAE,IAAI,MAAM,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,EAAC;AAC9C;AACA;AACA,EAAE,IAAI,QAAQ,GAAG,GAAG,GAAE;AACtB;AACA,EAAE,IAAI,UAAS;AACf;AACA;AACA,EAAE,KAAK,GAAE;AACT;AACA,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AAClC;AACA,IAAI,IAAI,SAAS,KAAK,EAAE,aAAa;AACrC,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC;AAChD,KAAK;AACL;AACA,IAAI,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,EAAC;AACvC;AACA,IAAI,IAAI,SAAS,KAAK,EAAE,YAAY;AACpC,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,EAAC;AACnD;AACA;AACA,MAAM;AACN,QAAQ,SAAS,KAAK,CAAC;AACvB,QAAQ,SAAS,KAAK,EAAE;AACxB,QAAQ,SAAS,KAAK,EAAE;AACxB,QAAQ,SAAS,KAAK,EAAE;AACxB,QAAQ,SAAS,KAAK,EAAE;AACxB,QAAQ,SAAS,KAAK,EAAE;AACxB,QAAQ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AAC/B,SAAS,UAAU,IAAI,SAAS,KAAK,UAAU,CAAC;AAChD,QAAQ;AACR;AACA;AACA;AACA,QAAQ,KAAK,IAAI,YAAY,CAAC,SAAS,EAAC;AACxC,QAAQ,MAAM,GAAE;AAChB,QAAQ,QAAQ;AAChB,OAAO;AACP;AACA,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,EAAC;AAC7B,MAAM,IAAI,KAAK,GAAG,MAAK;AACvB,MAAM,IAAI,GAAG,GAAG,MAAK;AACrB;AACA,MAAM,IAAI,KAAI;AACd;AACA,MAAM,IAAI,SAAS,KAAK,EAAE,YAAY;AACtC;AACA,QAAQ,GAAG,GAAG,EAAE,MAAK;AACrB;AACA;AACA,QAAQ,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAC;AAC/C;AACA,QAAQ,IAAI,SAAS,KAAK,EAAE,cAAc,SAAS,KAAK,GAAG,YAAY;AACvE;AACA,UAAU,IAAI,GAAG,cAAa;AAC9B,UAAU,GAAG,GAAG,EAAE,MAAK;AACvB,SAAS,MAAM;AACf;AACA,UAAU,IAAI,GAAG,UAAS;AAC1B,SAAS;AACT,OAAO,MAAM;AACb;AACA,QAAQ,IAAI,GAAG,QAAO;AACtB,OAAO;AACP;AACA,MAAM,IAAI,4BAA4B,GAAG,GAAE;AAC3C,MAAM,IAAI,kBAAkB,GAAG,GAAE;AACjC,MAAM,IAAI,UAAU,GAAG,GAAE;AACzB;AACA;AACA;AACA,MAAM,MAAM,IAAI;AAChB,QAAQ,IAAI,KAAK,OAAO;AACxB,YAAY,gBAAgB;AAC5B,YAAY,IAAI,KAAK,SAAS;AAC9B,YAAYA,WAAS;AACrB,YAAY,cAAa;AACzB;AACA,MAAM,GAAG,GAAE;AACX;AACA,MAAM,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;AACpC,QAAQ,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAC;AAC/C;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC9B,UAAU,KAAK;AACf,SAAS;AACT;AACA,QAAQ,UAAU,IAAI,YAAY,CAAC,SAAS,EAAC;AAC7C;AACA;AACA;AACA;AACA,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,uBAAuB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AAC9E,UAAU,4BAA4B,GAAG,WAAU;AACnD;AACA,UAAU,kBAAkB,GAAG,6BAA6B,CAAC,UAAU,EAAC;AACxE,SAAS;AACT,OAAO;AACP;AACA,MAAM,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,GAAE;AACnD;AACA,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,GAAG,GAAE;AACb;AACA,QAAQ,MAAM,cAAc;AAC5B,UAAU,IAAI,KAAK,OAAO,GAAG,6BAA6B,CAAC,UAAU,CAAC,GAAG,MAAK;AAC9E;AACA,QAAQ,IAAI,cAAc,EAAE;AAC5B,UAAU,4BAA4B,GAAG,WAAU;AACnD,UAAU,kBAAkB,GAAG,eAAc;AAC7C,SAAS;AACT,OAAO;AACP;AACA,MAAM,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,MAAK;AAChC,MAAM,IAAI,SAAS,GAAG,GAAE;AACxB;AACA,MAAM,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE,CAEnD,MAAM,IAAI,CAAC,UAAU,EAAE;AAC9B;AACA;AACA,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE;AAC9B,UAAU,OAAO,CAAC,CAAC,wBAAwB,IAAI,EAAC;AAChD,SAAS;AACT,OAAO,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE;AACnC;AACA;AACA,QAAQ,IAAI,UAAU,IAAI,CAAC,kBAAkB,EAAE;AAC/C,UAAU,OAAO,CAAC,CAAC,wBAAwB,CAAC,EAAC;AAC7C,SAAS,MAAM;AACf;AACA;AACA,UAAU,IAAI,4BAA4B,KAAK,UAAU,EAAE;AAC3D,YAAY,GAAG,GAAG,KAAK,GAAG,4BAA4B,CAAC,OAAM;AAC7D,YAAY,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,MAAK;AAClC,YAAY,UAAU,GAAG,MAAK;AAC9B,WAAW;AACX;AACA;AACA,UAAU,IAAI,CAAC,UAAU,EAAE;AAC3B,YAAY,MAAM,MAAM,GAAG,4BAA4B;AACvD,gBAAgB,CAAC;AACjB,gBAAgB,EAAC;AACjB;AACA,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE;AACnC,cAAc,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAC;AACrD;AACA,cAAc,IAAI,SAAS,KAAK,EAAE,YAAY;AAC9C,gBAAgB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC;AACrC,gBAAgB,kBAAkB,GAAG,GAAE;AACvC,eAAe,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;AACtD,gBAAgB,kBAAkB,GAAG,GAAE;AACvC,eAAe,MAAM;AACrB,gBAAgB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC;AACrC,eAAe;AACf,aAAa,MAAM;AACnB,cAAc,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC;AACnC,aAAa;AACb,WAAW;AACX,SAAS;AACT;AACA,QAAQ,SAAS,GAAG,mBAAkB;AACtC,OAAO,MAAM;AACb,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB;AACA;AACA,UAAU,OAAO,CAAC,CAAC,iCAAiC,IAAI,EAAC;AACzD,SAAS;AACT;AACA;AACA;AACA,QAAQ,IAAI,aAAa,GAAG,MAAM,CAAC,QAAQ;AAC3C,UAAU,UAAU;AACpB,UAAU,IAAI,KAAK,aAAa,GAAG,EAAE,GAAG,EAAE;AAC1C,UAAS;AACT;AACA;AACA;AACA,QAAQ,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE;AACvC,UAAU,OAAO,CAAC,CAAC,6BAA6B,IAAI,EAAC;AACrD,UAAU,SAAS,GAAG,YAAY,CAAC,KAAK,YAAW;AACnD,SAAS,MAAM,IAAI,aAAa,IAAI,yBAAyB,EAAE;AAC/D;AACA;AACA,UAAU,OAAO,CAAC,CAAC,6BAA6B,IAAI,EAAC;AACrD,UAAU,SAAS,GAAG,yBAAyB,CAAC,aAAa,EAAC;AAC9D,SAAS,MAAM;AACf;AACA,UAAU,IAAI,MAAM,GAAG,GAAE;AACzB;AACA;AACA,UAAU,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE;AACzC,YAAY,OAAO,CAAC,CAAC,6BAA6B,IAAI,EAAC;AACvD,WAAW;AACX;AACA;AACA,UAAU,IAAI,aAAa,GAAG,MAAM,EAAE;AACtC,YAAY,aAAa,IAAI,QAAO;AACpC,YAAY,MAAM,IAAI,YAAY,CAAC,CAAC,aAAa,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,EAAC;AAC7E,YAAY,aAAa,GAAG,MAAM,IAAI,aAAa,GAAG,KAAK,EAAC;AAC5D,WAAW;AACX;AACA,UAAU,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC,aAAa,EAAC;AAC1D,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,KAAK,GAAE;AACf;AACA,QAAQ,QAAQ,GAAG,GAAG,GAAE;AACxB,QAAQ,KAAK,GAAG,GAAG,GAAG,EAAC;AACvB,QAAQ,MAAM,IAAI,GAAG,GAAG,KAAK,GAAG,EAAC;AACjC,QAAQ,MAAM,CAAC,IAAI,CAAC,SAAS,EAAC;AAC9B,QAAQ,MAAM,IAAI,GAAG,GAAG,GAAE;AAC1B,QAAQ,IAAI,CAAC,MAAM,GAAE;AACrB;AACA,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;AAC/B,UAAU,OAAO,CAAC,SAAS,CAAC,IAAI;AAChC,YAAY,OAAO,CAAC,gBAAgB;AACpC,YAAY,SAAS;AACrB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC;AACxC,YAAY,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;AACvC,YAAW;AACX,SAAS;AACT;AACA,QAAQ,QAAQ,GAAG,KAAI;AACvB,OAAO,MAAM;AACb;AACA;AACA;AACA;AACA,QAAQ,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,EAAC;AAChD,QAAQ,KAAK,IAAI,WAAU;AAC3B,QAAQ,MAAM,IAAI,UAAU,CAAC,OAAM;AACnC,QAAQ,KAAK,GAAG,GAAG,GAAG,EAAC;AACvB,OAAO;AACP,KAAK,MAAM;AACX;AACA,MAAM,IAAI,SAAS,KAAK,EAAE,aAAa;AACvC,QAAQ,IAAI,GAAE;AACd,QAAQ,KAAK,GAAE;AACf,QAAQ,MAAM,GAAG,EAAC;AAClB,OAAO;AACP;AACA,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;AACnC,QAAQ,KAAK,GAAE;AACf,OAAO,MAAM;AACb,QAAQ,KAAK,IAAI,YAAY,CAAC,SAAS,EAAC;AACxC,QAAQ,MAAM,GAAE;AAChB,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACxB;AACA;AACA,EAAE,SAAS,GAAG,GAAG;AACjB,IAAI,OAAO;AACX,MAAM,IAAI;AACV,MAAM,MAAM;AACZ,MAAM,MAAM,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;AACvD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;AACjC;AACA,IAAI,IAAI,SAAQ;AAChB;AACA,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE;AACzB,MAAM,QAAQ,GAAG,GAAG,GAAE;AACtB,MAAM,QAAQ,CAAC,MAAM,IAAI,OAAM;AAC/B,MAAM,QAAQ,CAAC,MAAM,IAAI,OAAM;AAC/B;AACA,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI;AAC1B,QAAQ,OAAO,CAAC,cAAc;AAC9B,QAAQ,QAAQ,CAAC,IAAI,CAAC;AACtB,QAAQ,QAAQ;AAChB,QAAQ,IAAI;AACZ,QAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,KAAK,GAAG;AACnB,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAC;AACxB;AACA,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE;AACxB,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE;AACtD,UAAU,KAAK,EAAE,QAAQ;AACzB,UAAU,GAAG,EAAE,GAAG,EAAE;AACpB,SAAS,EAAC;AACV,OAAO;AACP;AACA,MAAM,KAAK,GAAG,GAAE;AAChB,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,IAAI,GAAG,QAAQ;AAC9D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE;AACF,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM;AACrC,IAAI,IAAI,KAAK,MAAM;AACnB,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;AACtC,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;AACtC,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;AACtC,IAAI,CAAC,IAAI,GAAG,MAAM,MAAM,MAAM;AAC9B,IAAI,CAAC,IAAI,GAAG,MAAM,MAAM,MAAM;AAC9B,GAAG;AACH;;ACnZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;AACrC,EAAE,KAAK,GAAG,KAAK,CAAC,OAAO;AACvB,IAAI,OAAO,CAAC,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,WAAW;AACzE,IAAI,KAAK;AACT,IAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE;AAC5C,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;AACA,EAAE;AACF,IAAI,KAAK;AACT;AACA,OAAO,OAAO,CAAC,iCAAiC,EAAE,SAAS,CAAC;AAC5D;AACA;AACA,OAAO,OAAO;AACd;AACA,QAAQ,4DAA4D;AACpE,QAAQ,KAAK;AACb,OAAO;AACP,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;AACvC,IAAI,OAAO,OAAO,CAAC,MAAM;AACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK;AAC3C,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC1B,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;AAC/B,MAAM,OAAO;AACb,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;AACxC,IAAI,OAAO,OAAO,CAAC,MAAM;AACzB,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7B,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;AAC/B,MAAM,OAAO;AACb,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE;AACxC;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;AAClC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAC;AACrE,GAAG;AACH;AACA,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;AACxD;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,WAAW,CAAC,IAAI,EAAE;AAClC,EAAE,OAAO,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG;AACtD;;ACRA;AACA;AACA;AACA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE;AACvD,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,CAAC,QAAQ,EAAE;AAChC;AACA;AACA;AACA,EAAE,MAAM,OAAO,GAAG,QAAQ,IAAI,GAAE;AAChC,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAE;AAC/B,EAAE,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAC;AACxC,EAAE,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAC;AAC1B,EAAE,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAC;AAC9B;AACA,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC;AAC3C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE;AACxB,IAAI,SAAS,IAAI,MAAK;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE;AAC5B,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAC;AAC3C,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;AAC1C,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,EAAC;AAC7B,IAAI,MAAM;AACV,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,UAAS;AAC9E,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;AAC5D,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAU;AACvC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAE;AACxC,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAC;AACpC;AACA,EAAE,MAAM,OAAO,GAAG,GAAE;AACpB,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC;AACrB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE;AACpC,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAC;AACjC;AACA,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAK;AAC7C;AACA,IAAI,OAAO,CAAC,IAAI;AAChB,MAAM,OAAO,CAAC,IAAI;AAClB,QAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;AAC/C,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,KAAK,EAAE,IAAI;AACrB,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE;AAC9B,SAAS,CAAC;AACV,OAAO;AACP,MAAK;AACL;AACA,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AAC/B,MAAM,OAAO,CAAC,cAAc,GAAG,UAAS;AACxC,KAAK;AACL;AACA,IAAI,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC;AACrE,KAAK;AACL,GAAG;AACH;AACA,EAAE,UAAU,CAAC,GAAG,GAAE;AAClB;AACA,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;AAChC,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAM;AACnC;AACA,IAAI,OAAO,KAAK,EAAE,EAAE;AACpB,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC;AACtE;AACA,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,CAAC,EAAE;AAC3C,QAAQ,KAAK;AACb,OAAO;AACP;AACA,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACtC,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AACtC,OAAO;AACP;AACA,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE;AAC5B,QAAQ,OAAO,iBAAiB;AAChC,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,MAAM;AACjB,GAAG;AACH;;AChFA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;AAChE,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAU;AACvC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAE;AACxC;AACA,EAAE,MAAM,OAAO,GAAG,GAAE;AACpB,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB,EAAE,IAAI,MAAM,GAAG,WAAW,CAAC,OAAM;AACjC;AACA,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC;AACrB,EAAE,IAAI,OAAO,GAAG,KAAK,CAAC,WAAW,EAAC;AAClC;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE;AACpC,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAC;AACjC;AACA,IAAI,IAAI,MAAK;AACb;AACA,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAK;AAC7C;AACA,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE;AACrC;AACA,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAC;AACpE,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAI;AACrD,MAAM,KAAK,GAAG,MAAM;AACpB,UAAU,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;AACvD,YAAY,MAAM,EAAE,EAAE;AACtB,YAAY,KAAK,EAAE,EAAE;AACrB,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE;AAChC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACtB,UAAU,GAAE;AACZ,KAAK,MAAM;AACX,MAAM,KAAK,GAAG,WAAW,CAAC,MAAK;AAC/B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC;AACxB,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC;AAC1C,MAAM,KAAK,CAAC,IAAI,KAAK,MAAM;AAC3B,MAAM;AACN,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO;AACvE,QAAQ,aAAa;AACrB,QAAQ,GAAG;AACX,QAAO;AACP,MAAM,MAAM,GAAG,IAAG;AAClB;AACA;AACA,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAC;AAClC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAC;AACpC,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI;AAChB,MAAM,OAAO,CAAC,IAAI;AAClB,QAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;AAC/C,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE;AAC9B,UAAU,MAAM;AAChB,UAAU,KAAK;AACf,SAAS,CAAC;AACV,OAAO;AACP,MAAK;AACL;AACA,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC;AAClD,GAAG;AACH;AACA,EAAE,UAAU,CAAC,GAAG,GAAE;AAClB;AACA,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AACzB;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,UAAU,CAAC,OAAO,EAAE;AACpC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,IAAG;AAC7C;AACA,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;AACxC,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,+BAA+B;AACrC,QAAQ,MAAM;AACd,QAAQ,8CAA8C;AACtD,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,MAAM;AACf;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA,MAAM,GAAG,GAAG,EAAE,CAAC,eAAc;AAC7B;AACA,MAAM,QAAQ,GAAG,yBAAwB;AACzC;AACA,eAAe,CAAC,IAAI,GAAG,cAAa;AACpC;AACA;AACO,MAAM,qBAAqB,GAAG;AACrC,EAAE,cAAc,EAAE,CAAC,eAAe,CAAC;AACnC,EAAE,KAAK,EAAE;AACT,IAAI,kBAAkB,EAAE,cAAc;AACtC,IAAI,4BAA4B,EAAE,eAAe;AACjD,IAAI,uBAAuB,EAAE,mBAAmB;AAChD;AACA,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,uBAAuB,EAAE,eAAe;AAC5C;AACA,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,uBAAuB,EAAE,eAAe;AAC5C,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,qCAAqC,EAAE,uBAAuB;AAClE,IAAI,kCAAkC,EAAE,oBAAoB;AAC5D,IAAI,+BAA+B,EAAE,iBAAiB;AACtD,IAAI,gCAAgC,EAAE,kBAAkB;AACxD,IAAI,4BAA4B,EAAE,cAAc;AAChD,IAAI,uBAAuB,EAAE,kBAAkB;AAC/C,IAAI,sBAAsB,EAAE,QAAQ;AACpC;AACA,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,gCAAgC,EAAE,uBAAuB;AAC7D,IAAI,6BAA6B,EAAE,oBAAoB;AACvD,IAAI,0BAA0B,EAAE,iBAAiB;AACjD,IAAI,2BAA2B,EAAE,kBAAkB;AACnD,IAAI,uBAAuB,EAAE,cAAc;AAC3C,IAAI,iBAAiB,EAAE,QAAQ;AAC/B;AACA,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,gCAAgC,EAAE,uBAAuB;AAC7D,IAAI,6BAA6B,EAAE,oBAAoB;AACvD,IAAI,0BAA0B,EAAE,iBAAiB;AACjD,IAAI,2BAA2B,EAAE,kBAAkB;AACnD,IAAI,uBAAuB,EAAE,cAAc;AAC3C,IAAI,iBAAiB,EAAE,QAAQ;AAC/B,GAAG;AACH,EAAC;AACD;AACA;AACO,MAAM,mBAAmB,GAAG;AACnC,EAAE,MAAM,EAAE;AACV,IAAI;AACJ,MAAM,SAAS,EAAE,IAAI;AACrB,MAAM,WAAW,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;AACpE,KAAK;AACL,IAAI;AACJ,MAAM,SAAS,EAAE,IAAI;AACrB,MAAM,WAAW,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;AACpE,KAAK;AACL,IAAI;AACJ,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,SAAS,EAAE,GAAG;AACpB,MAAM,KAAK,EAAE,UAAU;AACvB,MAAM,WAAW,EAAE,CAAC,UAAU,CAAC;AAC/B,KAAK;AACL,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC;AAC/C,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,kBAAkB,EAAE,eAAe;AACvC,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,aAAa,EAAE,eAAe;AAClC,GAAG;AACH,EAAC;AACD;AACA;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAC;AAC/C,CAAC;AACD;AACA;AACA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAC;AAC1C,CAAC;AACD;AACA;AACA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAC;AAC1C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;AAC5B,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,EAAC;AACnE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,MAAM,IAAI,6BAA6B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;AAC3E,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAC;AACxC,CAAC;AACD;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACpC,EAAE,IAAI,CAAC,KAAK;AACZ,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC;AACnE,IAAI,KAAK;AACT,IAAG;AACH,CAAC;AACD;AACA;AACA,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACnC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAC;AAClB,CAAC;AACD;AACA;AACA,SAAS,eAAe,GAAG;AAC3B,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,EAAC;AACzC,EAAE,IAAI,CAAC,MAAM,GAAE;AACf,CAAC;AACD;AACA;AACA,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,EAAE,MAAM,IAAI;AACZ,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACvC,IAAG;AACH,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC;AAC9D,CAAC;AACD;AACA;AACA,SAAS,uBAAuB,CAAC,KAAK,EAAE;AACxC,EAAE,MAAM,IAAI;AACZ,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACvC,IAAG;AACH,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC;AACjE,CAAC;AACD;AACA;AACA,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACnC,EAAE,MAAM,IAAI;AACZ,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACvC,IAAG;AACH,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAC;AACtE,CAAC;AACD;AACA;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,MAAM,IAAI;AACZ,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACvC,IAAG;AACH;AACA;AACA;AACA,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAC;AAC7C,CAAC;AACD;AACA;AACA,SAAS,cAAc,GAAG;AAC1B,EAAE,MAAM,IAAI;AACZ,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACvC,IAAG;AACH;AACA,EAAE,MAAM,OAAO,GAAG,GAAE;AACpB,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAChC,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAC;AACjC;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;AACnD,MAAM,OAAO,CAAC,KAAK,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,EAAC;AACzC,KAAK,MAAM;AACX,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAC;AACrC,EAAE,IAAI,CAAC,MAAM,GAAE;AACf,EAAE,MAAM,IAAI,6BAA6B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;AAC3E,EAAE,IAAI,CAAC,UAAU,GAAG,QAAO;AAC3B,CAAC;AACD;AACA;AACA,SAAS,IAAI,CAAC,KAAK,EAAE;AACrB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAC;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAC;AACpC,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAC;AAC9B,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAC;AACvC,EAAE,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAC;AACxD;AACA,EAAE,IAAI,KAAK,GAAG,KAAI;AAClB;AACA,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE;AAC1C,IAAI,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,EAAC;AACzC,IAAI,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,UAAS;AACzD,GAAG;AACH;AACA,EAAE,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5D,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAC;AACvC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,EAAC;AACtD,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAC;AAC9B,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI;AACzB,MAAM,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE;AACxC,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE;AAC5B,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,KAAK,EAAE,GAAG;AAClB,OAAO,CAAC;AACR,MAAK;AACL,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAC;AAC9B,IAAI,OAAO,GAAE;AACb,IAAI,IAAI,GAAE;AACV,GAAG;AACH;AACA,EAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAC;AAClD;AACA,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE;AAC1C,IAAI,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,EAAC;AACzC,IAAI,IAAI,OAAO,GAAG,KAAI;AACtB;AACA,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE;AACpC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC;AAC3E,KAAK;AACL;AACA,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACpE,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAC;AACjC,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAC;AAC/E,KAAK;AACL;AACA,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAC;AAC1C,GAAG;AACH;AACA,EAAE,IAAI,GAAE;AACR,EAAE,OAAO,KAAK;AACd,CAAC;AACD;AACA;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,OAAO,GAAG;AACZ,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE;AACnC,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAC;AACnC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,eAAe,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC;AAC9E,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,GAAE;AACrC;AACA,EAAE,MAAM,MAAM,GAAG,GAAE;AACnB;AACA,EAAE,IAAI,YAAW;AACjB;AACA,EAAE,IAAI,QAAO;AACb;AACA,EAAE,IAAI,GAAE;AACR;AACA,EAAE,IAAI,IAAG;AACT;AACA,EAAE,KAAK,GAAG,IAAI,KAAK,EAAE;AACrB,IAAI;AACJ,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;AAC1B,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;AAC9B,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI;AACzB,MAAM;AACN,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC;AACtC;AACA,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;AACxB,QAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAC;AACrE,OAAO,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE;AAClC,QAAQ,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAC;AAC/C;AACA,QAAQ,MAAM,eAAe,GAAG,GAAE;AAClC;AACA,QAAQ,MAAM,WAAW,GAAG,GAAE;AAC9B,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAC;AACtB;AACA,QAAQ,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAC3B,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,GAAG,eAAe,EAAE,IAAI;AAC5E,YAAY,IAAI,CAAC,KAAK,CAAC;AACvB,YAAW;AACX,SAAS;AACT;AACA,QAAQ,WAAW;AACnB,UAAU,eAAe,CAAC,MAAM,GAAG,CAAC;AACpC,cAAc,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,cAAc,GAAE;AAChB,QAAQ,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAE;AAC3E,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAC;AACvC,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAC;AAC/B,GAAG;AACH;AACA,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAC;AAC3B,GAAG;AACH;AACA,EAAE,IAAI,EAAE,EAAE;AACV,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,EAAC;AACtB,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE;AAC9B,IAAI;AACJ,MAAM,GAAG;AACT,OAAO,KAAK;AACZ,UAAU,GAAG,GAAG,KAAK,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;AACvE,UAAU,EAAE,CAAC;AACb,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,EAAE,OAAO,OAAO;AAChB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc;AAC9E,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,CAAC,IAAI,EAAE;AACrB,EAAE,IAAI,IAAI,GAAG,EAAC;AACd;AACA,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE;AAC1C,IAAIZ,cAAY,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAC;AACrD,IAAI,IAAI,IAAI,EAAC;AACb,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE;AAC5C,IAAI,IAAI,GAAG,EAAC;AACZ,GAAG,MAAM;AACT,IAAI,IAAI,GAAG,EAAC;AACZ,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;AACzB;AACA;AACA,EAAE,SAAS,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE;AAC/B,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,OAAM;AAC9B,IAAI,IAAI,OAAO,GAAG,EAAC;AACnB;AACA,IAAI,OAAO,KAAK,EAAE,EAAE;AACpB,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE;AACxD,QAAQ,OAAO,GAAE;AACjB,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,OAAO,GAAG,IAAI,EAAE,IAAI,GAAG,QAAO;AACtC,GAAG;AACH;;ACjZA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,eAAe,GAAG;AAC1C,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAE;AAC1B;AACA,EAAE,GAAG,CAAC,qBAAqB,EAAE,SAAS,EAAE,EAAC;AACzC,EAAE,GAAG,CAAC,wBAAwB,EAAE,qBAAqB,EAAC;AACtD,EAAE,GAAG,CAAC,sBAAsB,EAAE,mBAAmB,EAAC;AAClD;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE;AAC7B,IAAI,MAAM,IAAI;AACd;AACA;AACA,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AACpD,MAAK;AACL;AACA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAC;AACpB,GAAG;AACH;;ICjCA,SAAc,GAAGR,UAAO;AACxB;AACA,SAASA,SAAO,CAAC,IAAI,EAAE;AACvB,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE;AACpB,IAAI,OAAO,EAAE;AACb,GAAG;AACH;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,WAAW,CAAC,IAAI,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,QAAQ,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;AACjE,GAAG;AACH;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAClC,IAAI,OAAO,IAAI;AACf,GAAG;AACH;AACA,EAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;AACjE,CAAC;AACD;AACA;AACA;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,OAAO,GAAG;AACZ;AACA,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,IAAG;AACX;AACA,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE;AACtB,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK;AAC/C,KAAK;AACL;AACA,IAAI,OAAO,IAAI;AACf,GAAG;AACH,CAAC;AACD;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,IAAI,MAAM,GAAG,GAAE;AACjB,EAAE,IAAI,KAAK,GAAG,CAAC,EAAC;AAChB;AACA,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE;AACjC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAGA,SAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC;AACzC,GAAG;AACH;AACA,EAAE,OAAO,GAAG;AACZ;AACA,EAAE,SAAS,GAAG,GAAG;AACjB,IAAI,IAAI,KAAK,GAAG,CAAC,EAAC;AAClB;AACA,IAAI,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;AACpC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AAChD,QAAQ,OAAO,IAAI;AACnB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,KAAK;AAChB,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,IAAI;AACb;AACA,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE;AACtB,IAAI,OAAO,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AAC9C,GAAG;AACH,CAAC;AACD;AACA;AACA,SAAS,EAAE,GAAG;AACd,EAAE,OAAO,IAAI;AACb;;IC5EA,OAAc,GAAGI,QAAK;AACtB,SAASA,OAAK,CAAC,CAAC,EAAE;AAClB,EAAE,OAAO,YAAY,GAAG,CAAC,GAAG,YAAY;AACxC;;ICDA,qBAAc,GAAGI,eAAY;AAC7B;AACA,IAAI,OAAO,GAAGpC,UAAgC;AAC9C,IAAI,KAAK,GAAGC,QAAkB;AAC9B;AACA,IAAIgC,UAAQ,GAAG,KAAI;AACnB,IAAIC,MAAI,GAAG,OAAM;AACjB,IAAIC,MAAI,GAAG,MAAK;AAChB;AACAC,cAAY,CAAC,QAAQ,GAAGH,WAAQ;AAChCG,cAAY,CAAC,IAAI,GAAGF,OAAI;AACxBE,cAAY,CAAC,IAAI,GAAGD,OAAI;AACxB;AACA,SAASC,cAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AACpD,EAAE,IAAI,KAAI;AACV,EAAE,IAAI,GAAE;AACR;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AACnE,IAAI,OAAO,GAAG,QAAO;AACrB,IAAI,OAAO,GAAG,KAAI;AAClB,IAAI,IAAI,GAAG,KAAI;AACf,GAAG;AACH;AACA,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAC;AACpB,EAAE,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,EAAC;AACzB;AACA,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,GAAE;AAC3B;AACA,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;AACzC,IAAI,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAE;AACrE,IAAI,IAAI,KAAI;AACZ;AACA,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AACxC,MAAM,IAAI;AACV,QAAQ,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;AACzC,YAAY,KAAK,CAAC,OAAO;AACzB,YAAY,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;AAC1C,YAAY,KAAK,CAAC,IAAI;AACtB,YAAY,UAAS;AACrB;AACA,MAAM,KAAK,CAAC,WAAW;AACvB,QAAQ,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAG;AAC3E,KAAK;AACL;AACA,IAAI,OAAO,KAAK;AAChB;AACA,IAAI,SAAS,KAAK,GAAG;AACrB,MAAM,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAC;AAC7C,MAAM,IAAI,MAAM,GAAG,GAAE;AACrB,MAAM,IAAI,UAAS;AACnB,MAAM,IAAI,OAAM;AAChB;AACA,MAAM,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;AACzE,QAAQ,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAC;AACjD;AACA,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,KAAKD,MAAI,EAAE;AAChC,UAAU,OAAO,MAAM;AACvB,SAAS;AACT,OAAO;AACP;AACA,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,KAAKD,MAAI,EAAE;AAC/C,QAAQ,MAAM,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAI;AAC7D;AACA,QAAQ,OAAO,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC7D,UAAU,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,GAAE;AAC5E;AACA,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,KAAKC,MAAI,EAAE;AACrC,YAAY,OAAO,SAAS;AAC5B,WAAW;AACX;AACA,UAAU,MAAM;AAChB,YAAY,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAI;AAC3E,SAAS;AACT,OAAO;AACP;AACA,MAAM,OAAO,MAAM;AACnB,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,EAAE;AACxE,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjC,IAAI,OAAO,CAACF,UAAQ,EAAE,KAAK,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,OAAO,CAAC,KAAK,CAAC;AAChB;;IC1FA,cAAc,GAAG,MAAK;AACtB;AACA,IAAI,YAAY,GAAGjC,sBAAmC;AACtD;AACA,IAAI,QAAQ,GAAG,YAAY,CAAC,SAAQ;AACpC,IAAI,IAAI,GAAG,YAAY,CAAC,KAAI;AAC5B,IAAI,IAAI,GAAG,YAAY,CAAC,KAAI;AAC5B;AACA,KAAK,CAAC,QAAQ,GAAG,SAAQ;AACzB,KAAK,CAAC,IAAI,GAAG,KAAI;AACjB,KAAK,CAAC,IAAI,GAAG,KAAI;AACjB;AACA,SAAS,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7C,EAAE,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AACnE,IAAI,OAAO,GAAG,QAAO;AACrB,IAAI,OAAO,GAAG,KAAI;AAClB,IAAI,IAAI,GAAG,KAAI;AACf,GAAG;AACH;AACA,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAC;AAC7C;AACA,EAAE,SAAS,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE;AACnC,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;AAC5C,IAAI,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAI;AAC7D,IAAI,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;AACvC,GAAG;AACH;;;;;;ACpBA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA,IAAM,kBAAkB,GAAG;IACzB,OAAO,UAAC,IAAS;;;QAGfsC,cAAK,CACH,IAAI,EACJ,CAAC,eAAe,EAAE,eAAe,EAAE,oBAAoB,CAAC,EACxD,UAAC,IAAS;;YAER,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;;YAG3C,IAAM,IAAI,GAAG7C,GAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;;YAI3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;SACpC,CACF,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,IAAI,GAAG,UAAC,iBAA0B,IAAK,OAAA,UAAC,KAAU;IACtD,OAAO,iBAAiB,IACtBwD,oBAAG,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,gBAClE,KAAK,CAAC,QAAQ,YACb,KAEJA,oBAAG,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAC,KAAK,gBACjC,KAAK,CAAC,QAAQ,YACb,CACL,CAAC;AACJ,CAAC,GAAA,CAAC;AAEF,IAAM,SAAS,GAAG,UAAC,SAAiB,IAAK,OAAA,UAAC,KAAU;IAClD,OAAOA,oBAAG,SAAS,EAAE,SAAS,IAAI,SAAS,gBAAG,KAAK,CAAC,QAAQ,YAAK,CAAC;AACpE,CAAC,GAAA,CAAC;AAEF,IAAM,OAAO,GAAG,UAAC,KAAU;IACjB,IAAA,KAAK,GAAK,KAAK,MAAV,CAAW;IAExB,QAAQ,KAAK;QACX,KAAK,CAAC;YACJ,OAAOA,qBAAI,SAAS,EAAC,oBAAoB,gBAAE,KAAK,CAAC,QAAQ,YAAM,CAAC;QAClE,KAAK,CAAC;YACJ,OAAOA,qBAAI,SAAS,EAAC,WAAW,gBAAE,KAAK,CAAC,QAAQ,YAAM,CAAC;QACzD,KAAK,CAAC;YACJ,OAAOA,qBAAI,SAAS,EAAC,WAAW,gBAAE,KAAK,CAAC,QAAQ,YAAM,CAAC;QACzD,KAAK,CAAC;YACJ,OAAOA,qBAAI,SAAS,EAAC,UAAU,gBAAE,KAAK,CAAC,QAAQ,YAAM,CAAC;QACxD;YACE,OAAOA,qBAAI,KAAK,CAAC,QAAQ,WAAK,CAAC;KAClC;AACH,CAAC,CAAC;AAEF,IAAM,KAAK,GAAG,UAAC,KAAU;IACvB,OAAOA,qBAAI,SAAS,EAAE,SAAO,MAAM,CAAC,KAAK,SAAM,gBAAG,KAAK,CAAC,QAAQ,YAAM,CAAC;AACzE,CAAC,CAAC;AAEF,IAAM,KAAK,GAAG,UAAC,KAAU;IACvB,OAAOA,qBAAI,SAAS,EAAE,SAAO,MAAM,CAAC,KAAK,SAAM,gBAAG,KAAK,CAAC,QAAQ,YAAM,CAAC;AACzE,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG,UAAC,KAAU;IACxB,OAAOA,yBAAQ,SAAS,EAAC,SAAS,gBAAE,KAAK,CAAC,QAAQ,YAAU,CAAC;AAC/D,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG,UAAC,KAAU;IACxB,OAAOA,qBAAI,SAAS,EAAC,WAAW,gBAAE,KAAK,CAAC,QAAQ,YAAM,CAAC;AACzD,CAAC,CAAC;AAEF,IAAM,IAAI,GAAG,UAAC,KAAU;IACtB,QACEA,sBAAK,SAAS,EAAE,uCAAqC,MAAM,CAAC,IAAM,gBAC/D,KAAK,CAAC,QAAQ,YACX,EACN;AACJ,CAAC,CAAC;IAUI,QAAQ,GAAG,UAAC,EAMF;QALd,QAAQ,cAAA,EACR,kBAAkB,wBAAA,EAClB,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,yBAAyB,EAAzB,iBAAiB,mBAAG,KAAK,KAAA,EACzB,0BAAuB,EAAvB,kBAAkB,mBAAG,EAAE,KAAA;IACJ,QACnBA,IAAC,aAAa,IACZ,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,aACR,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAC1B,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,EAChC,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,KAAK,EACT,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,IAAI,IACP,kBAAkB,GAEvB,aAAa,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC,WACpD;AApBiB;;;;"}
|