@tryghost/koenig-lexical 0.0.34 → 0.0.35
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/koenig-lexical.js +421 -429
- package/dist/koenig-lexical.js.map +1 -1
- package/dist/koenig-lexical.umd.js +26 -26
- package/dist/koenig-lexical.umd.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koenig-lexical.js","sources":["../src/assets/icons/kg-bold.svg","../src/assets/icons/kg-italic.svg","../src/assets/icons/kg-heading-1.svg","../src/assets/icons/kg-heading-2.svg","../src/assets/icons/kg-link.svg","../src/assets/icons/kg-quote.svg","../src/assets/icons/kg-img-regular.svg","../src/assets/icons/kg-img-wide.svg","../src/assets/icons/kg-img-full.svg","../src/assets/icons/kg-replace.svg","../src/assets/icons/kg-add.svg","../src/assets/icons/kg-snippet.svg","../src/assets/icons/plus.svg","../src/assets/icons/kg-card-type-image.svg","../src/assets/icons/kg-card-type-markdown.svg","../src/assets/icons/kg-card-type-html.svg","../src/assets/icons/kg-card-type-gallery.svg","../src/assets/icons/kg-card-type-divider.svg","../src/assets/icons/kg-card-type-bookmark.svg","../src/assets/icons/kg-card-type-email.svg","../src/assets/icons/kg-card-type-email-cta.svg","../src/assets/icons/kg-card-type-preview.svg","../src/assets/icons/kg-card-type-button.svg","../src/assets/icons/kg-card-type-callout.svg","../src/assets/icons/kg-card-type-gif.svg","../src/assets/icons/kg-card-type-toggle.svg","../src/assets/icons/kg-card-type-video.svg","../src/assets/icons/kg-card-type-audio.svg","../src/assets/icons/kg-card-type-file.svg","../src/assets/icons/kg-card-type-product.svg","../src/assets/icons/kg-card-type-header.svg","../src/assets/icons/kg-card-type-youtube.svg","../src/assets/icons/kg-card-type-twitter.svg","../src/assets/icons/kg-card-type-unsplash.svg","../src/assets/icons/kg-card-type-vimeo.svg","../src/assets/icons/kg-card-type-codepen.svg","../src/assets/icons/kg-card-type-spotify.svg","../src/assets/icons/kg-card-type-soundcloud.svg","../src/assets/icons/kg-card-type-nft.svg","../src/assets/icons/kg-card-type-other.svg","../src/assets/icons/kg-card-type-snippet.svg","../src/assets/icons/kg-img-placeholder.svg","../src/assets/icons/kg-gallery-placeholder.svg","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/DesignSandbox.jsx","../../../node_modules/@lexical/react/LexicalComposerContext.prod.js","../../../node_modules/@lexical/react/LexicalComposerContext.js","../../../node_modules/lexical/Lexical.prod.js","../../../node_modules/lexical/Lexical.js","../../../node_modules/@lexical/react/LexicalComposer.prod.js","../../../node_modules/@lexical/react/LexicalComposer.js","../../../node_modules/@lexical/utils/LexicalUtils.prod.js","../../../node_modules/@lexical/utils/LexicalUtils.js","../../../node_modules/@lexical/list/LexicalList.prod.js","../../../node_modules/@lexical/list/LexicalList.js","../../../node_modules/@lexical/selection/LexicalSelection.prod.js","../../../node_modules/@lexical/selection/LexicalSelection.js","../../../node_modules/@lexical/html/LexicalHtml.prod.js","../../../node_modules/@lexical/html/LexicalHtml.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.prod.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.js","../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js","../../../node_modules/@lexical/rich-text/LexicalRichText.js","../../../node_modules/@lexical/link/LexicalLink.prod.js","../../../node_modules/@lexical/link/LexicalLink.js","../src/nodes/AsideNode.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.js","../src/context/CardContext.jsx","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../src/components/ui/CardWrapper.jsx","../src/components/KoenigCardWrapper.jsx","../src/components/ui/cards/HorizontalRuleCard.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/utils/autoExpandTextArea.js","../src/components/ui/cards/CodeBlockCard.jsx","../src/nodes/CodeBlockNode.jsx","../src/context/KoenigComposerContext.jsx","../src/components/ui/CardCaptionEditor.jsx","../src/components/ui/MediaPlaceholder.jsx","../src/utils/openFileSelection.js","../src/components/ui/ImageUploadForm.jsx","../src/components/ui/cards/ImageCard.jsx","../src/assets/icons/kg-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/assets/icons/kg-edit.svg","../src/components/ui/ToolbarMenu.jsx","../src/components/ui/ActionToolbar.jsx","../src/utils/getImageDimensions.js","../src/utils/imageUploadHandler.js","../src/nodes/ImageNodeComponent.jsx","../src/nodes/ImageNode.jsx","../src/nodes/DefaultNodes.js","../src/themes/default.js","../src/components/KoenigComposer.jsx","../../../node_modules/@lexical/text/LexicalText.prod.js","../../../node_modules/@lexical/text/LexicalText.js","../../../node_modules/@lexical/dragon/LexicalDragon.prod.js","../../../node_modules/@lexical/dragon/LexicalDragon.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.prod.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.prod.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.js","../../../node_modules/@lexical/react/LexicalContentEditable.prod.js","../../../node_modules/@lexical/react/LexicalContentEditable.js","../../../node_modules/@lexical/history/LexicalHistory.prod.js","../../../node_modules/@lexical/history/LexicalHistory.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.prod.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.prod.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.js","../../../node_modules/@lexical/react/LexicalListPlugin.prod.js","../../../node_modules/@lexical/react/LexicalListPlugin.js","../src/plugins/KoenigBehaviourPlugin.jsx","../../../node_modules/prismjs/prism.js","../../../node_modules/prismjs/components/prism-clike.js","../../../node_modules/prismjs/components/prism-javascript.js","../../../node_modules/prismjs/components/prism-markup.js","../../../node_modules/prismjs/components/prism-markdown.js","../../../node_modules/prismjs/components/prism-c.js","../../../node_modules/prismjs/components/prism-css.js","../../../node_modules/prismjs/components/prism-objectivec.js","../../../node_modules/prismjs/components/prism-sql.js","../../../node_modules/prismjs/components/prism-python.js","../../../node_modules/prismjs/components/prism-rust.js","../../../node_modules/prismjs/components/prism-swift.js","../../../node_modules/@lexical/code/LexicalCode.prod.js","../../../node_modules/@lexical/code/LexicalCode.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.prod.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.prod.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.prod.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.js","../src/plugins/MarkdownShortcutPlugin.jsx","../src/utils/getSelectedNode.js","../src/components/ui/PlusMenu.jsx","../src/components/ui/CardMenu.jsx","../src/utils/getEditorCardNodes.js","../src/utils/buildCardMenu.js","../src/plugins/PlusCardMenuPlugin.jsx","../src/components/ui/SlashMenu.jsx","../src/plugins/SlashCardMenuPlugin.jsx","../src/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../src/plugins/FloatingFormatToolbarPlugin.jsx","../src/plugins/ImagePlugin.jsx","../src/plugins/DragDropPastePlugin.jsx","../src/plugins/HorizontalRulePlugin.jsx","../src/components/ui/EditorPlaceholder.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy40MTIgNi4yMTdoMS4xNzZjMS4yNzYgMCAyLjIzNi0uNzczIDIuMjM2LTEuNjA4IDAtLjgzNS0uOTYtMS42MDktMi4yMzYtMS42MDlINS43NjV2My4yMTdoMS42NDd6TTUuNzY1IDEzSDkuNDdDMTAuODc1IDEzIDEyIDExLjkyIDEyIDEwLjYwOXMtMS4xMjQtMi4zOTItMi41My0yLjM5Mkg1Ljc2NlYxM3ptLTIgMFYzSDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNS41ODhjMi4yOTcgMCA0LjIzNiAxLjU2MyA0LjIzNiAzLjYwOSAwIC44NzctLjM1NyAxLjY2Ni0uOTQ1IDIuMjhDMTMuMTUgNy42NjUgMTQgOS4wMzcgMTQgMTAuNjEgMTQgMTMuMDQzIDExLjk2MyAxNSA5LjQ3IDE1SDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoLjc2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMTUgM0w2LjEwNCAxM2guODExYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoMS43NjdMOS44MTMgM0g5Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDQuOTE1Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDEyLjE1eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNCA3aDhWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NS44OTdjLjAwMy4wMzQuMDA1LjA2OC4wMDUuMTAzIDAgLjAzNS0uMDAyLjA3LS4wMDUuMTAzVjE0YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjlINHY1YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjJjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxdjV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiA4aDRWNS40ODNjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxVjEzYzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xdi0zSDZ2M2MwIC41NTItLjQ0OCAxLTEgMXMtMS0uNDQ4LTEtMVY1LjQ4M2MwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDFWOHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik02LjQgMTEuNjg4Yy40LS4zODIgMS4wMzItLjM2OSAxLjQxNS4wMy4zODIuMzk5LjM2OCAxLjAzMi0uMDMgMS40MTRsLTEuMDU1IDEuMDFjLTEuMjA5IDEuMjEtMy4xNyAxLjIxLTQuMzggMGwtLjQ5NC0uNDk0Yy0xLjIwOC0xLjIwOS0xLjIwOC0zLjE3LjAwMS00LjM3N0w1LjA3IDYuMDU4YzEuMjEtMS4yMSAzLjE3LTEuMjEgNC4zOCAwIC4zOS4zOS4zOSAxLjAyNCAwIDEuNDE0LS4zOTEuMzktMS4wMjQuMzktMS40MTUgMC0uNDI4LS40MjgtMS4xMjItLjQyOC0xLjU1MSAwbC0zLjIxMyAzLjIxM2MtLjQyNy40MjctLjQyNyAxLjEyMiAwIDEuNTVsLjQ5NC40OTRjLjQyOC40MjggMS4xMjMuNDI4IDEuNTY2LS4wMTVsMS4wNy0xLjAyNnptMy4wMzctNy4yMTJjLS4zOTguMzgzLTEuMDMuMzcyLTEuNDE0LS4wMjUtLjM4NC0uMzk4LS4zNzMtMS4wMy4wMjUtMS40MTRsMS4yMjItMS4xOGMxLjIxLTEuMjA5IDMuMTY5LTEuMjA5IDQuMzc5IDBsLjQ5My40OTRjMS4yMSAxLjIwOSAxLjIxIDMuMTcuMDEzIDQuMzY2bC0zLjIzNyAzLjM1N2MtMS4yMSAxLjIxLTMuMTcgMS4yMS00LjM4IDAtLjM5LS4zOTEtLjM4OS0xLjAyNS4wMDItMS40MTUuMzktLjM5IDEuMDI0LS4zOSAxLjQxNC4wMDEuNDI4LjQyOSAxLjEyMS40MjkgMS41MzcuMDEzbDMuMjM4LTMuMzU4Yy40MjgtLjQyNy40MjgtMS4xMjEgMC0xLjU1bC0uNDk0LS40OTNjLS40MjktLjQyOS0xLjEyMy0uNDI5LTEuNTYzLjAxMkw5LjQzNyA0LjQ3NnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik00IDhoMmMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxSDNjLS41NTIgMC0xLS40NDgtMS0xVjUuMDgyYzAtMS4xNzYuOTA2LTIuMTIgMi41MzgtMi45NjkuNDktLjI1NSAxLjA5NC0uMDY1IDEuMzQ5LjQyNS4yNTUuNDkuMDY1IDEuMDk0LS40MjUgMS4zNDktLjU3OC4zLS45OTMuNTg5LTEuMjQuODQ3LS4xNjguMTc0LS4yMjIuMjg2LS4yMjIuMzQ4Vjh6bTkgMGMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxaC0zYy0uNTUyIDAtMS0uNDQ4LTEtMVY1LjA4MmMwLTEuMTc2LjkwNi0yLjEyIDIuNTM4LTIuOTY5LjQ5LS4yNTUgMS4wOTQtLjA2NSAxLjM0OS40MjUuMjU1LjQ5LjA2NSAxLjA5NC0uNDI1IDEuMzQ5LS41NzguMy0uOTkzLjU4OS0xLjI0Ljg0Ny0uMTY4LjE3NC0uMjIyLjI4Ni0uMjIyLjM0OFY4aDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUgyek0yIDE1Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDEyYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9Ii42Ii8+PHBhdGggZD0iTTIgNWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXY0LjAwMWMwIC41NTItLjQ0OCAxLTEgMUgyYy0uNTUyIDAtMS0uNDQ4LTEtMVY2YzAtLjU1Mi40NDgtMSAxLTF6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTYgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWg0Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDZ6TTYgMTVjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNGMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg2eiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIuNiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDVoMTJjLjU1MiAwIDEgLjQ0OCAxIDF2NC4wMDFjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTFWNmMwLS41NTIuNDQ4LTEgMS0xeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTAgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnpNMTQgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnoiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iLjYiLz4KICAgICAgICA8cGF0aCBkPSJNMTAuNjI2IDdMOS4zMTIgNS42OTFjLS4zOTEtLjM5LS4zOTMtMS4wMjMtLjAwMy0xLjQxNHMxLjAyMy0uMzkyIDEuNDE0LS4wMDNsMy4wMjkgMy4wMTdjLjM5LjM4OS4zOTIgMS4wMi4wMDUgMS40MTJsLTMuMDI5IDMuMDU5Yy0uMzg4LjM5Mi0xLjAyMi4zOTUtMS40MTQuMDA3LS4zOTItLjM4OS0uMzk2LTEuMDIyLS4wMDctMS40MTRMMTAuNjQ4IDlINS40MTVsMS4zNDIgMS4zNTVjLjM4OC4zOTIuMzg1IDEuMDI1LS4wMDcgMS40MTQtLjM5My4zODgtMS4wMjYuMzg1LTEuNDE1LS4wMDdMMi4zMDcgOC43MDNjLS4zODgtLjM5Mi0uMzg2LTEuMDIzLjAwNS0xLjQxMkw1LjM0IDQuMjc0Yy4zOTEtLjM5IDEuMDI1LS4zODggMS40MTQuMDAzLjM5LjM5MS4zODkgMS4wMjUtLjAwMiAxLjQxNEw1LjQzOCA3aDUuMTg4eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgOWg1Yy41NTIgMCAxIC40NDggMSAxdjRjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTF2LTRjMC0uNTUyLjQ0OC0xIDEtMXpNOSAxaDVjLjU1MiAwIDEgLjQ0OCAxIDF2NGMwIC41NTItLjQ0OCAxLTEgMUg5Yy0uNTUyIDAtMS0uNDQ4LTEtMVYyYzAtLjU1Mi40NDgtMSAxLTF6TTQuNSA1Ljc3MmwxLjE1LTEuMTc1Yy4xOTItLjE5OC41MDktLjIwMS43MDYtLjAwOC4xOTguMTkzLjIwMS41MS4wMDguNzA3TDQuMzgyIDcuMzIyYy0uMDkxLjEwOS0uMjI5LjE3OC0uMzgyLjE3OC0uMTMgMC0uMjYtLjA1LS4zNTctLjE0OEwxLjYxIDUuMjk4Yy0uMTk0LS4xOTYtLjE5My0uNTEzLjAwNC0uNzA3LjE5Ni0uMTk0LjUxMi0uMTkzLjcwNy4wMDRMMy41IDUuNzg1VjNjMC0uODI4LjY3Mi0xLjUgMS41LTEuNWgxYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNUg1Yy0uMjc2IDAtLjUuMjI0LS41LjV2Mi43NzJ6bTcgNC40NTZsLTEuMTUgMS4xNzVjLS4xOTIuMTk4LS41MDkuMjAxLS43MDYuMDA4LS4xOTgtLjE5My0uMjAxLS41MS0uMDA4LS43MDdsMS45ODItMi4wMjZjLjA5MS0uMTA5LjIyOS0uMTc4LjM4Mi0uMTc4LjEzIDAgLjI2LjA1LjM1Ny4xNDhsMi4wMzIgMi4wNTRjLjE5NC4xOTYuMTkzLjUxMy0uMDA0LjcwNy0uMTk2LjE5NC0uNTEyLjE5My0uNzA3LS4wMDRsLTEuMTc4LTEuMTlWMTNjMCAuODI4LS42NzIgMS41LTEuNSAxLjVoLTFjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgxYy4yNzYgMCAuNS0uMjI0LjUtLjV2LTIuNzcyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik05IDdoNWMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg5djVjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWOUgyYy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDVWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAzVjEzSDguNzg1NzlMMTMgOC43ODU3OVYzSDNaTTEuNTI3MjEgMS41MjcyMUMxLjg2NDc3IDEuMTg5NjQgMi4zMjI2MSAxIDIuOCAxSDEzLjJDMTMuNjc3NCAxIDE0LjEzNTIgMS4xODk2NCAxNC40NzI4IDEuNTI3MjFDMTQuODEwNCAxLjg2NDc3IDE1IDIuMzIyNjEgMTUgMi44VjguODY4OEMxNC45OTk5IDkuMzQ1ODUgMTQuODEwNCA5LjgwMzU3IDE0LjQ3MzIgMTAuMTQxTDEwLjE0MTIgMTQuNDczQzkuODAzOCAxNC44MTAyIDkuMzQ2MDcgMTQuOTk5OSA4Ljg2OTAxIDE1SDIuOEMyLjMyMjYxIDE1IDEuODY0NzcgMTQuODEwNCAxLjUyNzIxIDE0LjQ3MjhDMS4xODk2NCAxNC4xMzUyIDEgMTMuNjc3NCAxIDEzLjJWMi44QzEgMi4zMjI2MSAxLjE4OTY0IDEuODY0NzcgMS41MjcyMSAxLjUyNzIxWiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxMEgxNEMxNC41NTIzIDEwIDE1IDkuNTUyMjggMTUgOUMxNSA4LjQ0NzcyIDE0LjU1MjMgOCAxNCA4SDkuODQ2MDJDOS4zNTY0MyA4IDguODg2ODggOC4xOTQ0OSA4LjU0MDY5IDguNTQwNjlDOC4xOTQ0OSA4Ljg4Njg4IDggOS4zNTY0MyA4IDkuODQ2MDJWMTRDOCAxNC41NTIzIDguNDQ3NzIgMTUgOSAxNUM5LjU1MjI4IDE1IDEwIDE0LjU1MjMgMTAgMTRWMTBaIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTEyIDEuNXYyMU0xLjUgMTJoMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzMwY2Y0MyIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy43NzggMTIuMTExYzAgMy4xMTEtMS41NTYgNC42NjctNC42NjcgNC42NjctMy4xMTEgMC00LjY2Ny0xLjU1Ni00LjY2Ny00LjY2N0MxNC40NDQgOSAxNiA3LjQ0NCAxOS4xMTEgNy40NDRjMy4xMTEgMCA0LjY2NyAxLjU1NiA0LjY2NyA0LjY2N3pNMTkuMTExIDUuNWMuNzc4IDAgMS4xNjctLjM4OSAxLjE2Ny0xLjE2N3YtLjc3N2MwLS40NS0uMTk1LS43ODYtLjU4NC0xLjAxLS4zODgtLjIyNS0uNzc3LS4yMjUtMS4xNjYgMC0uMzkuMjI0LS41ODQuNTYtLjU4NCAxLjAxdi43NzdjMCAuNzc4LjM5IDEuMTY3IDEuMTY3IDEuMTY3ek0xMi43ODggNy40MzVjLjU1LjU1MiAxLjEuNTU0IDEuNjUzLjAwNC41NTItLjU1LjU1My0xLjEuMDAzLTEuNjUzbC0uNTQ5LS41NWMtLjU1LS41NTItMS4xMDEtLjU1NC0xLjY1My0uMDA0LS41NTMuNTUtLjU1NCAxLjEwMS0uMDA1IDEuNjU0bC41NS41NXpNMTAuNTU2IDEzLjI3OGguNzc3Yy43NzggMCAxLjE2Ny0uMzkgMS4xNjctMS4xNjcgMC0uNzc4LS4zODktMS4xNjctMS4xNjctMS4xNjdoLS43NzdjLS43NzggMC0xLjE2Ny4zOS0xLjE2NyAxLjE2NyAwIC43NzguMzg5IDEuMTY3IDEuMTY3IDEuMTY3ek0yNS40MzQgMTYuNzg3Yy0uNTQ5LS41MTItMS4wODktLjUwMi0xLjYyLjAyOS0uNTMuNTMtLjU0IDEuMDctLjAyOCAxLjYybC41NDkuNTVjLjU1LjU1IDEuMS41NSAxLjY1IDAgLjU1LS41NS41NS0xLjEgMC0xLjY1bC0uNTUtLjU0OXpNMjUuNzIyIDEyLjExMWMwIC43NzguMzkgMS4xNjcgMS4xNjcgMS4xNjdoLjc3OGMuNzc3IDAgMS4xNjYtLjM5IDEuMTY2LTEuMTY3IDAtLjc3OC0uMzg5LTEuMTY3LTEuMTY2LTEuMTY3aC0uNzc4Yy0uMzIyIDAtLjU5Ny4xMTQtLjgyNS4zNDItLjIyOC4yMjgtLjM0Mi41MDMtLjM0Mi44MjV6TTI0LjYxIDcuNzc5Yy4zMjMgMCAuNTk4LS4xMTQuODI0LS4zNDRsLjU1MS0uNTQ5Yy41NS0uNTUuNTUtMS4xIDAtMS42NS0uNTUtLjU1LTEuMS0uNTUtMS42NSAwbC0uNTUuNTVjLS4zNjYuMzY4LS40NS43OTItLjI1MSAxLjI3MS4xOTguNDguNTU3LjcyIDEuMDc2LjcyMnpNMjEuOTExIDIyLjM1NmMtLjc3MSAwLTEuNTIyLjEyLTIuMjU0LjM2NC0uMTI3LjA0Mi0uMjEuMTI2LS4yNS4yNTQtLjAzOS4xMjctLjAxOC4yNDQuMDYzLjM1IDEuMjgzIDEuNjg5IDIuMDcgMy41ODMgMi4zNjIgNS42ODQuMDIuMTQyLjEwMy4yMTQuMjQ3LjIxNGg0LjkwNmMuODM2IDAgMS40OTItLjM0MyAxLjk2Ny0xLjAzMS0uNzM3LTMuODktMy4wODQtNS44MzUtNy4wNDItNS44MzVoLjAwMXpNOS42NDQgMTkuOTY4Yy0yLjUxOC0uMDA0LTQuNzU4Ljc4My02LjcyIDIuMzYyLS4xLjA4LS4xNDkuMTgzLS4xNDYuMzF2NC4yYy4wMDQgMS41ODguOCAyLjM4MiAyLjM4OCAyLjM4MkgxOS44M2MuMTIyIDAgLjIyMi0uMDQ2LjMtLjE0LjA3Ny0uMDkzLjEwNS0uMi4wODItLjMxOS0xLjA4My01Ljg2My00LjYwNi04Ljc5NS0xMC41NjgtOC43OTV6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iI2ZiMmQ4ZCIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICAgICAgPHBhdGggc3Ryb2tlPSIjRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTggMjB2LThsNCA0IDQtNHY4TTIyIDEyLjA3djcuOTE2TTE5LjUgMTcuNWwyLjQ4IDIuNTI1TDI0LjUgMTcuNSIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIgNGgyOHYyNEgyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2YzAtMi42NjctMS4zMzMtNC00LTRINGMtMS4xMDUgMC0yLjA0Ny4zOS0yLjgyOCAxLjE3MkMuMzkgMy45NTIgMCA0Ljg5NSAwIDZ2MjBjMCAyLjY2NyAxLjMzMyA0IDQgNGgyNGMyLjY2NyAwIDQtMS4zMzMgNC00VjZ6TTQgNi42NjdjMC0uNTk0LjI3NC0xLjAwNS44MjMtMS4yMzIuNTQ5LS4yMjcgMS4wMzMtLjEzMSAxLjQ1My4yODkuNDIuNDIuNTE2LjkwNC4yOSAxLjQ1My0uMjI4LjU0OS0uNjM5LjgyMy0xLjIzMy44MjNDNC40NDQgOCA0IDcuNTU2IDQgNi42Njd6bTQgMGMwLS41OTQuMjc0LTEuMDA1LjgyMy0xLjIzMi41NDktLjIyNyAxLjAzMy0uMTMxIDEuNDUzLjI4OS40Mi40Mi41MTYuOTA0LjI5IDEuNDUzLS4yMjguNTQ5LS42MzkuODIzLTEuMjMzLjgyM0M4LjQ0NCA4IDggNy41NTYgOCA2LjY2N3ptNCAwYzAtLjU5NC4yNzQtMS4wMDUuODIzLTEuMjMyLjU0OS0uMjI3IDEuMDMzLS4xMzEgMS40NTMuMjg5LjQyLjQyLjUxNi45MDQuMjkgMS40NTMtLjIyOC41NDktLjYzOS44MjMtMS4yMzMuODIzQzEyLjQ0NCA4IDEyIDcuNTU2IDEyIDYuNjY3ek0yOS4zMzMgMjZjMCAuODg5LS40NDQgMS4zMzMtMS4zMzMgMS4zMzNINGMtLjg4OSAwLTEuMzMzLS40NDQtMS4zMzMtMS4zMzNWMTJjMC0uMTg0LjA2NS0uMzQxLjE5NS0uNDcxLjEzLS4xMy4yODctLjE5Ni40NzEtLjE5NmgyNS4zMzRjLjQ0NCAwIC42NjYuMjIzLjY2Ni42Njd2MTR6IiBmaWxsPSIjMTRiOGZmIi8+CiAgICAgICAgPHBhdGggZD0iTTEwLjMzMyAxNmMwIC42NjcuMzM0IDEgMSAxIC4yMjMgMCAuMzM0LjExMS4zMzQuMzMzdjUuMzM0YzAgLjY2Ni4zMzMgMSAxIDEgLjY2NiAwIDEtLjMzNCAxLTF2LTUuMzM0YzAtLjA5Mi4wMzItLjE3LjA5Ny0uMjM1LjA2NS0uMDY1LjE0NC0uMDk4LjIzNi0uMDk4LjY2NyAwIDEtLjMzMyAxLTFzLS4zMzMtMS0xLTFoLTIuNjY3Yy0uMjc2IDAtLjUxMi4wOTgtLjcwNy4yOTMtLjE5NS4xOTUtLjI5My40My0uMjkzLjcwN3pNNS4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0xLjMzNGMwLS4xMjguMDU2LS4yMjQuMTY3LS4yODguMTExLS4wNjQuMjIyLS4wNjQuMzMzIDAgLjExMS4wNjQuMTY3LjE2LjE2Ny4yODh2MS4zMzRjMCAuNjY2LjMzMyAxIDEgMXMxLS4zMzQgMS0xVjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzMzLS4xOTItLjY2Ny0uMTkyLTEgMC0uMzMzLjE5Mi0uNS40ODEtLjUuODY2djIuNjY3YzAgLjIyMi0uMTExLjMzMy0uMzMzLjMzMy0uMjIzIDAtLjMzNC0uMTExLS4zMzQtLjMzM1YxNmMwLS4zODUtLjE2Ni0uNjc0LS41LS44NjYtLjMzMy0uMTkyLS42NjYtLjE5Mi0xIDAtLjMzMy4xOTItLjUuNDgxLS41Ljg2NnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxek0yMy42NjcgMjEuMzMzYy4wMDEgMS41NTQuNzggMi4zMzIgMi4zMzMgMi4zMzRoMS4zMzNjLjY2NyAwIDEtLjMzNCAxLTEgMC0uNjY3LS4zMzMtMS0xLTFIMjZjLS4yMjIgMC0uMzMzLS4xMTEtLjMzMy0uMzM0VjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzM0LS4xOTItLjY2Ny0uMTkyLTEgMC0uMzM0LjE5Mi0uNS40ODEtLjUuODY2djUuMzMzek0xNy4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0yLjc4YzAtLjAzOS4wMi0uMDYzLjA1Ni0uMDczLjAzNy0uMDEuMDY2IDAgLjA4Ni4wMzQuMjA3LjMwMS40OTMuNDUyLjg1OC40NTIuMzY2IDAgLjY1Mi0uMTUuODU5LS40NTIuMDItLjAzMy4wNDgtLjA0NS4wODUtLjAzNC4wMzguMDEuMDU2LjAzNC4wNTYuMDczdjIuNzhjMCAuNjY2LjMzNCAxIDEgMSAuNjY3IDAgMS0uMzM0IDEtMVYxNmMtLjAwMS0uNTA2LS4yNDYtLjgyNy0uNzM0LS45NjJzLS44NjMuMDE0LTEuMTI0LjQ0N2wtLjg1NiAxLjQyOGMtLjA2NS4xMDgtLjE2LjE2MS0uMjg2LjE2MS0uMTI1IDAtLjIyLS4wNTMtLjI4NS0uMTZsLS44NTYtMS40MjljLS4yNjItLjQzMy0uNjM2LS41ODItMS4xMjUtLjQ0Ny0uNDg4LjEzNS0uNzMyLjQ1Ni0uNzM0Ljk2MnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxeiIgZmlsbD0iIzE0YjhmZiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMSAyaDI1djI0SDF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI3LjMzMyAyNC42Njd2LTIyQzI3LjMzMy44ODkgMjYuNDQ0IDAgMjQuNjY3IDBoLTIyQzEuOTMgMCAxLjMwMi4yNi43OC43ODEuMjYxIDEuMzAxIDAgMS45MzEgMCAyLjY2N3YyMmMwIDEuNzc3Ljg4OSAyLjY2NiAyLjY2NyAyLjY2NmgyMmMxLjc3NyAwIDIuNjY2LS44ODkgMi42NjYtMi42NjZ6IiBmaWxsPSIjZmZiNDFmIi8+CiAgICAgICAgPHBhdGggZD0iTTE5LjExMyAxMi45MzNjLS4xMjYtLjYwMy0uNDk3LS45MTEtMS4xMTItLjkyNS0uNjE2LS4wMTQtMSAuMjc3LTEuMTU0Ljg3M2wtMi4xMjMgNC42NjdjLS4wNTEuMTEyLS4xMzcuMTc2LS4yNi4xOTItLjEyMS4wMTctLjIyMS0uMDIzLS4zLS4xMTdsLTEuNDY3LTEuNzUyYy0uMzQtLjQ2Mi0uNzk2LS42Ny0xLjM2OC0uNjI1LS41NzEuMDQ0LS45OS4zMi0xLjI1NC44MjlMNi43NiAyMS42Yy0uMTMzLjIyMi0uMTM2LjQ0Ni0uMDA4LjY3MS4xMjguMjI2LjMyMS4zMzguNTguMzM4SDIyYy4yMzYgMCAuNDItLjA5Ny41NTItLjI5My4xMzItLjE5NS4xNTQtLjQwMi4wNjctLjYyMWwtMy41MDYtOC43NjJ6TTEwLjY2NyA4YzAgMS43NzgtLjg5IDIuNjY3LTIuNjY3IDIuNjY3LTEuNzc4IDAtMi42NjctLjg5LTIuNjY3LTIuNjY3IDAtMS43NzguODktMi42NjcgMi42NjctMi42NjcgMS43NzggMCAyLjY2Ny44OSAyLjY2NyAyLjY2N3oiIGZpbGw9IiNGRkYiLz4KICAgICAgICA8cGF0aCBkPSJNMzAuNjY3IDhjLS4zNjkgMC0uNjgzLjEzLS45NDMuMzktLjI2LjI2LS4zOS41NzUtLjM5Ljk0M3YxOS4zMzRjMCAuNDQ0LS4yMjMuNjY2LS42NjcuNjY2SDkuMzMzYy0uODg5IDAtMS4zMzMuNDQ1LTEuMzMzIDEuMzM0UzguNDQ0IDMyIDkuMzMzIDMyaDIwQzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzdi0yMEMzMiA4LjQ0NCAzMS41NTYgOCAzMC42NjcgOHoiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iIzMwY2Y0MyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMTUiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyIiByeD0iMSIvPgogICAgICAgIDxyZWN0IGZpbGw9IiNGRkYiIHg9IjMiIHk9IjMiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMjIiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMzIgMi42NjdDMzIgLjg4OSAzMS4xMTEgMCAyOS4zMzMgMEgyLjY2N0MxLjkzIDAgMS4zMDIuMjYuNzguNzgxLjI2MSAxLjMwMSAwIDEuOTMxIDAgMi42Njd2MjYuNjY2QzAgMzEuMTExLjg4OSAzMiAyLjY2NyAzMmgyNi42NjZDMzEuMTExIDMyIDMyIDMxLjExMSAzMiAyOS4zMzNWMi42NjdaIiBmaWxsPSIjRkIyRDhEIi8+CiAgICA8cGF0aCBkPSJNMTUuOTk4LS4wMXYxOC42NzRjLS4wNTQuNTU4LjE3NS45NTEuNjg3IDEuMTguNTI1LjIuOTY1LjA4NCAxLjMyMi0uMzVsMi42ODktMi42ODNhLjQwNC40MDQgMCAwIDEgLjI5NC0uMTIyYy4xMTYgMCAuMjE0LjA0MS4yOTUuMTIybDIuNjkgMi42ODRjLjI0NS4yNzQuNTUyLjQxNy45Mi40MjguMTM5IDAgLjI3My0uMDI2LjQwMS0uMDc4LjUxMi0uMjMuNzQxLS42MjMuNjg3LTEuMThWLS4wNjJsLTkuOTg1LjA1di4wMDJaIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0ibm9uZSI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzE0YjhmZiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy4zMTIgOS41SDguNjg3Yy0xLjIzMyAwLTIgLjc2Ny0yIDJ2OWMwIDEuMjMzLjc2NyAyIDIgMmgxNC42MjVjMS4yMzQgMCAyLS43NjcgMi0ydi05YzAtMS4yMzMtLjc2Ni0yLTItMnpNOC41NiAxMS4yNWgxNC44ODJjLjEuMDA0LjExOC4wMjIuMTIxLjEyMnY5LjI1NmMtLjAwNC4xMTYtLjAyOS4xMjItLjE3OC4xMjJIOC41NmMtLjEtLjAwNC0uMTE4LS4wMjItLjEyMS0uMTIydi05LjI1NmMuMDAzLS4xLjAyMi0uMTE4LjEyMS0uMTIyeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xOC4xMjMgMTMuODg3Yy4zLS4zMjUuNzktLjM3IDEuMTQ0LS4xMjNsLjA5Mi4wNzUgMi44NiAyLjY0M2MuMzU1LjMyOS4zNzcuODgyLjA0OSAxLjIzNy0uMzAxLjMyNS0uNzkxLjM3LTEuMTQ0LjEyM2wtLjA5My0uMDc0LTIuODYtMi42NDRjLS4zNTUtLjMyOC0uMzc2LS44ODItLjA0OC0xLjIzN3pNMTIuNjQgMTMuODM5Yy4zNTYtLjMyOC45MS0uMzA3IDEuMjM3LjA0OC4zMDEuMzI2LjMwOC44MTguMDMzIDEuMTVsLS4wODEuMDg3LTIuODYgMi42NDRjLS4zNTUuMzI4LS45MDguMzA2LTEuMjM3LS4wNDktLjMtLjMyNS0uMzA3LS44MTgtLjAzMy0xLjE1bC4wODItLjA4NyAyLjg2LTIuNjQzeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy42NjMgMTAuMDRjLjM5OC0uMjc0Ljk0My0uMTc0IDEuMjE3LjIyNC4yNTIuMzY0LjE4OS44NTMtLjEzIDEuMTQzbC0uMDkzLjA3NC03LjEzNSA0LjkyYy0uOTI1LjYzOC0xLjkzNS42NzYtMi44Ny4xMTJsLS4xNzQtLjExMi03LjEzNS00LjkyYy0uMzk4LS4yNzUtLjQ5OC0uODItLjIyMy0xLjIxNy4yNTEtLjM2NS43My0uNDggMS4xMTQtLjI4NWwuMTAzLjA2MSA3LjEzNSA0LjkyYy4zNDYuMjQuNjEzLjI2My45NDQuMDcybC4xMTMtLjA3MiA3LjEzNC00LjkyeiIgZmlsbD0iI0ZGRiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMyIgZmlsbD0iI0ZGQjQxRiIvPgogIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTE0LjUzNiAxNS41NjhsMi42OCA4LjkzMWEuODMuODMgMCAwMDEuMzgyLjM0OWwxLjM2NS0xLjM2NSAzLjUyMiAzLjUyMmEuODMuODMgMCAwMDEuMTc0IDBsMi4zNDgtMi4zNDhhLjgzLjgzIDAgMDAwLTEuMTc0bC0zLjUyMi0zLjUyMkwyNC44NSAxOC42YS44MjkuODI5IDAgMDAtLjM0OC0xLjM4MmwtOC45MzItMi42OGEuODMuODMgMCAwMC0xLjAzNCAxLjAzeiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi44NiA0LjI1NUExMS4yNSAxMS4yNSAwIDAxMjYuNDcgMTQuNDQ3YS43NS43NSAwIDAxLTEuNDk2LjEwNiA5Ljc1IDkuNzUgMCAxMC0xMC40MjEgMTAuNDIuNzUuNzUgMCAwMS0uMTA3IDEuNDk2IDExLjI1IDExLjI1IDAgMDEtMS41ODgtMjIuMjE0eiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMDUgOC43ODVhNi43NSA2Ljc1IDAgMDE4LjIwMyAzLjkzNC43NS43NSAwIDExLTEuMzkuNTYyIDUuMjUgNS4yNSAwIDEwLTYuODM3IDYuODM1Ljc1Ljc1IDAgMTEtLjU2MiAxLjM5IDYuNzUgNi43NSAwIDAxLjU4Ni0xMi43MnoiLz4KICA8L2c+CiAgPGNsaXBQYXRoIGlkPSJjbGlwMCI+CiAgICA8cGF0aCBmaWxsPSIjZmZmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0IDQpIiBkPSJNMCAwaDI0djI0SDB6Ii8+CiAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTMwIDBIMmEyIDIgMCAwMC0yIDJ2MjhhMiAyIDAgMDAyIDJoMjhhMiAyIDAgMDAyLTJWMmEyIDIgMCAwMC0yLTJ6IiBmaWxsPSIjMzBDRjQzIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTkgOS4wMDFjNC4wMDctLjA2IDcuOTYyIDIuNzM3IDEwLjM2NiA1LjQyNWwuMDA0LjAwNGEyLjUxNyAyLjUxNyAwIDAxMCAzLjMzN2wtLjAwMy4wMDRjLTIuMzQ5IDIuNjI4LTYuMjk0IDUuNDktMTAuMzY3IDUuNDI4LTQuMDczLjA2MS04LjAxOC0yLjgtMTAuMzY1LTUuNDI5bC0uMDAzLS4wMDNhMi41MTcgMi41MTcgMCAwMTAtMy4zMzdsLjAwMy0uMDA0QzguMDM2IDExLjczOCAxMS45OTEgOC45NCAxNiA5LjAwMWgtLjAwMXptLTguODcyIDYuNzU2YS41MTcuNTE3IDAgMDAwIC42ODNjMi4yMDggMi40NzIgNS42NDUgNC44MTQgOC44NTUgNC43NTloLjAzNGMzLjIwOS4wNTUgNi42NDctMi4yODcgOC44NTctNC43NTlhLjUxOC41MTggMCAwMDAtLjY4M2MtMi4yNTctMi41MjItNS43MDUtNC44MS04Ljg1Ny00Ljc1NmgtLjAzNGMtMy4xNTItLjA1NC02LjYgMi4yMzQtOC44NTUgNC43NTZ6IiBmaWxsPSIjZmZmIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAxOGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHptMCAyYTQgNCAwIDEwMC04IDQgNCAwIDAwMCA4eiIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZD0iTTEzLjUzNjEgMTUuNTY4TDE2LjIxNjEgMjQuNDk5QzE2LjI1NzMgMjQuNjM2NiAxNi4zMzM1IDI0Ljc2MTIgMTYuNDM3MiAyNC44NjA1QzE2LjU0MSAyNC45NTk5IDE2LjY2ODggMjUuMDMwNiAxNi44MDggMjUuMDY1OEMxNi45NDczIDI1LjEwMSAxNy4wOTMzIDI1LjA5OTQgMTcuMjMxOCAyNS4wNjEyQzE3LjM3MDMgMjUuMDIzIDE3LjQ5NjUgMjQuOTQ5NiAxNy41OTgxIDI0Ljg0OEwxOC45NjMxIDIzLjQ4M0wyMi40ODUxIDI3LjAwNUMyMi41NjIyIDI3LjA4MjEgMjIuNjUzNyAyNy4xNDMzIDIyLjc1NDQgMjcuMTg1QzIyLjg1NTEgMjcuMjI2NyAyMi45NjMxIDI3LjI0ODIgMjMuMDcyMSAyNy4yNDgyQzIzLjE4MTEgMjcuMjQ4MiAyMy4yODkxIDI3LjIyNjcgMjMuMzg5OCAyNy4xODVDMjMuNDkwNSAyNy4xNDMzIDIzLjU4MiAyNy4wODIxIDIzLjY1OTEgMjcuMDA1TDI2LjAwNzEgMjQuNjU3QzI2LjA4NDIgMjQuNTc5OSAyNi4xNDU0IDI0LjQ4ODQgMjYuMTg3MSAyNC4zODc3QzI2LjIyODggMjQuMjg3IDI2LjI1MDMgMjQuMTc5IDI2LjI1MDMgMjQuMDdDMjYuMjUwMyAyMy45NjEgMjYuMjI4OCAyMy44NTMgMjYuMTg3MSAyMy43NTIzQzI2LjE0NTQgMjMuNjUxNiAyNi4wODQyIDIzLjU2MDEgMjYuMDA3MSAyMy40ODNMMjIuNDg1MSAxOS45NjFMMjMuODUwMSAxOC42QzIzLjk1MiAxOC40OTg2IDI0LjAyNTcgMTguMzcyNSAyNC4wNjQxIDE4LjIzNEMyNC4xMDI1IDE4LjA5NTUgMjQuMTA0MyAxNy45NDk0IDI0LjA2OTIgMTcuODFDMjQuMDM0MSAxNy42NzA3IDIzLjk2MzQgMTcuNTQyOCAyMy44NjM5IDE3LjQzOUMyMy43NjQ1IDE3LjMzNTIgMjMuNjM5OCAxNy4yNTkxIDIzLjUwMjEgMTcuMjE4TDE0LjU3MDEgMTQuNTM4QzE0LjQyNjkgMTQuNDk1MiAxNC4yNzQ4IDE0LjQ5MTggMTQuMTI5OCAxNC41MjgyQzEzLjk4NDggMTQuNTY0NyAxMy44NTI0IDE0LjYzOTYgMTMuNzQ2NCAxNC43NDUxQzEzLjY0MDUgMTQuODUwNiAxMy41NjUxIDE0Ljk4MjggMTMuNTI4MSAxNS4xMjc2QzEzLjQ5MSAxNS4yNzI1IDEzLjQ5MzggMTUuNDI0NiAxMy41MzYxIDE1LjU2OFoiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTIuMjg3MSAyMy43NUMxMi43MDEzIDIzLjc1IDEzLjAzNzEgMjMuNDE0MiAxMy4wMzcxIDIzQzEzLjAzNzEgMjIuNTg1OCAxMi43MDEzIDIyLjI1IDEyLjI4NzEgMjIuMjVWMjMuNzVaTTI1Ljc1IDE3LjI0OTZDMjUuNzUgMTcuNjYzOCAyNi4wODU4IDE3Ljk5OTYgMjYuNSAxNy45OTk2QzI2LjkxNDIgMTcuOTk5NiAyNy4yNSAxNy42NjM4IDI3LjI1IDE3LjI0OTZIMjUuNzVaTTguNSA5Ljc1SDIzLjVWOC4yNUg4LjVWOS43NVpNNi4yNSAyMFYxMkg0Ljc1VjIwSDYuMjVaTTEyLjI4NzEgMjIuMjVIMTAuNzVWMjMuNzVIMTIuMjg3MVYyMi4yNVpNMTAuNzUgMjIuMjVIOC41VjIzLjc1SDEwLjc1VjIyLjI1Wk0yNS43NSAxMlYxNkgyNy4yNVYxMkgyNS43NVpNMjUuNzUgMTZWMTcuMjQ5NkgyNy4yNVYxNkgyNS43NVpNNC43NSAyMEM0Ljc1IDIyLjA3MTEgNi40Mjg5MyAyMy43NSA4LjUgMjMuNzVWMjIuMjVDNy4yNTczNiAyMi4yNSA2LjI1IDIxLjI0MjYgNi4yNSAyMEg0Ljc1Wk0yMy41IDkuNzVDMjQuNzQyNiA5Ljc1IDI1Ljc1IDEwLjc1NzQgMjUuNzUgMTJIMjcuMjVDMjcuMjUgOS45Mjg5MyAyNS41NzExIDguMjUgMjMuNSA4LjI1VjkuNzVaTTguNSA4LjI1QzYuNDI4OTMgOC4yNSA0Ljc1IDkuOTI4OTMgNC43NSAxMkg2LjI1QzYuMjUgMTAuNzU3NCA3LjI1NzM2IDkuNzUgOC41IDkuNzVWOC4yNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHJ4PSIzIiBmaWxsPSIjMTRCOEZGIi8+CiAgICA8ZyBmaWxsPSIjZmZmIj4KICAgICAgICA8cGF0aCBkPSJNMjAgMTEuNzVhMi4yNDIgMi4yNDIgMCAwIDAtMS45OTMtMi4yMjUgOS40MTQgOS40MTQgMCAwIDAtLjI1NyAyLjIyNWMtLjAwMy43NDkuMDgzIDEuNDk2LjI1NyAyLjIyNEEyLjI0MyAyLjI0MyAwIDAgMCAyMCAxMS43NVpNMTMuNzUgMTguNDMzIDkuNDEgMTcuMDVsMS45NzMgNC44NTZhMS43NDYgMS43NDYgMCAwIDAgMy4zNjctLjYzNmMuMDAzLS4yMy0uMDQtLjQ1Ny0uMTI2LS42N2wtLjg3NC0yLjE2N1oiLz4KICAgICAgICA8cGF0aCBkPSJNMTkuMjUgNWMtLjI3IDAtLjUzNy4wNDgtLjc5LjEzOUw3LjA0NiA4Ljc3OEEyLjg2NCAyLjg2NCAwIDAgMCA1IDExLjc1YTIuODU3IDIuODU3IDAgMCAwIDIuMDI1IDIuOTY1bDExLjQzNyAzLjY0NmMuMjUzLjA5MS41Mi4xMzguNzg4LjEzOSAyLjEzOCAwIDMuNzUtMi45MDIgMy43NS02Ljc1UzIxLjM4OCA1IDE5LjI1IDVabTAgMTJDMTguMTg4IDE3IDE3IDE0Ljc1NSAxNyAxMS43NXMxLjE4OC01LjI1IDIuMjUtNS4yNSAyLjI1IDIuMjQ1IDIuMjUgNS4yNVMyMC4zMTIgMTcgMTkuMjUgMTdaIi8+CiAgICA8L2c+CiAgICA8Y2xpcFBhdGg+CiAgICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSA1KSIgZD0iTTAgMGgxOHYxOEgweiIvPgogICAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZGQjQxRiIvPgogICAgPHBhdGggZD0iTTUuNSA3Ljc1SDI2LjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik01LjUgMjQuMjVIMjYuNSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE5Ljc1VjEzLjc1QzE5IDEzLjM1MjIgMTkuMTU4IDEyLjk3MDYgMTkuNDM5MyAxMi42ODkzQzE5LjcyMDYgMTIuNDA4IDIwLjEwMjIgMTIuMjUgMjAuNSAxMi4yNUgyMiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE2Ljc1SDIxLjI1IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICA8cGF0aCBkPSJNMTYgMTkuNzVWMTIuMjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik0xMi4yNSAxNi43NUgxM1YxOC4yNUMxMyAxOC42NDc4IDEyLjg0MiAxOS4wMjk0IDEyLjU2MDcgMTkuMzEwN0MxMi4yNzk0IDE5LjU5MiAxMS44OTc4IDE5Ljc1IDExLjUgMTkuNzVDMTEuMTAyMiAxOS43NSAxMC43MjA2IDE5LjU5MiAxMC40MzkzIDE5LjMxMDdDMTAuMTU4IDE5LjAyOTQgMTAgMTguNjQ3OCAxMCAxOC4yNVYxMy43NUMxMCAxMy4zNTIyIDEwLjE1OCAxMi45NzA2IDEwLjQzOTMgMTIuNjg5M0MxMC43MjA2IDEyLjQwOCAxMS4xMDIyIDEyLjI1IDExLjUgMTIuMjVIMTMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjgiIHdpZHRoPSIxNSIgaGVpZ2h0PSI0IiByeD0iMS41IiBmaWxsPSJ3aGl0ZSIvPgogICAgPHJlY3QgeD0iMiIgeT0iMTUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyIiByeD0iMSIgZmlsbD0id2hpdGUiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjE5IiB3aWR0aD0iMjQiIGhlaWdodD0iMiIgcng9IjEiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjAgOUwyMi41IDExLjVMMjUgOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzMwQ0Y0MyIvPgogIDxwYXRoIGQ9Ik0xMi4wNyAyMC43N2EuOTk4Ljk5OCAwIDAgMS0xLjQ0NS0uODk0di02Ljc1MmEuOTk5Ljk5OSAwIDAgMSAxLjQ0NC0uODk0bDYuNzU0IDMuMzc3YS45OTcuOTk3IDAgMCAxIDAgMS43ODVMMTIuMDcgMjAuNzdaIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxyZWN0IHg9IjMiIHk9IjIiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIxIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iOSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIxNSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyMSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iI0ZCMkQ4RCIvPgogIDxwYXRoIGQ9Ik05IDIxYzEuMTA1IDAgMi0uOTMzIDItMi4wODRzLS44OTUtMi4wODQtMi0yLjA4NC0yIC45MzMtMiAyLjA4NEM3IDIwLjA2NiA3Ljg5NSAyMSA5IDIxWk0xOSAxOC45MTZjMS4xMDUgMCAyLS45MzMgMi0yLjA4NHMtLjg5NS0yLjA4NC0yLTIuMDg0LTIgLjkzMy0yIDIuMDg0YzAgMS4xNS44OTUgMi4wODQgMiAyLjA4NFoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik0yMSAxNi44MzR2LTcuNzVjMC0uMzE3LS4wNy0uNjMtLjIwMy0uOTE0YTIuMDcgMi4wNyAwIDAgMC0uNTY2LS43MjkgMS45NjUgMS45NjUgMCAwIDAtLjgxNi0uMzk2IDEuOTIyIDEuOTIyIDAgMCAwLS45LjAxN2wtNiAxLjA0MmExLjk5NSAxLjk5NSAwIDAgMC0xLjA5MS43NEEyLjE0IDIuMTQgMCAwIDAgMTEgMTAuMTI0djguNzkyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzE0QjhGRiIvPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMjI5IDYuNjUzYTIuNjI1IDIuNjI1IDAgMCAwLTIuODgyLjYwNWwtLjAxLjAxLTYuNzYxIDYuNzYxYTQuMzEyIDQuMzEyIDAgMSAwIDYuMDk4IDYuMDk5bDguMjMzLTguMjM0YS43NS43NSAwIDEgMSAxLjA2IDEuMDZsLTguMjMyIDguMjM0YTUuODEyIDUuODEyIDAgMSAxLTguMjItOC4yMmw2Ljc1OC02Ljc1N2E0LjEyNCA0LjEyNCAwIDEgMSA1LjgzMyA1LjgzM2wtNi43NjcgNi43N2EyLjQzNyAyLjQzNyAwIDAgMS0zLjQ0Ny0zLjQ0NmwuMDEtLjAxIDYuNzYxLTYuNzY0YS43NS43NSAwIDEgMSAxLjA2MSAxLjA2bC02Ljc1NyA2Ljc2YS45MzcuOTM3IDAgMCAwIDEuMzI2IDEuMzI1bDYuNzY1LTYuNzY5YTIuNjI2IDIuNjI2IDAgMCAwLS44My00LjMxN1oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiMzQkNENEMiLz4KICAgIDxwYXRoIGQ9Ik0xNy4wMTQxIDExLjM0NTRDMTcuMDc3NSAxMS4zMTY1IDE3LjExODIgMTEuMjUzMiAxNy4xMTgyIDExLjE4MzVDMTcuMTE4MiAxMS4xMTM3IDE3LjA3NzUgMTEuMDUwNCAxNy4wMTQxIDExLjAyMTVMMTAuMDY3OCA3Ljg1NDg4QzkuOTc1OCA3LjgxNCA5Ljg3MDc4IDcuODE0IDkuNzc4NzcgNy44NTQ4OEw3LjA2MTM1IDkuMDMzODJDNi45OTU3MiA5LjA2MTc4IDYuOTUzMTIgOS4xMjYyMyA2Ljk1MzEyIDkuMTk3NTdDNi45NTMxMiA5LjI2ODkgNi45OTU3MiA5LjMzMzM1IDcuMDYxMzUgOS4zNjEzMUwxNC4zODcxIDEyLjQxNEMxNC40Nzg0IDEyLjQ1MjMgMTQuNTgxNiAxMi40NTA4IDE0LjY3MTggMTIuNDA5OEwxNy4wMTQxIDExLjM0NTRaIiBmaWxsPSJ3aGl0ZSIvPgogICAgPHBhdGggZD0iTTIxLjM1MDIgOS4zNzIwMkMyMS40MTQxIDkuMzQzMjkgMjEuNDU1MiA5LjI3OTc1IDIxLjQ1NTIgOS4yMDk3QzIxLjQ1NTIgOS4xMzk2NSAyMS40MTQxIDkuMDc2MTIgMjEuMzUwMiA5LjA0NzM4TDE0LjQ3MTYgNi4wNTk0M0MxNC4yOSA1Ljk4MDE5IDE0LjA4MzcgNS45ODAxOSAxMy45MDIxIDYuMDU5NDNMMTEuNjA5NyA3LjA1NjEzQzExLjU0NTQgNy4wODQ2OCAxMS41MDM5IDcuMTQ4NDQgMTEuNTAzOSA3LjIxODhDMTEuNTAzOSA3LjI4OTE3IDExLjU0NTQgNy4zNTI5MyAxMS42MDk3IDcuMzgxNDhMMTguNTE1MyAxMC41Mjk2QzE4LjYwOSAxMC41NzIyIDE4LjcxNjUgMTAuNTcyMiAxOC44MTAxIDEwLjUyOTZMMjEuMzUwMiA5LjM3MjAyWiIgZmlsbD0id2hpdGUiLz4KICAgIDxwYXRoIGQ9Ik02LjI0NjMzIDEwLjE3NzdDNi4xOTEzOCAxMC4xNTQ5IDYuMTI4NjUgMTAuMTYxIDYuMDc5MTYgMTAuMTk0QzYuMDI5NjYgMTAuMjI3MSA1Ljk5OTk2IDEwLjI4MjcgNiAxMC4zNDIyVjE4LjI3NzNDNS45OTk5OCAxOC41NjQ2IDYuMTcyNjYgMTguODIzOCA2LjQzNzgzIDE4LjkzNDRMMTMuNzYgMjEuOTg2NEMxMy44MTQ5IDIyLjAwOTMgMTMuODc3NyAyMi4wMDMxIDEzLjkyNzEgMjEuOTcwMUMxMy45NzY2IDIxLjkzNyAxNC4wMDYzIDIxLjg4MTUgMTQuMDA2MyAyMS44MjE5VjEzLjUzMDlDMTQuMDA2MiAxMy40NTkgMTMuOTYzIDEzLjM5NDIgMTMuODk2NyAxMy4zNjY0TDYuMjQ2MzMgMTAuMTc3N1oiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTUuMDc4MSAyMS43ODk5QzE1LjA3ODQgMjEuODUwMiAxNS4xMDkyIDIxLjkwNjMgMTUuMTU5OSAyMS45MzlDMTUuMjEwNSAyMS45NzE4IDE1LjI3NDMgMjEuOTc2NyAxNS4zMjk0IDIxLjk1MjJMMjEuOTU4MiAxOC45Mzk0QzIyLjIxMjIgMTguODIzOCAyMi4zNzUzIDE4LjU3MDUgMjIuMzc1NCAxOC4yOTE1VjEwLjM1NzhDMjIuMzc1NCAxMC4yOTczIDIyLjM0NDcgMTAuMjQxIDIyLjI5MzkgMTAuMjA4MkMyMi4yNDMxIDEwLjE3NTMgMjIuMTc5MSAxMC4xNzA2IDIyLjEyNCAxMC4xOTU1TDE1LjE4NDkgMTMuMzUwN0MxNS4xMjExIDEzLjM3OTIgMTUuMDgwMSAxMy40NDI1IDE1LjA4MDMgMTMuNTEyNEwxNS4wNzgxIDIxLjc4OTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOS41IDBIMi41QzEuMTE5MjkgMCAwIDEuMTE5MjkgMCAyLjVWMjkuNUMwIDMwLjg4MDcgMS4xMTkyOSAzMiAyLjUgMzJIMjkuNUMzMC44ODA3IDMyIDMyIDMwLjg4MDcgMzIgMjkuNVYyLjVDMzIgMS4xMTkyOSAzMC44ODA3IDAgMjkuNSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDEwQzYgOC44OTU0MyA2Ljg5NTQzIDggOCA4SDI0QzI1LjEwNDYgOCAyNiA4Ljg5NTQzIDI2IDEwVjE1QzI2IDE2LjEwNDYgMjUuMTA0NiAxNyAyNCAxN0g4QzYuODk1NDMgMTcgNiAxNi4xMDQ2IDYgMTVWMTBaTTYgMjRDNiAyMy40NDc3IDYuNDQ3NzIgMjMgNyAyM0gyNUMyNS41NTIzIDIzIDI2IDIzLjQ0NzcgMjYgMjRDMjYgMjQuNTUyMyAyNS41NTIzIDI1IDI1IDI1SDdDNi40NDc3MiAyNSA2IDI0LjU1MjMgNiAyNFpNNyAxOUM2LjQ0NzcyIDE5IDYgMTkuNDQ3NyA2IDIwQzYgMjAuNTUyMyA2LjQ0NzcyIDIxIDcgMjFIMjVDMjUuNTUyMyAyMSAyNiAyMC41NTIzIDI2IDIwQzI2IDE5LjQ0NzcgMjUuNTUyMyAxOSAyNSAxOUg3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjI1MiA4LjQ4OGMtLjM2Ni0xLjM3LTEuNDQ4LTIuNDUyLTIuODI0LTIuODIzQzI1Ljk0MSA1IDE1Ljk1OCA1IDE1Ljk1OCA1cy05Ljk3NyAwLTEyLjQ3LjY2NWMtMS4zNy4zNjYtMi40NTIgMS40NDctMi44MjMgMi44MjNDMCAxMC45NzYgMCAxNi4xNyAwIDE2LjE3czAgNS4xOTQuNjY1IDcuNjgyYy4zNjYgMS4zNzIgMS40NDcgMi40NTMgMi44MjMgMi44MjMgMi40OTMuNjY2IDEyLjQ3LjY2NiAxMi40Ny42NjZzOS45ODMgMCAxMi40Ny0uNjY2YzEuMzcyLS4zNjUgMi40NTMtMS40NDcgMi44MjQtMi44MjMuNjY1LTIuNDg4LjY2NS03LjY4Mi42NjUtNy42ODJzMC01LjE5NC0uNjY1LTcuNjgyIiBmaWxsPSIjRDkyNTJBIi8+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRkZGRSIgZD0iTTEyLjc3IDIwLjk1OGw4LjI5MS00Ljc4OC04LjI5MS00Ljc4OHY5LjU3NiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xMC4wNjMgMjkuMDAyYzEyLjA3NiAwIDE4LjY4LTEwLjAwNSAxOC42OC0xOC42OCAwLS4yODUgMC0uNTY3LS4wMTktLjg1QzMwLjAxIDguNTQ1IDMxLjEyIDcuMzkzIDMyIDYuMDc2Yy0xLjE5OC41My0yLjQ3Ljg3OS0zLjc3IDEuMDMyIDEuMzctLjgyIDIuMzk1LTIuMTEgMi44ODYtMy42My0xLjI5Ljc2NC0yLjcgMS4zMDMtNC4xNyAxLjU5My0yLjAzNS0yLjE2NC01LjI2OC0yLjY5NC03Ljg4Ny0xLjI5Mi0yLjYyIDEuNDAxLTMuOTczIDQuMzg2LTMuMyA3LjI4LTUuMjgtLjI2NS0xMC4xOTgtMi43NTgtMTMuNTMyLTYuODYtMS43NDIgMy0uODUyIDYuODM4IDIuMDMzIDguNzY0LTEuMDQ1LS4wMy0yLjA2Ny0uMzEzLTIuOTgtLjgyMnYuMDg0YzAgMy4xMjUgMi4yMDQgNS44MTcgNS4yNjcgNi40MzUtLjk2Ni4yNjQtMS45OC4zMDMtMi45NjQuMTEzLjg2IDIuNjc1IDMuMzI1IDQuNTA3IDYuMTMzIDQuNTYtMi4zMjQgMS44MjctNS4xOTYgMi44MTgtOC4xNTMgMi44MTUtLjUyMiAwLTEuMDQ0LS4wMzItMS41NjMtLjA5NCAzLjAwMiAxLjkyNyA2LjQ5NiAyLjk0OSAxMC4wNjMgMi45NDQiIGZpbGw9IiMxREExRjIiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjIuNDMgMTIyLjQxIj4KICAgIDxwYXRoIGQ9Ik04My44NiA1NC4xNXYzNC4xM0gzOC41N1Y1NC4xNUgwdjY4LjI2aDEyMi40M1Y1NC4xNUg4My44NnpNMzguNTcgMGg0NS4zdjM0LjEzaC00NS4zeiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjg4NiAyNS41MDhjMCAzLjUyMi0yLjg1NSA2LjM3Ny02LjM3NyA2LjM3N0g2LjM3N0MyLjg1NyAzMS44ODUgMCAyOS4wMyAwIDI1LjUwOFY2LjM3OEMwIDIuODU0IDIuODU3IDAgNi4zNzcgMEgyNS41MWMzLjUyMiAwIDYuMzc3IDIuODU1IDYuMzc3IDYuMzc3djE5LjEzMSIgZmlsbD0iIzBGQjdGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNS45OTggMTAuNThjLjE3NS0uOTgyLjE3LTEuOTkyLS40MzYtMi43NTUtLjg0Ni0xLjA3LTIuNjQ2LTEuMTEtMy44OC0uOTIxLTEuMDAzLjE1My00LjM5NyAxLjY1MS01LjU1MiA1LjIzNiAyLjA0Ni0uMTU2IDMuMTE4LjE0OCAyLjkyMSAyLjQtLjA4Mi45NDMtLjU1OCAxLjk3Ni0xLjA5IDIuOTY2LS42MTQgMS4xNDEtMS43NjUgMy4zODItMy4yNzQgMS43NjctMS4zNi0xLjQ1NC0xLjI1Ny00LjIzNS0xLjU2OC02LjA4Ni0uMTczLTEuMDQtLjM1Ni0yLjMzNC0uNjk3LTMuNDAyLS4yOTMtLjkyLS45NjYtMi4wMjctMS43ODgtMi4yNjctLjg4NC0uMjYtMS45NzYuMTQ2LTIuNjE4LjUyMy0yLjA0MiAxLjItMy41OTggMi45MDgtNS4zNjUgNC4zMTd2LjEzMmMuMzUuMzM1LjQ0NC44ODQuOTYuOTU5IDEuMjE2LjE3OSAyLjM3NS0xLjEzNCAzLjE4NC4yMzIuNDkyLjgzNC42NDUgMS43NDkuOTYgMi42NDguNDIgMS4xOTguNzQ2IDIuNTAzIDEuMDkgMy44OC41ODMgMi4zMzQgMS4yOTkgNS44MiAzLjMxNiA2LjY3NSAxLjAyOS40MzcgMi41NzUtLjE0OCAzLjM1OC0uNjEyIDIuMTIyLTEuMjU1IDMuNzc1LTMuMDc1IDUuMTktNC45MjcgMy4yMzQtNC4zODIgNS4wMTktOS4zNDcgNS4yODktMTAuNzY1IiBmaWxsPSIjRkZGRkZFIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMS45NzYgMTAuODg2Yy0uMDA3LS4wMzktLjAxNC0uMDc4LS4wMjQtLjExNmwtLjAyMi0uMDY2Yy0uMDEtLjAzNC0uMDIyLS4wNjgtLjAzNS0uMWwtLjAzLS4wNjdjLS4wMTUtLjAzMS0uMDMtLjA2Mi0uMDQ4LS4wOTItLjAxMi0uMDIyLS4wMjYtLjA0Mi0uMDM5LS4wNjMtLjAxOC0uMDI5LS4wMzctLjA1Ny0uMDU4LS4wODQtLjAxNS0uMDItLjAzLS4wNC0uMDQ3LS4wNTktLjAyMi0uMDI2LS4wNDUtLjA1LS4wNjgtLjA3NWwtLjA1NS0uMDUzYy0uMDI1LS4wMjMtLjA1MS0uMDQ1LS4wNzgtLjA2NS0uMDIxLS4wMTYtLjA0MS0uMDMzLS4wNjMtLjA0Ny0uMDA4LS4wMDYtLjAxNC0uMDEzLS4wMjMtLjAxOEwxNi43NjIuMjMxYy0uNDYxLS4zMDgtMS4wNjMtLjMwOC0xLjUyNSAwTC42MTIgOS45ODFsLS4wMjIuMDE3Yy0uMDIyLjAxNS0uMDQyLjAzMS0uMDYzLjA0Ny0uMDI3LjAyMS0uMDUzLjA0My0uMDc4LjA2NS0uMDE5LjAxNy0uMDM3LjAzNS0uMDU1LjA1NC0uMDI0LjAyNC0uMDQ2LjA0OC0uMDY4LjA3NC0uMDE3LjAyLS4wMzIuMDM5LS4wNDcuMDYtLjAyLjAyOC0uMDQuMDU1LS4wNTguMDg0bC0uMDQuMDY0Yy0uMDE3LjAzLS4wMzIuMDYtLjA0Ni4wOS0uMDEuMDIyLS4wMjIuMDQ1LS4wMy4wNjctLjAxNC4wMzMtLjAyNi4wNjctLjAzNi4xbC0uMDIyLjA2NWMtLjAxLjAzOC0uMDE3LjA3Ni0uMDI0LjExNS0uMDA0LjAyLS4wMDguMDQtLjAxLjA2LS4wMDkuMDYtLjAxMy4xMTktLjAxMy4xOHY5Ljc1MWMwIC4wNi4wMDQuMTIxLjAxMy4xOC4wMDMuMDIyLjAwOS4wMzkuMDEzLjA2LjAwNy4wMzguMDEzLjA3Ny4wMjYuMTE2bC4wMjEuMDY3Yy4wMTEuMDM0LjAyMi4wNjkuMDM1LjEuMDA5LjAyMi4wMjEuMDQzLjAzLjA2NS4wMTQuMDMuMDMuMDYuMDQ3LjA5Mi4wMTIuMDIxLjAyNi4wNDMuMDQuMDYyLjAxOC4wMy4wMzguMDU2LjA2LjA4Mi4wMTQuMDIyLjAzLjA0LjA0Ny4wNi4wMjIuMDI2LjA0My4wNTEuMDY5LjA3NC4wMTcuMDE4LjAzNC4wNC4wNTYuMDUybC4wNzcuMDY2Yy4wMjEuMDE3LjA0My4wMy4wNi4wNDYuMDA5LjAwNS4wMTQuMDEzLjAyMi4wMTdsMTQuNjIxIDkuNzU1Yy4yMzEuMTU1LjQ5Ni4yMzMuNzYzLjIzMi4yNjctLjAwMi41MzItLjA3OC43NjMtLjIzMmwxNC42MjUtOS43NS4wMjItLjAxNmMuMDIyLS4wMTUuMDQyLS4wMzEuMDYzLS4wNDcuMDI3LS4wMjEuMDUzLS4wNDMuMDc4LS4wNjZsLjA1NS0uMDUzYy4wMjQtLjAyNC4wNDctLjA0OS4wNjgtLjA3NS4wMTctLjAyLjAzMi0uMDM5LjA0Ny0uMDYuMDItLjAyNi4wNC0uMDU0LjA1OC0uMDgzLjAxNC0uMDIuMDI3LS4wNDIuMDQtLjA2My4wMTctLjAzLjAzMi0uMDYuMDQ3LS4wOTJsLjAzLS4wNjZjLjAxNC0uMDMzLjAyNS0uMDY3LjAzNS0uMS4wMDgtLjAyMy4wMTYtLjA0NS4wMjItLjA2Ny4wMS0uMDM4LjAxNy0uMDc3LjAyNC0uMTE2LjAwNC0uMDIuMDA5LS4wMzkuMDEtLjA2LjAwOS0uMDU5LjAxMy0uMTE4LjAxMy0uMTc5di05Ljc1YzAtLjA2LS4wMDUtLjEyLS4wMTItLjE4LS4wMDQtLjAyLS4wMS0uMDM4LS4wMTQtLjA2aC4wMDJ6TTE2IDE5LjI1M0wxMS4xMzcgMTYgMTYgMTIuNzQ3IDIwLjg2MyAxNiAxNiAxOS4yNTN6bS0xLjM3NS04Ljg5NWwtNS45NjIgMy45ODgtNC44MTItMy4yMiAxMC43NzQtNy4xODJ2Ni40MTR6TTYuMTkgMTZsLTMuNDQgMi4zVjEzLjdsMy40NCAyLjN6bTIuNDczIDEuNjU1bDUuOTYyIDMuOTg3djYuNDE0TDMuODUgMjAuODczbDQuODEyLTMuMjE5di4wMDF6bTguNzEyIDMuOTg2bDUuOTYxLTMuOTg3IDQuODEzIDMuMjItMTAuNzc0IDcuMTgxdi02LjQxNHptOC40MzQtNS42NGwzLjQ0LTIuMzAydjQuNjAyTDI1LjgxIDE2em0tMi40NzMtMS42NTVsLTUuOTYxLTMuOTg3VjMuOTQ0bDEwLjc3NCA3LjE4My00LjgxMyAzLjIxOXoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNiAuMDUzQzcuMTkuMDUzLjA0NyA3LjE5NC4wNDcgMTYuMDAzYzAgOC44MSA3LjE0MiAxNS45NTEgMTUuOTUxIDE1Ljk1MSA4LjgxIDAgMTUuOTUxLTcuMTQgMTUuOTUxLTE1Ljk1QzMxLjk1IDcuMTk0IDI0LjgxLjA1NCAxNiAuMDU0Vi4wNTN6bTcuMzE0IDIzLjAwNWMtLjI4NS40NjktLjg5OS42MTgtMS4zNjcuMzMtMy43NDUtMi4yODgtOC40Ni0yLjgwNi0xNC4wMTMtMS41MzctLjUzNS4xMjItMS4wNjgtLjIxMy0xLjE5LS43NDktLjEyMi0uNTM1LjIxMi0xLjA2OC43NDgtMS4xOSA2LjA3Ni0xLjM4OSAxMS4yODgtLjc5IDE1LjQ5MyAxLjc3OS40NjguMjg3LjYxNy44OTkuMzMgMS4zNjd6bTEuOTUzLTQuMzQzYy0uMzYuNTg1LTEuMTI2Ljc3LTEuNzEuNDEtNC4yODgtMi42MzYtMTAuODI0LTMuNC0xNS44OTYtMS44Ni0uNjU3LjE5OS0xLjM1Mi0uMTcyLTEuNTUyLS44MjgtLjE5OC0uNjU4LjE3My0xLjM1MS44My0xLjU1MSA1Ljc5My0xLjc1OCAxMi45OTQtLjkwNyAxNy45MTggMi4xMi41ODUuMzYuNzcgMS4xMjUuNDEgMS43MDl6bS4xNjctNC41MjNjLTUuMTQtMy4wNTQtMTMuNjIzLTMuMzM0LTE4LjUzMS0xLjg0NS0uNzg4LjI0LTEuNjIyLS4yMDUtMS44Ni0uOTk0LS4yNC0uNzg4LjIwNS0xLjYyMS45OTQtMS44NiA1LjYzNC0xLjcxMSAxNS4wMDEtMS4zOCAyMC45MiAyLjEzMy43MS40Mi45NDMgMS4zMzYuNTIyIDIuMDQ0LS40Mi43MS0xLjMzNy45NDMtMi4wNDQuNTIyeiIgZmlsbD0iIzFFRDc2MCIgZmlsbC1ydWxlPSJub256ZXJvIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNS45MjQgOS45MjJjLS4yMzYgMC0uNDMuMTk0LS40MzQuNDMzbC0uMTc3IDguODY2LjE3OCAzLjIxOGMuMDAzLjIzNS4xOTcuNDMuNDMzLjQzcy40My0uMTk1LjQzMy0uNDMzdi4wMDRsLjE5My0zLjIxOS0uMTkzLTguODY3Yy0uMDAzLS4yMzgtLjE5Ny0uNDMyLS40MzMtLjQzMnptMTIuMTQgNS4xMDJjLS41NCAwLTEuMDU0LjExLTEuNTIyLjMwNkMyNi4yMjggMTEuNzgzIDIzLjI1NCA5IDE5LjYyNSA5Yy0uODg3IDAtMS43NTMuMTc1LTIuNTE3LjQ3LS4yOTguMTE1LS4zNzcuMjM0LS4zOC40NjN2MTIuNDkyYy4wMDQuMjQyLjE5LjQ0Mi40MjYuNDY2bDEwLjkxLjAwNmMyLjE3NCAwIDMuOTM2LTEuNzYyIDMuOTM2LTMuOTM2cy0xLjc2Mi0zLjkzNy0zLjkzNi0zLjkzN3pNMTAuODg2IDIyLjU2di0uMDAybC4yMjYtMy4zMzgtLjIyNi03LjI3NmMtLjAwNi0uMTgxLS4xNDgtLjMyMy0uMzI1LS4zMjMtLjE3NiAwLS4zMTkuMTQyLS4zMjQuMzIzbC0uMjAyIDcuMjc2LjIwMiAzLjM0Yy4wMDUuMTc4LjE0OC4zMi4zMjQuMzIuMTc3IDAgLjMxOC0uMTQyLjMyNS0uMzIxdi4wMDF6bS0yLjk1Mi4zMmMuMTQ0IDAgLjI2Mi0uMTE3LjI3LS4yNjdsLjI2NC0zLjM5NC0uMjY1LTYuNDk3Yy0uMDA3LS4xNS0uMTI1LS4yNjctLjI3LS4yNjctLjE0NCAwLS4yNjMuMTE3LS4yNjkuMjY3bC0uMjM0IDYuNDk3LjIzNCAzLjM5NWMuMDA2LjE0OS4xMjUuMjY2LjI3LjI2NnptNS4yOTctMTAuODY4Yy0uMjA5IDAtLjM3NS4xNjYtLjM4LjM3N2wtLjE2OSA2LjgzMi4xNyAzLjI4N2MuMDA0LjIxLjE3LjM3NS4zNzkuMzc1LjIwNyAwIC4zNzMtLjE2Ni4zNzgtLjM3N3YuMDAybC4xOS0zLjI4Ny0uMTktNi44MzJjLS4wMDUtLjIxMS0uMTctLjM3Ny0uMzc4LS4zNzd6TTIuODAyIDIyLjY1N2MuMDgzIDAgLjE1LS4wNjYuMTYtLjE1NmwuMzQtMy4yODYtLjM0LTMuNDFjLS4wMS0uMDkxLS4wNzctLjE1Ny0uMTYtLjE1Ny0uMDg0IDAtLjE1Mi4wNjYtLjE2LjE1N2wtLjI5OSAzLjQxLjI5OSAzLjI4NWMuMDA4LjA5MS4wNzYuMTU3LjE2LjE1N3ptMi41NDYuMTg4Yy4xMTMgMCAuMjA2LS4wOTIuMjE0LS4yMTJsLjMwMi0zLjQxOC0uMzAyLTMuMjVjLS4wMDgtLjEyLS4xLS4yMTEtLjIxNC0uMjExLS4xMTYgMC0uMjA4LjA5LS4yMTYuMjEybC0uMjY2IDMuMjUuMjY2IDMuNDE3Yy4wMDguMTIuMS4yMTIuMjE2LjIxMnptNi41NDMuMDNjLjE5MSAwIC4zNDYtLjE1NC4zNTEtLjM1di4wMDNsLjIwOS0zLjMwOS0uMjA5LTcuMDljLS4wMDUtLjE5Ni0uMTYtLjM1LS4zNTEtLjM1LS4xOTMgMC0uMzQ4LjE1NC0uMzUyLjM1bC0uMTg1IDcuMDkuMTg1IDMuMzA4Yy4wMDQuMTk0LjE1OS4zNDguMzUyLjM0OHptMi42OS4wMTNjLjIyIDAgLjQwMS0uMTgxLjQwNS0uNDA0di4wMDItLjAwMmwuMTcyLTMuMjYzLS4xNzItOC4xM2MtLjAwNC0uMjIzLS4xODYtLjQwNS0uNDA2LS40MDUtLjIyIDAtLjQwMy4xODItLjQwNi40MDVsLS4xNTMgOC4xMjcuMTUzIDMuMjY4Yy4wMDMuMjIuMTg2LjQwMi40MDYuNDAyem0tNS4zMzgtLjAxNmMuMTYgMCAuMjktLjEyOS4yOTYtLjI5NGwuMjQ2LTMuMzYtLjI0Ni03LjAzOWMtLjAwNi0uMTY1LS4xMzctLjI5NC0uMjk2LS4yOTQtLjE2MiAwLS4yOTIuMTMtLjI5Ny4yOTVsLS4yMTggNy4wMzguMjE4IDMuMzYxYy4wMDUuMTY0LjEzNS4yOTMuMjk3LjI5M3pNNC4wNyAxNS41MjdjLS4xIDAtLjE4LjA4LS4xODguMTg1TDMuNiAxOS4yMTVsLjI4MiAzLjM5Yy4wMDguMTA0LjA4OS4xODQuMTg4LjE4NC4wOTggMCAuMTc4LS4wOC4xODctLjE4NGwuMzItMy4zOS0uMzItMy41MDRjLS4wMDktLjEwNC0uMDktLjE4NC0uMTg3LS4xODR6bTIuNTY1LTEuODM3Yy0uMTI5IDAtLjIzNS4xMDUtLjI0Mi4yNGwtLjI1IDUuMjg3LjI1IDMuNDE3Yy4wMDcuMTMzLjExMy4yMzkuMjQyLjIzOXMuMjM1LS4xMDYuMjQzLS4yNHYuMDAxbC4yODMtMy40MTctLjI4My01LjI4OGMtLjAwOC0uMTM0LS4xMTQtLjI0LS4yNDMtLjI0em0tNC45NTcgMi42NWMtLjAxLS4wNzYtLjA2Ni0uMTI5LS4xMzMtLjEyOS0uMDY4IDAtLjEyNC4wNTUtLjEzMy4xM2wtLjMxNSAyLjg3My4zMTUgMi44MWMuMDEuMDc2LjA2NS4xMy4xMzMuMTMuMDY3IDAgLjEyMi0uMDUzLjEzMy0uMTI5bC4zNTgtMi44MS0uMzU4LTIuODc0em0tMS4zMTYuOTcyYy0uMDY3IDAtLjEyLjA1Mi0uMTI4LjEyNUwwIDE5LjIxNGwuMjM0IDEuNzQ3Yy4wMDkuMDc0LjA2MS4xMjUuMTI4LjEyNS4wNjUgMCAuMTE3LS4wNS4xMjgtLjEyNGwuMjc3LTEuNzQ4LS4yNzctMS43NzhjLS4wMS0uMDczLS4wNjMtLjEyNC0uMTI4LS4xMjR6IiBmaWxsPSIjRUU3QzI1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMiAxNkMzMiAyNC44MzYxIDI0LjgzNjEgMzIgMTYgMzJDNy4xNjM5NCAzMiAwIDI0LjgzNjEgMCAxNkMwIDcuMTYzOTQgNy4xNjM5NCAwIDE2IDBDMjQuODM3OSAwIDMyIDcuMTYzOTQgMzIgMTZaIiBmaWxsPSIjMjA4MUUyIi8+CiAgICA8cGF0aCBkPSJNNy44OTM3MSAxNi41Mzc2TDcuOTYyNzQgMTYuNDI5MUwxMi4xMjUgOS45MTc4NEMxMi4xODU4IDkuODIyNTEgMTIuMzI4OCA5LjgzMjM2IDEyLjM3NDggOS45MzU5MkMxMy4wNzAyIDExLjQ5NDMgMTMuNjcwMiAxMy40MzI0IDEzLjM4OTEgMTQuNjM5QzEzLjI2OTEgMTUuMTM1NCAxMi45NDAzIDE1LjgwNzggMTIuNTcwNCAxNi40MjkxQzEyLjUyMjggMTYuNTE5NiAxMi40NzAyIDE2LjYwODMgMTIuNDE0MyAxNi42OTM4QzEyLjM4OCAxNi43MzMzIDEyLjM0MzYgMTYuNzU2MyAxMi4yOTU5IDE2Ljc1NjNIOC4wMTUzNEM3LjkwMDI3IDE2Ljc1NjMgNy44MzI4OCAxNi42MzEzIDcuODkzNzEgMTYuNTM3NloiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjYuNDQ2MSAxNy43NDc1VjE4Ljc3ODJDMjYuNDQ2MSAxOC44Mzc0IDI2LjQwOTkgMTguODkgMjYuMzU3MyAxOC45MTNDMjYuMDM1MSAxOS4wNTExIDI0LjkzMjEgMTkuNTU3NCAyNC40NzM0IDIwLjE5NTJDMjMuMzAzIDIxLjgyNDIgMjIuNDA4OCAyNC4xNTM2IDIwLjQwOTggMjQuMTUzNkgxMi4wNzA2QzkuMTE0OTUgMjQuMTUzNiA2LjcxOTg1IDIxLjc1MDMgNi43MTk4NSAxOC43ODQ4VjE4LjY4OTRDNi43MTk4NSAxOC42MTA1IDYuNzgzOTQgMTguNTQ2NCA2Ljg2Mjg2IDE4LjU0NjRIMTEuNTExN0MxMS42MDM3IDE4LjU0NjQgMTEuNjcxMSAxOC42MzE5IDExLjY2MjkgMTguNzIyM0MxMS42MyAxOS4wMjQ4IDExLjY4NTkgMTkuMzMzOCAxMS44Mjg5IDE5LjYxNDlDMTIuMTA1MSAyMC4xNzU1IDEyLjY3NzIgMjAuNTI1NiAxMy4yOTUyIDIwLjUyNTZIMTUuNTk2NlYxOC43Mjg5SDEzLjMyMTVDMTMuMjA0OCAxOC43Mjg5IDEzLjEzNTggMTguNTk0MSAxMy4yMDMyIDE4LjQ5ODdDMTMuMjI3OCAxOC40NjA5IDEzLjI1NTggMTguNDIxNSAxMy4yODU0IDE4LjM3NzFDMTMuNTAwNyAxOC4wNzE0IDEzLjgwODEgMTcuNTk2MyAxNC4xMTM5IDE3LjA1NTVDMTQuMzIyNyAxNi42OTA1IDE0LjUyNDggMTYuMzAwOSAxNC42ODc2IDE1LjkwOTdDMTQuNzIwNSAxNS44MzkgMTQuNzQ2OCAxNS43NjY2IDE0Ljc3MzEgMTUuNjk2QzE0LjgxNzQgMTUuNTcxIDE0Ljg2MzUgMTUuNDU0MyAxNC44OTY0IDE1LjMzNzZDMTQuOTI5MyAxNS4yMzkgMTQuOTU1NSAxNS4xMzU0IDE0Ljk4MTggMTUuMDM4NEMxNS4wNTkxIDE0LjcwNjQgMTUuMDkyIDE0LjM1NDYgMTUuMDkyIDEzLjk4OTdDMTUuMDkyIDEzLjg0NjcgMTUuMDg1NCAxMy42OTcgMTUuMDcyMyAxMy41NTRDMTUuMDY1NyAxMy4zOTc5IDE1LjA0NiAxMy4yNDE3IDE1LjAyNjIgMTMuMDg1NUMxNS4wMTMxIDEyLjk0NzQgMTQuOTg4NCAxMi44MTEgMTQuOTYyMSAxMi42NjhDMTQuOTI5MyAxMi40NTkyIDE0Ljg4MzIgMTIuMjUyMSAxNC44MzA2IDEyLjA0MzNMMTQuODEyNSAxMS45NjQ0QzE0Ljc3MzEgMTEuODIxNCAxNC43NDAyIDExLjY4NSAxNC42OTQyIDExLjU0MkMxNC41NjQzIDExLjA5MzIgMTQuNDE0NyAxMC42NTU5IDE0LjI1NjkgMTAuMjQ2NkMxNC4xOTk0IDEwLjA4MzkgMTQuMTMzNiA5LjkyNzcxIDE0LjA2NzggOS43NzE1NUMxMy45NzA5IDkuNTM2NDcgMTMuODcyMiA5LjMyMjc4IDEzLjc4MTggOS4xMjA1N0MxMy43MzU4IDkuMDI4NTEgMTMuNjk2NCA4Ljk0NDY3IDEzLjY1NjkgOC44NTkxOUMxMy42MTI1IDguNzYyMiAxMy41NjY1IDguNjY1MjEgMTMuNTIwNSA4LjU3MzE4QzEzLjQ4NzYgOC41MDI0OSAxMy40NDk4IDguNDM2NzMgMTMuNDIzNSA4LjM3MDk3TDEzLjE0MjQgNy44NTE1MUMxMy4xMDI5IDcuNzgwODMgMTMuMTY4NyA3LjY5Njk5IDEzLjI0NTkgNy43MTgzNkwxNS4wMDQ5IDguMTk1MDdIMTUuMDA5OEMxNS4wMTMxIDguMTk1MDcgMTUuMDE0NyA4LjE5NjczIDE1LjAxNjQgOC4xOTY3M0wxNS4yNDgxIDguMjYwODNMMTUuNTAzIDguMzMzMThMMTUuNTk2NiA4LjM1OTQ1VjcuMzEzOThDMTUuNTk2NiA2LjgwOTMxIDE2LjAwMSA2LjM5OTk5IDE2LjUwMDggNi4zOTk5OUMxNi43NTA2IDYuMzk5OTkgMTYuOTc3NSA2LjUwMTkxIDE3LjE0MDIgNi42Njc5M0MxNy4zMDMgNi44MzM5OCAxNy40MDQ5IDcuMDYwODMgMTcuNDA0OSA3LjMxMzk4VjguODY1NzlMMTcuNTkyMyA4LjkxODM2QzE3LjYwNzEgOC45MjMzMiAxNy42MjE5IDguOTI5ODggMTcuNjM1IDguOTM5NzRDMTcuNjgxMSA4Ljk3NDI3IDE3Ljc0NjggOS4wMjUyMSAxNy44MzA2IDkuMDg3NzFDMTcuODk2NCA5LjE0MDI4IDE3Ljk2NzEgOS4yMDQ0MSAxOC4wNTI2IDkuMjcwMTdDMTguMjIxOSA5LjQwNjU5IDE4LjQyNDEgOS41ODI0OSAxOC42NDYgOS43ODQ3QzE4LjcwNTIgOS44MzU2NCAxOC43NjI3IDkuODg4MjUgMTguODE1MyA5Ljk0MDg2QzE5LjEwMTQgMTAuMjA3MiAxOS40MjE5IDEwLjUxOTUgMTkuNzI3NyAxMC44NjQ3QzE5LjgxMzEgMTAuOTYxNyAxOS44OTcgMTEuMDYwMyAxOS45ODI0IDExLjE2MzlDMjAuMDY3OSAxMS4yNjkxIDIwLjE1ODMgMTEuMzcyNiAyMC4yMzcyIDExLjQ3NjJDMjAuMzQwOCAxMS42MTQzIDIwLjQ1MjYgMTEuNzU3MyAyMC41NDk2IDExLjkwNjlDMjAuNTk1NiAxMS45Nzc2IDIwLjY0ODIgMTIuMDQ5OSAyMC42OTI2IDEyLjEyMDZDMjAuODE3NSAxMi4zMDk2IDIwLjkyNzcgMTIuNTA1MyAyMS4wMzI5IDEyLjcwMDlDMjEuMDc3MyAxMi43OTEzIDIxLjEyMzMgMTIuODg5OSAyMS4xNjI3IDEyLjk4NjlDMjEuMjc5NCAxMy4yNDgzIDIxLjM3MTUgMTMuNTE0NiAyMS40MzA3IDEzLjc4MDlDMjEuNDQ4NyAxMy44Mzg0IDIxLjQ2MTkgMTMuOTAwOSAyMS40Njg1IDEzLjk1NjhWMTMuOTY5OUMyMS40ODgyIDE0LjA0ODggMjEuNDk0OCAxNC4xMzI3IDIxLjUwMTQgMTQuMjE4MUMyMS41Mjc3IDE0LjQ5MSAyMS41MTQ1IDE0Ljc2MzkgMjEuNDU1MyAxNS4wMzg0QzIxLjQzMDcgMTUuMTU1MiAyMS4zOTc4IDE1LjI2NTMgMjEuMzU4MyAxNS4zODJDMjEuMzE4OSAxNS40OTM4IDIxLjI3OTQgMTUuNjEwNSAyMS4yMjg1IDE1LjcyMDZDMjEuMTI5OSAxNS45NDkxIDIxLjAxMzEgMTYuMTc3NiAyMC44NzUgMTYuMzkxM0MyMC44MzA3IDE2LjQ3MDIgMjAuNzc4MSAxNi41NTQxIDIwLjcyNTQgMTYuNjMzQzIwLjY2NzkgMTYuNzE2OCAyMC42MDg3IDE2Ljc5NTcgMjAuNTU2MSAxNi44NzNDMjAuNDgzOCAxNi45NzE2IDIwLjQwNjYgMTcuMDc1MiAyMC4zMjc3IDE3LjE2NzJDMjAuMjU3IDE3LjI2NDIgMjAuMTg0NiAxNy4zNjEyIDIwLjEwNTcgMTcuNDQ2N0MxOS45OTU2IDE3LjU3NjUgMTkuODkwNCAxNy42OTk4IDE5Ljc4MDIgMTcuODE4MkMxOS43MTQ1IDE3Ljg5NTQgMTkuNjQzOCAxNy45NzQ0IDE5LjU3MTUgMTguMDQ1QzE5LjUwMDggMTguMTIzOSAxOS40Mjg1IDE4LjE5NDYgMTkuMzYyNyAxOC4yNjA0QzE5LjI1MjYgMTguMzcwNSAxOS4xNjA1IDE4LjQ1NiAxOS4wODMyIDE4LjUyNjdMMTguOTAyNCAxOC42OTI3QzE4Ljg3NjEgMTguNzE1NyAxOC44NDE2IDE4LjcyODkgMTguODA1NCAxOC43Mjg5SDE3LjQwNDlWMjAuNTI1NkgxOS4xNjcxQzE5LjU2MTYgMjAuNTI1NiAxOS45MzY0IDIwLjM4NTkgMjAuMjM4OSAyMC4xMjk0QzIwLjM0MjQgMjAuMDM5IDIwLjc5NDUgMTkuNjQ3OCAyMS4zMjg3IDE5LjA1NzdDMjEuMzQ2OCAxOS4wMzc5IDIxLjM2OTkgMTkuMDIzMSAyMS4zOTYyIDE5LjAxNjZMMjYuMjYzNiAxNy42MDk0QzI2LjM1NCAxNy41ODMxIDI2LjQ0NjEgMTcuNjUyMiAyNi40NDYxIDE3Ljc0NzVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iI2ZiMmQ4ZCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHBhdGggZD0iTTEyIDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTE4IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTI0IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkYXRhLXNlbGVjdG9yPSJiZyIgZD0iTTIgMjRoMTNsOS05VjJhMiAyIDAgMDAtMi0ySDJhMiAyIDAgMDAtMiAydjIwYTIgMiAwIDAwMiAyeiIgZmlsbD0iI0YwRjZGOSIvPgogICAgPHJlY3QgZGF0YS1zZWxlY3Rvcj0iYmxvY2siIHg9IjUuMjUiIHk9IjQuNSIgd2lkdGg9IjEzLjUiIGhlaWdodD0iNC41IiByeD0iMSIgZmlsbD0iIzczOEE5NCIvPgogICAgPHBhdGggZGF0YS1zZWxlY3Rvcj0iZm9sZCIgZD0iTTE1IDE2djhsOS05aC04YTEgMSAwIDAwLTEgMXoiIGZpbGw9IiNEQUU4RjEiLz4KICAgIDxyZWN0IGRhdGEtc2VsZWN0b3I9ImxpbmUiIHg9IjUuMjUiIHk9IjExLjI1IiB3aWR0aD0iOC4yNSIgaGVpZ2h0PSIxLjUiIHJ4PSIuNzUiIGZpbGw9IiM3MzhBOTQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibmMtaWNvbi13cmFwcGVyIj4KICAgIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjQiLz4KICAgIDxwYXRoIGRhdGEtY2FwPSJidXR0IiBkPSJNMjAuODQ5IDMzLjE2NCAzMyAyMGwxMyAxM00yIDM4bDEyLTExIDEwIDkiLz4KICAgIDxwYXRoIGQ9Ik0yIDZoNDR2MzZIMnoiLz4KICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibmMtaWNvbi13cmFwcGVyIj4KICAgIDxwYXRoIGQ9Ik0zIDloNDJ2MzZIM3ptNy02aDI4Ii8+CiAgICA8cGF0aCBkPSJtMTAgMzggNy0xMCA1IDQgOC0xMSA5IDE3SDEweiIvPgogICAgPGNpcmNsZSBjeD0iMTciIGN5PSIxOSIgcj0iMyIvPgogIDwvZz4KPC9zdmc+\"","/**\n * @license React\n * react-jsx-runtime.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 f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React, {useState} from 'react';\nimport '../styles/index.css';\nimport {ReactComponent as BoldIcon} from '../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as LinkIcon} from '../assets/icons/kg-link.svg';\nimport {ReactComponent as QuoteIcon} from '../assets/icons/kg-quote.svg';\nimport {ReactComponent as ImgRegularIcon} from '../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImgWideIcon} from '../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImgFullIcon} from '../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ReplaceIcon} from '../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../assets/icons/kg-add.svg';\nimport {ReactComponent as SnippetIcon} from '../assets/icons/kg-snippet.svg';\nimport {ReactComponent as PlusIcon} from '../assets/icons/plus.svg';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ReactComponent as MarkdownCardIcon} from '../assets/icons/kg-card-type-markdown.svg';\nimport {ReactComponent as HtmlCardIcon} from '../assets/icons/kg-card-type-html.svg';\nimport {ReactComponent as GalleryCardIcon} from '../assets/icons/kg-card-type-gallery.svg';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {ReactComponent as BookmarkCardIcon} from '../assets/icons/kg-card-type-bookmark.svg';\nimport {ReactComponent as EmailCardIcon} from '../assets/icons/kg-card-type-email.svg';\nimport {ReactComponent as EmailCtaCardIcon} from '../assets/icons/kg-card-type-email-cta.svg';\nimport {ReactComponent as PreviewCardIcon} from '../assets/icons/kg-card-type-preview.svg';\nimport {ReactComponent as ButtonCardIcon} from '../assets/icons/kg-card-type-button.svg';\nimport {ReactComponent as CalloutCardIcon} from '../assets/icons/kg-card-type-callout.svg';\nimport {ReactComponent as GifCardIcon} from '../assets/icons/kg-card-type-gif.svg';\nimport {ReactComponent as ToggleCardIcon} from '../assets/icons/kg-card-type-toggle.svg';\nimport {ReactComponent as VideoCardIcon} from '../assets/icons/kg-card-type-video.svg';\nimport {ReactComponent as AudioCardIcon} from '../assets/icons/kg-card-type-audio.svg';\nimport {ReactComponent as FileCardIcon} from '../assets/icons/kg-card-type-file.svg';\nimport {ReactComponent as ProductCardIcon} from '../assets/icons/kg-card-type-product.svg';\nimport {ReactComponent as HeaderCardIcon} from '../assets/icons/kg-card-type-header.svg';\nimport {ReactComponent as YoutubeCardIcon} from '../assets/icons/kg-card-type-youtube.svg';\nimport {ReactComponent as TwitterCardIcon} from '../assets/icons/kg-card-type-twitter.svg';\nimport {ReactComponent as UnsplashCardIcon} from '../assets/icons/kg-card-type-unsplash.svg';\nimport {ReactComponent as VimeoCardIcon} from '../assets/icons/kg-card-type-vimeo.svg';\nimport {ReactComponent as CodepenCardIcon} from '../assets/icons/kg-card-type-codepen.svg';\nimport {ReactComponent as SpotifyCardIcon} from '../assets/icons/kg-card-type-spotify.svg';\nimport {ReactComponent as SoundcloudCardIcon} from '../assets/icons/kg-card-type-soundcloud.svg';\nimport {ReactComponent as NftCardIcon} from '../assets/icons/kg-card-type-nft.svg';\nimport {ReactComponent as OtherCardIcon} from '../assets/icons/kg-card-type-other.svg';\nimport {ReactComponent as SnippetCardIcon} from '../assets/icons/kg-card-type-snippet.svg';\nimport {ReactComponent as ImgPlaceholderIcon} from '../assets/icons/kg-img-placeholder.svg';\nimport {ReactComponent as GalleryPlaceholderIcon} from '../assets/icons/kg-gallery-placeholder.svg';\n\nconst DesignSandbox = () => {\n return (\n <div className=\"koenig-lexical\">\n <ComponentTitle label=\"Text toolbar\" />\n <TextToolbar />\n\n <ComponentTitle label=\"Image toolbar\" />\n <ImageToolbar />\n\n <ComponentTitle label=\"Gallery toolbar\" />\n <GalleryToolbar />\n\n <ComponentTitle label=\"Plus menu\" />\n <PlusButton />\n\n <ComponentTitle label=\"Card menu\" />\n <CardMenu />\n\n <ComponentTitle label=\"Divider card\" />\n <div className=\"relative max-w-[740px]\">\n <DividerCard />\n </div>\n\n <ComponentTitle label=\"Code block\" />\n <div className=\"relative max-w-[740px]\">\n <CodeBlock />\n </div>\n\n <ComponentTitle label=\"Image card\" />\n <div className=\"relative max-w-[740px]\">\n <ImageCard />\n </div>\n\n <ComponentTitle label=\"Gallery card\" />\n <div className=\"relative max-w-[1172px]\">\n <GalleryCard />\n </div>\n </div>\n );\n\n /* Component title\n /* ---------------------------------------------------------- */\n\n function ComponentTitle({label}) {\n return (\n <h3 className=\"mb-4 mt-20 text-xl font-bold first-of-type:mt-8\" >\n {label}\n </h3>\n );\n }\n\n /* Floating toolbar\n /* ---------------------------------------------------------- */\n\n function TextToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Format text as bold\" Icon={BoldIcon} />\n <ToolbarItem label=\"Format text as italics\" Icon={ItalicIcon} />\n <ToolbarItem label=\"Toggle heading 1\" Icon={HeadingOneIcon} />\n <ToolbarItem label=\"Toggle heading 2\" Icon={HeadingTwoIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Toggle blockquote\" Icon={QuoteIcon} />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ImageToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Set image to regular\" Icon={ImgRegularIcon} />\n <ToolbarItem label=\"Set image to wide\" Icon={ImgWideIcon} />\n <ToolbarItem label=\"Set image to full\" Icon={ImgFullIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarItem label=\"Replace image\" Icon={ReplaceIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function GalleryToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Add image\" Icon={AddIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ToolbarItem({label, Icon, ...props}) {\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <div\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n >\n <Icon className=\"fill-white\" />\n </div>\n </li>\n );\n }\n \n function ToolbarSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n }\n\n /* Plus button\n /* ---------------------------------------------------------- */\n\n function PlusButton() {\n return (\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n );\n }\n\n /* Card menu\n /* ---------------------------------------------------------- */\n\n function CardMenu() {\n return (\n <div className=\"z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 text-sm shadow\">\n <CardMenuSection label=\"Primary\" />\n <CardMenuItem label=\"Image\" desc=\"Upload, or embed with /image [url]\" Icon={ImageCardIcon} />\n <CardMenuItem label=\"Markdown\" desc=\"Insert a Markdown editor card\" Icon={MarkdownCardIcon} />\n <CardMenuItem label=\"HTML\" desc=\"Insert a raw HTML card\" Icon={HtmlCardIcon} />\n <CardMenuItem label=\"Gallery\" desc=\"Create an image gallery\" Icon={GalleryCardIcon} />\n <CardMenuItem label=\"Divider\" desc=\"Insert a dividing line\" Icon={DividerCardIcon} />\n <CardMenuItem label=\"Bookmark\" desc=\"Embed a link as a visual bookmark\" Icon={BookmarkCardIcon} />\n <CardMenuItem label=\"Email content\" desc=\"Only visible when delivered by email\" Icon={EmailCardIcon} />\n <CardMenuItem label=\"Email call to action\" desc=\"Target free or paid members with a CTA\" Icon={EmailCtaCardIcon} />\n <CardMenuItem label=\"Public preview\" desc=\"Attract signups with a public intro\" Icon={PreviewCardIcon} />\n <CardMenuItem label=\"Button\" desc=\"Add a button to your post\" Icon={ButtonCardIcon} />\n <CardMenuItem label=\"Callout\" desc=\"Info boxes that stand out\" Icon={CalloutCardIcon} />\n <CardMenuItem label=\"GIF\" desc=\"Search and embed gifs\" Icon={GifCardIcon} />\n <CardMenuItem label=\"Toggle\" desc=\"Add collapsible content\" Icon={ToggleCardIcon} />\n <CardMenuItem label=\"Video\" desc=\"Upload and play a video\" Icon={VideoCardIcon} />\n <CardMenuItem label=\"Audio\" desc=\"Upload and play an audio file\" Icon={AudioCardIcon} />\n <CardMenuItem label=\"File\" desc=\"Upload a downloadable file\" Icon={FileCardIcon} />\n <CardMenuItem label=\"Product\" desc=\"Add a product recommendation\" Icon={ProductCardIcon} />\n <CardMenuItem label=\"Header\" desc=\"Add a bold section header\" Icon={HeaderCardIcon} />\n <CardMenuSection label=\"Embed\" />\n <CardMenuItem label=\"YouTube\" desc=\"/youtube [video url]\" Icon={YoutubeCardIcon} />\n <CardMenuItem label=\"Twitter\" desc=\"/twitter [tweet url]\" Icon={TwitterCardIcon} />\n <CardMenuItem label=\"Unsplash\" desc=\"/unsplash [search-term or url]\" Icon={UnsplashCardIcon} />\n <CardMenuItem label=\"Vimeo\" desc=\"/vimeo [video url]\" Icon={VimeoCardIcon} />\n <CardMenuItem label=\"CodePen\" desc=\"/codepen [pen url]\" Icon={CodepenCardIcon} />\n <CardMenuItem label=\"Spotify\" desc=\"/spotify [track or playlist url]\" Icon={SpotifyCardIcon} />\n <CardMenuItem label=\"SoundCloud\" desc=\"/soundcloud [track or playlist url]\" Icon={SoundcloudCardIcon} />\n <CardMenuItem label=\"NFT\" desc=\"/nft [opensea url]\" Icon={NftCardIcon} />\n <CardMenuItem label=\"Other...\" desc=\"/embed [url]\" Icon={OtherCardIcon} />\n <CardMenuSection label=\"Snippets\" />\n <CardSnippetItem label=\"A random snippet\" Icon={SnippetCardIcon} />\n </div>\n );\n }\n\n function CardMenuSection({label, ...props}) {\n return (\n <div className=\"mb-2 flex shrink-0 flex-col justify-center px-4 pt-3 text-xs font-medium uppercase tracking-[.06rem] text-grey\" style={{minWidth: 'calc(100% - 3.2rem)'}} {...props}>\n {label}\n </div>\n );\n }\n\n function CardMenuItem({label, desc, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n <div className=\"m-0 ml-4 truncate text-xs font-normal leading-[1.333em] tracking-[.02rem] text-grey\">{desc}</div>\n </div>\n </div>\n );\n }\n\n function CardSnippetItem({label, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n </div>\n </div>\n );\n }\n\n /* Divider card\n /* ---------------------------------------------------------- */\n\n function DividerCard() {\n return (\n <div>\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n </div>\n );\n }\n\n /* Code block\n /* ---------------------------------------------------------- */\n\n function CodeBlock() {\n return (\n <div className=\"border-2 border-green\">\n <div className=\"rounded bg-grey-50 px-3 py-2\">\n <textarea className=\"w-full resize-none bg-grey-50 font-mono text-[1.7rem]\" />\n </div>\n <CaptionEditor placeholder=\"Type caption for code block (optional)\" />\n </div>\n );\n }\n\n /* Image card\n /* ---------------------------------------------------------- */\n\n function ImageCard() {\n const [isActive, setActive] = useState(false);\n const [altText, setAltText] = useState(false);\n\n const toggleActive = () => {\n setActive(!isActive);\n };\n\n const toggleAltText = (e) => {\n e.stopPropagation();\n setAltText(!altText);\n };\n\n if (isActive) {\n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for image (optional)\" />\n <button \n className={`absolute bottom-0 right-0 m-3 cursor-pointer rounded border px-1 text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${altText ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={e => toggleAltText(e)}>\n Alt\n </button> \n </div>\n );\n } \n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} /> \n </div>\n );\n }\n\n function MediaPlaceholder({desc, Icon, ...props}) {\n return (\n <div className=\"relative\">\n <figure className=\"cursor-pointer border border-transparent\" {...props}>\n <div className=\"h-100 relative flex items-center justify-center border border-grey-100 bg-grey-50 before:pb-[62.5%]\">\n <button className=\"group flex flex-col items-center justify-center p-20\">\n <Icon className=\"h-32 w-32 opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100\" />\n <p className=\"mt-4 text-sm font-normal text-grey-700 group-hover:text-grey-800\">{desc}</p>\n </button>\n </div>\n </figure>\n <form>\n <input\n type='file'\n accept='image/*'\n name=\"image\"\n hidden={true}\n />\n </form>\n </div>\n );\n }\n\n function CaptionEditor({placeholder}) {\n return (\n <input \n className=\"not-kg-prose w-full p-2 text-center font-sans text-sm font-normal tracking-wide text-grey-900\"\n placeholder={placeholder} \n />\n );\n }\n\n /* Gallery card\n /* ---------------------------------------------------------- */\n\n function GalleryCard() {\n return (\n <div className=\"border-2 border-green\">\n <MediaPlaceholder desc=\"Click to select up to 9 images\" Icon={GalleryPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for gallery (optional)\" />\n </div>\n );\n }\n};\n\nexport default DesignSandbox;\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"react\");let d=c.createContext(null);exports.LexicalComposerContext=d;exports.createLexicalComposerContext=function(a,e){let b=null;null!=a&&(b=a[1]);return{getTheme:function(){return null!=e?e:null!=b?b.getTheme():null}}};\nexports.useLexicalComposerContext=function(){let a=c.useContext(d);if(null==a)throw Error(\"Minified Lexical error #8; visit https://lexical.dev/docs/error?code=8 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalComposerContext = process.env.NODE_ENV === 'development' ? require('./LexicalComposerContext.dev.js') : require('./LexicalComposerContext.prod.js')\nmodule.exports = LexicalComposerContext;","/**\n * Copyright (c) Meta Platforms, Inc. and 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';let ba={},ca={},da={},ea={},fa={},ha={},ia={},ja={},la={},ma={},p={},na={},oa={},pa={},qa={},ra={},sa={},ta={},xa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={},Ma={};function r(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nlet t=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Na=t&&\"documentMode\"in document?document.documentMode:null,u=t&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Oa=t&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Pa=t&&\"InputEvent\"in window&&!Na?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Qa=t&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ra=t&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,\nUa=Qa||Ra?\"\\u00a0\":\"\\u200b\",Va=Oa?\"\\u00a0\":Ua,Wa=/^[^A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]*[\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]/,Xa=/^[^\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]*[A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]/,Ya={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Za={directionless:1,unmergeable:2},\n$a={center:2,justify:4,left:1,right:3},ab={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},bb={normal:0,segmented:2,token:1},cb={0:\"normal\",2:\"segmented\",1:\"token\"},db=!1,eb=0;function fb(a){eb=a.timeStamp}function gb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function hb(a){return a.getEditorState().read(()=>{let b=x();return null!==b?b.clone():null})}\nfunction ib(a,b,c){db=!0;let d=100<performance.now()-eb;try{A(a,()=>{let e=x()||hb(a);var f=new Map,g=a.getRootElement(),h=a._editorState;let k=!1,m=\"\";for(var l=0;l<b.length;l++){var n=b[l],q=n.type,v=n.target,w=jb(v,h);if(!(null===w&&v!==g||C(w)))if(\"characterData\"===q){if(n=d&&D(w))a:{n=e;q=v;var y=w;if(F(n)){var z=n.anchor.getNode();if(z.is(y)&&n.format!==z.getFormat()){n=!1;break a}}n=3===q.nodeType&&y.isAttached()}n&&(y=t?window.getSelection():null,q=n=null,null!==y&&y.anchorNode===v&&(n=y.anchorOffset,\nq=y.focusOffset),v=v.nodeValue,null!==v&&kb(w,v,n,q,!1))}else if(\"childList\"===q){k=!0;q=n.addedNodes;for(y=0;y<q.length;y++){z=q[y];var B=lb(z),E=z.parentNode;null==E||null!==B||\"BR\"===z.nodeName&&gb(z,E,a)||(Oa&&(B=z.innerText||z.nodeValue)&&(m+=B),E.removeChild(z))}n=n.removedNodes;q=n.length;if(0<q){y=0;for(z=0;z<q;z++)E=n[z],\"BR\"===E.nodeName&&gb(E,v,a)&&(v.appendChild(E),y++);q!==y&&(v===g&&(w=h._nodeMap.get(\"root\")),f.set(v,w))}}}if(0<f.size)for(let [R,aa]of f)if(G(aa))for(f=aa.__children,\ng=R.firstChild,h=0;h<f.length;h++)l=a.getElementByKey(f[h]),null!==l&&(null==g?(R.appendChild(l),g=l):g!==l&&R.replaceChild(l,g),g=g.nextSibling);else D(aa)&&aa.markDirty();f=c.takeRecords();if(0<f.length){for(g=0;g<f.length;g++)for(l=f[g],h=l.addedNodes,l=l.target,w=0;w<h.length;w++)v=h[w],n=v.parentNode,null==n||\"BR\"!==v.nodeName||gb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==e&&(k&&(e.dirty=!0,mb(e)),Oa&&nb(a)&&e.insertRawText(m))})}finally{db=!1}}\nfunction ob(a){let b=a._observer;if(null!==b){let c=b.takeRecords();ib(a,c,b)}}function pb(a){0===eb&&rb(a).addEventListener(\"textInput\",fb,!0);a._observer=new MutationObserver((b,c)=>{ib(a,b,c)})}let sb=1,tb=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction ub(a,b,c){let d=a.getRootElement();try{var e;if(e=null!==d&&d.contains(b)&&d.contains(c)&&null!==b){let f=document.activeElement,g=null!==f?f.nodeName:null;e=!C(jb(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return e&&vb(b)===a}catch(f){return!1}}function vb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function wb(a){return a.isToken()||a.isSegmented()}function xb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}\nfunction yb(a,b,c){b=Ya[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function zb(a){return D(a)||Ab(a)||C(a)}function Bb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Cb(a);b.splice(c,1)}}\nfunction Db(a){99<Eb&&r(14);var b=a.getLatest(),c=b.__parent,d=H();let e=I(),f=d._nodeMap;d=e._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=f.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;e._dirtyType=1;G(a)?d.set(b,!0):e._dirtyLeaves.add(b)}function Cb(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Db(b);null!==a&&Db(a)}\nfunction J(a){K();var b=I();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=L(c),null!==b&&b.getWritable()),null!==a&&(a=L(a),null!==a&&a.getWritable()))}function Fb(){return M?null:I()._compositionKey}function L(a,b){a=(b||H())._nodeMap.get(a);return void 0===a?null:a}function lb(a,b){let c=I();a=a[`__lexicalKey_${c._key}`];return void 0!==a?L(a,b):null}function jb(a,b){for(;null!=a;){let c=lb(a,b);if(null!==c)return c;a=a.parentNode}return null}\nfunction Gb(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function Hb(a){return a.read(()=>Ib().getTextContent())}function Jb(a,b){A(a,()=>{var c=H();if(!c.isEmpty())if(\"root\"===b)Ib().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:\"history-merge\"}:void 0)}function Ib(){return H()._nodeMap.get(\"root\")}function mb(a){let b=H();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Kb(a){var b=I(),c;a:{for(c=a;null!=c;){let d=c[`__lexicalKey_${b._key}`];if(void 0!==d){c=d;break a}c=c.parentNode}c=null}return null===c?(b=b.getRootElement(),a===b?L(\"root\"):null):L(c)}function Lb(a){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(a)}function Mb(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function Nb(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}\nfunction Ob(a,b){var c=t?window.getSelection():null;if(null!==c){var d=c.anchorNode,{anchorOffset:e,focusOffset:f}=c;if(null!==d&&3===d.nodeType&&(c=jb(d),D(c))){d=d.nodeValue;if(d===Ua&&b){let g=b.length;d=b;f=e=g}null!==d&&kb(c,d,e,f,a)}}}\nfunction kb(a,b,c,d,e){let f=a;if(f.isAttached()&&(e||!f.isDirty())){var g=f.isComposing();a=b;(g||e)&&b[b.length-1]===Ua&&(a=b.slice(0,-1));b=f.getTextContent();if(e||a!==b)if(\"\"===a)if(J(null),Qa||Ra)f.remove();else{let h=I();setTimeout(()=>{h.update(()=>{f.isAttached()&&f.remove()})},20)}else e=f.getParent(),b=Pb(),f.isToken()||null!==Fb()&&!g||null!==e&&F(b)&&!e.canInsertTextBefore()&&0===b.anchor.offset?f.markDirty():(g=x(),F(g)&&null!==c&&null!==d&&(g.setTextNodeRange(f,c,f,d),f.isSegmented()&&\n(c=f.getTextContent(),c=N(c),f.replace(c),f=c)),f.setTextContent(a))}}function Qb(a,b){if(b.isSegmented())return!0;if(!a.isCollapsed())return!1;a=a.anchor.offset;let c=b.getParentOrThrow(),d=b.isToken();return 0===a?((a=!b.canInsertTextBefore()||!c.canInsertTextBefore()||d)||(b=b.getPreviousSibling(),a=(D(b)||G(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}\nfunction Rb(a,b){let c=a.anchor,d=a.focus,e=c.getNode();var f=t?window.getSelection():null;f=null!==f?f.anchorNode:null;let g=c.key,h=I().getElementByKey(g),k=b.length;return g!==d.key||!D(e)||(2>k||Lb(b))&&c.offset!==d.offset&&!e.isComposing()||wb(e)||e.isDirty()&&1<k||null!==h&&!e.isComposing()&&f!==xb(h)||e.getFormat()!==a.format||Qb(a,e)}function Sb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}\nfunction Tb(a,b,c,d,e){0!==c.size&&(c=d.__key,b=b.get(d.__type),void 0===b&&r(33),b=b.klass,d=a.get(b),void 0===d&&(d=new Map,a.set(b,d)),d.has(c)||d.set(c,e))}function Ub(a,b,c){let d=a.getParent(),e=c;null!==d&&(b&&0===c?(e=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(e=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?e-1:e)}\nfunction Vb(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Ub(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Ub(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}function nb(a){a=(a=rb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Wb(a){return!O(a)&&!a.isLastChild()&&!a.isInline()}\nfunction Xb(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75);return a}function $b(a,b=0){0!==b&&r(1);b=x();if(!F(b)||!G(a))return b;let {anchor:c,focus:d}=b,e=c.getNode(),f=d.getNode();ac(e,a)&&c.set(a.__key,0,\"element\");ac(f,a)&&d.set(a.__key,0,\"element\");return b}function ac(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function rb(a){a=a._window;null===a&&r(78);return a}\nfunction bc(a){for(a=a.getParentOrThrow();null!==a&&!cc(a);)a=a.getParentOrThrow();return a}function cc(a){return O(a)||G(a)&&a.isShadowRoot()}function dc(a,b,c,d,e){a=a.__children;let f=a.length;for(let g=0;g<f;g++){let h=a[g],k=d.get(h);void 0!==k&&k.__parent===b&&(G(k)&&dc(k,h,c,d,e),c.has(h)||e.delete(h),d.delete(h))}}\nfunction ec(a,b,c,d){a=a._nodeMap;b=b._nodeMap;for(let e of c){let f=b.get(e);void 0===f||f.isAttached()||(a.has(e)||c.delete(e),b.delete(e))}for(let [e]of d)c=b.get(e),void 0===c||c.isAttached()||(G(c)&&dc(c,e,a,b,d),a.has(e)||d.delete(e),b.delete(e))}function fc(a,b){let c=a.__mode,d=a.__format;a=a.__style;let e=b.__mode,f=b.__format;b=b.__style;return(null===c||c===e)&&(null===d||d===f)&&(null===a||a===b)}\nfunction gc(a,b){let c=a.mergeWithSibling(b),d=I()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}function hc(a){if(\"\"===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&D(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(\"\"===b.__text)b.remove();else{fc(b,a)&&(a=gc(b,a));break}for(var c;null!==(c=a.getNextSibling())&&D(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{fc(a,c)&&gc(a,c);break}}}\nfunction ic(a){jc(a.anchor);jc(a.focus);return a}function jc(a){for(;\"element\"===a.type;){var b=a.getNode(),c=a.offset;c===b.getChildrenSize()?(b=b.getChildAtIndex(c-1),c=!0):(b=b.getChildAtIndex(c),c=!1);if(D(b)){a.set(b.__key,c?b.getTextContentSize():0,\"text\");break}else if(!G(b))break;a.set(b.__key,c?b.getChildrenSize():0,\"element\")}}let P=\"\",Q=\"\",S=\"\",kc,T,lc,mc=!1,nc=!1,oc,pc=null,qc,rc,sc,tc,uc,vc;\nfunction wc(a,b){let c=sc.get(a);if(null!==b){let d=xc(a);b.removeChild(d)}tc.has(a)||T._keyToDOMMap.delete(a);G(c)&&(a=c.__children,yc(a,0,a.length-1,null));void 0!==c&&Tb(vc,lc,oc,c,\"destroyed\")}function yc(a,b,c,d){for(;b<=c;++b){let e=a[b];void 0!==e&&wc(e,d)}}function zc(a,b){a.setProperty(\"text-align\",b)}function Ac(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction Bc(a,b){a=a.style;0===b?zc(a,\"\"):1===b?zc(a,\"left\"):2===b?zc(a,\"center\"):3===b?zc(a,\"right\"):4===b&&zc(a,\"justify\")}\nfunction Cc(a,b,c){let d=tc.get(a);void 0===d&&r(60);let e=d.createDOM(kc,T);var f=T._keyToDOMMap;e[\"__lexicalKey_\"+T._key]=a;f.set(a,e);D(d)?e.setAttribute(\"data-lexical-text\",\"true\"):C(d)&&e.setAttribute(\"data-lexical-decorator\",\"true\");if(G(d)){a=d.__indent;0!==a&&Ac(e,a);a=d.__children;var g=a.length;if(0!==g){f=a;--g;let h=Q;Q=\"\";Dc(f,0,g,e,null);Ec(d,e);Q=h}f=d.__format;0!==f&&Bc(e,f);d.isInline()||Fc(null,a,e);Wb(d)&&(P+=\"\\n\\n\",S+=\"\\n\\n\")}else f=d.getTextContent(),C(d)?(g=d.decorate(T,kc),\nnull!==g&&Gc(a,g),e.contentEditable=\"false\"):D(d)&&(d.isDirectionless()||(Q+=f)),P+=f,S+=f;null!==b&&(null!=c?b.insertBefore(e,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(e,c):b.appendChild(e)));Tb(vc,lc,oc,d,\"created\");return e}function Dc(a,b,c,d,e){let f=P;for(P=\"\";b<=c;++b)Cc(a[b],d,e);d.__lexicalTextContent=P;P=f+P}function Hc(a,b){a=b.get(a[a.length-1]);return Ab(a)||C(a)}\nfunction Fc(a,b,c){a=null!==a&&(0===a.length||Hc(a,sc));b=null!==b&&(0===b.length||Hc(b,tc));a?b||(b=c.__lexicalLineBreak,null!=b&&c.removeChild(b),c.__lexicalLineBreak=null):b&&(b=document.createElement(\"br\"),c.__lexicalLineBreak=b,c.appendChild(b))}\nfunction Ec(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==Q||c!==pc){let f=\"\"===Q;if(f)var d=pc;else d=Q,d=Wa.test(d)?\"rtl\":Xa.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=kc.theme;var e=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==e&&(\"string\"===typeof e&&(e=e.split(\" \"),e=h[c]=e),g.remove(...e));null===d||f&&\"ltr\"===d?b.removeAttribute(\"dir\"):(void 0!==k&&(\"string\"===typeof k&&(c=k.split(\" \"),k=h[d]=c),void 0!==k&&g.add(...k)),b.dir=d);nc||(a.getWritable().__dir=d)}pc=\nd;b.__lexicalDirTextContent=Q;b.__lexicalDir=d}}\nfunction Ic(a,b){var c=sc.get(a),d=tc.get(a);void 0!==c&&void 0!==d||r(61);var e=mc||rc.has(a)||qc.has(a);let f=Xb(T,a);if(c===d&&!e)return G(c)?(d=f.__lexicalTextContent,void 0!==d&&(P+=d,S+=d),d=f.__lexicalDirTextContent,void 0!==d&&(Q+=d)):(d=c.getTextContent(),D(c)&&!c.isDirectionless()&&(Q+=d),S+=d,P+=d),f;c!==d&&e&&Tb(vc,lc,oc,d,\"updated\");if(d.updateDOM(c,f,kc))return d=Cc(a,null,null),null===b&&r(62),b.replaceChild(d,f),wc(a,null),d;if(G(c)&&G(d)){a=d.__indent;a!==c.__indent&&Ac(f,a);a=d.__format;\na!==c.__format&&Bc(f,a);a=c.__children;c=d.__children;if(a!==c||e){var g=a,h=c;e=d;b=Q;Q=\"\";let v=P;P=\"\";var k=g.length,m=h.length;if(1===k&&1===m){var l=g[0];h=h[0];if(l===h)Ic(l,f);else{var n=xc(l);h=Cc(h,null,null);f.replaceChild(h,n);wc(l,null)}}else if(0===k)0!==m&&Dc(h,0,m-1,f,null);else if(0===m)0!==k&&(l=null==f.__lexicalLineBreak,yc(g,0,k-1,l?null:f),l&&(f.textContent=\"\"));else{let w=k-1;k=m-1;let y=f.firstChild,z=0;for(m=0;z<=w&&m<=k;){var q=g[z];let B=h[m];if(q===B)y=Ic(B,f).nextSibling,\nz++,m++;else{void 0===l&&(l=new Set(g));void 0===n&&(n=new Set(h));let E=n.has(q),R=l.has(B);E?(R?(q=Xb(T,B),q===y?y=Ic(B,f).nextSibling:(null!=y?f.insertBefore(q,y):f.appendChild(q),Ic(B,f)),z++):Cc(B,f,y),m++):(y=xc(q).nextSibling,wc(q,f),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:T.getElementByKey(l),Dc(h,m,k,f,l)):n&&!l&&yc(g,z,w,f)}Wb(e)&&(P+=\"\\n\\n\");f.__lexicalTextContent=P;P=v+P;Ec(e,f);Q=b;O(d)||d.isInline()||Fc(a,c,f)}Wb(d)&&(P+=\"\\n\\n\",S+=\"\\n\\n\")}else c=d.getTextContent(),C(d)?(e=\nd.decorate(T,kc),null!==e&&Gc(a,e)):D(d)&&!d.isDirectionless()&&(Q+=c),P+=c,S+=c;!nc&&O(d)&&d.__cachedText!==S&&(d=d.getWritable(),d.__cachedText=S);return f}function Gc(a,b){let c=T._pendingDecorators,d=T._decorators;if(null===c){if(d[a]===b)return;c=Gb(T)}c[a]=b}function xc(a){a=uc.get(a);void 0===a&&r(75);return a}\nlet U=Object.freeze({}),Pc=[[\"keydown\",Jc],[\"mousedown\",Kc],[\"compositionstart\",Lc],[\"compositionend\",Mc],[\"input\",Nc],[\"click\",Oc],[\"cut\",U],[\"copy\",U],[\"dragstart\",U],[\"dragover\",U],[\"dragend\",U],[\"paste\",U],[\"focus\",U],[\"blur\",U],[\"drop\",U]];Pa&&Pc.push([\"beforeinput\",(a,b)=>Qc(a,b)]);let Rc=0,Sc=0,Tc=0,Uc=!1,Vc=!1,Wc=!1,Xc=!1,Yc=[0,0,\"root\",0];function Zc(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction $c(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a;if(Uc&&(Uc=!1,Zc(d,e)&&Zc(f,g)))return;A(b,()=>{if(!c)mb(null);else if(ub(b,d,f)){var h=x();if(F(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var l=rb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=Yc;l<w+200&&k.offset===q&&k.key===v?h.format=n:\"text\"===k.type?h.format=m.getFormat():\"element\"===k.type&&(h.format=0)}else{k=127;m=!1;l=h.getNodes();\nlet n=l.length;for(let q=0;q<n;q++){let v=l[q];if(D(v)&&(m=!0,k&=v.getFormat(),0===k))break}h.format=m?k:0}}V(b,ba,void 0)}})}function Oc(a,b){A(b,()=>{let c=x(),d=t?window.getSelection():null,e=Pb();if(F(c)){let f=c.anchor,g=f.getNode();d&&\"element\"===f.type&&0===f.offset&&c.isCollapsed()&&!O(g)&&1===Ib().getChildrenSize()&&g.getTopLevelElementOrThrow().isEmpty()&&null!==e&&c.is(e)&&(d.removeAllRanges(),c.dirty=!0)}V(b,ca,a)})}\nfunction Kc(a,b){let c=a.target;c instanceof Node&&A(b,()=>{C(jb(c))||(Vc=!0)})}function ad(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function bd(a,b){return a!==b||G(a)||G(b)||!a.isToken()||!b.isToken()}\nfunction Qc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Oa&&nb(b)||\"insertCompositionText\"!==c&&A(b,()=>{let d=x();if(\"deleteContentBackward\"===c){if(null===d){var e=Pb();if(!F(e))return;mb(e.clone())}if(F(d)){229===Sc&&a.timeStamp<Rc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(J(null),Rc=0,setTimeout(()=>{A(b,()=>{J(null)})},30),F(d)&&(e=d.anchor.getNode(),e.markDirty(),d.format=e.getFormat())):(a.preventDefault(),V(b,da,!0));return}}if(F(d)){e=a.data;d.dirty||!d.isCollapsed()||O(d.anchor.getNode())||\nad(d,a);var f=d.focus,g=d.anchor.getNode();f=f.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===e?(a.preventDefault(),V(b,ea,!1)):\"\\n\\n\"===e?(a.preventDefault(),V(b,fa,void 0)):null==e&&a.dataTransfer?(e=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(e)):null!=e&&Rb(d,e)&&(a.preventDefault(),V(b,ha,e));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":V(b,ha,a);break;case \"insertFromComposition\":J(null);V(b,\nha,a);break;case \"insertLineBreak\":J(null);V(b,ea,!1);break;case \"insertParagraph\":J(null);Wc?(Wc=!1,V(b,ea,!1)):V(b,fa,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":V(b,ia,a);break;case \"deleteByComposition\":bd(g,f)&&V(b,ja,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":V(b,ja,void 0);break;case \"deleteContent\":V(b,da,!1);break;case \"deleteWordBackward\":V(b,la,!0);break;case \"deleteWordForward\":V(b,la,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":V(b,\nma,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":V(b,ma,!1);break;case \"formatStrikeThrough\":V(b,p,\"strikethrough\");break;case \"formatBold\":V(b,p,\"bold\");break;case \"formatItalic\":V(b,p,\"italic\");break;case \"formatUnderline\":V(b,p,\"underline\");break;case \"historyUndo\":V(b,na,void 0);break;case \"historyRedo\":V(b,oa,void 0)}}})}\nfunction Nc(a,b){a.stopPropagation();A(b,()=>{var c=x(),d=a.data;null!=d&&F(c)&&Rb(c,d)?(Xc&&(cd(b,d),Xc=!1),V(b,ha,d),d=d.length,Oa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Qa||Ra||!b.isComposing()||(Rc=0,J(null))):(Ob(!1),Xc&&(cd(b,d||void 0),Xc=!1));K();c=I();ob(c)})}\nfunction Lc(a,b){A(b,()=>{let c=x();if(F(c)&&!b.isComposing()){let d=c.anchor;J(d.key);(a.timeStamp<Rc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&V(b,ha,Va)}})}\nfunction cd(a,b){var c=a._compositionKey;J(null);if(null!==c&&null!=b){if(\"\"===b){b=L(c);a=xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&D(b)&&kb(b,a.nodeValue,null,null,!0);return}if(\"\\n\"===b[b.length-1]&&(c=x(),F(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);V(a,ya,null);return}}Ob(!0,b)}function Mc(a,b){Oa?Xc=!0:A(b,()=>{cd(b,a.data)})}\nfunction Jc(a,b){if(!0!==a._lexicalHandled&&(a._lexicalHandled=!0,Rc=a.timeStamp,Sc=a.keyCode,!b.isComposing())){var {keyCode:c,shiftKey:d,ctrlKey:e,metaKey:f,altKey:g}=a;if(39!==c||e||f||g)if(39!==c||g||d||!e&&!f)if(37!==c||e||f||g)if(37!==c||g||d||!e&&!f)if(38!==c||e||f)if(40!==c||e||f)if(13===c&&d)Wc=!0,V(b,ya,a);else if(32===c)V(b,za,a);else if(u&&e&&79===c)a.preventDefault(),Wc=!0,V(b,ea,!0);else if(13!==c||d){var h=u?g||f?!1:8===c||72===c&&e:e||g||f?!1:8===c;h?8===c?V(b,Aa,a):(a.preventDefault(),\nV(b,da,!0)):27===c?V(b,Ba,a):(h=u?d||g||f?!1:46===c||68===c&&e:e||g||f?!1:46===c,h?46===c?V(b,Ca,a):(a.preventDefault(),V(b,da,!1)):8===c&&(u?g:e)?(a.preventDefault(),V(b,la,!0)):46===c&&(u?g:e)?(a.preventDefault(),V(b,la,!1)):u&&f&&8===c?(a.preventDefault(),V(b,ma,!0)):u&&f&&46===c?(a.preventDefault(),V(b,ma,!1)):66===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"bold\")):85===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"underline\")):73===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"italic\")):9!==c||g||e||\nf?90===c&&!d&&(u?f:e)?(a.preventDefault(),V(b,na,void 0)):(h=u?90===c&&f&&d:89===c&&e||90===c&&e&&d,h?(a.preventDefault(),V(b,oa,void 0)):dd(b._editorState._selection)&&(h=d?!1:67===c?u?f:e:!1,h?(a.preventDefault(),V(b,Ia,a)):(h=d?!1:88===c?u?f:e:!1,h&&(a.preventDefault(),V(b,Ja,a))))):V(b,Da,a))}else Wc=!1,V(b,ya,a);else V(b,xa,a);else V(b,ta,a);else V(b,sa,a);else V(b,ra,a);else V(b,qa,a);else V(b,pa,a);(e||d||g||f)&&V(b,Ma,a)}}\nfunction ed(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let fd=new Map;function gd(){let a=t?window.getSelection():null;if(null!==a){var b=vb(a.anchorNode);if(null!==b){Vc&&(Vc=!1,A(b,()=>{var g=Pb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=hd(g,a,b),mb(g))}));var c=Mb(b);c=c[c.length-1];var d=c._key,e=fd.get(d),f=e||c;f!==b&&$c(a,f,!1);$c(a,b,!0);b!==c?fd.set(d,b):e&&fd.delete(d)}}}\nfunction id(a,b){0===Tc&&a.ownerDocument.addEventListener(\"selectionchange\",gd);Tc++;a.__lexicalEditor=b;let c=ed(a);for(let d=0;d<Pc.length;d++){let [e,f]=Pc[d],g=\"function\"===typeof f?h=>{b.isEditable()&&f(h,b)}:h=>{if(b.isEditable())switch(e){case \"cut\":return V(b,Ja,h);case \"copy\":return V(b,Ia,h);case \"paste\":return V(b,ia,h);case \"dragstart\":return V(b,Fa,h);case \"dragover\":return V(b,Ga,h);case \"dragend\":return V(b,Ha,h);case \"focus\":return V(b,Ka,h);case \"blur\":return V(b,La,h);case \"drop\":return V(b,\nEa,h)}};a.addEventListener(e,g);c.push(()=>{a.removeEventListener(e,g)})}}\nclass X{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(G(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}G(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=L(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;\nM||(Fb()===e&&J(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function jd(a,b){let c=b.__key,d=a.offset,e=\"element\";if(D(b))e=\"text\",b=b.getTextContentSize(),d>b&&(d=b);else if(!G(b)){var f=b.getNextSibling();if(D(f))c=f.__key,d=0;else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function kd(a,b){if(G(b)){let c=b.getLastDescendant();G(c)||D(c)?jd(a,c):jd(a,b)}else jd(a,b)}\nfunction ld(a,b,c){let d=a.getNode(),e=d.getChildAtIndex(a.offset),f=N(),g=O(d)?md().append(f):f;f.setFormat(c);null===e?d.append(g):e.insertBefore(g);a.is(b)&&b.set(f.__key,0,\"text\");a.set(f.__key,0,\"text\")}function nd(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass od{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!dd(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new od(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.getNodes(),d=c.length;var e=c[d-1];if(D(e))e=e.select();else{let f=e.getIndexWithinParent()+1;e=e.getParentOrThrow().select(f,f)}e.insertNodes(a,b);for(a=0;a<d;a++)c[a].remove();return!0}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=L(c),null!==b&&a.push(b);M||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function F(a){return a instanceof pd}\nclass qd{constructor(a,b,c){this.gridKey=a;this.anchor=b;this.focus=c;this.dirty=!1;this._cachedNodes=null;b._selection=this;c._selection=this}is(a){return rd(a)?this.gridKey===a.gridKey&&this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}set(a,b,c){this.dirty=!0;this.gridKey=a;this.anchor.key=b;this.focus.key=c;this._cachedNodes=null}clone(){return new qd(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return sd(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.focus.getNode();return ic(c.select(0,c.getChildrenSize())).insertNodes(a,b)}getShape(){var a=L(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=L(this.focus.key);null===c&&r(22);var d=c.getIndexWithinParent();let e=c.getParentOrThrow().getIndexWithinParent();c=Math.min(b,d);b=Math.max(b,d);d=Math.min(a,e);a=Math.max(a,e);return{fromX:Math.min(c,b),fromY:Math.min(d,a),toX:Math.max(c,b),toY:Math.max(d,a)}}getNodes(){var a=\nthis._cachedNodes;if(null!==a)return a;a=new Set;let {fromX:b,fromY:c,toX:d,toY:e}=this.getShape();var f=L(this.gridKey);td(f)||r(23);a.add(f);f=f.getChildren();for(let k=c;k<=e;k++){var g=f[k];a.add(g);ud(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];vd(h)||r(25);a.add(h);for(h=h.getChildren();0<h.length;){let l=h.shift();a.add(l);G(l)&&h.unshift(...l.getChildren())}}}a=Array.from(a);M||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=\na[c].getTextContent();return b}}function rd(a){return a instanceof qd}\nclass pd{constructor(a,b,c){this.anchor=a;this.focus=b;this.dirty=!1;this.format=c;this._cachedNodes=null;a._selection=this;b._selection=this}is(a){return F(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format:!1}isBackward(){return this.focus.isBefore(this.anchor)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this.anchor,c=this.focus;a=b.getNode();let d=c.getNode();G(a)&&(b=a.getDescendantByIndex(b.offset),a=null!=\nb?b:a);G(d)&&(c=d.getDescendantByIndex(c.offset),d=null!=c?c:d);a=a.is(d)?G(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(d);M||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){nd(this.anchor,a.__key,b,\"text\");nd(this.focus,c.__key,d,\"text\");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return\"\";let b=a[0],c=a[a.length-1],d=this.anchor.isBefore(this.focus),[e,f]=sd(this),g=\"\",h=!0;for(let k=0;k<a.length;k++){let m=a[k];if(G(m)&&!m.isInline())h||\n(g+=\"\\n\"),h=m.isEmpty()?!1:!0;else if(h=!1,D(m)){let l=m.getTextContent();m===b?l=m===c?e<f?l.slice(e,f):l.slice(f,e):d?l.slice(e):l.slice(f):m===c&&(l=d?l.slice(0,f):l.slice(0,e));g+=l}else!C(m)&&!Ab(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=I(),c=b.getEditorState()._selection;a=wd(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,e]=a;nd(this.anchor,d.key,d.offset,d.type);nd(this.focus,e.key,e.offset,e.type);this._cachedNodes=\nnull}}clone(){let a=this.anchor,b=this.focus;return new pd(new X(a.key,a.offset,a.type),new X(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=yb(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Ya[a])}insertRawText(a){let b=a.split(/\\r?\\n/);if(1===b.length)this.insertText(a);else{a=[];let c=b.length;for(let d=0;d<c;d++){let e=b[d];\"\"!==e&&a.push(N(e));d!==c-1&&a.push(xd())}this.insertNodes(a)}}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||\nb.isBefore(c),e=this.format;d&&\"element\"===b.type?ld(b,c,e):d||\"element\"!==c.type||ld(c,b,e);var f=this.getNodes(),g=f.length,h=d?c:b;c=(d?b:c).offset;var k=h.offset;b=f[0];D(b)||r(26);d=b.getTextContent().length;var m=b.getParentOrThrow(),l=f[g-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!m.canInsertTextAfter()&&null===b.getNextSibling())){var n=b.getNextSibling();if(!D(n)||wb(n))n=N(),n.setFormat(e),m.canInsertTextAfter()?b.insertAfter(n):m.insertAfter(n);\nn.select(0,0);b=n;if(\"\"!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!m.canInsertTextBefore()&&null===b.getPreviousSibling())){n=b.getPreviousSibling();if(!D(n)||wb(n))n=N(),n.setFormat(e),m.canInsertTextBefore()?b.insertBefore(n):m.insertBefore(n);n.select();b=n;if(\"\"!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)m=N(b.getTextContent()),m.setFormat(e),b.replace(m),b=m;else if(!(this.isCollapsed()||\"\"===\na||(n=l.getParent(),m.canInsertTextBefore()&&m.canInsertTextAfter()&&(!G(n)||n.canInsertTextBefore()&&n.canInsertTextAfter())))){this.insertText(\"\");yd(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(b.isToken())a=N(a),a.select(),b.replace(a);else{f=b.getFormat();if(c===k&&f!==e)if(\"\"===b.getTextContent())b.setFormat(e);else{f=N(a);f.setFormat(e);f.select();0===c?b.insertBefore(f):([g]=b.splitText(c),g.insertAfter(f));f.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=\na.length);return}b=b.spliceText(c,k-c,a,!0);\"\"===b.getTextContent()?b.remove():\"text\"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:this.format=f)}else{e=new Set([...b.getParentKeys(),...l.getParentKeys()]);var q=G(b)?b:b.getParentOrThrow();m=G(l)?l:l.getParentOrThrow();n=l;if(!q.is(m)&&m.isInline()){do n=m,m=m.getParentOrThrow();while(m.isInline())}\"text\"===h.type&&(0!==k||\"\"===l.getTextContent())||\"element\"===h.type&&l.getIndexWithinParent()<k?D(l)&&!l.isToken()&&k!==l.getTextContentSize()?\n(l.isSegmented()&&(h=N(l.getTextContent()),l.replace(h),l=h),l=l.spliceText(0,k,\"\"),e.add(l.__key)):(h=l.getParentOrThrow(),h.canBeEmpty()||1!==h.getChildrenSize()?l.remove():h.remove()):e.add(l.__key);h=m.getChildren();k=new Set(f);l=q.is(m);q=q.isInline()&&null===b.getNextSibling()?q:b;for(let v=h.length-1;0<=v;v--){let w=h[v];if(w.is(b)||G(w)&&w.isParentOf(b))break;w.isAttached()&&(!k.has(w)||w.is(n)?l||q.insertAfter(w):w.remove())}if(!l)for(h=m,k=null;null!==h;){l=h.getChildren();m=l.length;if(0===\nm||l[m-1].is(k))e.delete(h.__key),k=h;h=h.getParent()}b.isToken()?c===d?b.select():(a=N(a),a.select(),b.replace(a)):(b=b.spliceText(c,d-c,a,!0),\"\"===b.getTextContent()?b.remove():b.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<g;a++)b=f[a],e.has(b.__key)||b.remove()}}removeText(){this.insertText(\"\")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),J(null);else{var b=this.getNodes(),c=[];for(var d of b)D(d)&&c.push(d);var e=c.length;if(0===e)this.toggleFormat(a),\nJ(null);else{d=this.anchor;var f=this.focus,g=this.isBackward();b=g?f:d;d=g?d:f;var h=0,k=c[0];f=\"element\"===b.type?0:b.offset;\"text\"===b.type&&f===k.getTextContentSize()&&(h=1,k=c[1],f=0);if(null!=k){g=k.getFormatFlags(a,null);var m=e-1,l=c[m];e=\"text\"===d.type?d.offset:l.getTextContentSize();if(k.is(l))f!==e&&(0===f&&e===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(f,e),a=0===f?a[0]:a[1],a.setFormat(g),\"text\"===b.type&&b.set(a.__key,0,\"text\"),\"text\"===d.type&&d.set(a.__key,e-f,\"text\")),\nthis.format=g);else{0!==f&&([,k]=k.splitText(f),f=0);k.setFormat(g);var n=l.getFormatFlags(a,g);0<e&&(e!==l.getTextContentSize()&&([l]=l.splitText(e)),l.setFormat(n));for(h+=1;h<m;h++){let q=c[h];if(!q.isToken()){let v=q.getFormatFlags(a,n);q.setFormat(v)}}\"text\"===b.type&&b.set(k.__key,f,\"text\");\"text\"===d.type&&d.set(l.__key,e,\"text\");this.format=g|n}}}}}insertNodes(a,b){if(!this.isCollapsed()){var c=this.isBackward()?this.anchor:this.focus,d=c.getNode().getNextSibling();d=d?d.getKey():null;c=(c=\nc.getNode().getPreviousSibling())?c.getKey():null;this.removeText();if(this.isCollapsed()&&\"element\"===this.focus.type){if(this.focus.key===d&&0===this.focus.offset){var e=N();this.focus.getNode().insertBefore(e)}else this.focus.key===c&&this.focus.offset===this.focus.getNode().getChildrenSize()&&(e=N(),this.focus.getNode().insertAfter(e));e&&(this.focus.set(e.__key,0,\"text\"),this.anchor.set(e.__key,0,\"text\"))}}d=this.anchor;c=d.offset;var f=d.getNode();e=f;\"element\"===d.type&&(e=d.getNode(),d=e.getChildAtIndex(c-\n1),e=null===d?e:d);d=[];var g=f.getNextSiblings(),h=cc(f)?null:f.getTopLevelElementOrThrow();if(D(f))if(e=f.getTextContent().length,0===c&&0!==e)e=f.getPreviousSibling(),e=null!==e?e:f.getParentOrThrow(),d.push(f);else if(c===e)e=f;else{if(f.isToken())return!1;[e,f]=f.splitText(c);d.push(f)}f=e;d.push(...g);g=a[0];var k=!1,m=null;for(let v=0;v<a.length;v++){var l=a[v];if(G(l)&&!l.isInline()){if(l.is(g)){if(G(e)&&e.isEmpty()&&e.canReplaceWith(l)){e.replace(l);e=l;k=!0;continue}var n=l.getFirstDescendant();\nif(zb(n)){for(n=n.getParentOrThrow();n.isInline();)n=n.getParentOrThrow();m=n.getChildren();k=m.length;if(G(e))for(var q=0;q<k;q++)e.append(m[q]);else{for(q=k-1;0<=q;q--)e.insertAfter(m[q]);e=e.getParentOrThrow()}m=m[k-1];n.remove();k=!0;if(n.is(l))continue}}D(e)&&(null===h&&r(27),e=h)}else k&&!C(l)&&cc(e.getParent())&&r(28);k=!1;if(G(e)&&!e.isInline())if(m=l,C(l)&&!l.isInline())e=e.insertAfter(l);else if(G(l)){if(l.canBeEmpty()||!l.isEmpty())O(e)?(n=e.getChildAtIndex(c),null!==n?n.insertBefore(l):\ne.append(l),e=l):e=e.insertAfter(l)}else n=e.getFirstChild(),null!==n?n.insertBefore(l):e.append(l),e=l;else!G(l)||G(l)&&l.isInline()||C(e)&&!e.isInline()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Ab(e)&&e.remove(),e=l,v--)}b&&(D(f)?f.select():(a=e.getPreviousSibling(),D(a)?a.select():(a=e.getIndexWithinParent(),e.getParentOrThrow().select(a,a))));if(G(e)){if(a=D(m)?m:G(m)&&m.isInline()?m.getLastDescendant():e.getLastDescendant(),b||(null===a?e.select():D(a)?a.select():a.selectNext()),0!==\nd.length)for(b=e,a=d.length-1;0<=a;a--)c=d[a],h=c.getParentOrThrow(),!G(e)||zd(c)||C(c)&&!c.isInline()?G(e)||zd(c)?G(c)&&!c.canInsertAfter(e)?(f=h.constructor.clone(h),G(f)||r(29),f.append(c),e.insertAfter(f)):e.insertAfter(c):(e.insertBefore(c),e=c):(b===e?e.append(c):e.insertBefore(c),e=c),h.isEmpty()&&!h.canBeEmpty()&&h.remove()}else b||(D(e)?e.select():(b=e.getParentOrThrow(),a=e.getIndexWithinParent()+1,b.select(a,a)));return!0}insertParagraph(){this.isCollapsed()||this.removeText();var a=this.anchor,\nb=a.offset,c=[];if(\"text\"===a.type){var d=a.getNode();var e=d.getNextSiblings().reverse();var f=d.getParentOrThrow();var g=f.isInline(),h=g?f.getTextContentSize():d.getTextContentSize();0===b?e.push(d):(g&&(c=f.getNextSiblings()),b===h||g&&b===d.getTextContentSize()||([,d]=d.splitText(b),e.push(d)))}else{f=a.getNode();if(cc(f)){e=md();c=f.getChildAtIndex(b);e.select();null!==c?c.insertBefore(e):f.append(e);return}e=f.getChildren().slice(b).reverse()}d=e.length;if(0===b&&0<d&&f.isInline()){if(c=f.getParentOrThrow(),\ne=c.insertNewAfter(this),G(e))for(c=c.getChildren(),f=0;f<c.length;f++)e.append(c[f])}else if(g=f.insertNewAfter(this),null===g)this.insertLineBreak();else if(G(g))if(h=f.getFirstChild(),0===b&&(f.is(a.getNode())||h&&h.is(a.getNode()))&&0<d)f.insertBefore(g);else{f=null;b=c.length;a=g.getParentOrThrow();if(0<b)for(h=0;h<b;h++)a.append(c[h]);if(0!==d)for(c=0;c<d;c++)b=e[c],null===f?g.append(b):f.insertBefore(b),f=b;g.canBeEmpty()||0!==g.getChildrenSize()?g.selectStart():(g.selectPrevious(),g.remove())}}insertLineBreak(a){let b=\nxd();var c=this.anchor;\"element\"===c.type&&(c=c.getNode(),O(c)&&this.insertParagraph());a?this.insertNodes([b],!0):this.insertNodes([b])&&b.selectNext(0,0)}getCharacterOffsets(){return sd(this)}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=sd(this);if(0===b)return[];if(1===b)return D(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):[f];b=d.isBefore(e);D(f)&&(d=b?h:k,d===f.getTextContentSize()?\na.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));D(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f=\"move\"===a,g=Vb(d,b);if(C(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Ad(),b.add(g.__key),mb(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),D(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,\"text\"),f&&e.set(g,b,\"text\")):(c=g.getParentOrThrow(),G(a)?(c=a.__key,g=b?a.getChildrenSize():0):\n(g=g.getIndexWithinParent(),c=c.__key,b||g++),d.set(c,g,\"element\"),f&&e.set(c,g,\"element\")));else if(d=t?window.getSelection():null)if(d.modify(a,b?\"backward\":\"forward\",c),0<d.rangeCount&&(e=d.getRangeAt(0),g=bc(this.anchor.getNode()),this.applyDOMRange(e),this.dirty=!0,!f)){f=this.getNodes();a=[];c=!1;for(let h=0;h<f.length;h++){let k=f[h];ac(k,g)?a.push(k):c=!0}c&&0<a.length&&(b?(b=a[0],G(b)?b.selectStart():b.getParentOrThrow().selectStart()):(b=a[a.length-1],G(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));\nif(d.anchorNode!==e.startContainer||d.anchorOffset!==e.startOffset)b=this.focus,f=this.anchor,d=f.key,e=f.offset,g=f.type,nd(f,b.key,b.offset,b.type),nd(b,d,e,g),this._cachedNodes=null}}deleteCharacter(a){if(this.isCollapsed()){var b=this.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===b.type&&G(d)&&b.offset===d.getChildrenSize()||\"text\"===b.type&&b.offset===d.getTextContentSize())&&(d=d.getNextSibling()||d.getParentOrThrow().getNextSibling(),G(d)&&!d.canExtractContents()))return;this.modify(\"extend\",\na,\"character\");if(!this.isCollapsed()){var e=\"text\"===c.type?c.getNode():null;d=\"text\"===b.type?b.getNode():null;if(null!==e&&e.isSegmented()){if(b=c.offset,c=e.getTextContentSize(),e.is(d)||a&&b!==c||!a&&0!==b){Bd(e,a,b);return}}else if(null!==d&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),d.is(e)||a&&0!==b||!a&&b!==c)){Bd(d,a,b);return}d=this.anchor;e=this.focus;b=d.getNode();c=e.getNode();if(b===c&&\"text\"===d.type&&\"text\"===e.type){var f=d.offset,g=e.offset;let h=f<g;c=h?f:g;g=h?g:f;\nf=g-1;c!==f&&(b=b.getTextContent().slice(c,g),Lb(b)||(a?e.offset=f:d.offset=f))}}else if(a&&0===b.offset&&(\"element\"===b.type?b.getNode():b.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText()}deleteLine(a){this.isCollapsed()&&(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\"lineboundary\"),0===(a?this.focus:this.anchor).offset&&this.modify(\"extend\",a,\"character\"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify(\"extend\",a,\"word\");this.removeText()}}\nfunction dd(a){return a instanceof od}function Cd(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}function sd(a){let b=a.anchor;a=a.focus;return\"element\"===b.type&&\"element\"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[Cd(b),Cd(a)]}\nfunction Bd(a,b,c){let d=a.getTextContent().split(/(?=\\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join(\"\").trim();\"\"===b?a.remove():(a.setTextContent(b),a.select(g,g))}\nfunction Dd(a,b,c){var d=b;if(1===a.nodeType){let g=!1;var e=a.childNodes;var f=e.length;d===f&&(g=!0,d=f-1);e=Kb(e[d]);if(D(e))d=g?e.getTextContentSize():0;else{f=Kb(a);if(null===f)return null;if(G(f)){a=f.getChildAtIndex(d);if(b=G(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=g?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,d=0):(a=c,f=a.getParentOrThrow()));D(a)?(e=a,f=null,d=g?a.getTextContentSize():0):a!==f&&g&&d++}else d=f.getIndexWithinParent(),\nd=0===b&&C(f)&&Kb(a)===f?d:d+1,f=f.getParentOrThrow();if(G(f))return new X(f.__key,d,\"element\")}}else e=Kb(a);return D(e)?new X(e.__key,d,\"text\"):null}\nfunction Kd(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&G(e)&&e.isInline()&&(b=e.getPreviousSibling(),D(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):G(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type=\"element\"):D(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&G(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type=\"element\"):(c||\nb)&&null===d&&G(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),D(b)&&(a.key=b.__key,a.offset=0)))}function yd(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let e=a.is(b);Kd(a,d,e);Kd(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=I();d.isComposing()&&d._compositionKey!==a.key&&F(c)&&(d=c.anchor,c=c.focus,nd(a,d.key,d.offset,d.type),nd(b,c.key,c.offset,c.type))}}\nfunction wd(a,b,c,d,e,f){if(null===a||null===c||!ub(e,a,c))return null;b=Dd(a,b,F(f)?f.anchor:null);if(null===b)return null;d=Dd(c,d,F(f)?f.focus:null);if(null===d||\"element\"===b.type&&\"element\"===d.type&&(a=Kb(a),c=Kb(c),C(a)&&C(c)))return null;yd(b,d,f);return[b,d]}function zd(a){return G(a)&&!a.isInline()}function Ld(a,b,c,d,e,f){let g=H();a=new pd(new X(a,b,e),new X(c,d,f),0);a.dirty=!0;return g._selection=a}function Ad(){return new od(new Set)}\nfunction Md(a){let b=a.getEditorState()._selection,c=t?window.getSelection():null;return dd(b)||rd(b)?b.clone():hd(b,c,a)}\nfunction hd(a,b,c){var d=c._window;if(null===d)return null;var e=d.event,f=e?e.type:void 0;d=\"selectionchange\"===f;e=!db&&(d||\"beforeinput\"===f||\"compositionstart\"===f||\"compositionend\"===f||\"click\"===f&&e&&3===e.detail||\"drop\"===f||void 0===f);let g;if(!F(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&F(a)&&!ub(c,e,f))return a.clone()}else return a.clone();c=wd(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new pd(h,k,F(a)?a.format:0)}\nfunction x(){return H()._selection}function Pb(){return I()._editorState._selection}\nfunction Nd(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h))if(g=b.__key,a.isCollapsed())b=e.offset,c<=b&&(c=Math.max(0,b+d),e.set(g,c,\"element\"),f.set(g,c,\"element\"),Od(a));else{var k=a.isBackward();h=k?f:e;var m=h.getNode();e=k?e:f;f=e.getNode();b.is(m)&&(m=h.offset,c<=m&&h.set(g,Math.max(0,m+d),\"element\"));b.is(f)&&(b=e.offset,c<=b&&e.set(g,Math.max(0,b+d),\"element\"));Od(a)}}\nfunction Od(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())G(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),D(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,\"text\"),d.set(g.__key,c,\"text\")));else{if(G(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);D(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,\"text\"))}G(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-\n1):g.getChildAtIndex(e),D(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,\"text\")))}}function Pd(a,b){b=b.getEditorState()._selection;a=a._selection;if(F(a)){var c=a.anchor;let d=a.focus,e;\"text\"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));\"text\"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}\nfunction Qd(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,D(d)?(g=d.getTextContentSize(),h=\"text\"):G(d)&&(g=d.getChildrenSize(),h=\"element\")):null!==e&&(f=e.__key,D(e)?h=\"text\":G(e)&&(h=\"element\"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,\"element\"))}function Rd(a,b,c,d,e){\"text\"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}let Y=null,Z=null,M=!1,Sd=!1,Eb=0;function K(){M&&r(13)}\nfunction H(){null===Y&&r(15);return Y}function I(){null===Z&&r(16);return Z}function Td(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&r(30);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function Ud(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),D(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&hc(b)}\nfunction Vd(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=Fb(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let l of g)g=a.get(l),D(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&hc(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&Td(b,g,f),c.add(l);g=b._dirtyLeaves;h=g.size;if(0<h){Eb++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let l of k)if(k=l[0],m=l[1],\"root\"===k||m)g=a.get(k),void 0!==\ng&&void 0!==g&&g.__key!==e&&g.isAttached()&&Td(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Eb++}b._dirtyLeaves=c;b._dirtyElements=d}function Wd(a,b){var c=b.get(a.type);void 0===c&&r(17);c=c.klass;a.type!==c.getType()&&r(18);c=c.importJSON(a);a=a.children;if(G(c)&&Array.isArray(a))for(let d=0;d<a.length;d++){let e=Wd(a[d],b);c.append(e)}return c}function Xd(a,b){let c=Y,d=M,e=Z;Y=a;M=!0;Z=null;try{return b()}finally{Y=c,M=d,Z=e}}\nfunction Yd(a){var b=a._pendingEditorState,c=a._rootElement,d=a._headless;if((null!==c||d)&&null!==b){var e=a._editorState,f=e._selection,g=b._selection,h=0!==a._dirtyType,k=Y,m=M,l=Z,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Z=a;Y=b;M=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();Q=S=P=\"\";mc=2===w;pc=null;T=a;kc=a._config;lc=a._nodes;oc=T._listeners.mutation;qc=y;rc=z;sc=e._nodeMap;tc=b._nodeMap;\nnc=b._readOnly;uc=new Map(a._keyToDOMMap);var B=new Map;vc=B;Ic(\"root\",null);vc=uc=kc=tc=sc=rc=qc=lc=T=void 0;v=B}catch(W){W instanceof Error&&a._onError(W);if(Sd)throw W;Zd(a,null,c,b);pb(a);a._dirtyType=2;Sd=!0;Yd(a);Sd=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,Y=k,M=m,Z=l}}b._readOnly||(b._readOnly=!0);n=a._dirtyLeaves;q=a._dirtyElements;B=a._normalizedNodes;w=a._updateTags;m=a._deferred;h&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,\na._dirtyElements=new Map,a._normalizedNodes=new Set,a._updateTags=new Set);z=a._decorators;y=a._pendingDecorators||z;var E=b._nodeMap;for(Sa in y)E.has(Sa)||(y===z&&(y=Gb(a)),delete y[Sa]);d=d?null:t?window.getSelection():null;if(a._editable&&null!==d&&(h||null===g||g.dirty)){Z=a;Y=b;try{a:{let W=d.anchorNode,ua=d.focusNode,we=d.anchorOffset,xe=d.focusOffset,qb=document.activeElement;if(!w.has(\"collaboration\")||qb===c)if(F(g)){var R=g.anchor,aa=g.focus,Ed=R.key,va=aa.key,Fd=Xb(a,Ed),Gd=Xb(a,va),Yb=\nR.offset,Hd=aa.offset,Zb=g.format,Id=g.isCollapsed();h=Fd;va=Gd;var Sa=!1;\"text\"===R.type&&(h=xb(Fd),Sa=R.getNode().getFormat()!==Zb);\"text\"===aa.type&&(va=xb(Gd));if(null!==h&&null!==va){if(Id&&(null===f||Sa||F(f)&&f.format!==Zb)){var ye=performance.now();Yc=[Zb,Yb,Ed,ye]}if(we===Yb&&xe===Hd&&W===h&&ua===va&&(\"Range\"!==d.type||!Id)&&(null===c||null!==qb&&c.contains(qb)||c.focus({preventScroll:!0}),!Ra&&!Qa||\"element\"!==R.type))break a;try{d.setBaseAndExtent(h,Yb,va,Hd);if(!w.has(\"skip-scroll-into-view\")&&\ng.isCollapsed()&&null!==c&&c===qb){let Ta=R.getNode();if(G(Ta)){let ka=Ta.getDescendantByIndex(R.offset);null!==ka&&(Ta=ka)}let wa=a.getElementByKey(Ta.__key);if(null!==wa){let ka=wa.getBoundingClientRect();if(ka.bottom>rb(a).innerHeight)wa.scrollIntoView(!1);else if(0>ka.top)wa.scrollIntoView();else{let Jd=c.getBoundingClientRect();Math.floor(ka.bottom)>Math.floor(Jd.bottom)?wa.scrollIntoView(!1):Math.floor(ka.top)<Math.floor(Jd.top)&&wa.scrollIntoView()}w.add(\"scroll-into-view\")}}Uc=!0}catch(Ta){}}}else null!==\nf&&ub(a,W,ua)&&d.removeAllRanges()}}finally{Z=l,Y=k}}if(null!==v)for(c=v,f=Array.from(a._listeners.mutation),g=f.length,k=0;k<g;k++){let [W,ua]=f[k];l=c.get(ua);void 0!==l&&W(l,{dirtyLeaves:n,updateTags:w})}c=a._pendingDecorators;null!==c&&(a._decorators=c,a._pendingDecorators=null,$d(\"decorator\",a,!0,c));c=Hb(e);f=Hb(b);c!==f&&$d(\"textcontent\",a,!0,f);$d(\"update\",a,!0,{dirtyElements:q,dirtyLeaves:n,editorState:b,normalizedNodes:B,prevEditorState:e,tags:w});a._deferred=[];if(0!==m.length){b=a._updating;\na._updating=!0;try{for(e=0;e<m.length;e++)m[e]()}finally{a._updating=b}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [W,ua]=b;ae(a,W,ua)}}}function $d(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}\nfunction V(a,b,c){if(!1===a._updating||Z!==a){let f=!1;a.update(()=>{f=V(a,b,c)});return f}let d=Mb(a);for(let f=4;0<=f;f--)for(let g=0;g<d.length;g++){var e=d[g]._commands.get(b);if(void 0!==e&&(e=e[f],void 0!==e)){e=Array.from(e);let h=e.length;for(let k=0;k<h;k++)if(!0===e[k](c,a))return!0}}return!1}\nfunction be(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}\nfunction ae(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new ce(new Map(c._nodeMap)),h=!0;g._flushSync=f;f=Y;let k=M,m=Z,l=a._updating;Y=g;M=!1;a._updating=!0;Z=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=Md(a));let n=a._compositionKey;b();\ne=be(a,e);Pd(g,a);0!==a._dirtyType&&(e?Ud(g,a):Vd(g,a),be(a),ec(c,g,a._dirtyLeaves,a._dirtyElements));n!==a._compositionKey&&(g._flushSync=!0);let q=g._selection;if(F(q)){let v=g._nodeMap,w=q.focus.key;void 0!==v.get(q.anchor.key)&&void 0!==v.get(w)||r(19)}else dd(q)&&0===q._nodes.size&&(g._selection=null)}catch(n){n instanceof Error&&a._onError(n);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();Yd(a);return}finally{Y=f,M=k,Z=m,a._updating=\nl,Eb=0}0!==a._dirtyType||de(g,a)?g._flushSync?(g._flushSync=!1,Yd(a)):h&&tb(()=>{Yd(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function A(a,b,c){a._updating?a._updates.push([b,c]):ae(a,b,c)}\nfunction ee(a,b,c){K();var d=a.__key;let e=a.getParent();if(null!==e){var f=$b(a),g=!1;if(F(f)&&b){var h=f.anchor;let k=f.focus;h.key===d&&(Qd(h,a,e,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&(Qd(k,a,e,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=e.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Cb(a);h.splice(d,1);a.getWritable().__parent=null;F(f)&&b&&!g&&Nd(f,e,d,-1);c||cc(e)||e.canBeEmpty()||!e.isEmpty()||ee(e,b);O(e)&&e.isEmpty()&&e.selectEnd()}}\nfunction fe(a){a=L(a);null===a&&r(63);return a}\nclass ge{static getType(){r(64)}static clone(){r(65)}constructor(a){this.__type=this.constructor.getType();this.__parent=null;if(null!=a)this.__key=a;else{K();99<Eb&&r(14);a=I();var b=H(),c=\"\"+sb++;b._nodeMap.set(c,this);G(this)?a._dirtyElements.set(c,!0):a._dirtyLeaves.add(c);a._cloneNotNeeded.add(c);a._dirtyType=1;this.__key=c}}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if(\"root\"===a)return!0;a=L(a);if(null===a)break;a=a.__parent}return!1}isSelected(){let a=x();if(null==\na)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return D(this)?b:F(a)&&\"element\"===a.anchor.type&&\"element\"===a.focus.type&&a.anchor.key===a.focus.key&&a.anchor.offset===a.focus.offset?!1:b}getKey(){return this.__key}getIndexWithinParent(){let a=this.getParent();return null===a?-1:a.__children.indexOf(this.__key)}getParent(){let a=this.getLatest().__parent;return null===a?null:L(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==\na;){let b=a.getParent();if(cc(b))return a;a=b}return null}getTopLevelElementOrThrow(){let a=this.getTopLevelElement();null===a&&r(67);return a}getParents(){let a=[],b=this.getParent();for(;null!==b;)a.push(b),b=b.getParent();return a}getParentKeys(){let a=[],b=this.getParent();for(;null!==b;)a.push(b.__key),b=b.getParent();return a}getPreviousSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.indexOf(this.__key);return 0>=b?null:L(a[b-1])}getPreviousSiblings(){var a=this.getParent();\nif(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>fe(c))}getNextSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.length,c=a.indexOf(this.__key);return c>=b-1?null:L(a[c+1])}getNextSiblings(){var a=this.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(b+1).map(c=>fe(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();G(this)&&b.unshift(this);G(a)&&c.unshift(a);a=b.length;\nvar d=c.length;if(0===a||0===d||b[a-1]!==c[d-1])return null;c=new Set(c);for(d=0;d<a;d++){let e=b[d];if(c.has(e))return e}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(a.isParentOf(this))return!0;if(this.isParentOf(a))return!1;var b=this.getCommonAncestor(a);let c=this;for(;;){var d=c.getParentOrThrow();if(d===b){d=d.__children.indexOf(c.__key);break}c=d}for(c=a;;){a=c.getParentOrThrow();if(a===b){b=a.__children.indexOf(c.__key);break}c=a}return d<b}isParentOf(a){let b=this.__key;\nif(b===a.__key)return!1;for(;null!==a;){if(a.__key===b)return!0;a=a.getParent()}return!1}getNodesBetween(a){let b=this.isBefore(a),c=[],d=new Set;for(var e=this;;){var f=e.__key;d.has(f)||(d.add(f),c.push(e));if(e===a)break;f=G(e)?b?e.getFirstChild():e.getLastChild():null;if(null!==f)e=f;else if(f=b?e.getNextSibling():e.getPreviousSibling(),null!==f)e=f;else{e=e.getParentOrThrow();d.has(e.__key)||c.push(e);if(e===a)break;f=e;do null===f&&r(68),e=b?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),\nnull!==f&&(null!==e||d.has(f.__key)||c.push(f));while(null===e)}}b||c.reverse();return c}isDirty(){let a=I()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=L(this.__key);null===a&&r(69);return a}getWritable(){K();var a=H(),b=I();a=a._nodeMap;let c=this.__key,d=this.getLatest(),e=d.__parent;b=b._cloneNotNeeded;var f=x();null!==f&&(f._cachedNodes=null);if(b.has(c))return Db(d),d;f=d.constructor.clone(d);f.__parent=e;G(d)&&G(f)?(f.__children=Array.from(d.__children),f.__indent=d.__indent,\nf.__format=d.__format,f.__dir=d.__dir):D(d)&&D(f)&&(f.__format=d.__format,f.__style=d.__style,f.__mode=d.__mode,f.__detail=d.__detail);b.add(c);f.__key=c;Db(f);a.set(c,f);return f}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){r(72)}static importJSON(){r(18)}remove(a){ee(this,!0,a)}replace(a){K();let b=this.__key;a=a.getWritable();Bb(a);var c=this.getParentOrThrow(),\nd=c.getWritable().__children;let e=d.indexOf(this.__key),f=a.__key;-1===e&&r(31);d.splice(e,0,f);a.__parent=c.__key;ee(this,!1);Cb(a);d=x();F(d)&&(c=d.anchor,d=d.focus,c.key===b&&kd(c,a),d.key===b&&kd(d,a));Fb()===b&&J(f);return a}insertAfter(a){K();var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let e=x();var f=a.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Bb(c),F(e)&&(h=d.__key,g=e.anchor,d=e.focus,g=\"element\"===g.type&&g.key===h&&g.offset===f+1,h=\"element\"===d.type&&d.key===h&&d.offset===\nf+1));f=this.getParentOrThrow().getWritable();d=c.__key;c.__parent=b.__parent;let k=f.__children;b=k.indexOf(b.__key);-1===b&&r(31);k.splice(b+1,0,d);Cb(c);F(e)&&(Nd(e,f,b+1),c=f.__key,g&&e.anchor.set(c,b+2,\"element\"),h&&e.focus.set(c,b+2,\"element\"));return a}insertBefore(a){var b=this.getWritable(),c=a.getWritable();Bb(c);let d=this.getParentOrThrow().getWritable(),e=c.__key;c.__parent=b.__parent;let f=d.__children;b=f.indexOf(b.__key);-1===b&&r(31);f.splice(b,0,e);Cb(c);c=x();F(c)&&Nd(c,d,b);return a}selectPrevious(a,\nb){K();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):G(c)?c.select():D(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){K();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():G(c)?c.select(0,0):D(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}\nclass he extends ge{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function C(a){return a instanceof he}\nclass ie extends ge{constructor(a){super(a);this.__children=[];this.__indent=this.__format=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return ab[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=L(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===\nthis.getChildrenSize()}isDirty(){let a=I()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest();return a.getParentOrThrow().getLastChild()===a}getAllTextNodes(){let a=[],b=this.getLatest().__children;for(let d=0;d<b.length;d++){var c=L(b[d]);D(c)?a.push(c):G(c)&&(c=c.getAllTextNodes(),a.push(...c))}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(G(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=\nthis.getLastChild();for(;null!==a;){if(G(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],G(a)&&a.getLastDescendant()||a||null;a=b[a];return G(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__children;return 0===a.length?null:L(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;\nreturn 0===b?null:L(a[b-1])}getLastChildOrThrow(){let a=this.getLastChild();null===a&&r(96);return a}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:L(a)}getTextContent(){let a=\"\",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContent();G(e)&&d!==c-1&&!e.isInline()&&(a+=\"\\n\\n\")}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=$a[a],0!==(this.getFormat()&a)):!1}select(a,b){K();let c=x();var d=this.getChildrenSize();\nvoid 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(F(c))c.anchor.set(d,a,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Ld(d,a,d,b,\"element\",\"element\");return c}selectStart(){let a=this.getFirstDescendant();return G(a)||D(a)?a.select(0,0):null!==a?a.selectPrevious():this.select(0,0)}selectEnd(){let a=this.getLastDescendant();return G(a)||D(a)?a.select():null!==a?a.selectNext():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),\n0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=\"\"!==a?$a[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=this.getWritable();var e=d.__key;let f=d.__children,g=c.length;var h=[];for(let k=0;k<g;k++){let m=c[k],l=m.getWritable();m.__key===e&&r(76);Bb(l);l.__parent=e;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Db(c);(e=this.getChildAtIndex(a+b))&&Db(e);a===f.length?(f.push(...h),a=[]):a=f.splice(a,\nb,...h);if(a.length&&(b=x(),F(b))){let k=new Set(a),m=new Set(h);h=q=>{for(q=q.getNode();q;){const v=q.__key;if(k.has(v)&&!m.has(v))return!0;q=q.getParent()}return!1};let {anchor:l,focus:n}=b;h(l)&&Qd(l,l.getNode(),this,c,e);h(n)&&Qd(n,n.getNode(),this,c,e);h=a.length;for(b=0;b<h;b++)c=L(a[b]),null!=c&&(c.getWritable().__parent=null);0!==f.length||this.canBeEmpty()||cc(this)||this.remove()}return d}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),\ntype:\"element\",version:1}}insertNewAfter(){return null}canInsertTab(){return!1}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}function G(a){return a instanceof ie}\nclass je extends ie{static getType(){return\"root\"}static clone(){return new je}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!M&&0!==I()._dirtyType||null===a?super.getTextContent():a}remove(){r(52)}replace(){r(53)}insertBefore(){r(54)}insertAfter(){r(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];G(c)||C(c)||r(56)}return super.append(...a)}static importJSON(a){let b=Ib();b.setFormat(a.format);\nb.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"root\",version:1}}}function O(a){return a instanceof je}function de(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function ke(){return new ce(new Map([[\"root\",new je]]))}\nfunction le(a){let b=a.exportJSON();b.type!==a.constructor.getType()&&r(58);let c=b.children;if(G(a)){Array.isArray(c)||r(59);a=a.getChildren();for(let d=0;d<a.length;d++){let e=le(a[d]);c.push(e)}}return b}\nclass ce{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return Xd(this,a)}clone(a){a=new ce(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return Xd(this,()=>({root:le(Ib())}))}}\nclass me extends ge{static getType(){return\"linebreak\"}static clone(a){return new me(a.__key)}constructor(a){super(a)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement;return null!=b&&b.firstChild===a&&b.lastChild===a?null:{conversion:ne,priority:0}}}}static importJSON(){return xd()}exportJSON(){return{type:\"linebreak\",version:1}}}function ne(){return{node:xd()}}function xd(){return new me}\nfunction Ab(a){return a instanceof me}function oe(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function pe(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction qe(a,b,c,d,e){a=d.classList;d=Sb(e,\"base\");void 0!==d&&a.add(...d);d=Sb(e,\"underlineStrikethrough\");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in Ya)h=Ya[k],d=Sb(e,k),void 0!==d&&(c&h?!f||\"underline\"!==k&&\"strikethrough\"!==k?(0===(b&h)||g&&\"underline\"===k||\"strikethrough\"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}\nfunction re(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Ua:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Oa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}\nclass se extends ge{static getType(){return\"text\"}static clone(a){return new se(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style=\"\";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return cb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Fb()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==\n(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Ya[a];return 0!==(this.getFormat()&a)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return yb(c,a,b)}createDOM(a){var b=this.__format,c=oe(this,b);let d=pe(this,b),e=document.createElement(null===c?d:c),f=e;null!==c&&(f=document.createElement(d),e.appendChild(f));c=f;re(this.__text,c,this);\na=a.theme.text;void 0!==a&&qe(d,0,b,c,a);b=this.__style;\"\"!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=oe(this,e);let h=oe(this,f);var k=pe(this,e);let m=pe(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&r(48),a=g=document.createElement(m),re(d,a,this),c=c.theme.text,void 0!==c&&qe(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));re(d,k,this);c=c.theme.text;\nvoid 0!==c&&e!==f&&qe(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{\"#text\":()=>({conversion:te,priority:0}),b:()=>({conversion:ue,priority:0}),code:()=>({conversion:ve,priority:0}),em:()=>({conversion:ve,priority:0}),i:()=>({conversion:ve,priority:0}),span:()=>({conversion:ze,priority:0}),strong:()=>({conversion:ve,priority:0}),u:()=>({conversion:ve,priority:0})}}static importJSON(a){let b=N(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);\nb.setStyle(a.style);return b}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format=\"string\"===typeof a?Ya[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail=\"string\"===typeof a?Za[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Ya[a];return this.setFormat(this.getFormat()^\na)}toggleDirectionless(){let a=this.getWritable();a.__detail^=1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=bb[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){K();let c=x();var d=this.getTextContent();let e=this.__key;\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(F(c))d=Fb(),d!==c.anchor.key&&d!==c.focus.key||J(e),c.setTextNodeRange(this,a,this,b);\nelse return Ld(e,a,e,b,\"text\",\"text\");return c}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=x();d&&F(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){K();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=Fb(),f=new Set(a);a=[];var g=c.length,h=\"\";for(var k=0;k<g;k++)\"\"!==h&&f.has(k)&&(a.push(h),h=\"\"),h+=c[k];\"\"!==h&&a.push(h);\nf=a.length;if(0===f)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=c.__key;let l=b.getFormat(),n=b.getStyle(),q=b.__detail;g=!1;b.isSegmented()?(h=N(m),h.__parent=k,h.__format=l,h.__style=n,h.__detail=q,g=!0):(h=b.getWritable(),h.__text=m);b=x();h=[h];m=m.length;for(let y=1;y<f;y++){var v=a[y],w=v.length;v=N(v).getWritable();v.__format=l;v.__style=n;v.__detail=q;let z=v.__key;w=m+w;if(F(b)){let B=b.anchor,E=b.focus;B.key===d&&\"text\"===B.type&&B.offset>m&&B.offset<=w&&(B.key=z,\nB.offset-=m,b.dirty=!0);E.key===d&&\"text\"===E.type&&E.offset>m&&E.offset<=w&&(E.key=z,E.offset-=m,b.dirty=!0)}e===d&&J(z);m=w;v.__parent=k;h.push(v)}Cb(this);e=c.getWritable().__children;d=e.indexOf(d);a=h.map(y=>y.__key);g?(e.splice(d,0,...a),this.remove()):e.splice(d,1,...a);F(b)&&Nd(b,c,d,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;Fb()===d&&J(c);let g=x();if(F(g)){let h=g.anchor,\nk=g.focus;null!==h&&h.key===d&&(Rd(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(Rd(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}\nfunction ze(a){let b=\"700\"===a.style.fontWeight,c=\"line-through\"===a.style.textDecoration,d=\"italic\"===a.style.fontStyle,e=\"underline\"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!D(g))return g;b&&g.toggleFormat(\"bold\");c&&g.toggleFormat(\"strikethrough\");d&&g.toggleFormat(\"italic\");e&&g.toggleFormat(\"underline\");\"sub\"===f&&g.toggleFormat(\"subscript\");\"super\"===f&&g.toggleFormat(\"superscript\");return g},node:null}}\nfunction ue(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{D(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function te(a,b,c){a=a.textContent||\"\";return!c&&/\\n/.test(a)&&(a=a.replace(/\\r?\\n/gm,\" \"),0===a.trim().length)?{node:null}:{node:N(a)}}let Ae={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};function ve(a){let b=Ae[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{D(c)&&c.toggleFormat(b);return c},node:null}}\nfunction N(a=\"\"){return new se(a)}function D(a){return a instanceof se}\nclass Be extends ie{static getType(){return\"paragraph\"}static clone(a){return new Be(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Sb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Ce,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));a&&this.isEmpty()&&a.append(document.createElement(\"br\"));if(a){var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();\n0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=md();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"paragraph\",version:1}}insertNewAfter(){let a=md(),b=this.getDirection();a.setDirection(b);this.insertAfter(a);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||D(a[0])&&\"\"===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),\n!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ce(){return{node:md()}}function md(){return new Be}\nfunction Zd(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=ke();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent=\"\");null!==c&&(c.textContent=\"\",e.set(\"root\",c))}\nfunction De(a){let b=new Map,c=new Set;a.forEach(d=>{d=null!=d.klass.importDOM?d.klass.importDOM.bind(d.klass):null;if(null!=d&&!c.has(d)){c.add(d);var e=d();null!==e&&Object.keys(e).forEach(f=>{let g=b.get(f);void 0===g&&(g=[],b.set(f,g));g.push(e[f])})}});return b}\nclass Ee{constructor(a,b,c,d,e,f){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=\nnew Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=Nb();this._onError=e;this._htmlConversions=f;this._editable=!0;this._headless=!1;this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=this._listeners.decorator;\nb.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&r(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let e=d.get(a);void 0===e&&r(36);let f=e[c];f.add(b);return()=>{f.delete(b);e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,\nb){void 0===this._nodes.get(a.getType())&&r(37);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransform(a,b){a=a.getType();let c=this._nodes.get(a);void 0===c&&r(37);let d=c.transforms;d.add(b);Jb(this,a);return()=>{d.delete(b)}}hasNodes(a){for(let b=0;b<a.length;b++){let c=a[b].getType();if(!this._nodes.has(c))return!1}return!0}dispatchCommand(a,b){return V(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=\nthis._rootElement;if(a!==b){let e=Sb(this._config.theme,\"root\");var c=this._pendingEditorState||this._editorState;this._rootElement=a;Zd(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==Tc&&(Tc--,0===Tc&&b.ownerDocument.removeEventListener(\"selectionchange\",gd));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Mb(c);d=d[d.length-1]._key;fd.get(d)===c&&fd.delete(d)}else fd.delete(c._key);b.__lexicalEditor=null}c=ed(b);for(d=0;d<c.length;d++)c[d]();b.__lexicalEventHandles=\n[]}null!=e&&b.classList.remove(...e)}null!==a?(c=(c=a.ownerDocument)&&c.defaultView||null,d=a.style,d.userSelect=\"text\",d.whiteSpace=\"pre-wrap\",d.wordBreak=\"break-word\",a.setAttribute(\"data-lexical-editor\",\"true\"),this._window=c,this._dirtyType=2,pb(this),this._updateTags.add(\"history-merge\"),Yd(this),this._config.disableEvents||id(a,this),null!=e&&a.classList.add(...e)):this._window=null;$d(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,\nb){a.isEmpty()&&r(38);ob(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),Yd(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);Yd(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ke(),d=Y,e=M,f=Z,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=\nnew Set;this._cloneNotNeeded=new Set;this._dirtyType=0;Y=c;M=!1;Z=this;try{Wd(a.root,this._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,Y=d,M=e,Z=f}return c}update(a,b){A(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute(\"autocapitalize\",\"off\"),A(this,()=>{let d=x(),e=Ib();null!==d?d.dirty=!0:0!==e.getChildrenSize()&&(\"rootStart\"===b.defaultSelection?e.selectStart():e.selectEnd())},{onUpdate:()=>{c.removeAttribute(\"autocapitalize\");\na&&a()}}),null===this._pendingEditorState&&c.removeAttribute(\"autocapitalize\"))}blur(){var a=this._rootElement;null!==a&&a.blur();a=t?window.getSelection():null;null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,$d(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class Fe extends ie{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}\nfunction vd(a){return a instanceof Fe}class Ge extends ie{}function td(a){return a instanceof Ge}class He extends ie{}function ud(a){return a instanceof He}exports.$addUpdateTag=function(a){K();I()._updateTags.add(a)};exports.$createLineBreakNode=xd;exports.$createNodeSelection=Ad;exports.$createParagraphNode=md;exports.$createRangeSelection=function(){let a=new X(\"root\",0,\"element\"),b=new X(\"root\",0,\"element\");return new pd(a,b,0)};exports.$createTextNode=N;exports.$getDecoratorNode=Vb;\nexports.$getNearestNodeFromDOMNode=jb;exports.$getNearestRootOrShadowRoot=bc;exports.$getNodeByKey=L;exports.$getPreviousSelection=Pb;exports.$getRoot=Ib;exports.$getSelection=x;exports.$getTextContent=function(){let a=x();return null===a?\"\":a.getTextContent()};exports.$hasAncestor=ac;exports.$insertNodes=function(a,b){let c=x();null===c&&(c=Ib().selectEnd());return c.insertNodes(a,b)};exports.$isDecoratorNode=C;exports.$isElementNode=G;\nexports.$isInlineElementOrDecoratorNode=function(a){return G(a)&&a.isInline()||C(a)&&a.isInline()};exports.$isLeafNode=zb;exports.$isLineBreakNode=Ab;exports.$isNodeSelection=dd;exports.$isParagraphNode=function(a){return a instanceof Be};exports.$isRangeSelection=F;exports.$isRootNode=O;exports.$isRootOrShadowRoot=cc;exports.$isTextNode=D;\nexports.$nodesOfType=function(a){var b=H();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=ic;exports.$parseSerializedNode=function(a){return Wd(a,I()._nodes)};exports.$setCompositionKey=J;exports.$setSelection=mb;exports.BLUR_COMMAND=La;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};exports.CLEAR_HISTORY_COMMAND={};\nexports.CLICK_COMMAND=ca;exports.COMMAND_PRIORITY_CRITICAL=4;exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=ha;exports.COPY_COMMAND=Ia;exports.CUT_COMMAND=Ja;exports.DELETE_CHARACTER_COMMAND=da;exports.DELETE_LINE_COMMAND=ma;exports.DELETE_WORD_COMMAND=la;\nexports.DEPRECATED_$createGridSelection=function(){let a=new X(\"root\",0,\"element\"),b=new X(\"root\",0,\"element\");return new qd(\"root\",a,b)};exports.DEPRECATED_$isGridCellNode=vd;exports.DEPRECATED_$isGridNode=td;exports.DEPRECATED_$isGridRowNode=ud;exports.DEPRECATED_$isGridSelection=rd;exports.DEPRECATED_GridCellNode=Fe;exports.DEPRECATED_GridNode=Ge;exports.DEPRECATED_GridRowNode=He;exports.DRAGEND_COMMAND=Ha;exports.DRAGOVER_COMMAND=Ga;exports.DRAGSTART_COMMAND=Fa;exports.DROP_COMMAND=Ea;\nexports.DecoratorNode=he;exports.ElementNode=ie;exports.FOCUS_COMMAND=Ka;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=fa;exports.KEY_ARROW_DOWN_COMMAND=xa;exports.KEY_ARROW_LEFT_COMMAND=ra;exports.KEY_ARROW_RIGHT_COMMAND=pa;exports.KEY_ARROW_UP_COMMAND=ta;exports.KEY_BACKSPACE_COMMAND=Aa;exports.KEY_DELETE_COMMAND=Ca;exports.KEY_ENTER_COMMAND=ya;exports.KEY_ESCAPE_COMMAND=Ba;\nexports.KEY_MODIFIER_COMMAND=Ma;exports.KEY_SPACE_COMMAND=za;exports.KEY_TAB_COMMAND=Da;exports.LineBreakNode=me;exports.MOVE_TO_END=qa;exports.MOVE_TO_START=sa;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ia;exports.ParagraphNode=Be;exports.REDO_COMMAND=oa;exports.REMOVE_TEXT_COMMAND=ja;exports.RootNode=je;exports.SELECTION_CHANGE_COMMAND=ba;exports.TextNode=se;exports.UNDO_COMMAND=na;exports.VERSION=\"0.4.1\";exports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Z,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=ke(),h=b.namespace||(null!==e?e._config.namespace:Nb()),k=b.editorState,m=[je,se,me,Be,...(b.nodes||[])],l=b.onError;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let n=m[c],q=n.getType();a.set(q,{klass:n,transforms:new Set})}d=new Ee(g,e,a,{disableEvents:f,namespace:h,theme:d},l?l:console.error,De(a),b);void 0!==\nk&&(d._pendingEditorState=k,d._dirtyType=2);return d}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst Lexical = process.env.NODE_ENV === 'development' ? require('./Lexical.dev.js') : require('./Lexical.prod.js')\nmodule.exports = Lexical;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 e=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"lexical\"),g=require(\"react\"),m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;let n={tag:\"history-merge\"};\nfunction p(a,c){if(null!==c)if(void 0===c)a.update(()=>{var b=f.$getRoot();if(b.isEmpty()){let d=f.$createParagraphNode();b.append(d);b=document.activeElement;(null!==f.$getSelection()||null!==b&&b===a.getRootElement())&&d.select()}},n);else if(null!==c)switch(typeof c){case \"string\":let b=a.parseEditorState(c);a.setEditorState(b,n);break;case \"object\":a.setEditorState(c,n);break;case \"function\":a.update(()=>{f.$getRoot().isEmpty()&&c(a)},n)}}\nexports.LexicalComposer=function({initialConfig:a,children:c}){let b=g.useMemo(()=>{const {theme:d,namespace:h,editor__DEPRECATED:q,nodes:r,onError:t,editorState:u}=a,v=e.createLexicalComposerContext(null,d);let k=q||null;if(null===k){const l=f.createEditor({editable:!1,namespace:h,nodes:r,onError:w=>t(w,l),theme:d});p(l,u);k=l}return[k,v]},[]);m(()=>{let d=a.editable,[h]=b;h.setEditable(void 0!==d?d:!0)},[]);return g.createElement(e.LexicalComposerContext.Provider,{value:b},c)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalComposer = process.env.NODE_ENV === 'development' ? require('./LexicalComposer.dev.js') : require('./LexicalComposer.prod.js')\nmodule.exports = LexicalComposer;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 l=require(\"lexical\");function n(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function p(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}\nfunction q(a,b,d,f,e){var c=d._nodes.get(a.__type);void 0===c&&n(5);for(var h in a){var k=a[h];if(null!=k&&\"object\"===typeof k&&(k=k.editorState,null!=k)){var g=l.createEditor({namespace:k.namespace});g._nodes=d._nodes;g._parentEditor=d._parentEditor;g._pendingEditorState=r(g,k);a[h]=g}}c=c.klass;h=a.__key;a.__key=void 0;c=c.clone(a);a.__key=h;h=c.__key;e._nodeMap.set(h,c);c.__parent=f;if(l.$isElementNode(c)){f=a.__children;for(k=0;k<f.length;k++)g=b.get(f[k]),void 0!==g&&(g=q(g,b,d,h,e).__key,c.__children.push(g));\nc.__indent=a.__indent;c.__format=a.__format;c.__dir=a.__dir}else l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}\nfunction t(a,b){let d=b._editorState.constructor,f=new Map,e=new d(f),c=new Map(a._nodeMap),h=c.get(\"root\");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,g=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{q(h,c,b,null,e)}finally{b._dirtyElements=k,b._dirtyLeaves=g,b._dirtyType=m}})}finally{b._updating=a}e._readOnly=!0;return e}function r(a,b){b=\"string\"===typeof b?JSON.parse(b):b;return t(b,a)}\nexports.$dfs=function(a,b){let d=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var f=a,e=0;null!==(f=f.getParent());)e++;for(f=e;null!==a&&!a.is(b);)if(d.push({depth:f,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),f++;else for(e=null;null===e&&null!==a;)e=a.getNextSibling(),null===e?(a=a.getParent(),f--):a=e;null!==a&&a.is(b)&&d.push({depth:f,node:a});return d};exports.$findMatchingParent=p;\nexports.$getNearestBlockElementAncestorOrThrow=function(a){a=p(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||n(4);return a};exports.$getNearestNodeOfType=function(a,b){for(;null!=a;){if(a instanceof b)return a;a=a.getParent()}return null};\nexports.$insertNodeToNearestRoot=function(a){var b=l.$getSelection();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):l.$isNodeSelection(b)||l.DEPRECATED_$isGridSelection(b)?(b=b.getNodes(),b[b.length-1].getTopLevelElementOrThrow().insertAfter(a)):l.$getRoot().append(a);b=l.$createParagraphNode();a.insertAfter(b);b.select();return a.getLatest()};\nexports.$restoreEditorState=function(a,b){let d=new Map(b._nodeMap),f=a._pendingEditorState;f&&(f._nodeMap=d);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};exports.addClassNamesToElement=function(a,...b){b.forEach(d=>{\"string\"===typeof d&&(d=d.split(\" \").filter(f=>\"\"!==f),a.classList.add(...d))})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};\nexports.registerNestedElementResolver=function(a,b,d,f){return a.registerNodeTransform(b,e=>{a:{var c=e.getChildren();for(var h=0;h<c.length;h++)if(c[h]instanceof b){c=null;break a}for(c=e;null!==c;)if(h=c,c=c.getParent(),c instanceof b){c={child:h,parent:c};break a}c=null}if(null!==c){const {child:k,parent:g}=c;if(k.is(e)){f(g,e);e=k.getNextSiblings();c=e.length;g.insertAfter(k);if(0!==c){h=d(g);k.insertAfter(h);for(let m=0;m<c;m++)h.append(e[m])}g.canBeEmpty()||0!==g.getChildrenSize()||g.remove()}}})};\nexports.removeClassNamesFromElement=function(a,...b){b.forEach(d=>{\"string\"===typeof d&&a.classList.remove(...d.split(\" \"))})};exports.unstable_convertLegacyJSONEditorState=r\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalUtils = process.env.NODE_ENV === 'development' ? require('./LexicalUtils.dev.js') : require('./LexicalUtils.prod.js')\nmodule.exports = LexicalUtils;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 h=require(\"lexical\"),k=require(\"@lexical/utils\");function m(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function n(a){let b=1;for(a=a.getParent();null!=a;){if(p(a)){a=a.getParent();if(q(a)){b++;a=a.getParent();continue}m(40)}break}return b}\nfunction r(a){a=a.getParent();q(a)||m(40);let b=a;for(;null!==b;)b=b.getParent(),q(b)&&(a=b);return a}function t(a){let b=[];a=a.getChildren().filter(p);for(let c=0;c<a.length;c++){let d=a[c],e=d.getFirstChild();q(e)?b=b.concat(t(e)):b.push(d)}return b}function u(a){return p(a)&&q(a.getFirstChild())}function v(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){let b=a.getParent();if(null==b||!p(a)&&!q(a))break;a=b}a.remove()}function w(a){return z().append(a)}\nfunction A(a,b){return p(a)&&(0===b.length||1===b.length&&a.is(b[0])&&0===a.getChildrenSize())}function C(a,b){a.splice(a.getChildrenSize(),0,b)}\nfunction D(a,b){if(q(a))return a;let c=a.getPreviousSibling(),d=a.getNextSibling(),e=z();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());C(e,a.getChildren());if(q(c)&&b===c.getListType())return c.append(e),a.remove(),q(d)&&b===d.getListType()&&(C(c,d.getChildren()),d.remove()),c;if(q(d)&&b===d.getListType())return d.getFirstChildOrThrow().insertBefore(e),a.remove(),d;b=E(b);b.append(e);a.replace(b);F(b);return b}\nfunction F(a,b){a=b||a.getChildren();if(void 0!==a)for(b=0;b<a.length;b++){let f=a[b];if(p(f)){let g=f.getValue();var c=f,d=c.getParent(),e=1;null!=d&&(q(d)?e=d.getStart():m(44));c=c.getPreviousSiblings();for(d=0;d<c.length;d++){let l=c[d];p(l)&&!q(l.getFirstChild())&&e++}g!==e&&f.setValue(e)}}}\nfunction G(a){let b=new Set;a.forEach(c=>{if(!u(c)&&!b.has(c.getKey())){var d=c.getParent(),e=c.getNextSibling(),f=c.getPreviousSibling();if(u(e)&&u(f))f=f.getFirstChild(),q(f)&&(f.append(c),c=e.getFirstChild(),q(c)&&(c=c.getChildren(),C(f,c),e.remove(),b.add(e.getKey())),F(f));else if(u(e))e=e.getFirstChild(),q(e)&&(f=e.getFirstChild(),null!==f&&f.insertBefore(c),F(e));else if(u(f))e=f.getFirstChild(),q(e)&&(e.append(c),F(e));else if(q(d)){let g=z(),l=E(d.getListType());g.append(l);l.append(c);f?\nf.insertAfter(g):e?e.insertBefore(g):d.append(g)}q(d)&&F(d)}})}\nfunction H(a){a.forEach(b=>{if(!u(b)){var c=b.getParent(),d=c?c.getParent():void 0,e=d?d.getParent():void 0;if(q(e)&&p(d)&&q(c)){var f=c?c.getFirstChild():void 0,g=c?c.getLastChild():void 0;if(b.is(f))d.insertBefore(b),c.isEmpty()&&d.remove();else if(b.is(g))d.insertAfter(b),c.isEmpty()&&d.remove();else{var l=c.getListType();f=z();let x=E(l);f.append(x);b.getPreviousSiblings().forEach(y=>x.append(y));g=z();l=E(l);g.append(l);C(l,b.getNextSiblings());d.insertBefore(f);d.insertAfter(g);d.replace(b)}F(c);\nF(e)}}})}function I(a){var b=h.$getSelection();if(h.$isRangeSelection(b)){var c=b.getNodes(),d=[];0===c.length&&c.push(b.anchor.getNode());if(1===c.length){a:{for(c=c[0];null!==c;){if(p(c))break a;c=c.getParent()}c=null}null!==c&&(d=[c])}else{d=new Set;for(b=0;b<c.length;b++){let e=c[b];p(e)&&d.add(e)}d=Array.from(d)}0<d.length&&(\"indent\"===a?G(d):H(d))}}\nclass J extends h.ElementNode{static getType(){return\"listitem\"}static clone(a){return new J(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement(\"li\"),c=this.getParent();q(c)&&(F(c),K(b,this,null,c));b.value=this.__value;L(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&(F(d),K(b,this,a,d));b.value=this.__value;L(b,c.theme,this);return!1}static importDOM(){return{li:()=>({conversion:M,\npriority:0})}}static importJSON(a){let b=new J(a.value,a.checked);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:\"listitem\",value:this.getValue(),version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a){if(p(a))return super.replace(a);let b=this.getParentOrThrow();\nif(q(b)){var c=b.__children;let e=c.length;var d=c.indexOf(this.__key);if(0===d)b.insertBefore(a);else if(d===e-1)b.insertAfter(a);else{c=E(b.getListType());let f=b.getChildren();for(d+=1;d<e;d++)c.append(f[d]);b.insertAfter(a);a.insertAfter(c)}this.remove();1===e&&b.remove()}return a}insertAfter(a){var b=this.getParentOrThrow();q(b)||m(39);var c=this.getNextSiblings();if(p(a))return b=super.insertAfter(a),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)&&a.getListType()===b.getListType()){b=a;a=a.getChildren();\nfor(c=a.length-1;0<=c;c--)b=a[c],this.insertAfter(b);return b}b.insertAfter(a);if(0!==c.length){let d=E(b.getListType());c.forEach(e=>d.append(e));a.insertAfter(d)}return a}remove(a){let b=this.getNextSibling();super.remove(a);null!==b&&(a=b.getParent(),q(a)&&F(a))}insertNewAfter(){let a=z(null==this.__checked?void 0:!1);this.insertAfter(a);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=\np(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),\"element\"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,\"element\"),\"element\"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,\"element\")):(c.insertBefore(b),this.remove());return!0}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=\nthis.getParent();if(null===a)return this.getLatest().__indent;a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){let b=this.getIndent();for(;b!==a;)b<a?(G([this]),b++):(H([this]),b--);return this}canIndent(){return!1}insertBefore(a){if(p(a)){let b=this.getParentOrThrow();if(q(b)){let c=this.getNextSiblings();F(b,c)}}return super.insertBefore(a)}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return h.$isParagraphNode(a)||\np(a)}extractWithChild(a,b){if(!h.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&this.getTextContent().length===b.getTextContent().length}}\nfunction L(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(f=f.split(\" \"),d.push(...f));if(b){f=c.getParent();f=q(f)&&\"check\"===f.getListType();let l=c.getChecked();f&&!l||e.push(b.listitemUnchecked);f&&l||e.push(b.listitemChecked);f&&d.push(l?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(\" \"),c.getChildren().some(l=>q(l))?d.push(...g):e.push(...g));0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,\n...d)}function K(a,b,c,d){\"check\"===d.getListType()?q(b.getFirstChild())?(a.removeAttribute(\"role\"),a.removeAttribute(\"tabIndex\"),a.removeAttribute(\"aria-checked\")):(a.setAttribute(\"role\",\"checkbox\"),a.setAttribute(\"tabIndex\",\"-1\"),c&&b.__checked===c.__checked||a.setAttribute(\"aria-checked\",b.getChecked()?\"true\":\"false\")):null!=b.getChecked()&&b.setChecked(void 0)}function M(){return{node:z()}}function z(a){return new J(void 0,a)}function p(a){return a instanceof J}\nclass N extends h.ElementNode{static getType(){return\"list\"}static clone(a){return new N(a.__listType||O[a.__tag],a.__start,a.__key)}constructor(a,b,c){super(c);this.__listType=a=O[a]||a;this.__tag=\"number\"===a?\"ol\":\"ul\";this.__start=b}getTag(){return this.__tag}getListType(){return this.__listType}getStart(){return this.__start}createDOM(a){let b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute(\"start\",String(this.__start));b.__lexicalListType=this.__listType;P(b,a.theme,this);\nreturn b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;P(b,c.theme,this);return!1}static importDOM(){return{ol:()=>({conversion:Q,priority:0}),ul:()=>({conversion:Q,priority:0})}}static importJSON(a){let b=E(a.listType,a.start);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:\"list\",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...a){for(let c=\n0;c<a.length;c++){var b=a[c];if(p(b))super.append(b);else{let d=z();q(b)?d.append(b):h.$isElementNode(b)?(b=h.$createTextNode(b.getTextContent()),d.append(b)):d.append(b);super.append(d)}}return this}extractWithChild(a){return p(a)}}\nfunction P(a,b,c){let d=[],e=[];var f=b.list;if(void 0!==f){let l=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%l.length;var g=l[x];let y=f[c.__tag],B;f=f.nested;void 0!==f&&f.list&&(B=f.list);void 0!==y&&d.push(y);if(void 0!==g)for(g=g.split(\" \"),d.push(...g),g=0;g<l.length;g++)g!==x&&e.push(c.__tag+g);void 0!==B&&(c=B.split(\" \"),1<b?d.push(...c):e.push(...c))}0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,...d)}\nfunction R(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c];p(d)?(b.push(d),d.getChildren().forEach(e=>{q(e)&&b.push(w(e))})):b.push(w(d))}return b}function Q(a){a=a.nodeName.toLowerCase();let b=null;\"ol\"===a?b=E(\"number\"):\"ul\"===a&&(b=E(\"bullet\"));return{after:R,node:b}}let O={ol:\"number\",ul:\"bullet\"};function E(a,b=1){return new N(a,b)}function q(a){return a instanceof N}\nlet S=h.createCommand(\"INSERT_UNORDERED_LIST_COMMAND\"),T=h.createCommand(\"INSERT_ORDERED_LIST_COMMAND\"),U=h.createCommand(\"INSERT_CHECK_LIST_COMMAND\"),V=h.createCommand(\"REMOVE_LIST_COMMAND\");exports.$createListItemNode=z;exports.$createListNode=E;exports.$getListDepth=n;\nexports.$handleListInsertParagraph=function(){var a=h.$getSelection();if(!h.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!p(a)||\"\"!==a.getTextContent())return!1;var b=r(a),c=a.getParent();q(c)||m(40);let d=c.getParent(),e;if(h.$isRootOrShadowRoot(d))e=h.$createParagraphNode(),b.insertAfter(e);else if(p(d))e=z(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){let f=E(c.getListType());h.$isParagraphNode(e)?e.insertAfter(f):(c=z(),c.append(f),\ne.insertAfter(c));b.forEach(g=>{g.remove();f.append(g)})}v(a);return!0};exports.$isListItemNode=p;exports.$isListNode=q;exports.INSERT_CHECK_LIST_COMMAND=U;exports.INSERT_ORDERED_LIST_COMMAND=T;exports.INSERT_UNORDERED_LIST_COMMAND=S;exports.ListItemNode=J;exports.ListNode=N;exports.REMOVE_LIST_COMMAND=V;exports.indentList=function(){I(\"indent\")};\nexports.insertList=function(a,b){a.update(()=>{var c=h.$getSelection();if(h.$isRangeSelection(c)||h.DEPRECATED_$isGridSelection(c)){var d=c.getNodes();c=c.anchor.getNode();var e=c.getParent();if(A(c,d))d=E(b),h.$isRootOrShadowRoot(e)?(c.replace(d),e=z(),h.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),C(d,c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(h.$isElementNode(f)&&f.isEmpty()&&!c.has(f.getKey()))D(f,\nb);else if(h.$isLeafNode(f))for(f=f.getParent();null!=f;){let l=f.getKey();if(q(f)){if(!c.has(l)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(l)}break}else{g=f.getParent();if(h.$isRootOrShadowRoot(g)&&!c.has(l)){c.add(l);D(f,b);break}f=g}}}}})};exports.outdentList=function(){I(\"outdent\")};\nexports.removeList=function(a){a.update(()=>{let b=h.$getSelection();if(h.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(A(e,d))c.add(r(e));else for(e=0;e<d.length;e++){var f=d[e];h.$isLeafNode(f)&&(f=k.$getNearestNodeOfType(f,J),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let l of d)d=h.$createParagraphNode(),C(d,l.getChildren()),c.insertAfter(d),c=d,l.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,\"element\"),l.__key===b.focus.key&&b.focus.set(d.getKey(),0,\"element\"),\nl.remove();g.remove()}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalList = process.env.NODE_ENV === 'development' ? require('./LexicalList.dev.js') : require('./LexicalList.prod.js')\nmodule.exports = LexicalList;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 l=require(\"lexical\");let u=new Map;function v(a){return{nodeMap:a.getNodes().map(b=>{const c=b.getKey();b=w(b);return[c,b]}),range:[a.gridKey]}}function x(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function y(a){let b=a.parentNode;if(null==b)throw Error(\"Should never happen\");return[b,Array.from(b.childNodes).indexOf(a)]}\nfunction z(a){let b={};a=a.split(\";\");for(let c of a)if(\"\"!==c){let [f,d]=c.split(/:([^]+)/);b[f.trim()]=d.trim()}return b}function A(a){let b=u.get(a);void 0===b&&(b=z(a),u.set(a,b));return b}function B(a){let b=\"\";for(let c in a)c&&(b+=`${c}: ${a[c]};`);return b}function D(a){for(;null!==a&&!l.$isRootOrShadowRoot(a);){let b=a.getLatest(),c=a.getParent();0===b.__children.length&&a.remove(!0);a=c}}\nfunction E(a,b,c,f,d=null){if(0!==b.length){var e=b[0],h=new Map,g=[];e=l.$isElementNode(e)?e:e.getParentOrThrow();e.isInline()&&(e=e.getParentOrThrow());for(var k=!1;null!==e;){var n=e.getPreviousSibling();if(null!==n){e=n;k=!0;break}e=e.getParentOrThrow();if(l.$isRootOrShadowRoot(e))break}n=new Set;for(var q=0;q<c;q++){var m=b[q];l.$isElementNode(m)&&0===m.getChildrenSize()&&n.add(m.getKey())}var p=new Set;for(q=0;q<c;q++){m=b[q];var r=m.getParent();null!==r&&r.isInline()&&(r=r.getParent());if(null!==\nr&&l.$isLeafNode(m)&&!p.has(m.getKey())){if(m=r.getKey(),void 0===h.get(m)){let t=f();t.setFormat(r.getFormatType());t.setIndent(r.getIndent());g.push(t);h.set(m,t);r.getChildren().forEach(C=>{t.append(C);p.add(C.getKey())});D(r)}}else n.has(m.getKey())&&(r=f(),r.setFormat(m.getFormatType()),r.setIndent(m.getIndent()),g.push(r),m.remove(!0))}if(null!==d)for(b=0;b<g.length;b++)d.append(g[b]);if(l.$isRootOrShadowRoot(e))if(k)if(null!==d)e.insertAfter(d);else for(d=g.length-1;0<=d;d--)e.insertAfter(g[d]);\nelse if(b=e.getFirstChild(),l.$isElementNode(b)&&(e=b),null===b)if(d)e.append(d);else for(d=0;d<g.length;d++)e.append(g[d]);else if(null!==d)b.insertBefore(d);else for(e=0;e<g.length;e++)b.insertBefore(g[e]);else if(d)e.insertAfter(d);else for(d=g.length-1;0<=d;d--)e.insertAfter(g[d]);g=l.$getPreviousSelection();l.$isRangeSelection(g)&&g.anchor.getNode().isAttached()&&g.focus.getNode().isAttached()?l.$setSelection(g.clone()):a.dirty=!0}}function F(a,b,c,f){a.modify(b?\"extend\":\"move\",c,f)}\nfunction G(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}\nfunction H(a,b,c,f,d,e){for(var h=b;null!==a;){for(b=a.getParent();null!==b&&b.excludeFromCopy(\"clone\");)b=b.getParent();if(null===b)break;if(!l.$isElementNode(a)||!a.excludeFromCopy(\"clone\")){let g=a.getKey(),k=e.get(g),n=void 0===k;n&&(k=w(a),e.set(g,k));!l.$isTextNode(k)||k.isSegmented()||k.isToken()?l.$isElementNode(k)&&(k.__children=k.__children.slice(f?h:0,f?void 0:(h||0)+1)):k.__text=k.__text.slice(f?h:0,f?c:h);if(l.$isRootNode(b)){n&&d.push(g);break}}h=e.get(b.getKey());h=l.$isElementNode(h)?\nh.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}function w(a){a=a.getLatest();let b=a.constructor.clone(a);b.__parent=a.__parent;if(l.$isElementNode(a)&&l.$isElementNode(b))return b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir,b;l.$isTextNode(a)&&l.$isTextNode(b)&&(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail);return b}\nfunction I(a,b){var c=A(a.getStyle());b=Object.entries(b).reduce((f,[d,e])=>{null===e?delete f[d]:f[d]=e;return f},{...c});c=B(b);a.setStyle(c);u.set(c,b)}exports.$addNodeStyle=function(a){a=a.getStyle();let b=z(a);u.set(a,b)};\nexports.$cloneContents=function(a){var b={nodeMap:[],range:[]};if(l.$isRangeSelection(a)){{var c=a.anchor,f=a.focus;let [n,q]=a.getCharacterOffsets();b=a.getNodes();if(0===b.length||1===b.length&&l.$isElementNode(b[0])&&b[0].excludeFromCopy(\"clone\"))b={nodeMap:[],range:[]};else{a=b.length;var d=b[0],e=d.getParent();if(null!==e&&(!e.canBeEmpty()||l.$isRootNode(e))){var h=e.__children;if(h.length===a){var g=!0;for(var k=0;k<h.length;k++)if(h[k]!==b[k].__key){g=!1;break}g&&(a++,b.push(e))}}e=b[a-1];\nc=c.isBefore(f);f=new Map;h=[];g=l.$isTextNode(d)&&1===a;H(d,c?n:q,g?c?q:n:void 0,!0,h,f);for(d=0;d<a;d++){k=b[d];let m=k.getKey();if(!(f.has(m)||l.$isElementNode(k)&&k.excludeFromCopy(\"clone\"))){let p=w(k);l.$isRootNode(k.getParent())&&h.push(k.getKey());\"root\"!==m&&f.set(m,p)}}H(e,g?void 0:c?q:n,void 0,!1,h,f);b={nodeMap:Array.from(f.entries()),range:h}}}}else if(l.DEPRECATED_$isGridSelection(a))b=v(a);else if(l.$isNodeSelection(a))throw Error(\"Minified Lexical error #1; visit https://lexical.dev/docs/error?code=1 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");\nreturn b};exports.$cloneWithProperties=w;exports.$getSelectionStyleValueForProperty=function(a,b,c=\"\"){let f=null,d=a.getNodes();var e=a.anchor,h=a.focus,g=a.isBackward();a=g?h.offset:e.offset;e=g?h.getNode():e.getNode();for(h=0;h<d.length;h++){var k=d[h];if((0===h||0!==a||!k.is(e))&&l.$isTextNode(k)){g=b;var n=c;k=k.getStyle();k=A(k);g=null!==k?k[g]||n:n;if(null===f)f=g;else if(f!==g){f=\"\";break}}}return null===f?c:f};\nexports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};exports.$isParentElementRTL=G;exports.$moveCaretSelection=F;exports.$moveCharacter=function(a,b,c){let f=G(a);F(a,b,c?!f:f,\"character\")};\nexports.$patchStyleText=function(a,b){var c=a.getNodes();let f=c.length-1,d=c[0],e=c[f];if(!a.isCollapsed()){var h=a.anchor,g=a.focus,k=d.getTextContent().length,n=g.offset,q=h.offset,m=h.isBefore(g),p=m?q:n;a=m?n:q;var r=m?h.type:g.type,t=m?g.type:h.type;h=m?g.key:h.key;l.$isTextNode(d)&&p===k&&(g=d.getNextSibling(),l.$isTextNode(g)&&(p=q=0,d=g));if(d.is(e))l.$isTextNode(d)&&(p=\"element\"===r?0:q>n?n:q,a=\"element\"===t?k:q>n?q:n,p!==a&&(0===p&&a===k?(I(d,b),d.select(p,a)):(c=d.splitText(p,a),c=0===\np?c[0]:c[1],I(c,b),c.select(0,a-p))));else for(l.$isTextNode(d)&&p<d.getTextContentSize()&&(0!==p&&(d=d.splitText(p)[1]),I(d,b)),l.$isTextNode(e)&&(p=e.getTextContent().length,e.__key!==h&&0!==a&&(a=p),a!==p&&([e]=e.splitText(a)),0!==a&&I(e,b)),a=1;a<f;a++)p=c[a],k=p.getKey(),l.$isTextNode(p)&&k!==d.getKey()&&k!==e.getKey()&&!p.isToken()&&I(p,b)}};\nexports.$selectAll=function(a){let b=a.anchor;a=a.focus;var c=b.getNode().getTopLevelElementOrThrow().getParentOrThrow();let f=c.getFirstDescendant();c=c.getLastDescendant();let d=\"element\",e=\"element\",h=0;l.$isTextNode(f)?d=\"text\":l.$isElementNode(f)||null===f||(f=f.getParentOrThrow());l.$isTextNode(c)?(e=\"text\",h=c.getTextContentSize()):l.$isElementNode(c)||null===c||(c=c.getParentOrThrow());f&&c&&(b.set(f.getKey(),0,d),a.set(c.getKey(),h,e))};\nexports.$shouldOverrideDefaultCharacterSelection=function(a,b){a=l.$getDecoratorNode(a.focus,b);return l.$isDecoratorNode(a)&&!a.isIsolated()};\nexports.$sliceSelectedTextNodeContent=function(a,b){if(b.isSelected()&&!b.isSegmented()&&!b.isToken()&&(l.$isRangeSelection(a)||l.DEPRECATED_$isGridSelection(a))){var c=a.anchor.getNode(),f=a.focus.getNode(),d=b.is(c),e=b.is(f);if(d||e){d=a.isBackward();let [h,g]=a.getCharacterOffsets();a=c.is(f);e=b.is(d?f:c);f=b.is(d?c:f);c=0;let k=void 0;a?(c=h>g?g:h,k=h>g?h:g):e?(c=d?g:h,k=void 0):f&&(d=d?h:g,c=0,k=d);b.__text=b.__text.slice(c,k)}}return b};\nexports.$wrapNodes=function(a,b,c=null){var f=a.getNodes();let d=f.length;var e=a.anchor;if(0===d||1===d&&\"element\"===e.type&&0===e.getNode().getChildrenSize()){a=\"text\"===e.type?e.getNode().getParentOrThrow():e.getNode();f=a.getChildren();let g=b();g.setFormat(a.getFormatType());g.setIndent(a.getIndent());f.forEach(k=>g.append(k));c&&(g=c.append(g));a.replace(g)}else{e=null;var h=[];for(let g=0;g<d;g++){let k=f[g];l.$isRootOrShadowRoot(k)?(E(a,h,h.length,b,c),h=[],e=k):null===e||null!==e&&l.$hasAncestor(k,\ne)?h.push(k):(E(a,h,h.length,b,c),h=[k])}E(a,h,h.length,b,c)}};exports.$wrapNodesImpl=E;\nexports.createDOMRange=function(a,b,c,f,d){let e=b.getKey(),h=f.getKey(),g=document.createRange(),k=a.getElementByKey(e);a=a.getElementByKey(h);l.$isTextNode(b)&&(k=x(k));l.$isTextNode(f)&&(a=x(a));if(void 0===b||void 0===f||null===k||null===a)return null;\"BR\"===k.nodeName&&([k,c]=y(k));\"BR\"===a.nodeName&&([a,d]=y(a));b=k.firstChild;k===a&&null!=b&&\"BR\"===b.nodeName&&0===c&&0===d&&(d=1);try{g.setStart(k,c),g.setEnd(a,d)}catch(n){return null}!g.collapsed||c===d&&e===h||(g.setStart(a,d),g.setEnd(k,\nc));return g};exports.createRectsFromDOMRange=function(a,b){var c=a.getRootElement();if(null===c)return[];a=c.getBoundingClientRect();c=getComputedStyle(c);c=parseFloat(c.paddingLeft)+parseFloat(c.paddingRight);b=Array.from(b.getClientRects());let f=b.length,d;for(let e=0;e<f;e++){let h=b[e],g=h.width+c===a.width;d&&d.top===h.top&&d.left===h.left&&d.width===h.width&&d.height===h.height||g?(b.splice(e--,1),f--):d=h}return b};exports.getStyleObjectFromCSS=A;\nexports.trimTextContentFromAnchor=function(a,b,c){let f=b.getNode();if(l.$isElementNode(f)){var d=f.getDescendantByIndex(b.offset);null!==d&&(f=d)}for(;0<c&&null!==f;){var e=f.getPreviousSibling(),h=0;if(null===e){d=f.getParentOrThrow();for(var g=d.getPreviousSibling();null===g;){d=d.getParent();if(null===d){e=null;break}g=d.getPreviousSibling()}null!==d&&(h=d.isInline()?0:2,e=l.$isElementNode(g)?g.getLastDescendant():g)}let k=f.getTextContent();\"\"===k&&l.$isElementNode(f)&&!f.isInline()&&(k=\"\\n\\n\");\nd=k.length;g=d-c;let n=k.slice(0,g);if(!l.$isTextNode(f)||c>=d)g=f.getParent(),f.remove(),null!=g&&0===g.getChildrenSize()&&g.remove(),c-=d+h,f=e;else{let q=f.getKey();e=a.getEditorState().read(()=>{const m=l.$getNodeByKey(q);return l.$isTextNode(m)&&m.isSimpleText()?m.getTextContent():null});null!==e&&e!==k?(c=l.$getPreviousSelection(),d=f,f.isSimpleText()?f.setTextContent(e):(d=l.$createTextNode(e),f.replace(d)),l.$isRangeSelection(c)&&c.isCollapsed()&&(c=c.anchor.offset,d.select(c,c))):f.isSimpleText()?\n(e=b.key===q,h=b.offset,h<c&&(h=d),c=e?h-c:0,d=e?h:g,e&&0===c?([c]=f.splitText(c,d),c.remove()):([,c]=f.splitText(c,d),c.remove())):(c=l.$createTextNode(n),f.replace(c));c=0}}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalSelection = process.env.NODE_ENV === 'development' ? require('./LexicalSelection.dev.js') : require('./LexicalSelection.prod.js')\nmodule.exports = LexicalSelection;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 n=require(\"@lexical/selection\"),q=require(\"lexical\");\nfunction r(c,d,h,b=null){let e=null!=b?d.isSelected():!0,l=q.$isElementNode(d)&&d.excludeFromCopy(\"html\");var a=d;null!==b&&(a=n.$cloneWithProperties(d),a=q.$isTextNode(a)&&null!=b?n.$sliceSelectedTextNodeContent(b,a):a);let f=q.$isElementNode(a)?a.getChildren():[],{element:k,after:g}=a.exportDOM(c);if(!k)return!1;let m=new DocumentFragment;for(let p=0;p<f.length;p++){let t=f[p],w=r(c,t,m,b);!e&&q.$isElementNode(d)&&w&&d.extractWithChild(t,b,\"html\")&&(e=!0)}e&&!l?(k.append(m),h.append(k),g&&(c=g.call(a,\nk))&&k.replaceWith(c)):h.append(m);return e}let u=new Set([\"STYLE\"]);\nfunction v(c,d,h=new Map,b,e=!1){let l=[];if(u.has(c.nodeName))return l;let a=null;var {nodeName:f}=c,k=d._htmlConversions.get(f.toLowerCase());f=null;if(void 0!==k)for(g of k)k=g(c),null!==k&&(null===f||f.priority<k.priority)&&(f=k);var g=(g=null!==f?f.conversion:null)?g(c,void 0,e):null;f=null;if(null!==g){f=g.after;a=g.node;if(null!==a){for(var [,m]of h)if(a=m(a,b),!a)break;a&&l.push(a)}null!=g.forChild&&h.set(c.nodeName,g.forChild)}c=c.childNodes;b=[];for(m=0;m<c.length;m++)b.push(...v(c[m],d,\nnew Map(h),a,e||!0===(g&&g.preformatted)));null!=f&&(b=f(b));null==a?l=l.concat(b):q.$isElementNode(a)&&a.append(...b);return l}exports.$generateHtmlFromNodes=function(c,d){if(\"undefined\"===typeof document||\"undefined\"===typeof window)throw Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");let h=document.createElement(\"div\"),b=q.$getRoot().getChildren();for(let e=0;e<b.length;e++)r(c,b[e],h,d);return h.innerHTML};\nexports.$generateNodesFromDOM=function(c,d){let h=[];d=d.body?Array.from(d.body.childNodes):[];let b=d.length;for(let l=0;l<b;l++){var e=d[l];u.has(e.nodeName)||(e=v(e,c),null!==e&&(h=h.concat(e)))}return h}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalHtml = process.env.NODE_ENV === 'development' ? require('./LexicalHtml.dev.js') : require('./LexicalHtml.prod.js')\nmodule.exports = LexicalHtml;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 d=require(\"@lexical/html\"),n=require(\"@lexical/list\"),r=require(\"@lexical/selection\"),t=require(\"@lexical/utils\"),z=require(\"lexical\");function A(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nfunction B(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?\"\":d.$generateHtmlFromNodes(a,b)}function C(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(D(a,b))}\nfunction E(a,b,c){(z.DEPRECATED_$isGridSelection(c)||null!==t.$findMatchingParent(c.anchor.getNode(),g=>z.DEPRECATED_$isGridCellNode(g))&&null!==t.$findMatchingParent(c.focus.getNode(),g=>z.DEPRECATED_$isGridCellNode(g)))&&1===b.length&&z.DEPRECATED_$isGridNode(b[0])?F(b,c,!1,a):I(b,c)}\nfunction I(a,b){let c=[],g=null,e=null;for(let k=0;k<a.length;k++){let f=a[k];if(n.$isListItemNode(f)){null==e&&(e=n.$createListNode(\"bullet\"),c.push(e));e.append(f);continue}else null!=e&&(e=null);let h=z.$isLineBreakNode(f);if(h||z.$isDecoratorNode(f)&&f.isInline()||z.$isElementNode(f)&&f.isInline()||z.$isTextNode(f)){if(null===g&&(g=z.$createParagraphNode(),c.push(g),h))continue;null!==g&&g.append(f)}else c.push(f),g=null}z.$isRangeSelection(b)?b.insertNodes(c):z.DEPRECATED_$isGridSelection(b)&&\n(a=b.anchor.getNode(),z.DEPRECATED_$isGridCellNode(a)||A(41),a.append(...c))}\nfunction F(a,b,c,g){1===a.length&&z.DEPRECATED_$isGridNode(a[0])||A(42);var e=a[0];a=e.getChildren();c=e.getFirstChildOrThrow().getChildrenSize();var k=e.getChildrenSize(),f=t.$findMatchingParent(b.anchor.getNode(),l=>z.DEPRECATED_$isGridCellNode(l));b=(e=f&&t.$findMatchingParent(f,l=>z.DEPRECATED_$isGridRowNode(l)))&&t.$findMatchingParent(e,l=>z.DEPRECATED_$isGridNode(l));z.DEPRECATED_$isGridCellNode(f)&&z.DEPRECATED_$isGridRowNode(e)&&z.DEPRECATED_$isGridNode(b)||A(43);var h=e.getIndexWithinParent(),\np=Math.min(b.getChildrenSize()-1,h+k-1);k=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,k+c-1);c=Math.min(k,f);e=Math.min(h,p);k=Math.max(k,f);h=Math.max(h,p);p=b.getChildren();f=0;let m,q;for(let l=e;l<=h;l++){var x=p[l];z.DEPRECATED_$isGridRowNode(x)||A(24);var y=a[f];z.DEPRECATED_$isGridRowNode(y)||A(24);x=x.getChildren();y=y.getChildren();let G=0;for(let u=c;u<=k;u++){let v=x[u];z.DEPRECATED_$isGridCellNode(v)||A(25);let H=y[G];z.DEPRECATED_$isGridCellNode(H)||A(25);l===e&&u===c?m=\nv.getKey():l===h&&u===k&&(q=v.getKey());let N=v.getChildren();H.getChildren().forEach(w=>{z.$isTextNode(w)&&z.$createParagraphNode().append(w);v.append(w)});N.forEach(w=>w.remove());G++}f++}m&&q&&(a=z.DEPRECATED_$createGridSelection(),a.set(b.getKey(),m,q),z.$setSelection(a),g.dispatchCommand(z.SELECTION_CHANGE_COMMAND,void 0))}\nfunction J(a,b,c,g=[]){let e=null!=b?c.isSelected():!0,k=z.$isElementNode(c)&&c.excludeFromCopy(\"html\");var f=c;if(null!==b){var h=r.$cloneWithProperties(c);f=h=z.$isTextNode(h)&&null!=b?r.$sliceSelectedTextNodeContent(b,h):h}let p=z.$isElementNode(f)?f.getChildren():[];var m=f;h=m.exportJSON();h.type!==m.constructor.getType()&&A(58);var q=h.children;z.$isElementNode(m)&&(Array.isArray(q)||A(59));z.$isTextNode(f)&&(h.text=f.__text);for(f=0;f<p.length;f++)m=p[f],q=J(a,b,m,h.children),!e&&z.$isElementNode(c)&&\nq&&c.extractWithChild(m,b,\"clone\")&&(e=!0);if(e&&!k)g.push(h);else if(Array.isArray(h.children))for(a=0;a<h.children.length;a++)g.push(h.children[a]);return e}function D(a,b){let c=[],g=z.$getRoot().getChildren();for(let e=0;e<g.length;e++)J(a,b,g[e],c);return{namespace:a._config.namespace,nodes:c}}function K(a){let b=[];for(let c=0;c<a.length;c++){let g=z.$parseSerializedNode(a[c]);z.$isTextNode(g)&&r.$addNodeStyle(g);b.push(g)}return b}let L=null;\nfunction M(a,b){b.preventDefault();b=b.clipboardData;if(null===b)return!1;let c=z.$getSelection(),g=B(a);a=C(a);let e=\"\";null!==c&&(e=c.getTextContent());null!==g&&b.setData(\"text/html\",g);null!==a&&b.setData(\"application/x-lexical-editor\",a);b.setData(\"text/plain\",e);return!0}exports.$generateJSONFromSelectedNodes=D;exports.$generateNodesFromSerializedNodes=K;exports.$getHtmlContent=B;exports.$getLexicalContent=C;\nexports.$insertDataTransferForPlainText=function(a,b){a=a.getData(\"text/plain\");null!=a&&b.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,b,c){var g=a.getData(\"application/x-lexical-editor\");if(g)try{let k=JSON.parse(g);if(k.namespace===c._config.namespace&&Array.isArray(k.nodes)){let f=K(k.nodes);return E(c,f,b)}}catch{}if(g=a.getData(\"text/html\"))try{var e=(new DOMParser).parseFromString(g,\"text/html\");let k=d.$generateNodesFromDOM(c,e);return E(c,k,b)}catch{}a=a.getData(\"text/plain\");if(null!=a)if(z.$isRangeSelection(b))for(a=a.split(/\\r?\\n/),c=a.length,e=0;e<c;e++)b.insertText(a[e]),\ne<c-1&&b.insertParagraph();else b.insertRawText(a)};exports.$insertGeneratedNodes=E;\nexports.copyToClipboard__EXPERIMENTAL=async function(a,b){if(null!==L)return!1;if(null!==b)return new Promise(k=>{a.update(()=>{k(M(a,b))})});var c=a.getRootElement();let g=document.getSelection();if(null===c||null===g)return!1;let e=document.createElement(\"span\");e.style.cssText=\"position: fixed; top: -1000px;\";e.append(document.createTextNode(\"#\"));c.append(e);c=new Range;c.setStart(e,0);c.setEnd(e,1);g.removeAllRanges();g.addRange(c);return new Promise(k=>{let f=a.registerCommand(z.COPY_COMMAND,\nh=>{h instanceof ClipboardEvent&&(f(),null!==L&&(window.clearTimeout(L),L=null),k(M(a,h)));return!0},z.COMMAND_PRIORITY_CRITICAL);L=window.setTimeout(()=>{f();L=null;k(!1)},50);document.execCommand(\"copy\");e.remove()})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalClipboard = process.env.NODE_ENV === 'development' ? require('./LexicalClipboard.dev.js') : require('./LexicalClipboard.prod.js')\nmodule.exports = LexicalClipboard;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 a=require(\"@lexical/clipboard\"),g=require(\"@lexical/selection\"),h=require(\"@lexical/utils\"),k=require(\"lexical\");let l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,q=l&&\"documentMode\"in document?document.documentMode:null;l&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);l&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet r=l&&\"InputEvent\"in window&&!q?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,t=l&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),u=l&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,v=k.createCommand(\"DRAG_DROP_PASTE_FILE\");\nclass w extends k.ElementNode{static getType(){return\"quote\"}static clone(c){return new w(c.__key)}constructor(c){super(c)}createDOM(c){let b=document.createElement(\"blockquote\");h.addClassNamesToElement(b,c.theme.quote);return b}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:x,priority:0})}}static importJSON(c){let b=y();b.setFormat(c.format);b.setIndent(c.indent);b.setDirection(c.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let c=\nk.$createParagraphNode(),b=this.getDirection();c.setDirection(b);this.insertAfter(c);return c}collapseAtStart(){let c=k.$createParagraphNode();this.getChildren().forEach(b=>c.append(b));this.replace(c);return!0}}function y(){return new w}\nclass z extends k.ElementNode{static getType(){return\"heading\"}static clone(c){return new z(c.__tag,c.__key)}constructor(c,b){super(b);this.__tag=c}getTag(){return this.__tag}createDOM(c){let b=this.__tag,d=document.createElement(b);c=c.theme.heading;void 0!==c&&h.addClassNamesToElement(d,c[b]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:A,priority:0}),h2:()=>({conversion:A,priority:0}),h3:()=>({conversion:A,priority:0}),h4:()=>({conversion:A,priority:0}),h5:()=>({conversion:A,\npriority:0}),h6:()=>({conversion:A,priority:0}),p:c=>{c=c.firstChild;return null!==c&&B(c)?{conversion:()=>({node:null}),priority:3}:null},span:c=>B(c)?{conversion:()=>({node:C(\"h1\")}),priority:3}:null}}static importJSON(c){let b=C(c.tag);b.setFormat(c.format);b.setIndent(c.indent);b.setDirection(c.direction);return b}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let c=k.$createParagraphNode(),b=this.getDirection();c.setDirection(b);this.insertAfter(c);\nreturn c}collapseAtStart(){let c=k.$createParagraphNode();this.getChildren().forEach(b=>c.append(b));this.replace(c);return!0}extractWithChild(){return!0}}function B(c){return\"span\"===c.nodeName.toLowerCase()?\"26pt\"===c.style.fontSize:!1}function A(c){c=c.nodeName.toLowerCase();let b=null;if(\"h1\"===c||\"h2\"===c||\"h3\"===c||\"h4\"===c||\"h5\"===c||\"h6\"===c)b=C(c);return{node:b}}function x(){return{node:y()}}function C(c){return new z(c)}\nfunction D(c,b){c.preventDefault();b.update(()=>{let d=k.$getSelection(),e=c instanceof InputEvent||c instanceof KeyboardEvent?null:c.clipboardData;null!=e&&(k.$isRangeSelection(d)||k.DEPRECATED_$isGridSelection(d))&&a.$insertDataTransferForRichText(e,d,b)},{tag:\"paste\"})}\nasync function E(c,b){null!=b.getEditorState().read(()=>k.$getSelection())&&(await a.copyToClipboard__EXPERIMENTAL(b,c instanceof ClipboardEvent?c:null),b.update(()=>{let d=k.$getSelection();k.$isRangeSelection(d)?d.removeText():k.$isNodeSelection(d)&&d.getNodes().forEach(e=>e.remove())}))}function F(c){let b=null;c instanceof DragEvent?b=c.dataTransfer:c instanceof ClipboardEvent&&(b=c.clipboardData);return null===b?[!1,[]]:[b.types.includes(\"Files\"),Array.from(b.files)]}\nfunction G(c,b){var d=k.$getSelection();if(k.$isRangeSelection(d)){var e=new Set;d=d.getNodes();for(let m=0;m<d.length;m++){let n=d[m];var f=n.getKey();e.has(f)||(e.add(f),f=h.$getNearestBlockElementAncestorOrThrow(n),f.canInsertTab()?c(n):f.canIndent()&&b(f))}}}function H(c){c=k.$getNearestNodeFromDOMNode(c);return k.$isDecoratorNode(c)}exports.$createHeadingNode=C;exports.$createQuoteNode=y;exports.$isHeadingNode=function(c){return c instanceof z};\nexports.$isQuoteNode=function(c){return c instanceof w};exports.DRAG_DROP_PASTE=v;exports.HeadingNode=z;exports.QuoteNode=w;exports.eventFiles=F;\nexports.registerRichText=function(c){return h.mergeRegister(c.registerCommand(k.CLICK_COMMAND,()=>{const b=k.$getSelection();return k.$isNodeSelection(b)?(b.clear(),!0):!1},0),c.registerCommand(k.DELETE_CHARACTER_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteCharacter(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DELETE_WORD_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteWord(b);return!0},k.COMMAND_PRIORITY_EDITOR),\nc.registerCommand(k.DELETE_LINE_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteLine(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,b=>{const d=k.$getSelection();if(\"string\"===typeof b)k.$isRangeSelection(d)?d.insertText(b):k.DEPRECATED_$isGridSelection(d);else{if(!k.$isRangeSelection(d)&&!k.DEPRECATED_$isGridSelection(d))return!1;const e=b.dataTransfer;null!=e?a.$insertDataTransferForRichText(e,d,c):k.$isRangeSelection(d)&&\n(b=b.data)&&d.insertText(b)}return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.REMOVE_TEXT_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;b.removeText();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.FORMAT_TEXT_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.formatText(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.FORMAT_ELEMENT_COMMAND,b=>{var d=k.$getSelection();if(!k.$isRangeSelection(d)&&!k.$isNodeSelection(d))return!1;\nd=d.getNodes();for(const e of d)h.$getNearestBlockElementAncestorOrThrow(e).setFormat(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INSERT_LINE_BREAK_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.insertLineBreak(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INSERT_PARAGRAPH_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;b.insertParagraph();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INDENT_CONTENT_COMMAND,\n()=>{G(()=>{c.dispatchCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},b=>{const d=b.getIndent();10!==d&&b.setIndent(d+1)});return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>{G(b=>{k.$isTextNode(b)&&(b=b.getTextContent(),\"\\t\"===b[b.length-1]&&c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!0))},b=>{const d=b.getIndent();0!==d&&b.setIndent(d-1)});return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_UP_COMMAND,b=>{const d=k.$getSelection();return k.$isNodeSelection(d)&&\n!H(b.target)&&(b=d.getNodes(),0<b.length)?(b[0].selectPrevious(),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_DOWN_COMMAND,()=>{var b=k.$getSelection();return k.$isNodeSelection(b)&&(b=b.getNodes(),0<b.length)?(b[0].selectNext(0,0),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_LEFT_COMMAND,b=>{const d=k.$getSelection();if(k.$isNodeSelection(d)){var e=d.getNodes();if(0<e.length)return b.preventDefault(),e[0].selectPrevious(),!0}return k.$isRangeSelection(d)?g.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(e=b.shiftKey,b.preventDefault(),g.$moveCharacter(d,e,!0),!0):!1:!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_RIGHT_COMMAND,b=>{const d=k.$getSelection();if(k.$isNodeSelection(d)&&!H(b.target)){var e=d.getNodes();if(0<e.length)return b.preventDefault(),e[0].selectNext(0,0),!0}if(!k.$isRangeSelection(d))return!1;e=b.shiftKey;return g.$shouldOverrideDefaultCharacterSelection(d,!1)?(b.preventDefault(),g.$moveCharacter(d,e,!1),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_BACKSPACE_COMMAND,\nb=>{if(H(b.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;b.preventDefault();({anchor:b}=d);const e=b.getNode();return d.isCollapsed()&&0===b.offset&&!k.$isRootNode(e)&&0<h.$getNearestBlockElementAncestorOrThrow(e).getIndent()?c.dispatchCommand(k.OUTDENT_CONTENT_COMMAND,void 0):c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_DELETE_COMMAND,b=>{if(H(b.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;\nb.preventDefault();return c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!1)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ENTER_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;if(null!==b){if((u||t)&&r)return!1;b.preventDefault();if(b.shiftKey)return c.dispatchCommand(k.INSERT_LINE_BREAK_COMMAND,!1)}return c.dispatchCommand(k.INSERT_PARAGRAPH_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_TAB_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;\nb.preventDefault();return c.dispatchCommand(b.shiftKey?k.OUTDENT_CONTENT_COMMAND:k.INDENT_CONTENT_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ESCAPE_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;c.blur();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DROP_COMMAND,b=>{const [,d]=F(b);if(0<d.length){var e=b.clientX;var f=b.clientY;e=\"undefined\"!==typeof document.caretRangeFromPoint?document.caretRangeFromPoint(e,f):\"undefined\"!==document.caretPositionFromPoint?\ndocument.caretPositionFromPoint(e,f):null;if(null!==e){const {startOffset:m,endOffset:n,startContainer:I,endContainer:J}=e;e=k.$getNearestNodeFromDOMNode(I);f=k.$getNearestNodeFromDOMNode(J);if(null!==e&&null!==f){const p=k.$createRangeSelection();k.$isTextNode(e)?p.anchor.set(e.getKey(),m,\"text\"):p.anchor.set(e.getParentOrThrow().getKey(),e.getIndexWithinParent()+1,\"element\");k.$isTextNode(f)?p.focus.set(f.getKey(),n,\"text\"):p.focus.set(f.getParentOrThrow().getKey(),f.getIndexWithinParent()+1,\"element\");\ne=k.$normalizeSelection__EXPERIMENTAL(p);k.$setSelection(e)}c.dispatchCommand(v,d)}b.preventDefault();return!0}b=k.$getSelection();return k.$isRangeSelection(b)?!0:!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DRAGSTART_COMMAND,b=>{const [d]=F(b),e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;b.preventDefault();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DRAGOVER_COMMAND,b=>{const [d]=F(b),e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;b.preventDefault();\nreturn!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.COPY_COMMAND,b=>{a.copyToClipboard__EXPERIMENTAL(c,b instanceof ClipboardEvent?b:null);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.CUT_COMMAND,b=>{E(b,c);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.PASTE_COMMAND,b=>{var [,d]=F(b);if(null!==d&&0<d.length)return c.dispatchCommand(v,d),!0;d=k.$getSelection();return k.$isRangeSelection(d)||k.DEPRECATED_$isGridSelection(d)?(D(b,c),!0):!1},k.COMMAND_PRIORITY_EDITOR))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalRichText = process.env.NODE_ENV === 'development' ? require('./LexicalRichText.dev.js') : require('./LexicalRichText.prod.js')\nmodule.exports = LexicalRichText;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 l=require(\"@lexical/utils\"),m=require(\"lexical\");\nclass n extends m.ElementNode{static getType(){return\"link\"}static clone(a){return new n(a.__url,{rel:a.__rel,target:a.__target},a.__key)}constructor(a,b={},c){super(c);let {target:h=null,rel:e=null}=b;this.__url=a;this.__target=h;this.__rel=e}createDOM(a){let b=document.createElement(\"a\");b.href=this.__url;null!==this.__target&&(b.target=this.__target);null!==this.__rel&&(b.rel=this.__rel);l.addClassNamesToElement(b,a.theme.link);return b}updateDOM(a,b){let c=this.__url,h=this.__target,e=this.__rel;\nc!==a.__url&&(b.href=c);h!==a.__target&&(h?b.target=h:b.removeAttribute(\"target\"));e!==a.__rel&&(e?b.rel=e:b.removeAttribute(\"rel\"));return!1}static importDOM(){return{a:()=>({conversion:p,priority:1})}}static importJSON(a){let b=q(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(a){this.getWritable().__url=\na}getTarget(){return this.getLatest().__target}setTarget(a){this.getWritable().__target=a}getRel(){return this.getLatest().__rel}setRel(a){this.getWritable().__rel=a}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=q(this.__url,{rel:this.__rel,target:this.__target});a.append(b);return b}return null}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(a,b){if(!m.$isRangeSelection(b))return!1;\na=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&0<b.getTextContent().length}}function p(a){let b=null;if(a instanceof HTMLAnchorElement){let c=a.textContent;null!==c&&\"\"!==c&&(b=q(a.getAttribute(\"href\")||\"\",{rel:a.getAttribute(\"rel\"),target:a.getAttribute(\"target\")}))}return{node:b}}function q(a,b){return new n(a,b)}function r(a){return a instanceof n}\nclass u extends n{static getType(){return\"autolink\"}static clone(a){return new u(a.__url,{rel:a.__rel,target:a.__target},a.__key)}static importJSON(a){let b=v(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),type:\"autolink\",version:1}}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=v(this.__url,{rel:this._rel,target:this.__target});\na.append(b);return b}return null}}function v(a,b){return new u(a,b)}let w=m.createCommand(\"TOGGLE_LINK_COMMAND\");function x(a){return y(a,b=>r(b))}function y(a,b){for(;null!==a&&null!==(a=a.getParent())&&!b(a););return a}exports.$createAutoLinkNode=v;exports.$createLinkNode=q;exports.$isAutoLinkNode=function(a){return a instanceof u};exports.$isLinkNode=r;exports.AutoLinkNode=u;exports.LinkNode=n;exports.TOGGLE_LINK_COMMAND=w;\nexports.toggleLink=function(a,b={}){let {target:c,rel:h}=b;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let f=k.getChildren();for(let g=0;g<f.length;g++)k.insertBefore(f[g]);k.remove()}});else{if(1===b.length){var e=b[0];e=r(e)?e:x(e);if(null!==e){e.setURL(a);void 0!==c&&e.setTarget(c);void 0!==h&&e.setRel(h);return}}let k=null,f=null;b.forEach(g=>{var d=g.getParent();if(d!==f&&null!==d&&(!m.$isElementNode(g)||g.isInline()))if(r(d))f=\nd,d.setURL(a),void 0!==c&&d.setTarget(c),void 0!==h&&d.setRel(h);else if(d.is(k)||(k=d,f=q(a,{rel:h,target:c}),r(d)?null===g.getPreviousSibling()?d.insertBefore(f):d.insertAfter(f):g.insertBefore(f)),r(g)){if(!g.is(f)){if(null!==f){d=g.getChildren();for(let t=0;t<d.length;t++)f.append(d[t])}g.remove()}}else null!==f&&f.append(g)})}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalLink = process.env.NODE_ENV === 'development' ? require('./LexicalLink.dev.js') : require('./LexicalLink.prod.js')\nmodule.exports = LexicalLink;","import {\n $createParagraphNode,\n ElementNode\n} from 'lexical';\nimport {\n addClassNamesToElement\n} from '@lexical/utils';\n\nexport class AsideNode extends ElementNode {\n static getType() {\n return 'aside';\n }\n\n static clone(node) {\n return new AsideNode(node.__key);\n }\n\n // View\n\n createDOM(config) {\n const element = document.createElement('aside');\n addClassNamesToElement(element, config.theme.aside);\n return element;\n }\n updateDOM(prevNode, dom) {\n return false;\n }\n\n static importDOM() {\n return {\n aside: node => ({\n conversion: convertAsideElement,\n priority: 0\n })\n };\n }\n\n static importJSON(serializedNode) {\n const node = $createAsideNode();\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n exportJSON() {\n return {\n ...super.exportJSON(),\n type: 'aside'\n };\n }\n\n // Mutation\n\n insertNewAfter() {\n const newBlock = $createParagraphNode();\n const direction = this.getDirection();\n newBlock.setDirection(direction);\n this.insertNewAfter(newBlock);\n return newBlock;\n }\n\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n}\n\nfunction convertAsideElement() {\n const node = $createAsideNode;\n return {node};\n}\n\nexport function $createAsideNode() {\n return new AsideNode();\n}\n\nexport function $isAsideNode(node) {\n return node instanceof AsideNode;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"lexical\"),h=require(\"react\");function k(b,a){return b.getEditorState().read(()=>{let f=e.$getNodeByKey(a);return null===f?!1:f.isSelected()})}\nexports.useLexicalNodeSelection=function(b){let [a]=c.useLexicalComposerContext(),[f,l]=h.useState(()=>k(a,b));h.useEffect(()=>a.registerUpdateListener(()=>{l(k(a,b))}),[a,b]);let m=h.useCallback(g=>{a.update(()=>{let d=e.$getSelection();e.$isNodeSelection(d)||(d=e.$createNodeSelection(),e.$setSelection(d));g?d.add(b):d.delete(b)})},[a,b]),n=h.useCallback(()=>{a.update(()=>{const g=e.$getSelection();e.$isNodeSelection(g)&&g.clear()})},[a]);return[f,m,n]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst useLexicalNodeSelection = process.env.NODE_ENV === 'development' ? require('./useLexicalNodeSelection.dev.js') : require('./useLexicalNodeSelection.prod.js')\nmodule.exports = useLexicalNodeSelection;","import React from 'react';\n\nconst CardContext = React.createContext({});\n\nexport default CardContext;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const CardWrapper = React.forwardRef(({isSelected, cardWidth, cardType, children, ...props}, ref) => {\n return (\n <div\n className={`relative border border-transparent caret-grey-800 ${isSelected ? 'shadow-[0_0_0_2px] shadow-green' : 'hover:shadow-[0_0_0_1px] hover:shadow-green'} ${(cardWidth === 'wide') ? 'mx-[calc(50%-(50vw-var(--kg-breakout-adjustment))-.8rem)] w-[calc(65vw+2px-var(--kg-breakout-adjustment))] min-w-[calc(100%+3.6rem)] sm:min-w-[calc(100%+10rem)] lg:min-w-[calc(100%+18rem)] translate-x-[calc(50vw-50%+.8rem-var(--kg-breakout-adjustment))]' : (cardWidth === 'full') ? 'lg:mx-[calc(50%-50vw+(var(--kg-breakout-adjustment)/2))] lg:w-[calc(100vw-var(--kg-breakout-adjustment))]' : ''}`}\n ref={ref}\n data-kg-card={cardType}\n data-kg-card-selected={isSelected}\n {...props}\n >\n {children}\n </div>\n );\n});\n\nCardWrapper.propTypes = {\n isSelected: PropTypes.bool,\n cardWidth: PropTypes.oneOf(['regular', 'wide', 'full'])\n};\n\nCardWrapper.defaultProps = {\n cardWidth: 'regular'\n};\n","import React from 'react';\nimport {\n $createNodeSelection,\n $createParagraphNode,\n $getNodeByKey,\n $getSelection,\n $isDecoratorNode,\n $isNodeSelection,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_EDITOR,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND\n} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalNodeSelection} from '@lexical/react/useLexicalNodeSelection';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport WrapperContext from '../context/CardContext';\nimport {CardWrapper} from './ui/CardWrapper';\n\nconst KoenigCardWrapperComponent = ({nodeKey, children, width}) => {\n const [editor] = useLexicalComposerContext();\n const [isSelected, setSelected, clearSelected] = useLexicalNodeSelection(nodeKey);\n const [selection, setSelection] = React.useState(null);\n const [cardType, setCardType] = React.useState(null);\n const [cardWidth, setCardWidth] = React.useState(width || 'regular');\n const containerRef = React.useRef(null);\n\n React.useLayoutEffect(() => {\n editor.getEditorState().read(() => {\n const cardNode = $getNodeByKey(nodeKey);\n setCardType(cardNode.getType());\n });\n\n // We only do this for init\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n setSelection(editorState.read(() => $getSelection()));\n }),\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n if (containerRef.current.contains(event.target)) {\n clearSelected();\n setSelected(true);\n } else if (isSelected) {\n setSelected(false);\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event) => {\n // TODO: test if this is needed when code card is working again\n // we don't want to insert paragraphs if Enter is pressed inside card's form element\n // if (event.target.matches('input textarea select option')) {\n // return false;\n // }\n\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n // This is to avoid deleting the card when backspacing inside the caption / alt input of the card when the card is selected\n if (cardNode.getType() === 'image' && event.target.matches('input')) {\n editor.update(() => {\n const caption = cardNode.getCaption();\n cardNode.setCaption(caption.slice(0, -1));\n });\n return false;\n }\n const previousSibling = cardNode.getPreviousSibling();\n const nextSibling = cardNode.getNextSibling();\n\n if (previousSibling) {\n if (previousSibling.selectEnd) {\n previousSibling.selectEnd();\n } else if ($isDecoratorNode(previousSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(previousSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectPrevious();\n }\n } else if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const nextSibling = cardNode.getNextSibling();\n\n if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n } else {\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n )\n );\n }, [editor, isSelected, setSelected, clearSelected, nodeKey]);\n\n return (\n <WrapperContext.Provider value={{isSelected, cardWidth, setCardWidth, selection, cardContainerRef: containerRef}}>\n <CardWrapper\n isSelected={isSelected}\n cardType={cardType}\n ref={containerRef}\n cardWidth={cardWidth}\n >\n {children}\n </CardWrapper>\n </WrapperContext.Provider>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","export function HorizontalRuleCard() {\n return (\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n );\n}\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {HorizontalRuleCard} from '../components/ui/cards/HorizontalRuleCard';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nexport class HorizontalRuleNode extends DecoratorNode {\n static getType() {\n return 'horizontalrule';\n }\n\n static clone(node) {\n return new HorizontalRuleNode(node.__key);\n }\n\n static importJSON(serializedNode) {\n return $createHorizontalRuleNode();\n }\n\n static kgMenu = {\n label: 'Divider',\n desc: 'Insert a dividing line',\n Icon: DividerCardIcon,\n insertCommand: INSERT_HORIZONTAL_RULE_COMMAND,\n matches: ['divider', 'horizontal-rule', 'hr']\n };\n\n exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isInline() {\n return false;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} className=\"inline-block\">\n <HorizontalRuleCard />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport function $createHorizontalRuleNode() {\n return new HorizontalRuleNode();\n}\n\nexport function $isHorizontalRuleNode(node) {\n return node instanceof HorizontalRuleNode;\n}\n","import {useEffect} from 'react';\n\nconst useAutoExpandTextArea = ({el, value}) => {\n useEffect(() => {\n const element = el.current;\n if (element) {\n element.style.height = '0px';\n const height = element.scrollHeight;\n element.style.height = `${height}px`;\n }\n }, [el, value]);\n};\n\nexport default useAutoExpandTextArea;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport useAutoExpandTextArea from '../../../utils/autoExpandTextArea';\n\nexport function CodeBlockCard({code, language, updateCode, updateLanguage}) {\n const textareaRef = React.useRef(null);\n\n useAutoExpandTextArea({el: textareaRef, value: code});\n\n return (\n <code>\n <textarea\n ref={textareaRef}\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n tabIndex=\"0\"\n autoFocus\n className='min-h-170 w-full bg-grey-50 p-3 text-grey-900'\n value={code}\n onChange={updateCode}\n />\n </code>\n );\n}\n\nCodeBlockCard.propTypes = {\n code: PropTypes.string\n};","import * as React from 'react';\nimport {\n $getNodeByKey,\n createCommand,\n DecoratorNode\n} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {CodeBlockCard} from '../components/ui/cards/CodeBlockCard';\n\nexport const CODE_BLOCK_COMMAND = createCommand();\n\nfunction CodeBlockComponent({code, language, nodeKey, editor}) {\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n const updateLanguage = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setLanguage(event.target.value);\n });\n };\n\n return (\n <CodeBlockCard\n code={code}\n updateCode={updateCode}\n language={language}\n updateLanguage={updateLanguage}\n />\n );\n}\n\nexport class CodeBlockNode extends DecoratorNode {\n __code = '';\n __language = '';\n\n static getType() {\n return 'codeblock';\n }\n\n static clone(node) {\n return new CodeBlockNode(node.__key, node.__code);\n }\n\n static importJSON(serializedNode) {\n return $createCodeBlockNode();\n }\n\n exportJSON() {\n return {\n type: 'codeblock',\n version: 1,\n code: this.__code,\n language: this.__language\n };\n }\n\n constructor(language, initCode, key) {\n super(key);\n this.__language = language;\n this.__code = initCode;\n }\n\n createDOM(config) {\n return document.createElement('div');\n }\n\n updateDOM() {\n return false;\n }\n\n getCode() {\n const self = this.getLatest();\n return self.__code;\n }\n\n setCode(code) {\n const self = this.getWritable();\n self.__code = code;\n }\n\n getLanguage() {\n const self = this.getLatest();\n return self.__language;\n }\n\n setLanguage(language) {\n const self = this.getWritable();\n self.__language = language;\n }\n\n getTextContent() {\n const self = this.getLatest();\n return self.__code;\n }\n\n decorate(editor, config) {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()}>\n <CodeBlockComponent\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n </KoenigCardWrapper>\n );\n }\n\n isInline() {\n return false;\n }\n}\n\nexport function $createCodeBlockNode(language, initCode) {\n return new CodeBlockNode(language, initCode);\n}\n\nexport function $isCodeBlockNode(node) {\n return node instanceof CodeBlockNode;\n}\n","import React from 'react';\n\nconst KoenigComposerContext = React.createContext({});\n\nexport default KoenigComposerContext;\n","import React from 'react';\n\nfunction CaptionInput({value, placeholder, onChange}) {\n const handleOnChange = (e) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n onChange={handleOnChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={value}\n />\n );\n}\n\nfunction AltTextInput({value, placeholder, onChange}) {\n const handleOnChange = (e) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n onChange={handleOnChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={value}\n />\n );\n}\n\nfunction AltToggleButton({isEditingAlt, onClick}) {\n return (\n <button\n name=\"alt-toggle-button\"\n className={`absolute bottom-0 right-0 m-2 cursor-pointer rounded border px-1 font-sans text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${isEditingAlt ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={onClick}\n >\n Alt\n </button>\n );\n}\n\nexport function CardCaptionEditor({\n altText,\n altTextPlaceholder,\n setAltText,\n caption,\n captionPlaceholder,\n setCaption,\n isSelected\n}) {\n const [isEditingAlt, setIsEditingAlt] = React.useState(false);\n\n const toggleIsEditingAlt = (e) => {\n e.stopPropagation();\n setIsEditingAlt(!isEditingAlt);\n };\n\n // always switch back to displaying caption when card is not selected\n React.useEffect(() => {\n if (!isSelected) {\n setIsEditingAlt(false);\n }\n }, [isSelected, setIsEditingAlt]);\n\n if (isSelected || caption) {\n return (\n <figcaption className=\"flex w-full p-2\">\n {isEditingAlt\n ? <AltTextInput value={altText} placeholder={altTextPlaceholder} onChange={setAltText} />\n : <CaptionInput value={caption} placeholder={captionPlaceholder} onChange={setCaption} /> }\n {setAltText && <AltToggleButton isEditingAlt={isEditingAlt} onClick={toggleIsEditingAlt} />}\n </figcaption>\n );\n }\n}\n","const CardText = ({text}) => {\n return (\n <span data-kg-card-drag-text className=\"text-sm font-sans font-bold text-grey-800 transition-all group-hover:text-grey-800\">{text}</span>\n );\n};\n\nexport function MediaPlaceholder({desc, Icon, filePicker, size, handleDrag, handleDrop, isDraggedOver, ...props}) {\n return (\n <div\n onDragEnter={handleDrag} \n onDragLeave={handleDrag} \n onDragOver={handleDrag}\n onDrop={handleDrop}\n className=\"border border-transparent\" {...props}>\n <div className={`h-100 relative flex items-center justify-center border border-grey/20 bg-grey-50 ${size === 'xsmall' ? 'before:pb-[12.5%]' : 'before:pb-[62.5%]'}`}>\n {\n isDraggedOver ?\n <CardText text=\"Drop it like it's hot 🔥\" />\n :\n <button onClick={filePicker} name=\"placeholder-button\" className={`group flex cursor-pointer items-center justify-center ${size === 'xsmall' ? 'p-4' : 'p-20 flex-col'}`}>\n <Icon className={`opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100 ${size === 'large' ? 'h-20 w-20 text-grey' : size === 'small' ? 'h-14 w-14 text-grey' : size === 'xsmall' ? 'w-6 h-6 mr-3 text-grey-700' : 'h-16 w-16 text-grey'}`} />\n <p className={`font-sans text-sm font-normal text-grey-700 transition-all group-hover:text-grey-800 ${size === 'xsmall' ? '' : 'mt-4'}`}>{desc}</p>\n </button>\n }\n </div>\n </div>\n );\n}\n","// Triggers the file selection dialog from a given referenced element\n\nexport function openFileSelection({fileInputRef}) {\n fileInputRef.current.click();\n}","export function ImageUploadForm({onFileChange, fileInputRef}) {\n return (\n <form onChange={onFileChange}>\n <input\n name=\"image-input\"\n type='file'\n accept='image/*'\n ref={fileInputRef}\n hidden={true}\n />\n </form>\n );\n}\n\nexport default ImageUploadForm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {CardCaptionEditor} from '../CardCaptionEditor';\nimport {MediaPlaceholder} from '../MediaPlaceholder';\nimport {ReactComponent as ImgPlaceholderIcon} from '../../../assets/icons/kg-img-placeholder.svg';\nimport {openFileSelection} from '../../../utils/openFileSelection';\nimport ImageUploadForm from '../ImageUploadForm';\n\nfunction PopulatedImageCard({src, alt}) {\n return (\n <img src={src} alt={alt} />\n );\n}\n\nfunction ImageProgressCard({previewSrc, progress}) {\n const progressStyle = {\n width: `${progress.toFixed(0)}%`\n };\n return (\n <div>\n <img classname=\"opacity-40\" src={previewSrc} alt={`upload in progress, ${progress} `} />\n <div className=\"absolute inset-0 flex items-center min-w-full bg-white/50 justify-center overflow-hidden\">\n <div className=\"not-kg-prose bg-grey-200 rounded-full shadow w-[60%]\">\n <div className=\"bg-green rounded-full text-xs leading-none py-1 text-center text-white\" style={progressStyle}></div>\n </div>\n </div>\n </div>\n );\n}\n\nfunction EmptyImageCard({onFileChange, setFileInputRef, handleDrag, handleDrop, isDraggedOver}) {\n const fileInputRef = React.useRef(null);\n\n const onFileInputRef = (element) => {\n fileInputRef.current = element;\n setFileInputRef(fileInputRef);\n };\n\n return (\n <>\n <MediaPlaceholder\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n filePicker={() => openFileSelection({fileInputRef})}\n desc=\"Click to select an image\"\n Icon={ImgPlaceholderIcon}\n isDraggedOver={isDraggedOver}\n />\n <ImageUploadForm\n filePicker={() => openFileSelection({fileInputRef})}\n onFileChange={onFileChange}\n fileInputRef={onFileInputRef}\n />\n </>\n );\n}\n\nconst ImageHolder = ({\n src,\n altText,\n previewSrc,\n uploadProgress,\n onFileChange,\n setFileInputRef,\n handleDrag,\n handleDrop,\n isDraggedOver\n}) => {\n if (previewSrc && !src && uploadProgress > 0) {\n return (\n <ImageProgressCard \n previewSrc={previewSrc} \n progress={uploadProgress} \n />\n );\n } else if (src && !previewSrc) {\n return (\n <PopulatedImageCard \n src={src} \n alt={altText} \n />\n );\n } else {\n return (\n <EmptyImageCard\n handleDrag={handleDrag} \n onFileChange={onFileChange} \n setFileInputRef={setFileInputRef}\n handleDrop={handleDrop}\n isDraggedOver={isDraggedOver}\n />\n );\n }\n};\n\nexport function ImageCard({\n isSelected,\n src,\n onFileChange,\n caption,\n setCaption,\n altText,\n setAltText,\n setFigureRef,\n fileInputRef,\n handleDrag,\n handleDrop,\n isDraggedOver,\n cardWidth,\n previewSrc,\n uploadProgress\n}) {\n const figureRef = React.useRef(null);\n\n React.useEffect(() => {\n if (setFigureRef) {\n setFigureRef(figureRef);\n }\n }, [figureRef, setFigureRef]);\n\n const setFileInputRef = (ref) => {\n if (fileInputRef) {\n fileInputRef.current = ref.current;\n }\n };\n return (\n <>\n <figure data-kg-card-width={cardWidth} ref={figureRef}>\n <ImageHolder\n src={src}\n altText={altText}\n previewSrc={previewSrc}\n uploadProgress={uploadProgress}\n onFileChange={onFileChange}\n setFileInputRef={setFileInputRef}\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n isDraggedOver={isDraggedOver}\n />\n <CardCaptionEditor\n altText={altText || ''}\n setAltText={setAltText}\n altTextPlaceholder=\"Type alt text for image (optional)\"\n caption={caption || ''}\n setCaption={setCaption}\n captionPlaceholder=\"Type caption for image (optional)\"\n isSelected={isSelected}\n />\n </figure>\n </>\n );\n}\n\nImageCard.propTypes = {\n isSelected: PropTypes.bool,\n setAltText: PropTypes.func,\n caption: PropTypes.string,\n altText: PropTypes.string,\n setCaption: PropTypes.func,\n src: PropTypes.string,\n isDraggedOver: PropTypes.bool,\n previewSrc: PropTypes.string,\n uploadProgress: PropTypes.number\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPHBhdGggZD0iTTE2LjE5IDMuNTFhLjUxLjUxIDAgMCAwLS43MSAwTDQuMDcgMTQuOTJhLjUuNSAwIDAgMCAwIC43MWw0LjI4IDQuMjhhLjQ4LjQ4IDAgMCAwIC43IDBMMjAuNDcgOC41YS41MS41MSAwIDAgMCAwLS43MVpNMyAxNi43MWEuNTEuNTEgMCAwIDAtLjQ3LS4xMy40OC40OCAwIDAgMC0uMzYuMzNMMCAyMy4zM2EuNDkuNDkgMCAwIDAgLjEyLjUxLjUuNSAwIDAgMCAuNTQuMTZsNi40Mi0yLjE0YS41Mi41MiAwIDAgMCAuMzMtLjM2LjQ5LjQ5IDAgMCAwLS4xNC0uNVpNMjMgMWEzLjYgMy42IDAgMCAwLTUgMGwtLjcxLjcxYS41LjUgMCAwIDAgMCAuNzFsNC4yOCA0LjI4YS41MS41MSAwIDAgMCAuNyAwTDIzIDZhMy41MyAzLjUzIDAgMCAwIDAtNVoiLz4KPC9zdmc+\"","import {ReactComponent as BoldIcon} from '../../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as QuoteIcon} from '../../assets/icons/kg-quote.svg';\nimport {ReactComponent as QuoteOneIcon} from '../../assets/icons/kg-quote-1.svg';\nimport {ReactComponent as QuoteTwoIcon} from '../../assets/icons/kg-quote-2.svg';\nimport {ReactComponent as LinkIcon} from '../../assets/icons/kg-link.svg';\nimport {ReactComponent as ImageRegularIcon} from '../../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImageWideIcon} from '../../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImageFullIcon} from '../../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ImageReplaceIcon} from '../../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../../assets/icons/kg-add.svg';\nimport {ReactComponent as EditIcon} from '../../assets/icons/kg-edit.svg';\nimport {ReactComponent as SnippetIcon} from '../../assets/icons/kg-snippet.svg';\n\nexport const TOOLBAR_ICONS = {\n bold: BoldIcon,\n italic: ItalicIcon,\n headingOne: HeadingOneIcon,\n headingTwo: HeadingTwoIcon,\n quote: QuoteIcon,\n quoteOne: QuoteOneIcon,\n quoteTwo: QuoteTwoIcon,\n link: LinkIcon,\n imageRegular: ImageRegularIcon,\n imageWide: ImageWideIcon,\n imageFull: ImageFullIcon,\n imageReplace: ImageReplaceIcon,\n add: AddIcon,\n edit: EditIcon,\n snippet: SnippetIcon\n};\n\nexport function ToolbarMenu({children, ...props}) {\n return (\n <ul className=\"m-0 relative flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white after:absolute after:top-[36px] after:left-[calc(50%-8px)] after:w-0 after:border-t-8 after:border-t-black after:border-x-8 after:border-x-transparent\" {...props}>\n {children}\n </ul>\n );\n}\n\nexport function ToolbarMenuItem({label, isActive, onClick, icon, ...props}) {\n const Icon = TOOLBAR_ICONS[icon];\n\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <button\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n onClick={onClick}\n aria-label={label}\n data-kg-active={isActive}\n >\n <Icon className={isActive ? 'fill-green' : 'fill-white'} />\n </button>\n </li>\n );\n}\n\nexport function ToolbarMenuSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n}\n","import React from 'react';\n\nexport function ActionToolbar({isVisible, children, ...props}) {\n if (isVisible) {\n return (\n <div className=\"not-kg-prose absolute top-[-44px] left-1/2 -translate-x-1/2 z-[1000]\" {...props}>\n {children}\n </div>\n );\n }\n}\n","// gets image dimensions from a given Url\n\nexport async function getImageDimensions(url) {\n const img = new Image();\n img.src = url;\n return new Promise((resolve, reject) => {\n img.onload = () => {\n resolve({width: img.naturalWidth, height: img.naturalHeight});\n };\n img.onerror = reject;\n });\n}\n","import {$getNodeByKey} from 'lexical';\nimport {getImageDimensions} from './getImageDimensions';\n\nexport const imageUploadHandler = async (files, nodeKey, editor, imageUploader) => {\n if (!files) {\n return;\n }\n let url = URL.createObjectURL(files[0]);\n if (url) {\n await editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setPreviewSrc(url);\n });\n }\n const {width, height} = await getImageDimensions(url);\n const fileSrc = await imageUploader.imageUploader(files);\n await editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setImgWidth(width);\n node.setImgHeight(height);\n node.setSrc(fileSrc.src);\n });\n return;\n};\n","import React from 'react';\nimport {$getNodeByKey} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport CardContext from '../context/CardContext';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {ImageCard} from '../components/ui/cards/ImageCard';\nimport {ToolbarMenu, ToolbarMenuItem, ToolbarMenuSeparator} from '../components/ui/ToolbarMenu';\nimport {ActionToolbar} from '../components/ui/ActionToolbar';\nimport {ImageUploadForm} from '../components/ui/ImageUploadForm';\nimport {openFileSelection} from '../utils/openFileSelection';\nimport {imageUploadHandler} from '../utils/imageUploadHandler';\n\nexport function ImageNodeComponent({nodeKey, src, altText, caption, triggerFileDialog, previewSrc}) {\n const [editor] = useLexicalComposerContext();\n const [dragOver, setDragOver] = React.useState(false);\n const {imageUploader} = React.useContext(KoenigComposerContext);\n const {isSelected, cardWidth, setCardWidth} = React.useContext(CardContext);\n const fileInputRef = React.useRef();\n const toolbarFileInputRef = React.useRef();\n\n const onFileChange = async (e) => {\n const fls = e.target.files;\n return await imageUploadHandler(fls, nodeKey, editor, imageUploader);\n };\n\n const setCaption = (newCaption) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCaption(newCaption);\n });\n };\n\n const setAltText = (newAltText) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setAltText(newAltText);\n });\n };\n\n // when card is inserted from the card menu or slash command we want to show the file picker immediately\n // uses a setTimeout to avoid issues with React rendering the component twice in dev mode 🙈\n React.useEffect(() => {\n if (!triggerFileDialog) {\n return;\n }\n\n const renderTimeout = setTimeout(() => {\n // trigger dialog\n openFileSelection({fileInputRef});\n\n // clear the property on the node so we don't accidentally trigger anything with a re-render\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setTriggerFileDialog(false);\n });\n });\n\n return (() => {\n clearTimeout(renderTimeout);\n });\n });\n\n const handleImageCardResize = (newWidth) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCardWidth(newWidth); // this is a property on the node, not the card\n setCardWidth(newWidth); // sets the state of the toolbar component\n });\n };\n\n const handleDrag = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.type === 'dragenter' || e.type === 'dragover') {\n setDragOver(true);\n } else if (e.type === 'dragleave') {\n setDragOver(false);\n }\n return;\n };\n\n const handleDrop = async (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files && e.dataTransfer.files[0]) {\n const fls = e.dataTransfer.files;\n if (fls) {\n setDragOver(false);\n await imageUploadHandler(fls, nodeKey, editor, imageUploader);\n }\n }\n };\n\n const uploadProgress = imageUploader?.uploadProgress || 0;\n\n return (\n <>\n <ImageCard\n isSelected={isSelected}\n fileInputRef={fileInputRef}\n onFileChange={onFileChange}\n src={src}\n altText={altText}\n setAltText={setAltText}\n caption={caption}\n setCaption={setCaption}\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n isDraggedOver={dragOver}\n cardWidth={cardWidth}\n previewSrc={previewSrc}\n uploadProgress={uploadProgress}\n />\n <ActionToolbar\n isVisible={src && isSelected}\n data-kg-card-toolbar=\"image\"\n >\n <ImageUploadForm\n onFileChange={onFileChange}\n fileInputRef={toolbarFileInputRef}\n />\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Regular\" icon=\"imageRegular\" isActive={cardWidth === 'regular' ? true : false} onClick={() => handleImageCardResize('regular')} />\n <ToolbarMenuItem label=\"Wide\" icon=\"imageWide\" isActive={cardWidth === 'wide' ? true : false} onClick={() => handleImageCardResize('wide')}/>\n <ToolbarMenuItem label=\"Full\" icon=\"imageFull\" isActive={cardWidth === 'full' ? true : false} onClick={() => handleImageCardResize('full')} />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Link\" icon=\"link\" isActive={false} />\n <ToolbarMenuItem label=\"Replace\" icon=\"imageReplace\" isActive={false} onClick={() => openFileSelection({fileInputRef: toolbarFileInputRef})} />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Snippet\" icon=\"snippet\" isActive={false} />\n </ToolbarMenu>\n </ActionToolbar>\n </>\n );\n}\n","import React from 'react';\nimport {DecoratorNode, createCommand} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\n// import KoenigComposerContext from '../context/KoenigComposerContext';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ImageNodeComponent} from './ImageNodeComponent';\nexport const INSERT_IMAGE_COMMAND = createCommand();\nexport const UPLOAD_IMAGE_COMMAND = createCommand();\n\nfunction convertImageElement(domNode) {\n if (domNode instanceof HTMLImageElement) {\n const {alt: altText, src} = domNode;\n const node = $createImageNode({altText, src});\n return {node};\n }\n // TODO: add <figure> and other handling from kg-parser-plugins\n return null;\n}\n\nexport class ImageNode extends DecoratorNode {\n // payload properties\n __src;\n __caption;\n __altText;\n __cardWidth;\n __width;\n __height;\n\n // TODO: does this belong on the node? If we're storing progress here because\n // the node might be re-created whilst uploading then wouldn't we need file\n // refs too?\n // ;\n\n // transient properties used to control node behaviour\n __triggerFileDialog = false;\n __previewSrc = null;\n\n static getType() {\n return 'image';\n }\n\n static kgMenu = {\n label: 'Image',\n desc: 'Upload, or embed with /image [url]',\n Icon: ImageCardIcon,\n insertCommand: INSERT_IMAGE_COMMAND,\n insertParams: {\n triggerFileDialog: true\n },\n matches: ['image', 'img'],\n queryParams: ['src']\n };\n\n static clone(node) {\n return new ImageNode(\n {\n src: node.__src,\n caption: node.__caption,\n altText: node.__altText,\n cardWidth: node.__cardWidth,\n width: node.__width,\n height: node.__height\n },\n node.__key\n );\n }\n\n // from https://github.com/TryGhost/Ghost/blob/main/ghost/admin/app/components/gh-image-uploader.js#L18\n static extensionTypes = ['gif', 'jpg', 'jpeg', 'png', 'svg', 'svgz', 'webp'];\n static mimeTypes = ['image/gif', 'image/jpg', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];\n\n static importJSON(serializedNode) {\n const {caption, altText, src, cardWidth, width, height} = serializedNode;\n const node = $createImageNode({\n altText,\n caption,\n src,\n cardWidth,\n width,\n height\n });\n return node;\n }\n\n exportDOM(){\n const element = document.createElement('figure');\n const img = document.createElement('img');\n const figcaption = document.createElement('figcaption');\n img.src = this.getSrc();\n figcaption.innerHTML = this.getCaption();\n element.appendChild(img);\n element.appendChild(figcaption);\n return {element};\n }\n\n static importDom() {\n return {\n img: (node = Node) => ({\n conversion: convertImageElement,\n priority: 1\n })\n };\n }\n\n constructor({src, caption, altText, cardWidth, triggerFileDialog, width, height, previewSrc} = {}, key) {\n super(key);\n this.__caption = caption || '';\n this.__altText = altText || '';\n this.__src = src || '';\n this.__previewSrc = previewSrc || '';\n this.__cardWidth = cardWidth || 'regular';\n this.__triggerFileDialog = triggerFileDialog || false;\n this.__width = width || null;\n this.__height = height || null;\n }\n\n exportJSON() {\n // checks if src is a data string\n const src = this.getSrc();\n const isBlob = src.startsWith('data:');\n const dataset = {\n altText: this.getAltText(),\n caption: this.getCaption(),\n src: isBlob ? '<base64String>' : this.getSrc(),\n type: 'image',\n cardWidth: this.getCardWidth(),\n width: this.getImgWidth(),\n height: this.getImgHeight()\n };\n return dataset;\n }\n\n createDOM() {\n const element = document.createElement('div');\n return element;\n }\n\n updateDOM() {\n return false;\n }\n\n isInline() {\n return false;\n }\n\n getSrc() {\n return this.__src;\n }\n\n setSrc(src) {\n const writable = this.getWritable();\n return writable.__src = src;\n }\n\n getPreviewSrc() {\n return this.__previewSrc;\n }\n\n setPreviewSrc(previewSrc) {\n const writable = this.getWritable();\n return writable.__previewSrc = previewSrc;\n }\n\n setCardWidth(cardWidth) {\n const writable = this.getWritable();\n return writable.__cardWidth = cardWidth;\n }\n\n getCardWidth() {\n return this.__cardWidth;\n }\n\n getImgWidth() {\n return this.__width;\n }\n\n setImgWidth(width) {\n const writable = this.getWritable();\n return writable.__width = width;\n }\n\n getImgHeight() {\n return this.__height;\n }\n\n setImgHeight(height) {\n const writable = this.getWritable();\n return writable.__height = height;\n }\n\n getCaption() {\n return this.__caption;\n }\n\n setCaption(caption) {\n const writable = this.getWritable();\n return writable.__caption = caption;\n }\n\n getAltText() {\n return this.__altText;\n }\n\n setAltText(altText) {\n const writable = this.getWritable();\n return writable.__altText = altText;\n }\n\n setTriggerFileDialog(shouldTrigger) {\n const writable = this.getWritable();\n return writable.__triggerFileDialog = shouldTrigger;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} width={this.__cardWidth}>\n <ImageNodeComponent\n nodeKey={this.getKey()}\n src={this.__src}\n altText={this.__altText}\n caption={this.__caption}\n triggerFileDialog={this.__triggerFileDialog}\n previewSrc={this.getPreviewSrc()}\n />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport const $createImageNode = (dataset) => {\n // don't trigger the file dialog when rendering if we've already been given a url\n if (dataset.src) {\n delete dataset.triggerFileDialog;\n }\n\n return new ImageNode(dataset);\n};\n\nexport function $isImageNode(node) {\n return node instanceof ImageNode;\n}\n\nexport default ImageNode;\n","import {ListItemNode, ListNode} from '@lexical/list';\nimport {HeadingNode, QuoteNode} from '@lexical/rich-text';\nimport {LinkNode} from '@lexical/link';\nimport {AsideNode} from './AsideNode';\nimport {HorizontalRuleNode} from './HorizontalRuleNode';\nimport {CodeBlockNode} from './CodeBlockNode';\nimport {ImageNode} from './ImageNode';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode,\n HorizontalRuleNode,\n ImageNode\n];\n\nexport default DEFAULT_NODES;\n","const defaultTheme = {\n paragraph: undefined,\n heading: {\n h1: undefined,\n h2: undefined,\n h3: undefined,\n h4: undefined,\n h5: undefined,\n h6: undefined\n },\n quote: undefined,\n aside: undefined,\n list: {\n nested: {\n listitem: '!list-none'\n },\n ol: undefined,\n ul: undefined,\n listitem: undefined\n },\n link: undefined,\n text: {\n bold: undefined,\n italic: 'italic',\n overflowed: undefined,\n hashtag: undefined,\n underline: undefined,\n strikethrough: undefined,\n underlinestrikethrough: undefined,\n code: undefined\n },\n code: undefined\n};\n\nexport default defaultTheme;\n","import React from 'react';\nimport {LexicalComposer} from '@lexical/react/LexicalComposer';\nimport DEFAULT_NODES from '../nodes/DefaultNodes';\nimport defaultTheme from '../themes/default';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\n\n// Catch any errors that occur during Lexical updates and log them\n// or throw them as needed. If you don't throw them, Lexical will\n// try to recover gracefully without losing user data.\nfunction defaultOnError(error) {\n console.error(error); // eslint-disable-line\n}\n\nconst defaultConfig = {\n namespace: 'KoenigEditor',\n theme: defaultTheme\n};\n\nconst KoenigComposer = ({\n initialEditorState,\n nodes = [...DEFAULT_NODES],\n onError = defaultOnError,\n imageUploadFunction,\n children\n}) => {\n const initialConfig = React.useMemo(() => {\n return Object.assign({}, defaultConfig, {\n nodes,\n editorState: initialEditorState,\n onError\n });\n }, [initialEditorState, nodes, onError]);\n\n const editorContainerRef = React.useRef(null);\n\n const imageUploader = imageUploadFunction || function () {\n console.error('requires imageUploadFunction to be passed to KoenigComposer component, eg <KoenigComposer imageUploadFunction={function} />'); // eslint-disable-line no-console\n return;\n };\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n <KoenigComposerContext.Provider value={{imageUploader, editorContainerRef}}>\n {children}\n </KoenigComposerContext.Provider>\n </LexicalComposer>\n );\n};\n\nexport default KoenigComposer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 h=require(\"lexical\");function r(c,e=!0){if(c)return!1;c=t();e&&(c=c.trim());return\"\"===c}function t(){return h.$getRoot().getTextContent()}function u(c,e){if(!e||!r(c,!1))return!1;c=h.$getRoot().getChildren();e=c.length;if(1<e)return!1;for(let f=0;f<e;f++){var b=c[f];if(h.$isElementNode(b)){if(\"paragraph\"!==b.__type||0!==b.__indent)return!1;b=b.getChildren();let n=b.length;for(let p=0;p<n;p++)if(!h.$isTextNode(b[f]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(c,e){return()=>u(c,e)};exports.$findTextIntersectionFromCharacters=function(c,e){var b=c.getFirstChild();c=0;a:for(;null!==b;){if(h.$isElementNode(b)){var f=b.getFirstChild();if(null!==f){b=f;continue}}else if(h.$isTextNode(b)){f=b.getTextContentSize();if(c+f>e)return{node:b,offset:e-c};c+=f}f=b.getNextSibling();if(null!==f)b=f;else{for(b=b.getParent();null!==b;){f=b.getNextSibling();if(null!==f){b=f;continue a}b=b.getParent()}break}}return null};\nexports.$isRootTextContentEmpty=r;exports.$isRootTextContentEmptyCurry=function(c,e){return()=>r(c,e)};exports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(c,e,b,f){let n=a=>{const d=h.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},p=c.registerNodeTransform(h.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(h.$isTextNode(d)){var k=d.getTextContent(),g=e(k+l);if(d instanceof b){if(null===g||0!==d.getLatest().__mode){n(d);return}g=g.end-k.length;if(0<g){m=l.slice(0,g);m=k+m;d.select();d.setTextContent(m);g===l.length?a.remove():(d=l.slice(g),\na.setTextContent(d));return}}else if(null===g||g.start<k.length)return}for(;;){a=e(l);l=g=null===a?\"\":l.slice(a.end);if(\"\"===g){if(k=m.getNextSibling(),h.$isTextNode(k))if(g=m.getTextContent()+k.getTextContent(),g=e(g),null===g){k instanceof b?n(k):k.markDirty();break}else if(0!==g.start)break}else if(k=e(g),null!==k&&0===k.start)break;if(null===a)break;if(0===a.start&&h.$isTextNode(d)&&d.isTextEntity())continue;let q;0===a.start?[q,m]=m.splitText(a.end):[,q,m]=m.splitText(a.start,a.end);a=f(q);q.replace(a);\nif(null==m)break}}});c=c.registerNodeTransform(b,a=>{var d=a.getTextContent();const l=e(d);null===l||0!==l.start?n(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),n(a)),d=a.getNextSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),a instanceof b&&n(a)))});return[p,c]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalText = process.env.NODE_ENV === 'development' ? require('./LexicalText.dev.js') : require('./LexicalText.prod.js')\nmodule.exports = LexicalText;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 g=require(\"lexical\");\nexports.registerDragonSupport=function(l){let r=m=>{var h=l.getRootElement();if(document.activeElement===h&&(h=m.data,\"string\"===typeof h)){try{var a=JSON.parse(h)}catch(k){return}if(a&&\"nuanria_messaging\"===a.protocol&&\"request\"===a.type&&(a=a.payload)&&\"makeChanges\"===a.functionId&&(a=a.args)){const [k,n,p,q,t]=a;l.update(()=>{const f=g.$getSelection();if(g.$isRangeSelection(f)){var e=f.anchor;let b=e.getNode(),c=0,d=0;g.$isTextNode(b)&&0<=k&&0<=n&&(c=k,d=k+n,f.setTextNodeRange(b,c,b,d));if(c!==\nd||\"\"!==p)f.insertRawText(p),b=e.getNode();g.$isTextNode(b)&&(c=q,d=q+t,e=b.getTextContentSize(),c=c>e?e:c,d=d>e?e:d,f.setTextNodeRange(b,c,b,d));m.stopImmediatePropagation()}})}}};window.addEventListener(\"message\",r,!0);return()=>{window.removeEventListener(\"message\",r,!0)}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalDragon = process.env.NODE_ENV === 'development' ? require('./LexicalDragon.dev.js') : require('./LexicalDragon.prod.js')\nmodule.exports = LexicalDragon;","/**\n * Copyright (c) Meta Platforms, Inc. and 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=require(\"@lexical/react/LexicalComposerContext\"),h=require(\"react\"),l=require(\"@lexical/text\"),m=require(\"@lexical/utils\"),n=require(\"react-dom\"),q=require(\"@lexical/dragon\"),r=require(\"@lexical/rich-text\"),t=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?h.useLayoutEffect:h.useEffect;function u(a){return a.getEditorState().read(l.$canShowPlaceholderCurry(a.isComposing(),a.isEditable()))}\nfunction v(a){let [f,d]=h.useState(()=>u(a));t(()=>{function c(){let e=u(a);d(e)}c();return m.mergeRegister(a.registerUpdateListener(()=>{c()}),a.registerEditableListener(()=>{c()}))},[a]);return f}\nfunction w(a,f){let [d,c]=h.useState(()=>a.getDecorators());t(()=>a.registerDecoratorListener(e=>{n.flushSync(()=>{c(e)})}),[a]);h.useEffect(()=>{c(a.getDecorators())},[a]);return h.useMemo(()=>{let e=[],p=Object.keys(d);for(let k=0;k<p.length;k++){var g=p[k];let y=h.createElement(f,{onError:x=>a._onError(x)},h.createElement(h.Suspense,{fallback:null},d[g]));g=a.getElementByKey(g);null!==g&&e.push(n.createPortal(y,g))}return e},[f,d,a])}\nfunction z(a){t(()=>m.mergeRegister(r.registerRichText(a),q.registerDragonSupport(a)),[a])}exports.RichTextPlugin=function({contentEditable:a,placeholder:f,ErrorBoundary:d}){let [c]=b.useLexicalComposerContext(),e=v(c);d=w(c,d);z(c);return h.createElement(h.Fragment,null,a,e&&f,d)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalRichTextPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalRichTextPlugin.dev.js') : require('./LexicalRichTextPlugin.prod.js')\nmodule.exports = LexicalRichTextPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 h=require(\"react\");function m(b,c){m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,a){g.__proto__=a;return g};return m(b,c)}function n(b,c){b.prototype=Object.create(c.prototype);b.prototype.constructor=b;m(b,c)}function r(b,c){void 0===b&&(b=[]);void 0===c&&(c=[]);return b.length!==c.length||b.some(function(g,a){return!Object.is(g,c[a])})}\nvar t={error:null},u=function(b){function c(){for(var a,d=arguments.length,f=Array(d),e=0;e<d;e++)f[e]=arguments[e];a=b.call.apply(b,[this].concat(f))||this;a.state=t;a.resetErrorBoundary=function(){for(var k,p=arguments.length,q=Array(p),l=0;l<p;l++)q[l]=arguments[l];null==a.props.onReset?void 0:(k=a.props).onReset.apply(k,q);a.reset()};return a}n(c,b);c.getDerivedStateFromError=function(a){return{error:a}};var g=c.prototype;g.reset=function(){this.setState(t)};g.componentDidCatch=function(a,d){var f,\ne;null==(f=(e=this.props).onError)?void 0:f.call(e,a,d)};g.componentDidUpdate=function(a,d){var f=this.props.resetKeys;if(null!==this.state.error&&null!==d.error&&r(a.resetKeys,f)){var e,k;null==(e=(k=this.props).onResetKeysChange)?void 0:e.call(k,a.resetKeys,f);this.reset()}};g.render=function(){var a=this.state.error,d=this.props,f=d.fallbackRender,e=d.FallbackComponent;d=d.fallback;if(null!==a){a={error:a,resetErrorBoundary:this.resetErrorBoundary};if(h.isValidElement(d))return d;if(\"function\"===\ntypeof f)return f(a);if(e)return h.createElement(e,a);throw Error(\"react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop\");}return this.props.children};return c}(h.Component);module.exports=function({children:b,onError:c}){return h.createElement(u,{fallback:h.createElement(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"}},\"An error was thrown.\"),onError:c},b)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalErrorBoundary = process.env.NODE_ENV === 'development' ? require('./LexicalErrorBoundary.dev.js') : require('./LexicalErrorBoundary.prod.js')\nmodule.exports = LexicalErrorBoundary;","/**\n * Copyright (c) Meta Platforms, Inc. and 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=require(\"@lexical/react/LexicalComposerContext\"),k=require(\"react\"),l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?k.useLayoutEffect:k.useEffect;\nexports.ContentEditable=function({ariaActiveDescendantID:m,ariaAutoComplete:n,ariaControls:p,ariaDescribedBy:q,ariaExpanded:r,ariaLabel:t,ariaLabelledBy:u,ariaMultiline:v,ariaOwneeID:w,ariaRequired:x,autoCapitalize:e,autoComplete:y,autoCorrect:f,className:z,id:A,role:g=\"textbox\",spellCheck:B=!0,style:C,tabIndex:D,testid:E}){let [c]=b.useLexicalComposerContext(),[a,h]=k.useState(!1),F=k.useCallback(d=>{c.setRootElement(d)},[c]);l(()=>{h(c.isEditable());return c.registerEditableListener(d=>{h(d)})},\n[c]);return k.createElement(\"div\",{\"aria-activedescendant\":a?m:null,\"aria-autocomplete\":a?n:null,\"aria-controls\":a?p:null,\"aria-describedby\":q,\"aria-expanded\":a?\"combobox\"===g?!!r:null:null,\"aria-label\":t,\"aria-labelledby\":u,\"aria-multiline\":v,\"aria-owns\":a?w:null,\"aria-required\":x,autoCapitalize:void 0!==e?String(e):void 0,autoComplete:y,autoCorrect:void 0!==f?String(f):void 0,className:z,contentEditable:a,\"data-testid\":E,id:A,ref:F,role:a?g:void 0,spellCheck:B,style:C,tabIndex:D})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalContentEditable = process.env.NODE_ENV === 'development' ? require('./LexicalContentEditable.dev.js') : require('./LexicalContentEditable.prod.js')\nmodule.exports = LexicalContentEditable;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 d=require(\"@lexical/utils\"),u=require(\"lexical\");\nfunction v(b,a,m,k,p){if(null===b||0===m.size&&0===k.size&&!p)return 0;var f=a._selection,c=b._selection;if(p)return 1;if(!(u.$isRangeSelection(f)&&u.$isRangeSelection(c)&&c.isCollapsed()&&f.isCollapsed()))return 0;p=a._nodeMap;let e=[];for(let g of m)m=p.get(g),void 0!==m&&e.push(m);for(let [g,n]of k)n&&(k=p.get(g),void 0===k||u.$isRootNode(k)||e.push(k));if(0===e.length)return 0;if(1<e.length)return k=a._nodeMap,a=k.get(f.anchor.key),c=k.get(c.anchor.key),a&&c&&!b._nodeMap.has(a.__key)&&u.$isTextNode(a)&&\n1===a.__text.length&&1===f.anchor.offset?2:0;a=e[0];b=b._nodeMap.get(a.__key);if(!u.$isTextNode(b)||!u.$isTextNode(a)||b.__mode!==a.__mode)return 0;b=b.__text;a=a.__text;if(b===a)return 0;f=f.anchor;c=c.anchor;if(f.key!==c.key||\"text\"!==f.type)return 0;f=f.offset;c=c.offset;b=a.length-b.length;return 1===b&&c===f-1?2:-1===b&&c===f+1?3:-1===b&&c===f?4:0}\nfunction w(b,a){let m=Date.now(),k=0;return(p,f,c,e,g,n)=>{let r=Date.now();if(n.has(\"historic\"))return k=0,m=r,2;let q=v(p,f,e,g,b.isComposing()),t=(()=>{var l=null===c||c.editor===b,h=n.has(\"history-push\");if(!h&&l&&n.has(\"history-merge\"))return 0;if(null===p)return 1;const x=f._selection,y=p._selection;return 0<e.size||0<g.size?!1===h&&0!==q&&q===k&&r<m+a&&l||1===e.size&&(h=Array.from(e)[0],l=p._nodeMap.get(h),h=f._nodeMap.get(h),l=u.$isTextNode(l)&&u.$isTextNode(h)?l.__type===h.__type&&l.__text===\nh.__text&&l.__mode===h.__mode&&l.__detail===h.__detail&&l.__style===h.__style&&l.__format===h.__format&&l.__parent===h.__parent:!1,l)?0:1:null===y&&null!==x?0:2})();m=r;k=q;return t}}exports.createEmptyHistoryState=function(){return{current:null,redoStack:[],undoStack:[]}};\nexports.registerHistory=function(b,a,m){let k=w(b,m);m=({editorState:c,prevEditorState:e,dirtyLeaves:g,dirtyElements:n,tags:r})=>{const q=a.current,t=a.redoStack,l=a.undoStack,h=null===q?null:q.editorState;if(null===q||c!==h){g=k(e,c,q,g,n,r);if(1===g)0!==t.length&&(a.redoStack=[]),null!==q&&(l.push({...q,undoSelection:e.read(u.$getSelection)}),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));else if(2===g)return;a.current={editor:b,editorState:c}}};let p=d.mergeRegister(b.registerCommand(u.UNDO_COMMAND,\n()=>{let c=a.redoStack,e=a.undoStack;if(0!==e.length){let g=a.current,n=e.pop();null!==g&&(c.push(g),b.dispatchCommand(u.CAN_REDO_COMMAND,!0));0===e.length&&b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);a.current=n||null;n&&n.editor.setEditorState(n.editorState.clone(n.undoSelection),{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.REDO_COMMAND,()=>{let c=a.redoStack;var e=a.undoStack;if(0!==c.length){let g=a.current;null!==g&&(e.push(g),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));\ne=c.pop();0===c.length&&b.dispatchCommand(u.CAN_REDO_COMMAND,!1);a.current=e||null;e&&e.editor.setEditorState(e.editorState,{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_EDITOR_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;return!1},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_HISTORY_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;b.dispatchCommand(u.CAN_REDO_COMMAND,!1);b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);return!0},u.COMMAND_PRIORITY_EDITOR),\nb.registerUpdateListener(m)),f=b.registerUpdateListener(m);return()=>{p();f()}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalHistory = process.env.NODE_ENV === 'development' ? require('./LexicalHistory.dev.js') : require('./LexicalHistory.prod.js')\nmodule.exports = LexicalHistory;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"@lexical/react/LexicalComposerContext\"),history=require(\"@lexical/history\"),f=require(\"react\");function g(a,b,d=1E3){let e=f.useMemo(()=>b||history.createEmptyHistoryState(),[b]);f.useEffect(()=>history.registerHistory(a,e,d),[d,a,e])}exports.createEmptyHistoryState=history.createEmptyHistoryState;exports.HistoryPlugin=function({externalHistoryState:a}){let [b]=c.useLexicalComposerContext();g(b,a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalHistoryPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalHistoryPlugin.dev.js') : require('./LexicalHistoryPlugin.prod.js')\nmodule.exports = LexicalHistoryPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"react\"),g=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?f.useLayoutEffect:f.useEffect;\nexports.OnChangePlugin=function({ignoreHistoryMergeTagChange:d=!0,ignoreSelectionChange:e=!1,onChange:a}){let [b]=c.useLexicalComposerContext();g(()=>{if(a)return b.registerUpdateListener(({editorState:h,dirtyElements:k,dirtyLeaves:l,prevEditorState:m,tags:n})=>{e&&0===k.size&&0===l.size||d&&n.has(\"history-merge\")||m.isEmpty()||a(h,b)})},[b,d,e,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalOnChangePlugin = process.env.NODE_ENV === 'development' ? require('./LexicalOnChangePlugin.dev.js') : require('./LexicalOnChangePlugin.prod.js')\nmodule.exports = LexicalOnChangePlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and 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=require(\"@lexical/list\"),c=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"react\"),e=require(\"@lexical/utils\"),f=require(\"lexical\");\nfunction g(a){d.useEffect(()=>e.mergeRegister(a.registerCommand(f.INDENT_CONTENT_COMMAND,()=>{b.indentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.OUTDENT_CONTENT_COMMAND,()=>{b.outdentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_ORDERED_LIST_COMMAND,()=>{b.insertList(a,\"number\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_UNORDERED_LIST_COMMAND,()=>{b.insertList(a,\"bullet\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.REMOVE_LIST_COMMAND,\n()=>{b.removeList(a);return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.INSERT_PARAGRAPH_COMMAND,()=>b.$handleListInsertParagraph()?!0:!1,f.COMMAND_PRIORITY_LOW)),[a])}exports.ListPlugin=function(){let [a]=c.useLexicalComposerContext();d.useEffect(()=>{if(!a.hasNodes([b.ListNode,b.ListItemNode]))throw Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\");},[a]);g(a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalListPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalListPlugin.dev.js') : require('./LexicalListPlugin.prod.js')\nmodule.exports = LexicalListPlugin;","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {\n $createNodeSelection,\n $getSelection,\n $isDecoratorNode,\n $isNodeSelection,\n $isRangeSelection,\n $setSelection,\n $createTextNode,\n COMMAND_PRIORITY_HIGH,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n PASTE_COMMAND\n} from 'lexical';\n\nimport {$createLinkNode} from '@lexical/link';\nimport {mergeRegister} from '@lexical/utils';\n\nconst RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX = 10;\n\nfunction $selectDecoratorNode(node) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(node.getKey());\n $setSelection(nodeSelection);\n}\n\nfunction getTopLevelNativeElement(node) {\n if (node.nodeType === Node.TEXT_NODE) {\n node = node.parentNode;\n }\n\n const selector = '[data-lexical-editor] > *';\n return node.closest(selector);\n}\n\nfunction useKoenigBehaviour({editor, containerElem}) {\n // deselect cards on mousedown outside of the editor container\n React.useEffect(() => {\n const onMousedown = (event) => {\n if (!containerElem.current.contains(event.target)) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n $setSelection(null);\n }\n });\n }\n };\n\n window.addEventListener('mousedown', onMousedown);\n\n return () => {\n window.removeEventListener('mousedown', onMousedown);\n };\n }, [editor, containerElem]);\n\n // override built-in keyboard movement around card (DecoratorNode) boundaries,\n // cards should be selected on up/down and when deleting content around them\n React.useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n () => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const previousSibling = currentNode.getPreviousSibling();\n\n // do nothing if decorator node is top of document and selected\n // TODO: handle exposing this in some way so consuming app can\n // can control this behaviour\n if (!previousSibling) {\n return true;\n }\n\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const topLevelElement = selection.anchor.getNode().getTopLevelElement();\n const nativeSelection = window.getSelection();\n\n // empty paragraphs are odd because the native range won't\n // have a rect to compare positioning\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n const atStartOfElement =\n selection.anchor.offset === 0 &&\n selection.focus.offset === 0;\n\n if (onEmptyNode || atStartOfElement) {\n const previousSibling = topLevelElement.getPreviousSibling();\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n } else {\n const range = nativeSelection.getRangeAt(0).cloneRange();\n const rects = range.getClientRects();\n\n if (rects.length > 0) {\n // try second rect first because when the caret is at the beginning\n // of a line the first rect will be positioned on line above breaking\n // the top position check\n const rangeRect = rects[1] || rects[0];\n const nativeTopLevelElement = getTopLevelNativeElement(nativeSelection.anchorNode);\n const elemRect = nativeTopLevelElement.getBoundingClientRect();\n\n const atTopOfNode = Math.abs(rangeRect.top - elemRect.top) <= RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX;\n\n if (atTopOfNode) {\n const previousSibling = topLevelElement.getPreviousSibling();\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n }\n }\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n () => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const nextSibling = currentNode.getNextSibling();\n\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const topLevelElement = selection.anchor.getNode().getTopLevelElement();\n const nativeSelection = window.getSelection();\n const nativeTopLevelElement = getTopLevelNativeElement(nativeSelection.anchorNode);\n\n // empty paragraphs are odd because the native range won't\n // have a rect to compare positioning\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n const atEndOfElement =\n nativeSelection.rangeCount !== 0 &&\n nativeSelection.anchorNode === nativeTopLevelElement &&\n nativeSelection.anchorOffset === nativeTopLevelElement.children.length - 1 &&\n nativeSelection.focusOffset === nativeTopLevelElement.children.length - 1;\n\n if (onEmptyNode || atEndOfElement) {\n const nextSibling = topLevelElement.getNextSibling();\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n } else {\n const range = nativeSelection.getRangeAt(0).cloneRange();\n const rects = range.getClientRects();\n\n if (rects.length > 0) {\n const rangeRect = rects[0];\n const elemRect = nativeTopLevelElement.getBoundingClientRect();\n\n if (Math.abs(rangeRect.bottom - elemRect.bottom) < RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX) {\n const nextSibling = topLevelElement.getNextSibling();\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n }\n }\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand (\n PASTE_COMMAND,\n (clipboard) => {\n const clipboardDataset = clipboard?.clipboardData?.getData('text');\n const linkMatch = clipboardDataset?.match(/^(https?:\\/\\/[^\\s]+)$/); // replace with better regex to include more protocols like mailto, ftp, etc\n const selection = $getSelection();\n const selectionContent = selection.getTextContent();\n if (linkMatch && selectionContent.length > 0) {\n const link = linkMatch[1];\n if ($isRangeSelection(selection)) {\n const textNode = selection.extract()[0];\n const linkNode = $createLinkNode(link);\n const linkTextNode = $createTextNode(selectionContent);\n linkTextNode.setFormat(textNode.getFormat());\n linkNode.append(linkTextNode);\n textNode.replace(linkNode);\n }\n return true;\n }\n },\n COMMAND_PRIORITY_HIGH\n ));\n });\n\n return null;\n}\n\nexport default function KoenigBehaviourPlugin({containerElem = document.querySelector('.koenig-editor')}) {\n const [editor] = useLexicalComposerContext();\n return useKoenigBehaviour({editor, containerElem});\n}\n","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n","Prism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n","(function (Prism) {\n\n\t// Allow only one line break\n\tvar inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n\n\t/**\n\t * This function is intended for the creation of the bold or italic pattern.\n\t *\n\t * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n\t *\n\t * _Note:_ Keep in mind that this adds a capturing group.\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction createInline(pattern) {\n\t\tpattern = pattern.replace(/<inner>/g, function () { return inner; });\n\t\treturn RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n\t}\n\n\n\tvar tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n\tvar tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () { return tableCell; });\n\tvar tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n\n\n\tPrism.languages.markdown = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('markdown', 'prolog', {\n\t\t'front-matter-block': {\n\t\t\tpattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^---|---$/,\n\t\t\t\t'front-matter': {\n\t\t\t\t\tpattern: /\\S+(?:\\s+\\S+)*/,\n\t\t\t\t\talias: ['yaml', 'language-yaml'],\n\t\t\t\t\tinside: Prism.languages.yaml\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'blockquote': {\n\t\t\t// > ...\n\t\t\tpattern: /^>(?:[\\t ]*>)*/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n\t\t\tinside: {\n\t\t\t\t'table-data-rows': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-data': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-line': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\||:?-{3,}:?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-header-row': {\n\t\t\t\t\tpattern: RegExp('^' + tableRow + '$'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-header': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\talias: 'important',\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\t// Prefixed by 4 spaces or 1 tab and preceded by an empty line\n\t\t\t\tpattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ```optional language\n\t\t\t\t// code block\n\t\t\t\t// ```\n\t\t\t\tpattern: /^```[\\s\\S]*?^```$/m,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code-block': {\n\t\t\t\t\t\tpattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'code-language': {\n\t\t\t\t\t\tpattern: /^(```).+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /```/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'title': [\n\t\t\t{\n\t\t\t\t// title 1\n\t\t\t\t// =======\n\n\t\t\t\t// title 2\n\t\t\t\t// -------\n\t\t\t\tpattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /==+$|--+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// # title 1\n\t\t\t\t// ###### title 6\n\t\t\t\tpattern: /(^\\s*)#.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /^#+|#+$/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'hr': {\n\t\t\t// ***\n\t\t\t// ---\n\t\t\t// * * *\n\t\t\t// -----------\n\t\t\tpattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list': {\n\t\t\t// * item\n\t\t\t// + item\n\t\t\t// - item\n\t\t\t// 1. item\n\t\t\tpattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'url-reference': {\n\t\t\t// [id]: http://example.com \"Optional title\"\n\t\t\t// [id]: http://example.com 'Optional title'\n\t\t\t// [id]: http://example.com (Optional title)\n\t\t\t// [id]: <http://example.com> \"Optional title\"\n\t\t\tpattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /^(!?\\[)[^\\]]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n\t\t\t\t'punctuation': /^[\\[\\]!:]|[<>]/\n\t\t\t},\n\t\t\talias: 'url'\n\t\t},\n\t\t'bold': {\n\t\t\t// **strong**\n\t\t\t// __strong__\n\n\t\t\t// allow one nested instance of italic text using the same delimiter\n\t\t\tpattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^..)[\\s\\S]+(?=..$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*|__/\n\t\t\t}\n\t\t},\n\t\t'italic': {\n\t\t\t// *em*\n\t\t\t// _em_\n\n\t\t\t// allow one nested instance of bold text using the same delimiter\n\t\t\tpattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^.)[\\s\\S]+(?=.$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /[*_]/\n\t\t\t}\n\t\t},\n\t\t'strike': {\n\t\t\t// ~~strike through~~\n\t\t\t// ~strike~\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /~~?/\n\t\t\t}\n\t\t},\n\t\t'code-snippet': {\n\t\t\t// `code`\n\t\t\t// ``code``\n\t\t\tpattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: ['code', 'keyword']\n\t\t},\n\t\t'url': {\n\t\t\t// [example](http://example.com \"Optional title\")\n\t\t\t// [example][id]\n\t\t\t// [example] [id]\n\t\t\tpattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'operator': /^!/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /(^\\]\\()[^\\s)]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n\t\t['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {\n\t\t\tif (token !== inside) {\n\t\t\t\tPrism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n\t\t\t}\n\t\t});\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'markdown' && env.language !== 'md') {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction walkTokens(tokens) {\n\t\t\tif (!tokens || typeof tokens === 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = tokens.length; i < l; i++) {\n\t\t\t\tvar token = tokens[i];\n\n\t\t\t\tif (token.type !== 'code') {\n\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n\t\t\t\t * is optional. But the grammar is defined so that there is only one case we have to handle:\n\t\t\t\t *\n\t\t\t\t * token.content = [\n\t\t\t\t * <span class=\"punctuation\">```</span>,\n\t\t\t\t * <span class=\"code-language\">xxxx</span>,\n\t\t\t\t * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n\t\t\t\t * <span class=\"code-block\">...</span>,\n\t\t\t\t * '\\n', // exactly one new lines again\n\t\t\t\t * <span class=\"punctuation\">```</span>\n\t\t\t\t * ];\n\t\t\t\t */\n\n\t\t\t\tvar codeLang = token.content[1];\n\t\t\t\tvar codeBlock = token.content[3];\n\n\t\t\t\tif (codeLang && codeBlock &&\n\t\t\t\t\tcodeLang.type === 'code-language' && codeBlock.type === 'code-block' &&\n\t\t\t\t\ttypeof codeLang.content === 'string') {\n\n\t\t\t\t\t// this might be a language that Prism does not support\n\n\t\t\t\t\t// do some replacements to support C++, C#, and F#\n\t\t\t\t\tvar lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp');\n\t\t\t\t\t// only use the first word\n\t\t\t\t\tlang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n\t\t\t\t\tvar alias = 'language-' + lang;\n\n\t\t\t\t\t// add alias\n\t\t\t\t\tif (!codeBlock.alias) {\n\t\t\t\t\t\tcodeBlock.alias = [alias];\n\t\t\t\t\t} else if (typeof codeBlock.alias === 'string') {\n\t\t\t\t\t\tcodeBlock.alias = [codeBlock.alias, alias];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcodeBlock.alias.push(alias);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twalkTokens(env.tokens);\n\t});\n\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type !== 'code-block') {\n\t\t\treturn;\n\t\t}\n\n\t\tvar codeLang = '';\n\t\tfor (var i = 0, l = env.classes.length; i < l; i++) {\n\t\t\tvar cls = env.classes[i];\n\t\t\tvar match = /language-(.+)/.exec(cls);\n\t\t\tif (match) {\n\t\t\t\tcodeLang = match[1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar grammar = Prism.languages[codeLang];\n\n\t\tif (!grammar) {\n\t\t\tif (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n\t\t\t\tvar id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n\t\t\t\tenv.attributes['id'] = id;\n\n\t\t\t\tPrism.plugins.autoloader.loadLanguages(codeLang, function () {\n\t\t\t\t\tvar ele = document.getElementById(id);\n\t\t\t\t\tif (ele) {\n\t\t\t\t\t\tele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenv.content = Prism.highlight(textContent(env.content), grammar, codeLang);\n\t\t}\n\t});\n\n\tvar tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');\n\n\t/**\n\t * A list of known entity names.\n\t *\n\t * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n\t *\n\t * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n\t */\n\tvar KNOWN_ENTITY_NAMES = {\n\t\t'amp': '&',\n\t\t'lt': '<',\n\t\t'gt': '>',\n\t\t'quot': '\"',\n\t};\n\n\t// IE 11 doesn't support `String.fromCodePoint`\n\tvar fromCodePoint = String.fromCodePoint || String.fromCharCode;\n\n\t/**\n\t * Returns the text content of a given HTML source code string.\n\t *\n\t * @param {string} html\n\t * @returns {string}\n\t */\n\tfunction textContent(html) {\n\t\t// remove all tags\n\t\tvar text = html.replace(tagPattern, '');\n\n\t\t// decode known entities\n\t\ttext = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n\t\t\tcode = code.toLowerCase();\n\n\t\t\tif (code[0] === '#') {\n\t\t\t\tvar value;\n\t\t\t\tif (code[1] === 'x') {\n\t\t\t\t\tvalue = parseInt(code.slice(2), 16);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = Number(code.slice(1));\n\t\t\t\t}\n\n\t\t\t\treturn fromCodePoint(value);\n\t\t\t} else {\n\t\t\t\tvar known = KNOWN_ENTITY_NAMES[code];\n\t\t\t\tif (known) {\n\t\t\t\t\treturn known;\n\t\t\t\t}\n\n\t\t\t\t// unable to decode\n\t\t\t\treturn m;\n\t\t\t}\n\t\t});\n\n\t\treturn text;\n\t}\n\n\tPrism.languages.md = Prism.languages.markdown;\n\n}(Prism));\n","Prism.languages.c = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://en.cppreference.com/w/c/language/string_literal\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'char': {\n\t\t// https://en.cppreference.com/w/c/language/character_constant\n\t\tpattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'macro': {\n\t\t// allow for multiline macro definitions\n\t\t// spaces after the # character compile fine with gcc\n\t\tpattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'string': [\n\t\t\t\t{\n\t\t\t\t\t// highlight the path of the include statement as a string\n\t\t\t\t\tpattern: /^(#\\s*include\\s*)<[^>]+>/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tPrism.languages.c['string']\n\t\t\t],\n\t\t\t'char': Prism.languages.c['char'],\n\t\t\t'comment': Prism.languages.c['comment'],\n\t\t\t'macro-name': [\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'function'\n\t\t\t\t}\n\t\t\t],\n\t\t\t// highlight macro directives as keywords\n\t\t\t'directive': {\n\t\t\t\tpattern: /^(#\\s*)[a-z]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'directive-hash': /^#/,\n\t\t\t'punctuation': /##|\\\\(?=[\\r\\n])/,\n\t\t\t'expression': {\n\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\tinside: Prism.languages.c\n\t\t\t}\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('c', 'function', {\n\t// highlight predefined macros as constants\n\t'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n});\n\ndelete Prism.languages.c['boolean'];\n","(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n","Prism.languages.objectivec = Prism.languages.extend('c', {\n\t'string': {\n\t\tpattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n\t'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\n\ndelete Prism.languages.objectivec['class-name'];\n\nPrism.languages.objc = Prism.languages.objectivec;\n","Prism.languages.sql = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/@[\\w.$]+/\n\t],\n\t'string': {\n\t\tpattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n\t\tgreedy: true,\n\t\tlookbehind: true\n\t},\n\t'identifier': {\n\t\tpattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n\t\tgreedy: true,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^`|`$/\n\t\t}\n\t},\n\t'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, // Should we highlight user defined functions too?\n\t'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n\t'punctuation': /[;[\\]()`,.]/\n};\n","Prism.languages.python = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-interpolation': {\n\t\tpattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n\t\t\t\tpattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-spec': {\n\t\t\t\t\t\tpattern: /(:)[^:(){}]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'conversion-option': {\n\t\t\t\t\t\tpattern: //,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n\t\tlookbehind: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bclass\\s+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'decorator': {\n\t\tpattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n\t\tlookbehind: true,\n\t\talias: ['annotation', 'punctuation'],\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n\t'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n\t'boolean': /\\b(?:False|None|True)\\b/,\n\t'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n\t'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n\nPrism.languages.py = Prism.languages.python;\n","(function (Prism) {\n\n\tvar multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\t// support 4 levels of nested comments\n\t\tmultilineComment = multilineComment.replace(/<self>/g, function () { return multilineComment; });\n\t}\n\tmultilineComment = multilineComment.replace(/<self>/g, function () { return /[^\\s\\S]/.source; });\n\n\n\tPrism.languages.rust = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'attribute': {\n\t\t\tpattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name',\n\t\t\tinside: {\n\t\t\t\t'string': null // see below\n\t\t\t}\n\t\t},\n\n\t\t// Closure params should not be confused with bitwise OR |\n\t\t'closure-params': {\n\t\t\tpattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'closure-punctuation': {\n\t\t\t\t\tpattern: /^\\||\\|$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: null // see below\n\t\t\t}\n\t\t},\n\n\t\t'lifetime-annotation': {\n\t\t\tpattern: /'\\w+/,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'fragment-specifier': {\n\t\t\tpattern: /(\\$\\w+:)[a-z]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'variable': /\\$\\w+/,\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfn\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'type-definition': {\n\t\t\tpattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'module-declaration': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': [\n\t\t\t// https://github.com/rust-lang/reference/blob/master/src/keywords.md\n\t\t\t/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n\t\t\t// primitives and str\n\t\t\t// https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n\t\t\t/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n\t\t],\n\n\t\t// functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n\t\t// and Rust's naming conventions recommend snake_case anyway.\n\t\t// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n\t\t'macro': {\n\t\t\tpattern: /\\b\\w+!/,\n\t\t\talias: 'property'\n\t\t},\n\t\t'constant': /\\b[A-Z_][A-Z_\\d]+\\b/,\n\t\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t\t'namespace': {\n\t\t\tpattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\n\t\t// Hex, oct, bin, dec numbers with visual separators and type suffix\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n\t\t'operator': /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n\t};\n\n\tPrism.languages.rust['closure-params'].inside.rest = Prism.languages.rust;\n\tPrism.languages.rust['attribute'].inside['string'] = Prism.languages.rust['string'];\n\n}(Prism));\n","Prism.languages.swift = {\n\t'comment': {\n\t\t// Nested comments are supported up to 2 levels\n\t\tpattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-literal': [\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ /(?![\"#])/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\(?=[\\r\\n])/,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])(#+)/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ '\\\\2'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\#+\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t],\n\n\t'directive': {\n\t\t// directives with conditions\n\t\tpattern: RegExp(\n\t\t\t/#/.source\n\t\t\t+ '(?:'\n\t\t\t+ (\n\t\t\t\t/(?:elseif|if)\\b/.source\n\t\t\t\t+ '(?:[ \\t]*'\n\t\t\t\t// This regex is a little complex. It's equivalent to this:\n\t\t\t\t// (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n\t\t\t\t// where <round> is a general parentheses expression.\n\t\t\t\t+ /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source\n\t\t\t\t+ ')+'\n\t\t\t)\n\t\t\t+ '|'\n\t\t\t+ /(?:else|endif)\\b/.source\n\t\t\t+ ')'\n\t\t),\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive-name': /^#\\w+/,\n\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t\t'operator': /!|&&|\\|\\||[<>]=?/,\n\t\t\t'punctuation': /[(),]/\n\t\t}\n\t},\n\t'literal': {\n\t\tpattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n\t\talias: 'constant'\n\t},\n\t'other-directive': {\n\t\tpattern: /#\\w+\\b/,\n\t\talias: 'property'\n\t},\n\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'atrule'\n\t},\n\n\t'function-definition': {\n\t\tpattern: /(\\bfunc\\s+)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'label': {\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n\t\tpattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n\t\tlookbehind: true,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'nil': {\n\t\tpattern: /\\bnil\\b/,\n\t\talias: 'constant'\n\t},\n\n\t'short-argument': /\\$\\d+\\b/,\n\t'omit': {\n\t\tpattern: /\\b_\\b/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n\n\t// A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n\t'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n\n\t// Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n\t// https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n\t// This regex only supports ASCII operators.\n\t'operator': /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n\t'punctuation': /[{}[\\]();,.:\\\\]/\n};\n\nPrism.languages.swift['string-literal'].forEach(function (rule) {\n\trule.inside['interpolation'].inside = Prism.languages.swift;\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 e=require(\"prismjs\");require(\"prismjs/components/prism-clike\");require(\"prismjs/components/prism-javascript\");require(\"prismjs/components/prism-markup\");require(\"prismjs/components/prism-markdown\");require(\"prismjs/components/prism-c\");require(\"prismjs/components/prism-css\");require(\"prismjs/components/prism-objectivec\");require(\"prismjs/components/prism-sql\");require(\"prismjs/components/prism-python\");require(\"prismjs/components/prism-rust\");require(\"prismjs/components/prism-swift\");\nvar n=require(\"@lexical/utils\"),u=require(\"lexical\");let v={c:\"C\",clike:\"C-like\",css:\"CSS\",html:\"HTML\",js:\"JavaScript\",markdown:\"Markdown\",objc:\"Objective-C\",plain:\"Plain Text\",py:\"Python\",rust:\"Rust\",sql:\"SQL\",swift:\"Swift\",xml:\"XML\"},x={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function y(a){return x[a]||a}\nclass z extends u.TextNode{constructor(a,b,c){super(a,c);this.__highlightType=b}static getType(){return\"code-highlight\"}static clone(a){return new z(a.__text,a.__highlightType||void 0,a.__key)}getHighlightType(){return this.getLatest().__highlightType}createDOM(a){let b=super.createDOM(a);a=A(a.theme,this.__highlightType);n.addClassNamesToElement(b,a);return b}updateDOM(a,b,c){let d=super.updateDOM(a,b,c);a=A(c.theme,a.__highlightType);c=A(c.theme,this.__highlightType);a!==c&&(a&&n.removeClassNamesFromElement(b,\na),c&&n.addClassNamesToElement(b,c));return d}static importJSON(a){let b=B(a.text,a.highlightType);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),highlightType:this.getHighlightType(),type:\"code-highlight\",version:1}}setFormat(){return this}}function A(a,b){return b&&a&&a.codeHighlight&&a.codeHighlight[b]}function B(a,b){return new z(a,b)}function C(a){return a instanceof z}\nfunction D(a){let b=null,c=a.getPreviousSiblings();for(c.push(a);0<c.length&&(a=c.pop(),C(a)&&(b=a),!u.$isLineBreakNode(a)););return b}function E(a){let b=null,c=a.getNextSiblings();for(c.unshift(a);0<c.length&&(a=c.shift(),C(a)&&(b=a),!u.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;function G(a,b){for(let c of a.childNodes){if(c instanceof HTMLElement&&c.tagName===b)return!0;G(c,b)}return!1}\nclass H extends u.ElementNode{static getType(){return\"code\"}static clone(a){return new H(a.__language,a.__key)}constructor(a,b){super(b);this.__language=F(a)}createDOM(a){let b=document.createElement(\"code\");n.addClassNamesToElement(b,a.theme.code);b.setAttribute(\"spellcheck\",\"false\");(a=this.getLanguage())&&b.setAttribute(\"data-highlight-language\",a);return b}updateDOM(a,b){let c=this.__language;a=a.__language;c?c!==a&&b.setAttribute(\"data-highlight-language\",c):a&&b.removeAttribute(\"data-highlight-language\");\nreturn!1}static importDOM(){return{code:a=>null!=a.textContent&&(/\\r?\\n/.test(a.textContent)||G(a,\"BR\"))?{conversion:I,priority:1}:null,div:()=>({conversion:aa,priority:1}),pre:()=>({conversion:I,priority:0}),table:a=>J(a)?{conversion:ba,priority:4}:null,td:a=>{let b=a.closest(\"table\");return a.classList.contains(\"js-file-line\")?{conversion:ca,priority:4}:b&&J(b)?{conversion:K,priority:4}:null},tr:a=>(a=a.closest(\"table\"))&&J(a)?{conversion:K,priority:4}:null}}static importJSON(a){let b=L(a.language);\nb.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),language:this.getLanguage(),type:\"code\",version:1}}insertNewAfter(a){var b=this.getChildren(),c=b.length;if(2<=c&&\"\\n\"===b[c-1].getTextContent()&&\"\\n\"===b[c-2].getTextContent()&&a.isCollapsed()&&a.anchor.key===this.__key&&a.anchor.offset===c)return b[c-1].remove(),b[c-2].remove(),a=u.$createParagraphNode(),this.insertAfter(a),a;b=a.anchor.getNode();var d=D(b);if(null!=d){c=0;\nfor(d=d.getTextContent();c<d.length&&/[\\t ]/.test(d[c]);)c+=1;if(0<c)return c=d.substring(0,c),c=B(c),b.insertAfter(c),a.insertNodes([u.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=u.$getSelection();return u.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=u.$createParagraphNode();this.getChildren().forEach(b=>a.append(b));this.replace(a);return!0}setLanguage(a){this.getWritable().__language=F(a)}getLanguage(){return this.getLatest().__language}}\nfunction L(a){return new H(a)}function M(a){return a instanceof H}function I(){return{node:L(),preformatted:!0}}function aa(a){let b=null!==a.style.fontFamily.match(\"monospace\");return b||da(a)?{after:c=>{let d=a.parentNode;null!=d&&a!==d.lastChild&&c.push(u.$createLineBreakNode());return c},node:b?L():null,preformatted:b}:{node:null}}function ba(){return{node:L(),preformatted:!0}}function K(){return{node:null}}\nfunction ca(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(u.$createLineBreakNode());return b},node:null}}function da(a){for(a=a.parentElement;null!==a;){if(null!==a.style.fontFamily.match(\"monospace\"))return!0;a=a.parentElement}return!1}function J(a){return a.classList.contains(\"js-file-line-container\")}let N={tokenize(a,b){return e.tokenize(a,e.languages[b||\"\"]||e.languages.javascript)}};\nfunction O(a,b){var c=a.length;let d=-1;if(b)for(b=0;b<c;b++){let f=a[b];if(\" \"!==f&&\"\\t\"!==f){d=b;break}}else for(--c;-1<c;c--)if(b=a[c],\" \"!==b&&\"\\t\"!==b){d=c;break}return d}\nfunction P(a){let b=null,c=-1;var d=a.getPreviousSiblings();for(d.push(a);0<d.length;){var f=d.pop();if(C(f)){var g=f.getTextContent();g=O(g,!0);-1!==g&&(b=f,c=g)}if(u.$isLineBreakNode(f))break}if(null===b)for(a=a.getNextSiblings();0<a.length;){d=a.shift();if(C(d)&&(f=d.getTextContent(),f=O(f,!0),-1!==f)){b=d;c=f;break}if(u.$isLineBreakNode(d))break}return{node:b,offset:c}}\nfunction Q(a){let b=null,c=-1;var d=a.getNextSiblings();for(d.unshift(a);0<d.length;){var f=d.shift();if(C(f)){var g=f.getTextContent();g=O(g,!1);-1!==g&&(b=f,c=g+1)}if(u.$isLineBreakNode(f))break}if(null===b)for(a=a.getPreviousSiblings();0<a.length;){d=a.pop();if(C(d)&&(f=d.getTextContent(),f=O(f,!1),-1!==f)){b=d;c=f+1;break}if(u.$isLineBreakNode(d))break}return{node:b,offset:c}}function R(a,b,c){let d=a.getParent();M(d)?S(d,b,c):C(a)&&a.replace(u.$createTextNode(a.__text))}let T=new Set;\nfunction S(a,b,c){let d=a.getKey();T.has(d)||(T.add(d),void 0===a.getLanguage()&&a.setLanguage(\"javascript\"),b.update(()=>{ea(d,()=>{var f=u.$getNodeByKey(d);if(!M(f)||!f.isAttached())return!1;var g=f.getTextContent();g=c.tokenize(g,f.getLanguage()||\"javascript\");g=U(g);var k=f.getChildren();for(f=0;f<k.length&&V(k[f],g[f]);)f++;var h=k.length;let m=g.length,p=Math.min(h,m)-f,l=0;for(;l<p;)if(l++,!V(k[h-l],g[m-l])){l--;break}k=f;h-=l;g=g.slice(f,m-l);let {from:w,to:t,nodesForReplacement:r}={from:k,\nnodesForReplacement:g,to:h};return w!==t||r.length?(a.splice(w,t-w,r),!0):!1})},{onUpdate:()=>{T.delete(d)},skipTransforms:!0}))}function U(a){let b=[];a.forEach(c=>{if(\"string\"===typeof c){c=c.split(\"\\n\");for(var d=0;d<c.length;d++){let f=c[d];f.length&&b.push(B(f));d<c.length-1&&b.push(u.$createLineBreakNode())}}else({content:d}=c),\"string\"===typeof d?b.push(B(d,c.type)):Array.isArray(d)&&1===d.length&&\"string\"===typeof d[0]?b.push(B(d[0],c.type)):Array.isArray(d)&&b.push(...U(d))});return b}\nfunction ea(a,b){a=u.$getNodeByKey(a);if(M(a)&&a.isAttached()){var c=u.$getSelection();if(u.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&u.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let k=c.getNode();g=d+k.getPreviousSiblings().reduce((h,m)=>h+(u.$isLineBreakNode(m)?0:m.getTextContentSize()),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(k=>{if(u.$isTextNode(k)){let h=k.getTextContentSize();if(h>=g)return k.select(g,g),!0;g-=h}return!1}))}else b()}}\nfunction V(a,b){return C(a)&&C(b)?a.__text===b.__text&&a.__highlightType===b.__highlightType:u.$isLineBreakNode(a)&&u.$isLineBreakNode(b)?!0:!1}function W(a){var b=u.$getSelection();if(!u.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!u.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&X(c,a);for(c=1;c<b.length;c++)d=b[c],u.$isLineBreakNode(b[c-1])&&C(d)&&X(d,a);return!0}\nfunction X(a,b){let c=a.getTextContent();b===u.INDENT_CONTENT_COMMAND?0<c.length&&/\\s/.test(c[0])?a.setTextContent(\"\\t\"+c):(b=B(\"\\t\"),a.insertBefore(b)):0===c.indexOf(\"\\t\")&&(1===c.length?a.remove():a.setTextContent(c.substring(1)))}\nfunction Y(a,b){let c=u.$getSelection();if(!u.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,k=f.offset,h=d.getNode(),m=f.getNode();var p=a===u.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(m))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),p&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!p&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var l=D(h);let w=E(m);if(null==l||null==w)return!1;let t=l.getNodesBetween(w);for(let q=0;q<t.length;q++){let Z=t[q];if(!C(Z)&&!u.$isLineBreakNode(Z))return!1}b.preventDefault();b.stopPropagation();b=p?l.getPreviousSibling():w.getNextSibling();if(!u.$isLineBreakNode(b))return!0;l=p?b.getPreviousSibling():b.getNextSibling();if(null==l)return!0;p=p?D(l):E(l);let r=null!=p?p:l;b.remove();t.forEach(q=>q.remove());a===u.KEY_ARROW_UP_COMMAND?(t.forEach(q=>r.insertBefore(q)),\nr.insertBefore(b)):(r.insertAfter(b),r=b,t.forEach(q=>{r.insertAfter(q);r=q}));c.setTextNodeRange(h,g,m,k);return!0}function fa(a,b){let c=u.$getSelection();if(!u.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),k=f.getNode();a=a===u.MOVE_TO_START;if(!C(g)||!C(k))return!1;let h,m;a?{node:h,offset:m}=P(k):{node:h,offset:m}=Q(k);null!==h&&-1!==m&&c.setTextNodeRange(h,m,h,m);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=B;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=v;exports.CODE_LANGUAGE_MAP=x;exports.CodeHighlightNode=z;exports.CodeNode=H;exports.DEFAULT_CODE_LANGUAGE=\"javascript\";exports.PrismTokenizer=N;exports.getCodeLanguages=()=>Object.keys(e.languages).filter(a=>\"function\"!==typeof e.languages[a]).sort();exports.getDefaultCodeLanguage=()=>\"javascript\";exports.getEndOfCodeInLine=Q;exports.getFirstCodeHighlightNodeOfLine=D;\nexports.getLanguageFriendlyName=function(a){a=y(a);return v[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=P;exports.normalizeCodeLang=y;\nexports.registerCodeHighlighting=function(a,b){if(!a.hasNodes([H,z]))throw Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");null==b&&(b=N);return n.mergeRegister(a.registerMutationListener(H,c=>{a.update(()=>{for(let [g,k]of c)if(\"destroyed\"!==k){var d=u.$getNodeByKey(g);if(null!==d)a:{var f=d;d=a.getElementByKey(f.getKey());if(null===d)break a;f=f.getChildren();let h=f.length;if(h===d.__cachedChildrenLength)break a;d.__cachedChildrenLength=h;let m=\"1\",p=1;for(let l=\n0;l<h;l++)u.$isLineBreakNode(f[l])&&(m+=\"\\n\"+ ++p);d.setAttribute(\"data-gutter\",m)}}})}),a.registerNodeTransform(H,c=>S(c,a,b)),a.registerNodeTransform(u.TextNode,c=>R(c,a,b)),a.registerNodeTransform(z,c=>R(c,a,b)),a.registerCommand(u.INDENT_CONTENT_COMMAND,()=>W(u.INDENT_CONTENT_COMMAND),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.OUTDENT_CONTENT_COMMAND,()=>W(u.OUTDENT_CONTENT_COMMAND),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.KEY_ARROW_UP_COMMAND,c=>Y(u.KEY_ARROW_UP_COMMAND,c),u.COMMAND_PRIORITY_LOW),\na.registerCommand(u.KEY_ARROW_DOWN_COMMAND,c=>Y(u.KEY_ARROW_DOWN_COMMAND,c),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.MOVE_TO_END,c=>fa(u.MOVE_TO_END,c),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.MOVE_TO_START,c=>fa(u.MOVE_TO_START,c),u.COMMAND_PRIORITY_LOW))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalCode = process.env.NODE_ENV === 'development' ? require('./LexicalCode.dev.js') : require('./LexicalCode.prod.js')\nmodule.exports = LexicalCode;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 k=require(\"lexical\"),t=require(\"@lexical/code\"),A=require(\"@lexical/list\"),F=require(\"@lexical/rich-text\"),aa=require(\"@lexical/utils\"),G=require(\"@lexical/link\");function H(a,b){let c={};for(let d of a)a=b(d),c[a]?c[a].push(d):c[a]=[d];return c}function I(a){a=H(a,b=>b.type);return{element:a.element||[],textFormat:a[\"text-format\"]||[],textMatch:a[\"text-match\"]||[]}}let J=/[!-/:-@[-`{-~\\s]/;\nfunction ba(a){let b=I(a),c=b.textFormat.filter(d=>1===d.format.length);return()=>{let d=[];var e=k.$getRoot().getChildren();for(let f of e)e=ca(f,b.element,c,b.textMatch),null!=e&&d.push(e);return d.join(\"\\n\\n\")}}function ca(a,b,c,d){for(let e of b)if(b=e.export(a,f=>K(f,c,d)),null!=b)return b;return k.$isElementNode(a)?K(a,c,d):null}\nfunction K(a,b,c){let d=[];a=a.getChildren();a:for(let e of a){for(let f of c)if(a=f.export(e,l=>K(l,b,c),(l,h)=>L(l,h,b)),null!=a){d.push(a);continue a}k.$isLineBreakNode(e)?d.push(\"\\n\"):k.$isTextNode(e)?d.push(L(e,e.getTextContent(),b)):k.$isElementNode(e)&&d.push(K(e,b,c))}return d.join(\"\")}function L(a,b,c){let d=b.trim(),e=d,f=new Set;for(let h of c){c=h.format[0];let p=h.tag;if(M(a,c)&&!f.has(c)){f.add(c);var l=N(a,!0);M(l,c)||(e=p+e);l=N(a,!1);M(l,c)||(e+=p)}}return b.replace(d,e)}\nfunction N(a,b){let c=b?a.getPreviousSibling():a.getNextSibling();c||(a=a.getParentOrThrow(),a.isInline()&&(c=b?a.getPreviousSibling():a.getNextSibling()));for(;c;){if(k.$isElementNode(c)){if(!c.isInline())break;a=b?c.getLastDescendant():c.getFirstDescendant();if(k.$isTextNode(a))return a;c=b?c.getPreviousSibling():c.getNextSibling()}if(k.$isTextNode(c))return c;if(!k.$isElementNode(c))break}return null}function M(a,b){return k.$isTextNode(a)&&a.hasFormat(b)}\nlet O=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,da=O&&\"documentMode\"in document?document.documentMode:null;O&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);O&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);O&&\"InputEvent\"in window&&!da?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1;\nlet P=O&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Q=O&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ea=/^\\s{0,3}$/,R=/^```(\\w{1,10})?\\s?$/;\nfunction fa(a){let b=I(a),c=ha(b.textFormat);return d=>{var e=d.split(\"\\n\"),f=e.length;d=k.$getRoot();d.clear();for(let g=0;g<f;g++){var l=e[g];a:{var h=e,p=g;var r=d;var y=h[p].match(R);if(y)for(var q=p,m=h.length;++q<m;)if(h[q].match(R)){y=t.$createCodeNode(y[1]);h=k.$createTextNode(h.slice(p+1,q).join(\"\\n\"));y.append(h);r.append(y);r=[y,q];break a}r=[null,p]}let [n,v]=r;if(null!=n)g=v;else{r=l;m=d;var w=b.element;q=c;h=b.textMatch;p=r.trim();y=k.$createTextNode(p);l=k.$createParagraphNode();l.append(y);\nm.append(l);for(let {regExp:x,replace:u}of w)if(m=r.match(x)){y.setTextContent(r.slice(m[0].length));u(l,[y],m,!0);break}S(y,q,h);l.isAttached()&&0<p.length&&(r=l.getPreviousSibling(),k.$isParagraphNode(r)||F.$isQuoteNode(r)||A.$isListNode(r))&&(q=r,A.$isListNode(r)&&(r=r.getLastDescendant(),q=null==r?null:aa.$findMatchingParent(r,A.$isListItemNode)),null!=q&&0<q.getTextContentSize()&&(q.splice(q.getChildrenSize(),0,[k.$createLineBreakNode(),...l.getChildren()]),l.remove()))}}e=d.getChildren();for(let g of e)e=\ng,k.$isParagraphNode(e)?(f=e.getFirstChild(),e=null==f||1===e.getChildrenSize()&&k.$isTextNode(f)&&ea.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction S(a,b,c){var d=a.getTextContent();let e=ia(d,b);if(e){var f,l;if(e[0]===d)var h=a;else{d=e.index||0;let p=d+e[0].length;0===d?[h,f]=a.splitText(p):[l,h,f]=a.splitText(d,p)}h.setTextContent(e[2]);if(a=b.transformersByTag[e[1]])for(let p of a.format)h.hasFormat(p)||h.toggleFormat(p);h.hasFormat(\"code\")||S(h,b,c);l&&S(l,b,c);f&&S(f,b,c)}else T(a,c)}\nfunction T(a,b){a:for(;a;){for(let c of b){let d=a.getTextContent().match(c.importRegExp);if(!d)continue;let e=d.index||0,f=e+d[0].length,l,h,p;0===e?[l,a]=a.splitText(f):[h,l,p]=a.splitText(e,f);h&&T(h,b);p&&(a=p);c.replace(l,d);continue a}break}}\nfunction ia(a,b){var c=a.match(b.openTagsRegExp);if(null==c)return null;for(let f of c){var d=f.replace(/^\\s/,\"\");c=b.fullMatchRegExpByTag[d];if(null!=c&&(c=a.match(c),d=b.transformersByTag[d],null!=c&&null!=d)){if(!1!==d.intraword)return c;var {index:e=0}=c;d=a[e-1];e=a[e+c[0].length];if(!(d&&!J.test(d)||e&&!J.test(e)))return c}}return null}\nfunction ha(a){let b={},c={},d=[];for(let e of a){({tag:a}=e);b[a]=e;let f=a.replace(/(\\*|\\^)/g,\"\\\\$1\");d.push(f);c[a]=P||Q?new RegExp(`(${f})(?![${f}\\\\s])(.*?[^${f}\\\\s])${f}(?!${f})`):new RegExp(`(?<![\\\\\\\\${f}])(${f})((\\\\\\\\${f})?.*?[^${f}\\\\s](\\\\\\\\${f})?)((?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))(${f})(?![\\\\\\\\${f}])`)}return{fullMatchRegExpByTag:c,openTagsRegExp:new RegExp((P||Q?\"\":\"(?<![\\\\\\\\])\")+\"(\"+d.join(\"|\")+\")\",\"g\"),transformersByTag:b}}\nfunction U(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(V(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function V(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet W=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},X=a=>(b,c,d)=>{var e=b.getPreviousSibling();const f=A.$createListItemNode(\"check\"===a?\"x\"===d[3]:void 0);A.$isListNode(e)&&e.getListType()===a?(e.append(f),b.remove()):(e=A.$createListNode(a,\"number\"===a?Number(d[2]):void 0),e.append(f),b.replace(e));f.append(...c);f.select(0,0);(b=Math.floor(d[1].length/4))&&f.setIndent(b)},Y=(a,b,c)=>{const d=[];var e=a.getChildren();let f=0;for(const h of e)if(A.$isListItemNode(h)){if(1===h.getChildrenSize()&&\n(e=h.getFirstChild(),A.$isListNode(e))){d.push(Y(e,b,c+1));continue}e=\" \".repeat(4*c);var l=a.getListType();l=\"number\"===l?`${a.getStart()+f}. `:\"check\"===l?`- [${h.getChecked()?\"x\":\" \"}] `:\"- \";d.push(e+l+b(h));f++}return d.join(\"\\n\")},ja={dependencies:[F.HeadingNode],export:(a,b)=>{if(!F.$isHeadingNode(a))return null;const c=Number(a.getTag().slice(1));return\"#\".repeat(c)+\" \"+b(a)},regExp:/^(#{1,6})\\s/,replace:W(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},ka={dependencies:[F.QuoteNode],\nexport:(a,b)=>{if(!F.$isQuoteNode(a))return null;a=b(a).split(\"\\n\");b=[];for(const c of a)b.push(\"> \"+c);return b.join(\"\\n\")},regExp:/^>\\s/,replace:(a,b,c,d)=>{if(d&&(c=a.getPreviousSibling(),F.$isQuoteNode(c))){c.splice(c.getChildrenSize(),0,[k.$createLineBreakNode(),...b]);c.select(0,0);a.remove();return}c=F.$createQuoteNode();c.append(...b);a.replace(c);c.select(0,0)},type:\"element\"},la={dependencies:[t.CodeNode],export:a=>{if(!t.$isCodeNode(a))return null;const b=a.getTextContent();return\"```\"+\n(a.getLanguage()||\"\")+(b?\"\\n\"+b:\"\")+\"\\n```\"},regExp:/^```(\\w{1,10})?\\s/,replace:W(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},ma={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:X(\"bullet\"),type:\"element\"},na={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:X(\"check\"),type:\"element\"},oa={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:X(\"number\"),type:\"element\"},pa={format:[\"code\"],tag:\"`\",type:\"text-format\"},qa={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},ra={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},ta={format:[\"bold\"],tag:\"**\",type:\"text-format\"},ua={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},va={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},wa={format:[\"italic\"],tag:\"*\",type:\"text-format\"},xa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},ya={dependencies:[G.LinkNode],export:(a,b,c)=>{if(!G.$isLinkNode(a))return null;b=`[${a.getTextContent()}](${a.getURL()})`;const d=a.getFirstChild();return 1===a.getChildrenSize()&&k.$isTextNode(d)?c(d,b):b},importRegExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))$/,replace:(a,b)=>{const [,c,d]=b;b=G.$createLinkNode(d);const e=k.$createTextNode(c);e.setFormat(a.getFormat());b.append(e);a.replace(b)},trigger:\")\",type:\"text-match\"},\nza=[ja,ka,la,ma,oa],Aa=[pa,qa,ra,ta,ua,wa,xa,va],Ba=[ya],Z=[...za,...Aa,...Ba];exports.$convertFromMarkdownString=function(a,b=Z){return fa(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=qa;exports.BOLD_ITALIC_UNDERSCORE=ra;exports.BOLD_STAR=ta;exports.BOLD_UNDERSCORE=ua;exports.CHECK_LIST=na;exports.CODE=la;exports.ELEMENT_TRANSFORMERS=za;exports.HEADING=ja;exports.INLINE_CODE=pa;exports.ITALIC_STAR=wa;exports.ITALIC_UNDERSCORE=xa;exports.LINK=ya;\nexports.ORDERED_LIST=oa;exports.QUOTE=ka;exports.STRIKETHROUGH=va;exports.TEXT_FORMAT_TRANSFORMERS=Aa;exports.TEXT_MATCH_TRANSFORMERS=Ba;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=ma;\nexports.registerMarkdownShortcuts=function(a,b=Z){let c=I(b),d=H(c.textFormat,({tag:f})=>f[f.length-1]),e=H(c.textMatch,({trigger:f})=>f);for(let f of b)if(b=f.type,(\"element\"===b||\"text-match\"===b)&&!a.hasNodes(f.dependencies))throw Error(\"Minified Lexical error #79; visit https://lexical.dev/docs/error?code=79 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a.registerUpdateListener(({tags:f,dirtyLeaves:l,editorState:h,prevEditorState:p})=>\n{if(!f.has(\"historic\")){var r=h.read(k.$getSelection);f=p.read(k.$getSelection);if(k.$isRangeSelection(f)&&k.$isRangeSelection(r)&&r.isCollapsed()){p=r.anchor.key;var y=r.anchor.offset,q=h._nodeMap.get(p);k.$isTextNode(q)&&l.has(p)&&(1===y||y===f.anchor.offset+1)&&a.update(()=>{if(!q.hasFormat(\"code\")){var m=q.getParent();if(null!==m&&!t.$isCodeNode(m)){var w=r.anchor.offset;b:{var g=c.element,n=m.getParent();if(k.$isRootOrShadowRoot(n)&&m.getFirstChild()===q&&(n=q.getTextContent(),\" \"===n[w-1]))for(let {regExp:C,\nreplace:D}of g)if((g=n.match(C))&&g[0].length===w){n=q.getNextSiblings();let [E,sa]=q.splitText(w);E.remove();n=sa?[sa,...n]:n;D(m,n,g,!1);m=!0;break b}m=!1}if(!m){b:{g=q.getTextContent();m=e[g[w-1]];if(null!=m){w<g.length&&(g=g.slice(0,w));for(x of m)if(m=g.match(x.regExp),null!==m){g=m.index||0;n=g+m[0].length;var v=void 0;0===g?[v]=q.splitText(n):[,v]=q.splitText(g,n);v.selectNext(0,0);x.replace(v,m);var x=!0;break b}}x=!1}if(!x)b:{n=q.getTextContent();--w;var u=n[w];if(x=d[u])for(let C of x){var {tag:B}=\nC;x=B.length;let D=w-x+1;if(!(1<x&&!V(n,D,B,0,x)||\" \"===n[D-1])&&(v=n[w+1],!1!==C.intraword||!v||J.test(v))){m=v=q;g=U(n,D,B);for(var z=m;0>g&&(z=z.getPreviousSibling())&&!k.$isLineBreakNode(z);)k.$isTextNode(z)&&(g=z.getTextContent(),m=z,g=U(g,g.length,B));if(!(0>g||m===v&&g+x===D||(B=m.getTextContent(),0<g&&B[g-1]===u||(z=B[g-1],!1===C.intraword&&z&&!J.test(z))))){n=v.getTextContent();n=n.slice(0,D)+n.slice(w+1);v.setTextContent(n);n=m===v?n:B;m.setTextContent(n.slice(0,g)+n.slice(g+x));n=k.$getSelection();\nu=k.$createRangeSelection();k.$setSelection(u);w=w-x*(m===v?2:1)+1;u.anchor.set(m.__key,g,\"text\");u.focus.set(v.__key,w,\"text\");for(let E of C.format)u.hasFormat(E)||u.formatText(E);u.anchor.set(u.focus.key,u.focus.offset,u.focus.type);for(let E of C.format)u.hasFormat(E)&&u.toggleFormat(E);k.$isRangeSelection(n)&&(u.format=n.format);break b}}}}}}}})}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalMarkdown = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdown.dev.js') : require('./LexicalMarkdown.prod.js')\nmodule.exports = LexicalMarkdown;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 a=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"@lexical/react/useLexicalNodeSelection\"),h=require(\"@lexical/utils\"),l=require(\"lexical\"),p=require(\"react\");let q=l.createCommand(\"INSERT_HORIZONTAL_RULE_COMMAND\");\nfunction r({nodeKey:b}){let [f]=a.useLexicalComposerContext(),m=p.useRef(null),[e,g,n]=d.useLexicalNodeSelection(b),k=p.useCallback(c=>{e&&l.$isNodeSelection(l.$getSelection())&&(c.preventDefault(),c=l.$getNodeByKey(b),t(c)&&c.remove(),g(!1));return!1},[e,b,g]);p.useEffect(()=>h.mergeRegister(f.registerCommand(l.CLICK_COMMAND,c=>c.target===m.current?(c.shiftKey||n(),g(!e),!0):!1,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_DELETE_COMMAND,k,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_BACKSPACE_COMMAND,\nk,l.COMMAND_PRIORITY_LOW)),[n,f,e,k,g]);return p.createElement(\"hr\",{ref:m,className:e?\"selected\":void 0})}\nclass u extends l.DecoratorNode{static getType(){return\"horizontalrule\"}static clone(b){return new u(b.__key)}static importJSON(){return v()}static importDOM(){return{hr:()=>({conversion:w,priority:0})}}exportJSON(){return{type:\"horizontalrule\",version:1}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(){let b=document.createElement(\"div\");b.style.display=\"contents\";return b}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}decorate(){return p.createElement(r,{nodeKey:this.__key})}}\nfunction w(){return{node:v()}}function v(){return new u}function t(b){return b instanceof u}exports.$createHorizontalRuleNode=v;exports.$isHorizontalRuleNode=t;exports.HorizontalRuleNode=u;exports.INSERT_HORIZONTAL_RULE_COMMAND=q\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalHorizontalRuleNode = process.env.NODE_ENV === 'development' ? require('./LexicalHorizontalRuleNode.dev.js') : require('./LexicalHorizontalRuleNode.prod.js')\nmodule.exports = LexicalHorizontalRuleNode;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"@lexical/markdown\"),d=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"@lexical/react/LexicalHorizontalRuleNode\"),f=require(\"react\");let g=[{dependencies:[e.HorizontalRuleNode],export:a=>e.$isHorizontalRuleNode(a)?\"***\":null,regExp:/^(---|\\*\\*\\*|___)\\s?$/,replace:(a,b,k,h)=>{b=e.$createHorizontalRuleNode();h||null!=a.getNextSibling()?a.replace(b):a.insertBefore(b);b.selectNext()},type:\"element\"},...c.TRANSFORMERS];exports.DEFAULT_TRANSFORMERS=g;\nexports.MarkdownShortcutPlugin=function({transformers:a=g}){let [b]=d.useLexicalComposerContext();f.useEffect(()=>c.registerMarkdownShortcuts(b,a),[b,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalMarkdownShortcutPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdownShortcutPlugin.dev.js') : require('./LexicalMarkdownShortcutPlugin.prod.js')\nmodule.exports = LexicalMarkdownShortcutPlugin;","import {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode, HorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode, CodeBlockNode} from '../nodes/CodeBlockNode';\nimport {$isImageNode, $createImageNode, ImageNode} from '../nodes/ImageNode';\n\nexport const HR = {\n dependencies: [HorizontalRuleNode],\n export: (node) => {\n return $isHorizontalRuleNode(node) ? '---' : null;\n },\n regExp: /^(---|\\*\\*\\*|___)\\s?$/,\n replace: (parentNode, _1, _2, isImport) => {\n const line = $createHorizontalRuleNode();\n\n // TODO: Get rid of isImport flag\n if (isImport || parentNode.getNextSibling() != null) { // eslint-disable-line\n parentNode.replace(line);\n } else {\n parentNode.insertBefore(line);\n }\n\n line.selectNext();\n },\n type: 'element'\n};\n\nexport const CODE_BLOCK = {\n dependencies: [CodeBlockNode],\n export: (node) => {\n if (!$isCodeBlockNode(node)) {\n return null;\n }\n const textContent = node.getTextContent();\n return (\n '```' +\n (node.getLanguage() || '') +\n (textContent ? '\\n' + textContent : '') +\n '\\n' +\n '```'\n );\n },\n regExp: /^```(\\w{1,10})?\\s/,\n replace: (textNode, match, text) => {\n const initCode = text[1] || '';\n const language = match[1];\n const codeBlockNode = $createCodeBlockNode(language, initCode);\n textNode.replace(codeBlockNode);\n },\n type: 'element'\n};\n\n// render imageNode when writing image!\n// regex that detects exactly the string 'image!'\n\nexport const IMAGE = {\n dependencies: [ImageNode],\n export: (node) => {\n if (!$isImageNode(node)){\n return null;\n } else {\n const {src, alt} = node.dataset;\n return ``;\n }\n },\n regExp: /^image! $/,\n replace: (parentNode, match, text) => {\n const alt = '';\n const src = '';\n const imageNode = $createImageNode({altText: alt, src});\n parentNode.replace(imageNode);\n },\n type: 'element'\n};\n\nexport const ELEMENT_TRANSFORMERS = [\n HEADING,\n QUOTE,\n UNORDERED_LIST,\n ORDERED_LIST,\n HR,\n CODE_BLOCK,\n IMAGE\n];\n\nexport const DEFAULT_TRANSFORMERS = [\n ...ELEMENT_TRANSFORMERS,\n ...TEXT_FORMAT_TRANSFORMERS,\n ...TEXT_MATCH_TRANSFORMERS\n];\n\nexport default function MarkdownShortcutPlugin({transformers = DEFAULT_TRANSFORMERS} = {}) {\n return LexicalMarkdownShortcutPlugin({transformers});\n}\n","import {$isAtNodeEnd} from '@lexical/selection';\n\nexport function getSelectedNode(selection) {\n const anchor = selection.anchor;\n const focus = selection.focus;\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n } else {\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n }\n}\n","import {ReactComponent as PlusIcon} from '../../assets/icons/plus.svg';\n\nexport function PlusButton({onClick}) {\n return (\n <div className=\"absolute top-[-2px] left-[-66px]\" data-kg-plus-button>\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n onClick={onClick}\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n </div>\n );\n}\n\nexport function PlusMenu({children}) {\n return (\n <div className=\"absolute left-[-16px]\" data-kg-plus-menu>\n {children}\n </div>\n );\n}\n","import React from 'react';\n\nexport const CardMenuSection = ({label, children, ...props}) => {\n return (\n <li role=\"separator\" className=\"text-grey flex shrink-0 flex-col justify-center text-[1.1rem] font-semibold uppercase tracking-wide\" {...props}>\n <span className=\"mb-2 block px-4 pt-3\" style={{minWidth: 'calc(100% - 3.2rem)'}}>{label}</span>\n <ul role=\"menu\">\n {children}\n </ul>\n </li>\n );\n};\n\nexport const CardMenuItem = ({label, desc, isSelected, onClick, Icon, ...props}) => {\n // browsers will move focus on mouseDown but we don't want that because it\n // removes focus from the editor meaning key commands don't work as\n // expected after a card is inserted\n const preventMouseDown = (event) => {\n event.preventDefault();\n };\n\n return (\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n className={`text-grey-800 hover:bg-grey-100 flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] text-left ${isSelected ? 'bg-grey-100' : ''}`} onMouseDown={preventMouseDown} onClick={onClick} data-kg-card-menu-item={label}\n data-kg-cardmenu-selected={isSelected}\n {...props}\n >\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"text-grey-900 m-0 ml-4 truncate text-[1.3rem] font-medium leading-[1.6rem] tracking-[.02rem]\">{label}</div>\n <div className=\"text-grey m-0 ml-4 truncate text-xs font-normal leading-[1.6rem] tracking-[.02rem]\">{desc}</div>\n </div>\n </button>\n </li>\n );\n};\n\nexport const CardSnippetItem = ({label, isSelected, Icon, ...props}) => {\n return (\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n className={`text-grey-800 hover:bg-grey-100 flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] ${isSelected ? 'bg-grey-100' : ''}`}\n data-kg-cardmenu-selected={isSelected}\n {...props}\n >\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"text-grey-900 m-0 ml-4 truncate text-[1.3rem] font-medium leading-[1.6rem] tracking-[.02rem]\">{label}</div>\n </div>\n </button>\n </li>\n );\n};\n\nexport const CardMenu = ({menu = new Map(), insert = () => {}, selectedItemIndex}) => {\n // build up the children arrays from the passed in menu Map\n const CardMenuSections = [];\n\n let itemIndex = 0;\n for (const [sectionLabel, items] of menu) {\n const CardMenuItems = [];\n\n items.forEach((item) => { // eslint-disable-line no-loop-func\n const isSelected = itemIndex === selectedItemIndex;\n const onClick = (event) => {\n event.preventDefault();\n insert?.(item.insertCommand, {insertParams: item.insertParams, queryParams: item.queryParams});\n };\n\n if (!item.type || item.type === 'card') {\n CardMenuItems.push(\n <CardMenuItem\n key={itemIndex}\n label={item.label}\n desc={item.desc}\n Icon={item.Icon}\n isSelected={isSelected}\n onClick={onClick}\n data-kg-cardmenu-idx={itemIndex}\n />\n );\n } else if (item.type === 'snippet') {\n CardMenuItems.push(\n <CardSnippetItem\n key={itemIndex}\n label={item.label}\n Icon={item.Icon}\n isSelected={isSelected}\n onClick={onClick}\n data-kg-cardmenu-idx={itemIndex}\n />\n );\n }\n\n itemIndex = itemIndex + 1;\n });\n\n CardMenuSections.push(<CardMenuSection key={sectionLabel} label={sectionLabel}>{CardMenuItems}</CardMenuSection>);\n }\n\n return (\n <ul role=\"menu\" className=\"not-kg-prose z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 font-sans text-sm shadow after:block after:pb-4\">\n {CardMenuSections}\n </ul>\n );\n};\n","export function getEditorCardNodes(editor) {\n // TODO: open upstream PR to add public method of getting nodes\n const allNodes = editor._nodes;\n const cardNodes = [];\n\n for (const [nodeType, {klass}] of allNodes) {\n if (!klass.kgMenu) {\n continue;\n }\n\n cardNodes.push([nodeType, klass]);\n }\n\n return cardNodes;\n}\n","export function buildCardMenu(nodes, {query} = {}) {\n const menu = new Map();\n\n query = query?.toLowerCase();\n\n let maxItemIndex = -1;\n\n function addMenuItem(item) {\n if (query && (!item.matches || !item.matches.find(m => m.startsWith(query)))) {\n return;\n }\n\n const section = item.section || 'Primary';\n\n if (!menu.has(section)) {\n menu.set(section, [item]);\n } else {\n menu.get(section).push(item);\n }\n\n maxItemIndex = maxItemIndex + 1;\n }\n\n for (const [nodeType, node] of nodes) {\n if (Array.isArray(node.kgMenu)) {\n node.kgMenu.forEach(item => addMenuItem({nodeType, ...item}));\n } else {\n addMenuItem({nodeType, ...node.kgMenu});\n }\n }\n\n return {menu, maxItemIndex};\n}\n","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection} from 'lexical';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {PlusButton, PlusMenu} from '../components/ui/PlusMenu';\nimport {CardMenu} from '../components/ui/CardMenu';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction usePlusCardMenu(editor) {\n const [isShowingButton, setIsShowingButton] = React.useState(false);\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [cachedRange, setCachedRange] = React.useState(null);\n const [cardMenu, setCardMenu] = React.useState({});\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.top - containerRect.top;\n }\n\n function getElementRange(elem) {\n const range = new Range();\n range.setStart(elem, 0);\n range.setEnd(elem, 0);\n return range;\n }\n\n const moveCursorToCachedRange = React.useCallback(() => {\n if (!cachedRange) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange);\n }, [cachedRange]);\n\n const showButton = React.useCallback((elem) => {\n const range = getElementRange(elem);\n setCachedRange(range);\n setIsShowingButton(true);\n }, [setIsShowingButton, setCachedRange]);\n\n const hideButton = React.useCallback(() => {\n setIsShowingButton(false);\n setIsShowingMenu(false);\n setCachedRange(null);\n }, [setIsShowingButton, setIsShowingMenu, setCachedRange]);\n\n const openMenu = React.useCallback((event) => {\n event?.preventDefault();\n moveCursorToCachedRange();\n setIsShowingMenu(true);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const updateButton = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n hideButton();\n return;\n }\n\n const node = getSelectedNode(selection);\n\n if (!$isParagraphNode(node) || node.getTextContent() !== '') {\n hideButton();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const p = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (p?.tagName !== 'P' || !rootElement.contains(p)) {\n hideButton();\n return;\n }\n\n setTopPosition(getTopPosition(p));\n showButton(p);\n });\n }, [editor, showButton, hideButton]);\n\n const insert = React.useCallback((insertCommand, {insertParams = {}} = {}) => {\n const commandParams = {...insertParams};\n editor.dispatchCommand(insertCommand, commandParams);\n closeMenu();\n }, [editor, closeMenu]);\n\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n updateButton();\n }, [editor, updateButton]);\n });\n\n // hide the button as soon as there's any selection made outside of the\n // editor canvas - any click outside makes a selection so no need for\n // additional mouse tracking for this\n const hideButtonOnOutsideSelection = React.useCallback(() => {\n if (isShowingButton) {\n const nativeSelection = window.getSelection();\n\n // clicking inside the menu changes native selection, we don't want\n // to close the menu when that occurs\n if (isShowingMenu && containerRef.current?.contains(nativeSelection.anchorNode)) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n\n if (!rootElement.contains(nativeSelection.anchorNode)) {\n hideButton();\n }\n }\n }, [editor, isShowingButton, isShowingMenu, hideButton]);\n\n React.useEffect(() => {\n document.addEventListener('selectionchange', hideButtonOnOutsideSelection);\n return () => {\n document.removeEventListener('selectionchange', hideButtonOnOutsideSelection);\n };\n }, [hideButtonOnOutsideSelection]);\n\n // show or move the button when the mouse moves over a blank paragraph\n const updateButtonOnMousemove = React.useCallback((event) => {\n // once the menu is open moving the mouse should not have any effect on button/menu positioning\n if (isShowingMenu) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n let {pageX, pageY} = event;\n\n // add a horizontal buffer to the pointer position so that the button\n // doesn't disappear when moving across the gap between button and paragraph\n let containerRect = rootElement.getBoundingClientRect();\n if (pageX < containerRect.left) {\n pageX = pageX + 40;\n }\n\n // use the page coordinates to find the element under the pointer\n\n // TODO: this basic implementation isn't quite as forgiving as the mobiledoc implementation\n // which appears to have a threshold around the point which creates a bigger hit area for\n // nearby elements, whereas this removes the button immediately on margin mouseover. See:\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/editor/editor.ts#L1306\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/cursor/position.ts#L115\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/selection-utils.ts#L39-L90\n const hoveredElem = document.elementFromPoint(pageX, pageY);\n\n if (rootElement.contains(hoveredElem)) {\n if (hoveredElem?.tagName === 'P' && hoveredElem.textContent === '') {\n // place cursor next to the hovered paragraph\n setTopPosition(getTopPosition(hoveredElem));\n showButton(hoveredElem);\n } else {\n // reset button based on cursor position\n updateButton();\n }\n }\n }, [editor, isShowingMenu, setTopPosition, showButton, updateButton]);\n\n React.useEffect(() => {\n window.addEventListener('mousemove', updateButtonOnMousemove);\n return () => {\n window.removeEventListener('mousemove', updateButtonOnMousemove);\n };\n }, [updateButtonOnMousemove]);\n\n // when menu is open, watch the window for mousedown events so that we can\n // close it when we detect a click outside\n const closeMenuOnClickOutside = React.useCallback((event) => {\n if (isShowingMenu) {\n if (!containerRef.current?.contains(event.target)) {\n return closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('mousedown', closeMenuOnClickOutside);\n return () => {\n window.removeEventListener('mousedown', closeMenuOnClickOutside);\n };\n }, [closeMenuOnClickOutside]);\n\n // when menu is open, close it when Escape or arrow keys are pressed\n const handleKeydown = React.useCallback((event) => {\n if (isShowingMenu) {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n\n let arrowKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (arrowKeys.includes(event.key)) {\n closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('keydown', handleKeydown);\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n });\n\n // build up the card menu based on registered nodes and current search\n React.useEffect(() => {\n const cardNodes = getEditorCardNodes(editor);\n setCardMenu(buildCardMenu(cardNodes, {insert}));\n }, [editor, insert, setCardMenu]);\n\n const style = {\n top: `${topPosition}px`\n };\n\n if (cardMenu.menu?.size === 0) {\n return null;\n }\n\n if (isShowingButton) {\n return (\n <div className=\"absolute\" style={style} ref={containerRef} data-kg-plus-container>\n {isShowingButton && <PlusButton onClick={openMenu} />}\n {isShowingMenu && <PlusMenu><CardMenu menu={cardMenu.menu} insert={insert} /></PlusMenu>}\n </div>\n );\n } else {\n return null;\n }\n}\n\nexport default function PlusCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return usePlusCardMenu(editor);\n}\n","export function SlashMenu({children}) {\n return (\n <div data-kg-slash-menu>\n {children}\n </div>\n );\n}\n","import React from 'react';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_HIGH, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_LEFT_COMMAND, KEY_ARROW_RIGHT_COMMAND, KEY_ARROW_UP_COMMAND, KEY_ENTER_COMMAND} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {SlashMenu} from '../components/ui/SlashMenu';\nimport {CardMenu} from '../components/ui/CardMenu';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction useSlashCardMenu(editor) {\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [query, setQuery] = React.useState('');\n const [commandParams, setCommandParams] = React.useState([]);\n const [cardMenu, setCardMenu] = React.useState({});\n const [selectedItemIndex, setSelectedItemIndex] = React.useState(0);\n const cachedRange = React.useRef(null);\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.bottom - containerRect.top;\n }\n\n function moveCursorToCachedRange() {\n if (!cachedRange.current) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange.current);\n }\n\n const openMenu = React.useCallback(() => {\n setIsShowingMenu(true);\n }, [setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n setQuery('');\n setCommandParams([]);\n cachedRange.current = null;\n }, [setIsShowingMenu]);\n\n const insert = React.useCallback((insertCommand, {insertParams = {}, queryParams = {}} = {}) => {\n const dataset = {...insertParams};\n\n for (let i = 0; i < queryParams.length; i++) {\n if (commandParams[i]) {\n const key = queryParams[i];\n const value = commandParams[i];\n dataset[key] = value;\n }\n }\n\n editor.update(() => {\n const selection = $getSelection();\n selection.modify('extend', true, 'lineboundary');\n selection.deleteCharacter(true);\n editor.dispatchCommand(insertCommand, dataset);\n });\n\n closeMenu();\n }, [editor, commandParams, closeMenu]);\n\n // close menu if selection moves out of the slash command\n // update the search query when typing\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n closeMenu();\n return;\n }\n\n const node = getSelectedNode(selection).getTopLevelElement();\n\n if (!node || !$isParagraphNode(node) || !node.getTextContent().startsWith('/')) {\n closeMenu();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const anchorNode = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (anchorNode?.nodeType !== Node.TEXT_NODE || !rootElement.contains(anchorNode)) {\n closeMenu();\n return;\n }\n\n // store the cached range so we can reset the cursor when Escape is pressed\n // because that will _always_ blur the contenteditable which we don't want\n cachedRange.current = nativeSelection.getRangeAt(0);\n\n // capture text after the / as a query for filtering cards\n const command = node.getTextContent().slice(1);\n const [q, ...cps] = command.split(' ');\n setQuery(q);\n setCommandParams(cps);\n });\n });\n }, [editor, closeMenu, setQuery, setCommandParams]);\n\n // open the menu when / is pressed on a blank paragraph\n React.useEffect(() => {\n if (isShowingMenu) {\n return;\n }\n\n const triggerMenu = (event) => {\n const {key, isComposing, shiftKey, ctrlKey, metaKey, altKey} = event;\n\n // we only care about / presses when not composing or pressed with modifiers\n if (key !== '/' || isComposing || shiftKey || ctrlKey || metaKey || altKey) {\n return;\n }\n\n // ignore if editor doesn't have focus\n const rootElement = editor.getRootElement();\n if (!rootElement.matches(':focus')) {\n return;\n }\n\n // potentially valid / press\n editor.getEditorState().read(() => {\n const selection = $getSelection();\n const node = getSelectedNode(selection).getTopLevelElement();\n\n // ignore if selection is not on a top-level paragraph\n if (!node || !$isParagraphNode(node)) {\n return;\n }\n\n const paragraphSize = node.getTextContentSize();\n const isEmptyParagraph = selection.isCollapsed() && node.getTextContent() === '';\n // if full paragraph is selected, pressing / will replace it so that's a valid press\n const isFullParagraphSelection = !selection.isCollapsed() && (\n (selection.anchor.offset === 0 && selection.focus.offset === paragraphSize) ||\n (selection.anchor.offset === paragraphSize && selection.focus.offset === 0)\n );\n\n if (isEmptyParagraph || isFullParagraphSelection) {\n const nativeSelection = window.getSelection();\n let selectionElem;\n\n if (nativeSelection.anchorNode.nodeType === Node.TEXT_NODE) {\n selectionElem = nativeSelection.anchorNode.parentNode.closest('p');\n } else {\n selectionElem = nativeSelection.anchorNode;\n }\n\n setTopPosition(getTopPosition(selectionElem));\n openMenu();\n }\n });\n };\n\n window.addEventListener('keypress', triggerMenu);\n return () => {\n window.removeEventListener('keypress', triggerMenu);\n };\n }, [editor, isShowingMenu, setTopPosition, openMenu]);\n\n // close the menu when Escape is pressed\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const handleEscape = (event) => {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n };\n\n window.addEventListener('keydown', handleEscape);\n return () => {\n window.removeEventListener('keydown', handleEscape);\n };\n }, [isShowingMenu, closeMenu]);\n\n // close the menu on clicks outside the menu\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const handleMousedown = (event) => {\n if (containerRef.current?.contains(event.target)) {\n return;\n }\n\n closeMenu();\n };\n\n window.addEventListener('mousedown', handleMousedown);\n return () => {\n window.removeEventListener('mousedown', handleMousedown);\n };\n }, [isShowingMenu, closeMenu]);\n\n // capture key navigation to move/insert selected card item\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const moveUp = (event) => {\n if (selectedItemIndex === 0) {\n setSelectedItemIndex(cardMenu.maxItemIndex);\n } else {\n setSelectedItemIndex(selectedItemIndex - 1);\n }\n\n event.preventDefault();\n return true;\n };\n\n const moveDown = (event) => {\n if (selectedItemIndex === cardMenu.maxItemIndex) {\n setSelectedItemIndex(0);\n } else {\n setSelectedItemIndex(selectedItemIndex + 1);\n }\n\n event.preventDefault();\n return true;\n };\n\n const enter = (event) => {\n document.querySelector(`[data-kg-slash-menu] [data-kg-cardmenu-idx=\"${selectedItemIndex}\"]`)?.click();\n event.preventDefault();\n return true;\n };\n\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n moveDown,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n moveUp,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_RIGHT_COMMAND,\n moveDown,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_LEFT_COMMAND,\n moveUp,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n enter,\n COMMAND_PRIORITY_HIGH\n )\n );\n }, [editor, isShowingMenu, cardMenu, selectedItemIndex]);\n\n // build up the card menu based on registered nodes and current search\n React.useEffect(() => {\n const cardNodes = getEditorCardNodes(editor);\n setCardMenu(buildCardMenu(cardNodes, {insert, query}));\n setSelectedItemIndex(0);\n }, [editor, query, insert, setCardMenu, setSelectedItemIndex]);\n\n if (cardMenu.menu?.size === 0) {\n return null;\n }\n\n if (isShowingMenu) {\n return (\n <div className=\"absolute\" style={{top: `${topPosition}px`}} ref={containerRef} data-kg-slash-container>\n <SlashMenu>\n <CardMenu menu={cardMenu.menu} selectedItemIndex={selectedItemIndex} insert={insert} />\n </SlashMenu>\n </div>\n );\n }\n\n return null;\n}\n\nexport default function SlashCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return useSlashCardMenu(editor);\n}\n","const VERTICAL_GAP = 10;\n\nexport function setFloatingElemPosition(\n targetRect,\n floatingElem,\n anchorElem,\n options = {}\n) {\n options = Object.assign({\n verticalGap: VERTICAL_GAP,\n controlOpacity: false\n }, options);\n\n const scrollerElem = anchorElem.parentElement;\n\n if (targetRect === null || !scrollerElem) {\n if (options.controlOpacity) {\n floatingElem.style.opacity = '0';\n }\n floatingElem.style.top = '-10000px';\n floatingElem.style.left = '-10000px';\n\n return;\n }\n\n const floatingElemRect = floatingElem.getBoundingClientRect();\n const anchorElementRect = anchorElem.getBoundingClientRect();\n const editorScrollerRect = scrollerElem.getBoundingClientRect();\n\n let top = targetRect.top - floatingElemRect.height - options.verticalGap;\n let left = targetRect.left + targetRect.width / 2 - floatingElemRect.width / 2;\n\n if (left < editorScrollerRect.left) {\n left = editorScrollerRect.left;\n }\n\n if (left + floatingElemRect.width > editorScrollerRect.right) {\n left = editorScrollerRect.right - floatingElemRect.width;\n }\n\n top -= anchorElementRect.top;\n left -= anchorElementRect.left;\n\n if (options.controlOpacity) {\n floatingElem.style.opacity = '1';\n }\n floatingElem.style.top = `${top}px`;\n floatingElem.style.left = `${left}px`;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nexport function getDOMRangeRect(\n nativeSelection,\n rootElement,\n) {\n const domRange = nativeSelection.getRangeAt(0);\n\n let rect;\n\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) { // eslint-disable-line eqeqeq\n inner = inner.firstElementChild;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n return rect;\n}\n","export function getScrollParent(node) {\n const isElement = node instanceof HTMLElement;\n const overflowY = isElement && window.getComputedStyle(node).overflowY;\n const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n if (!node) {\n return null;\n } else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n return node;\n }\n\n return getScrollParent(node.parentNode) || document.body;\n}\n","import React, {useEffect} from 'react';\nimport {createPortal} from 'react-dom';\nimport {\n $createParagraphNode,\n $getSelection,\n $isRangeSelection,\n $isTextNode,\n COMMAND_PRIORITY_LOW,\n FORMAT_TEXT_COMMAND,\n SELECTION_CHANGE_COMMAND\n} from 'lexical';\nimport {\n $wrapNodes\n} from '@lexical/selection';\nimport {\n $createHeadingNode,\n $isHeadingNode,\n $createQuoteNode\n} from '@lexical/rich-text';\nimport {\n $isListNode,\n ListNode\n} from '@lexical/list';\nimport {\n $getNearestNodeOfType,\n mergeRegister\n} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$createAsideNode} from '../nodes/AsideNode';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {setFloatingElemPosition} from '../utils/setFloatingElemPosition';\nimport {getDOMRangeRect} from '../utils/getDOMRangeRect';\nimport {getScrollParent} from '../utils/getScrollParent';\nimport {\n ToolbarMenu,\n ToolbarMenuItem,\n ToolbarMenuSeparator\n} from '../components/ui/ToolbarMenu';\n\nconst blockTypeToBlockName = {\n bullet: 'Bulleted List',\n check: 'Check List',\n code: 'Code Block',\n h1: 'Heading 1',\n h2: 'Heading 2',\n h3: 'Heading 3',\n h4: 'Heading 4',\n h5: 'Heading 5',\n h6: 'Heading 6',\n number: 'Numbered List',\n paragraph: 'Normal',\n quote: 'Quote',\n aside: 'Aside'\n};\n\nfunction FloatingFormatToolbar({isText, editor, anchorElem, blockType, isBold, isItalic}) {\n const [stickyToolbar, setStickyToolbar] = React.useState(false);\n const toolbarRef = React.useRef(null);\n // const [isVisible, setIsVisible] = React.useState(false);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createParagraphNode());\n }\n });\n }\n };\n\n const formatHeading = (headingSize) => {\n if (blockType !== headingSize) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode(headingSize));\n }\n });\n }\n };\n\n const formatQuote = () => {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n if (blockType === 'quote') {\n $wrapNodes(selection, () => $createAsideNode());\n } else if (blockType === 'aside') {\n $wrapNodes(selection, () => $createParagraphNode());\n } else {\n $wrapNodes(selection, () => $createQuoteNode());\n }\n }\n });\n };\n\n const updateFloatingToolbar = React.useCallback(() => {\n const toolbarElement = toolbarRef.current;\n\n if (!toolbarElement) {\n return;\n }\n\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n selection !== null &&\n nativeSelection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const rangeRect = getDOMRangeRect(nativeSelection, rootElement);\n if (!stickyToolbar) {\n setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }\n }, [editor, anchorElem, stickyToolbar]);\n\n const toggleVis = React.useCallback(() => {\n if (isText !== false) {\n toolbarRef.current.style.opacity = '1';\n }\n }, [isText]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n document.addEventListener('mouseup', toggleVis);\n return () => {\n document.removeEventListener('mouseup', toggleVis);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n const shiftUp = (e) => {\n if (e.key === 'Shift') {\n toggleVis();\n }\n };\n document.addEventListener('keyup', shiftUp);\n return () => {\n document.removeEventListener('keyup', shiftUp);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n const scrollElement = getScrollParent(anchorElem);\n\n const update = () => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n };\n\n window.addEventListener('resize', update);\n if (scrollElement) {\n scrollElement.addEventListener('scroll', update);\n }\n\n return () => {\n window.removeEventListener('resize', update);\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', update);\n }\n };\n }, [editor, updateFloatingToolbar, anchorElem]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n editorState.read(() => {\n updateFloatingToolbar();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateFloatingToolbar();\n return false;\n },\n COMMAND_PRIORITY_LOW\n )\n );\n }, [editor, updateFloatingToolbar]);\n\n return (\n <div className={`absolute`} ref={toolbarRef} data-kg-floating-toolbar style={{opacity: 0}}>\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Format text as bold\" isActive={isBold} icon=\"bold\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold');\n }} data-kg-toolbar-button=\"bold\" />\n <ToolbarMenuItem label=\"Format text as italics\" isActive={isItalic} icon=\"italic\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic');\n }} data-kg-toolbar-button=\"italic\" />\n <ToolbarMenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} icon=\"headingOne\" onClick={() => {\n (blockType === 'h2' ? formatParagraph() : formatHeading('h2'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h2\" />\n <ToolbarMenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} icon=\"headingTwo\" onClick={() => {\n (blockType === 'h3' ? formatParagraph() : formatHeading('h3'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h3\" />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} icon={blockType === 'aside' ? 'quoteOne' : 'quoteTwo'} onClick={() => {\n (formatQuote());\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"quote\" />\n </ToolbarMenu>\n </div>\n );\n}\n\nfunction useFloatingFormatToolbar(editor, anchorElem) {\n const [isText, setIsText] = React.useState(false);\n const [isBold, setIsBold] = React.useState(false);\n const [isItalic, setIsItalic] = React.useState(false);\n const [blockType, setBlockType] = React.useState('paragraph');\n\n const updatePopup = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // Should not to pop up the floating toolbar when using IME input\n if (editor.isComposing()) {\n return;\n }\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n nativeSelection !== null &&\n (\n !$isRangeSelection(selection) ||\n rootElement === null ||\n !rootElement.contains(nativeSelection.anchorNode)\n )\n ) {\n setIsText(false);\n return;\n }\n\n if (!$isRangeSelection(selection)) {\n return;\n }\n\n const anchorNode = getSelectedNode(selection);\n const element = anchorNode.getKey() === 'root'\n ? anchorNode\n : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n\n // update text format\n setIsBold(selection.hasFormat('bold'));\n setIsItalic(selection.hasFormat('italic'));\n\n if (elementDOM !== null) {\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList\n ? parentList.getListType()\n : element.getListType();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element)\n ? element.getTag()\n : element.getType();\n\n if (type in blockTypeToBlockName) {\n setBlockType(type);\n }\n }\n }\n\n if (selection.getTextContent() !== '') {\n setIsText($isTextNode(anchorNode));\n } else {\n setIsText(false);\n }\n });\n }, [editor]);\n\n useEffect(() => {\n document.addEventListener('selectionchange', updatePopup);\n return () => {\n document.removeEventListener('selectionchange', updatePopup);\n };\n }, [updatePopup]);\n\n useEffect(() => {\n return editor.registerUpdateListener(() => {\n updatePopup();\n });\n }, [editor, updatePopup]);\n\n if (!isText) {\n return;\n }\n\n return createPortal(\n <FloatingFormatToolbar\n isText={isText}\n editor={editor}\n anchorElem={anchorElem}\n blockType={blockType}\n isBold={isBold}\n isItalic={isItalic}\n />,\n anchorElem\n );\n}\n\nexport default function FloatingFormatToolbarPlugin({anchorElem = document.body}) {\n const [editor] = useLexicalComposerContext();\n return useFloatingFormatToolbar(editor, anchorElem);\n}\n","import React from 'react';\nimport {\n $getSelection,\n COMMAND_PRIORITY_HIGH,\n $isRangeSelection,\n $createNodeSelection,\n $setSelection,\n $isParagraphNode\n} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {mergeRegister} from '@lexical/utils';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {$createImageNode, ImageNode, INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\nimport {imageUploadHandler} from '../utils/imageUploadHandler';\n\nexport const ImagePlugin = () => {\n const [editor] = useLexicalComposerContext();\n const {imageUploader} = React.useContext(KoenigComposerContext);\n\n const handleImageUpload = React.useCallback(async (files, imageNodeKey) => {\n if (files?.length > 0) {\n return await imageUploadHandler(files, imageNodeKey, editor, imageUploader);\n }\n }, [imageUploader, editor]);\n\n React.useEffect(() => {\n if (!editor.hasNodes([ImageNode])){\n console.error('ImagePlugin: ImageNode not registered'); // eslint-disable-line no-console\n return;\n }\n return mergeRegister(\n editor.registerCommand(\n INSERT_IMAGE_COMMAND,\n async (dataset) => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const imageNode = $createImageNode(dataset);\n\n if (!dataset.src) {\n const imageNodeKey = imageNode.getKey();\n handleImageUpload(dataset, imageNodeKey);\n }\n // insert a paragraph if this will be the last card and\n // we're not already on a blank paragraph so we always\n // have a trailing paragraph in the doc\n \n const selectedNode = selection.focus.getNode();\n const selectedIsBlankParagraph = $isParagraphNode(selectedNode) && selectedNode.getTextContent() === '';\n const nextNode = selectedNode.getTopLevelElementOrThrow().getNextSibling();\n if (!selectedIsBlankParagraph && !nextNode) {\n selection.insertParagraph();\n }\n\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(imageNode);\n\n // move the focus away from the paragraph to the inserted\n // decorator node\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(imageNode.getKey());\n $setSelection(nodeSelection);\n\n // TODO: trigger file selector?\n }\n\n return true;\n },\n COMMAND_PRIORITY_HIGH\n )\n // editor.registerCommand(\n // UPLOAD_IMAGE_COMMAND,\n // async (files) => {\n // // const dataset = await imageUploader.imageUploader(files);\n // editor.dispatchCommand(INSERT_IMAGE_COMMAND, dataset);\n // },\n // COMMAND_PRIORITY_HIGH\n // ),\n // todo: create another command to handle more of the upload logic to allow us to be able to keep the image uploader more \"dry / generic\" as it needs to handle multiple states of the upload,\n // eg: the progress bar, error states, temp image, etc\n );\n }, [editor, imageUploader, handleImageUpload]);\n\n return null;\n};\n\nexport default ImagePlugin;\n","import React from 'react';\nimport {DRAG_DROP_PASTE} from '@lexical/rich-text';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {COMMAND_PRIORITY_LOW} from 'lexical';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\n\nfunction isMimeType(file, acceptableMimeTypes) {\n const mimeType = file.type;\n let key = Object.keys(acceptableMimeTypes).find(k => acceptableMimeTypes[k].includes(mimeType));\n return key;\n}\n \nfunction mediaFileReader(files, acceptableMimeTypes) {\n const filesIterator = files[Symbol.iterator]();\n return new Promise((resolve, reject) => {\n const processed = [];\n let node;\n const handleNextFile = () => {\n const {done, value: file} = filesIterator.next();\n if (done) {\n return resolve({processed, node});\n }\n const fileReader = new FileReader();\n fileReader.addEventListener('error', reject);\n fileReader.addEventListener('load', () => {\n const result = fileReader.result;\n if (typeof result === 'string') {\n processed.push(file);\n }\n handleNextFile();\n });\n const nodeType = isMimeType(file, acceptableMimeTypes);\n if (nodeType) {\n fileReader.readAsDataURL(file);\n node = nodeType;\n } else {\n console.error('unsupported file type'); // eslint-disable-line no-console\n handleNextFile();\n }\n };\n handleNextFile();\n });\n}\n\nasync function getListofAcceptableMimeTypes(editor) {\n const nodes = getEditorCardNodes(editor);\n let acceptableMimeTypes = {};\n for (const [nodeType, node] of nodes) {\n if (nodeType && node.mimeTypes) {\n acceptableMimeTypes[nodeType] = node.mimeTypes;\n }\n }\n return {\n acceptableMimeTypes\n };\n}\n\nfunction DragDropPastePlugin() {\n const [editor] = useLexicalComposerContext();\n\n const handleDrag = React.useCallback((e) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const handleDrop = React.useCallback(async (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files) {\n editor.dispatchCommand(DRAG_DROP_PASTE, e.dataTransfer.files);\n }\n }, [editor]);\n\n React.useEffect(() => {\n // TODO: consuming app should be able to configure the element where they want to listen to the drag and drop events\n const dropTarget = document.querySelector('.gh-koenig-editor') || document;\n dropTarget.addEventListener('dragover', handleDrag);\n dropTarget.addEventListener('drop', handleDrop);\n\n return () => {\n dropTarget.removeEventListener('dragover', handleDrag);\n dropTarget.removeEventListener('drop', handleDrop);\n };\n }, [handleDrop, handleDrag]);\n\n const handleFileUpload = React.useCallback(async (files) => {\n const {acceptableMimeTypes} = await getListofAcceptableMimeTypes(editor);\n const {processed, node} = await mediaFileReader(files, acceptableMimeTypes);\n if (processed.length) {\n if (node === 'image') {\n editor.dispatchCommand(INSERT_IMAGE_COMMAND, processed);\n }\n }\n }, [editor]);\n\n React.useEffect(() => {\n return editor.registerCommand(\n DRAG_DROP_PASTE,\n async (files) => {\n try {\n return await handleFileUpload(files);\n } catch (error) {\n console.error(error); // eslint-disable-line no-console\n }\n },\n COMMAND_PRIORITY_LOW \n );\n }, [editor, handleFileUpload]);\n return null;\n}\n\nexport default DragDropPastePlugin;\n","import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_EDITOR} from 'lexical';\nimport {useEffect} from 'react';\nimport {$createHorizontalRuleNode, INSERT_HORIZONTAL_RULE_COMMAND} from '../nodes/HorizontalRuleNode';\n\nexport const HorizontalRulePlugin = () => {\n const [editor] = useLexicalComposerContext();\n\n useEffect(() => {\n if (!editor.hasNodes([])) {\n console.error('HorizontalRulePlugin: HorizontalRuleNode not registered'); // eslint-disable-line no-console\n return;\n }\n return editor.registerCommand(\n INSERT_HORIZONTAL_RULE_COMMAND,\n () => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const horizontalRuleNode = $createHorizontalRuleNode();\n\n // insert a paragraph unless we're already on a blank paragraph\n const selectedNode = selection.focus.getNode();\n if ($isParagraphNode(selectedNode) && selectedNode.getTextContent() !== '') {\n selection.insertParagraph();\n }\n\n // insert the horizontal rule before the current/inserted paragraph\n // so the cursor stays on the blank paragraph\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(horizontalRuleNode);\n }\n\n return true;\n },\n COMMAND_PRIORITY_EDITOR\n );\n }, [editor]);\n\n return null;\n};\n\nexport default HorizontalRulePlugin;\n","export function EditorPlaceholder() {\n return (\n <div className=\"pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl text-grey-500\">Begin writing your post...</div>\n );\n}\n","import React from 'react';\nimport {RichTextPlugin} from '@lexical/react/LexicalRichTextPlugin';\nimport LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary';\nimport {ContentEditable} from '@lexical/react/LexicalContentEditable';\nimport {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin';\nimport {OnChangePlugin} from '@lexical/react/LexicalOnChangePlugin';\nimport {ListPlugin} from '@lexical/react/LexicalListPlugin';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport KoenigBehaviourPlugin from '../plugins/KoenigBehaviourPlugin';\nimport MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport PlusCardMenuPlugin from '../plugins/PlusCardMenuPlugin';\nimport SlashCardMenuPlugin from '../plugins/SlashCardMenuPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbarPlugin';\nimport ImagePlugin from '../plugins/ImagePlugin';\nimport DragDropPastePlugin from '../plugins/DragDropPastePlugin';\n\nimport HorizontalRulePlugin from '../plugins/HorizontalRulePlugin';\nimport {EditorPlaceholder} from './ui/EditorPlaceholder';\nimport '../styles/index.css';\n\nconst KoenigEditor = ({\n onChange,\n markdownTransformers\n}) => {\n const _onChange = React.useCallback((editorState) => {\n const json = editorState.toJSON();\n onChange?.(json);\n }, [onChange]);\n\n const {editorContainerRef} = React.useContext(KoenigComposerContext);\n\n // we need an element reference for the container element that\n // any floating elements in plugins will be rendered inside\n const [floatingAnchorElem, setFloatingAnchorElem] = React.useState(null);\n const onRef = (_floatingAnchorElem) => {\n if (_floatingAnchorElem !== null) {\n setFloatingAnchorElem(_floatingAnchorElem);\n }\n };\n\n return (\n <div className=\"koenig-lexical\" ref={editorContainerRef}>\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<EditorPlaceholder />}\n ErrorBoundary={LexicalErrorBoundary}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <KoenigBehaviourPlugin containerElem={editorContainerRef} />\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n <PlusCardMenuPlugin />\n <SlashCardMenuPlugin />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n <ImagePlugin />\n <DragDropPastePlugin />\n <HorizontalRulePlugin />\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["SvgKgBold","props","React","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgLink","SvgKgQuote","SvgKgImgRegular","SvgKgImgWide","SvgKgImgFull","SvgKgReplace","SvgKgAdd","SvgKgSnippet","SvgPlus","SvgKgCardTypeImage","SvgKgCardTypeMarkdown","SvgKgCardTypeHtml","SvgKgCardTypeGallery","SvgKgCardTypeDivider","SvgKgCardTypeBookmark","SvgKgCardTypeEmail","SvgKgCardTypeEmailCta","SvgKgCardTypePreview","SvgKgCardTypeButton","SvgKgCardTypeCallout","SvgKgCardTypeGif","SvgKgCardTypeToggle","SvgKgCardTypeVideo","SvgKgCardTypeAudio","SvgKgCardTypeFile","SvgKgCardTypeProduct","SvgKgCardTypeHeader","SvgKgCardTypeYoutube","SvgKgCardTypeTwitter","SvgKgCardTypeUnsplash","SvgKgCardTypeVimeo","SvgKgCardTypeCodepen","SvgKgCardTypeSpotify","SvgKgCardTypeSoundcloud","SvgKgCardTypeNft","SvgKgCardTypeOther","SvgKgCardTypeSnippet","SvgKgImgPlaceholder","SvgKgGalleryPlaceholder","f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","module","DesignSandbox","_jsx","ComponentTitle","TextToolbar","ImageToolbar","GalleryToolbar","PlusButton","CardMenu","DividerCard","CodeBlock","ImageCard","GalleryCard","label","ToolbarItem","BoldIcon","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","ToolbarSeparator","QuoteIcon","LinkIcon","SnippetIcon","ImgRegularIcon","ImgWideIcon","ImgFullIcon","ReplaceIcon","AddIcon","Icon","PlusIcon","CardMenuSection","CardMenuItem","ImageCardIcon","MarkdownCardIcon","HtmlCardIcon","GalleryCardIcon","DividerCardIcon","BookmarkCardIcon","EmailCardIcon","EmailCtaCardIcon","PreviewCardIcon","ButtonCardIcon","CalloutCardIcon","GifCardIcon","ToggleCardIcon","VideoCardIcon","AudioCardIcon","FileCardIcon","ProductCardIcon","HeaderCardIcon","YoutubeCardIcon","TwitterCardIcon","UnsplashCardIcon","VimeoCardIcon","CodepenCardIcon","SpotifyCardIcon","SoundcloudCardIcon","NftCardIcon","OtherCardIcon","CardSnippetItem","SnippetCardIcon","minWidth","desc","_jsxs","CaptionEditor","isActive","setActive","useState","altText","setAltText","toggleActive","toggleAltText","stopPropagation","MediaPlaceholder","ImgPlaceholderIcon","placeholder","GalleryPlaceholderIcon","LexicalComposerContext_prod","LexicalComposerContext","LexicalComposerContext_1","ba","ca","da","ea","fa","ha","ia","ja","la","ma","na","oa","pa","qa","ra","sa","ta","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","r","t","Na","u","Oa","Pa","Qa","Ra","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","x","ib","A","v","w","jb","C","D","y","F","z","kb","B","lb","E","R","aa","G","mb","nb","ob","pb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","H","I","J","K","L","Fb","M","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","N","Qb","Rb","Sb","Tb","Ub","Vb","Wb","O","Xb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","P","Q","S","kc","T","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","U","Pc","Jc","Kc","Lc","Mc","Nc","Oc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","V","ad","bd","cd","dd","ed","fd","gd","hd","id","X","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Cd","Dd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Y","Z","Sd","Td","Ud","Vd","Wd","Xd","Yd","W","Zd","Sa","ua","we","xe","qb","Ed","va","Fd","Gd","Yb","Hd","Zb","Id","ye","Ta","ka","wa","Jd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Lexical_prod","Lexical","Lexical_1","require$$1","require$$2","LexicalComposer_prod","LexicalComposer","LexicalComposer_1","LexicalUtils_prod","LexicalUtils","LexicalUtils_1","LexicalList_prod","LexicalList","LexicalList_1","LexicalSelection_prod","LexicalSelection","LexicalSelection_1","LexicalHtml_prod","LexicalHtml","LexicalHtml_1","require$$3","require$$4","LexicalClipboard_prod","LexicalClipboard","LexicalClipboard_1","LexicalRichText_prod","LexicalRichText","LexicalRichText_1","LexicalLink_prod","LexicalLink","LexicalLink_1","AsideNode","ElementNode","node","config","element","addClassNamesToElement","prevNode","dom","convertAsideElement","serializedNode","$createAsideNode","newBlock","$createParagraphNode","direction","paragraph","child","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","CardContext","createContext","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","CardWrapper","forwardRef","isSelected","cardWidth","cardType","children","ref","propTypes","PropTypes","bool","oneOf","defaultProps","KoenigCardWrapperComponent","nodeKey","width","editor","useLexicalComposerContext","setSelected","clearSelected","selection","setSelection","setCardType","setCardWidth","containerRef","useRef","useLayoutEffect","getEditorState","read","cardNode","$getNodeByKey","getType","useEffect","mergeRegister","registerUpdateListener","editorState","$getSelection","registerCommand","CLICK_COMMAND","event","current","contains","target","COMMAND_PRIORITY_LOW","KEY_ENTER_COMMAND","latestSelection","$isNodeSelection","getNodes","length","preventDefault","paragraphNode","getTopLevelElementOrThrow","insertAfter","select","COMMAND_PRIORITY_EDITOR","KEY_BACKSPACE_COMMAND","matches","update","caption","getCaption","setCaption","slice","previousSibling","getPreviousSibling","nextSibling","getNextSibling","selectEnd","$isDecoratorNode","nodeSelection","$createNodeSelection","add","getKey","$setSelection","selectPrevious","selectStart","selectNext","remove","KEY_DELETE_COMMAND","WrapperContext","cardContainerRef","HorizontalRuleCard","INSERT_HORIZONTAL_RULE_COMMAND","createCommand","HorizontalRuleNode","DecoratorNode","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","getTextContent","isInline","updateDOM","decorate","KoenigCardWrapper","_HorizontalRuleNode","__publicField","kgMenu","insertCommand","$isHorizontalRuleNode","useAutoExpandTextArea","el","value","height","CodeBlockCard","code","language","updateCode","updateLanguage","textareaRef","string","CodeBlockComponent","setCode","setLanguage","CodeBlockNode","constructor","initCode","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","$isCodeBlockNode","KoenigComposerContext","CaptionInput","onChange","AltTextInput","AltToggleButton","isEditingAlt","onClick","CardCaptionEditor","altTextPlaceholder","captionPlaceholder","setIsEditingAlt","toggleIsEditingAlt","CardText","text","filePicker","size","handleDrag","handleDrop","isDraggedOver","openFileSelection","fileInputRef","ImageUploadForm","onFileChange","PopulatedImageCard","src","alt","ImageProgressCard","previewSrc","progress","progressStyle","toFixed","EmptyImageCard","setFileInputRef","_Fragment","onFileInputRef","ImageHolder","uploadProgress","setFigureRef","figureRef","func","number","SvgKgQuote1","SvgKgQuote2","SvgKgEdit","TOOLBAR_ICONS","bold","italic","headingOne","headingTwo","quote","quoteOne","QuoteOneIcon","quoteTwo","QuoteTwoIcon","link","imageRegular","ImageRegularIcon","imageWide","ImageWideIcon","imageFull","ImageFullIcon","imageReplace","ImageReplaceIcon","edit","EditIcon","snippet","ToolbarMenu","ToolbarMenuItem","icon","ToolbarMenuSeparator","ActionToolbar","isVisible","getImageDimensions","url","img","resolve","reject","imageUploadHandler","files","imageUploader","fileSrc","ImageNodeComponent","triggerFileDialog","dragOver","setDragOver","useContext","toolbarFileInputRef","fls","newCaption","newAltText","renderTimeout","setTimeout","setTriggerFileDialog","clearTimeout","handleImageCardResize","newWidth","dataTransfer","INSERT_IMAGE_COMMAND","convertImageElement","domNode","HTMLImageElement","$createImageNode","ImageNode","__src","__caption","__altText","__cardWidth","__width","__height","__triggerFileDialog","__previewSrc","exportDOM","figcaption","getSrc","innerHTML","appendChild","importDom","Node","conversion","priority","isBlob","startsWith","dataset","getAltText","getCardWidth","getImgWidth","getImgHeight","setSrc","writable","getPreviewSrc","setPreviewSrc","setImgWidth","setImgHeight","shouldTrigger","_ImageNode","insertParams","queryParams","extensionTypes","mimeTypes","$isImageNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","theme","KoenigComposer","initialEditorState","nodes","onError","imageUploadFunction","initialConfig","useMemo","Object","assign","editorContainerRef","LexicalText_prod","LexicalText","LexicalText_1","LexicalDragon_prod","LexicalDragon","LexicalDragon_1","require$$5","require$$6","LexicalRichTextPlugin_prod","LexicalRichTextPlugin","LexicalRichTextPlugin_1","require","setPrototypeOf","bind","__proto__","prototype","create","some","is","arguments","Array","call","apply","concat","state","resetErrorBoundary","onReset","reset","getDerivedStateFromError","setState","componentDidCatch","componentDidUpdate","resetKeys","onResetKeysChange","render","fallbackRender","FallbackComponent","fallback","isValidElement","Error","Component","border","color","padding","LexicalErrorBoundary","LexicalErrorBoundary_1","LexicalContentEditable_prod","LexicalContentEditable","LexicalContentEditable_1","LexicalHistory_prod","LexicalHistory","LexicalHistory_1","history","LexicalHistoryPlugin_prod","LexicalHistoryPlugin","LexicalHistoryPlugin_1","LexicalOnChangePlugin_prod","LexicalOnChangePlugin","LexicalOnChangePlugin_1","LexicalListPlugin_prod","LexicalListPlugin","LexicalListPlugin_1","RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX","$selectDecoratorNode","getTopLevelNativeElement","nodeType","TEXT_NODE","parentNode","selector","closest","useKoenigBehaviour","containerElem","onMousedown","addEventListener","removeEventListener","KEY_ARROW_UP_COMMAND","$isRangeSelection","isCollapsed","topLevelElement","anchor","getNode","getTopLevelElement","nativeSelection","window","getSelection","onEmptyNode","trim","offset","atStartOfElement","focus","rects","getRangeAt","cloneRange","getClientRects","rangeRect","elemRect","anchorNode","getBoundingClientRect","Math","abs","top","COMMAND_PRIORITY_HIGH","KEY_ARROW_DOWN_COMMAND","nativeTopLevelElement","atEndOfElement","rangeCount","anchorOffset","focusOffset","bottom","PASTE_COMMAND","clipboard","clipboardDataset","clipboardData","getData","linkMatch","match","selectionContent","textNode","extract","linkNode","$createLinkNode","linkTextNode","$createTextNode","setFormat","getFormat","append","replace","KoenigBehaviourPlugin","querySelector","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","scripts","className","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","objId","property","propertyType","async","container","env","parent","insertHighlightedCode","highlightedCode","worker","evt","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","from","to","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","next","newNode","count","array","message","immediateClose","script","highlightAutomaticallyCallback","readyState","global","tagName","includedCdataInside","def","attrName","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","xhr","parseRange","range","start","comma","end","pre","extension","autoloader","lines","elements","logged","inner","createInline","tableCell","tableRow","tableLine","walkTokens","codeLang","codeBlock","cls","textContent","ele","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","known","multilineComment","rule","require$$12","require$$13","LexicalCode_prod","LexicalCode","LexicalCode_1","LexicalMarkdown_prod","LexicalMarkdown","LexicalMarkdown_1","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","_1","_2","isImport","line","insertBefore","CODE_BLOCK","codeBlockNode","IMAGE","imageNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","focusNode","$isAtNodeEnd","PlusMenu","menu","Map","selectedItemIndex","CardMenuSections","itemIndex","sectionLabel","items","CardMenuItems","forEach","item","push","getEditorCardNodes","allNodes","cardNodes","klass","buildCardMenu","query","maxItemIndex","addMenuItem","section","usePlusCardMenu","isShowingButton","setIsShowingButton","isShowingMenu","setIsShowingMenu","topPosition","setTopPosition","cachedRange","setCachedRange","cardMenu","setCardMenu","getTopPosition","elem","containerRect","getElementRange","Range","setStart","setEnd","moveCursorToCachedRange","useCallback","removeAllRanges","addRange","showButton","hideButton","openMenu","closeMenu","resetCursor","updateButton","isComposing","$isParagraphNode","rootElement","getRootElement","commandParams","dispatchCommand","hideButtonOnOutsideSelection","updateButtonOnMousemove","pageX","pageY","left","hoveredElem","elementFromPoint","closeMenuOnClickOutside","handleKeydown","includes","style","PlusCardMenuPlugin","SlashMenu","useSlashCardMenu","setQuery","setCommandParams","setSelectedItemIndex","modify","deleteCharacter","command","cps","split","triggerMenu","shiftKey","ctrlKey","metaKey","altKey","paragraphSize","getTextContentSize","isEmptyParagraph","isFullParagraphSelection","selectionElem","handleEscape","handleMousedown","moveUp","moveDown","enter","click","KEY_ARROW_RIGHT_COMMAND","KEY_ARROW_LEFT_COMMAND","SlashCardMenuPlugin","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","options","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","getDOMRangeRect","domRange","rect","getScrollParent","overflowY","isScrollable","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","aside","FloatingFormatToolbar","isText","blockType","isBold","isItalic","stickyToolbar","setStickyToolbar","toolbarRef","formatParagraph","formatHeading","headingSize","$wrapNodes","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","toolbarElement","toggleVis","opacity","shiftUp","scrollElement","SELECTION_CHANGE_COMMAND","FORMAT_TEXT_COMMAND","useFloatingFormatToolbar","setIsText","setIsBold","setIsItalic","setBlockType","updatePopup","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","$isTextNode","createPortal","FloatingFormatToolbarPlugin","body","ImagePlugin","handleImageUpload","imageNodeKey","hasNodes","selectedNode","selectedIsBlankParagraph","nextNode","insertParagraph","isMimeType","file","acceptableMimeTypes","mimeType","keys","find","mediaFileReader","filesIterator","Symbol","iterator","Promise","processed","handleNextFile","done","fileReader","FileReader","result","readAsDataURL","getListofAcceptableMimeTypes","DragDropPastePlugin","DRAG_DROP_PASTE","dropTarget","handleFileUpload","HorizontalRulePlugin","horizontalRuleNode","EditorPlaceholder","KoenigEditor","markdownTransformers","_onChange","json","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin"],"mappings":";;;;;;AACA,MAAMA,KAAY,CAACC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACtE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIC,KAAc,CAACF,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACxE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIE,KAAgB,CAACH,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC1E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIG,KAAgB,CAACJ,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC1E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTII,KAAY,CAACL,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACtE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIK,KAAa,CAACN,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACvE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIM,KAAkB,CAACP,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC5E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AAAA,EACV,SAAS;AACX,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,CAAC,GCfGO,KAAe,CAACR,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACzE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AAAA,EACV,SAAS;AACX,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,CAAC,GCfGQ,KAAe,CAACT,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACzE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AAAA,EACV,SAAS;AACX,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,CAAC,GCfGS,KAAe,CAACV,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACzE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,CAAC,GCXGU,KAAW,CAACX,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACrE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIW,KAAe,CAACZ,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACzE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,CAAC,CAAC,GCfIY,KAAU,CAACb,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACpE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,CAAC,CAAC,GCbGa,KAAqB,CAACd,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC/E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,CAAC,GCfGc,KAAwB,CAACf,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAClF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,UAAU;AACZ,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,GAAG;AACL,CAAC,CAAC,CAAC,GCnBGe,KAAoB,CAAChB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC9E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,MAAM;AAAA,EACN,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,CAAC,GClBGgB,KAAuB,CAACjB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,CAAC,GCtBGiB,KAAuB,CAAClB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AACN,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,MAAM;AAAA,EACN,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AACN,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,MAAM;AAAA,EACN,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AACN,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,MAAM;AAAA,EACN,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AACN,CAAC,CAAC,CAAC,GCnCGkB,KAAwB,CAACnB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAClF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,GCZImB,KAAqB,CAACpB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC/E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,UAAU;AAAA,EACV,MAAM;AACR,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,CAAC,GCrBGoB,KAAwB,CAACrB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAClF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,KAAK;AAAA,EAC3C,UAAU;AAAA,EACV,MAAM;AACR,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,CAAC,CAAC,GAAmB,gBAAAA,EAAM,cAAc,YAAY;AAAA,EACnD,IAAI;AACN,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,MAAM;AAAA,EACN,WAAW;AAAA,EACX,GAAG;AACL,CAAC,CAAC,CAAC,GC9BGqB,KAAuB,CAACtB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,GCnBIsB,KAAsB,CAACvB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAChF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,GChBIuB,KAAuB,CAACxB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,KAAK;AAAA,EAC3C,MAAM;AACR,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AACL,CAAC,CAAC,GAAmB,gBAAAA,EAAM,cAAc,YAAY,MAAsB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EACrG,MAAM;AAAA,EACN,WAAW;AAAA,EACX,GAAG;AACL,CAAC,CAAC,CAAC,GCrBGwB,KAAmB,CAACzB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC7E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,CAAC,GC9CIyB,KAAsB,CAAC1B,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAChF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,CAAC,GCvCI0B,KAAqB,CAAC3B,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC/E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,CAAC,GC7CI2B,KAAqB,CAAC5B,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC/E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB,CAAC,CAAC,GCxBI4B,KAAoB,CAAC7B,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC9E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,GChBI6B,KAAuB,CAAC9B,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,GCxBI8B,KAAsB,CAAC/B,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAChF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,GCfI+B,KAAuB,CAAChC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,MAAM;AAAA,EACN,GAAG;AACL,CAAC,CAAC,CAAC,GCfGgC,KAAuB,CAACjC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,UAAU;AACZ,CAAC,CAAC,GCVIiC,KAAwB,CAAClC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAClF,OAAO;AAAA,EACP,SAAS;AAAA,EACT,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AACL,CAAC,CAAC,GCNIkC,KAAqB,CAACnC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC/E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,CAAC,GCfGmC,KAAuB,CAACpC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,UAAU;AACZ,CAAC,CAAC,GCVIoC,KAAuB,CAACrC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,UAAU;AACZ,CAAC,CAAC,GCVIqC,KAA0B,CAACtC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACpF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,UAAU;AACZ,CAAC,CAAC,GCVIsC,KAAmB,CAACvC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC7E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,GChBIuC,KAAqB,CAACxC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAC/E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,MAAM;AAAA,EACN,UAAU;AACZ,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AACN,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AAAA,EACH,MAAM;AACR,CAAC,CAAC,CAAC,GCjBGwC,KAAuB,CAACzC,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACjF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,iBAAiB;AAAA,EACjB,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,iBAAiB;AAAA,EACjB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,iBAAiB;AAAA,EACjB,GAAG;AAAA,EACH,MAAM;AACR,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,iBAAiB;AAAA,EACjB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,MAAM;AACR,CAAC,CAAC,GC9BIyC,KAAsB,CAAC1C,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EAChF,OAAO;AAAA,EACP,SAAS;AAAA,EACT,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,eAAe;AAAA,EACf,aAAa;AAAA,EACb,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,WAAW;AACb,GAAmB,gBAAAA,EAAM,cAAc,UAAU;AAAA,EAC/C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,YAAY;AAAA,EACZ,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AACL,CAAC,CAAC,CAAC,GCpBG0C,KAA0B,CAAC3C,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACpF,OAAO;AAAA,EACP,SAAS;AAAA,EACT,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,KAAK;AAAA,EAC1C,eAAe;AAAA,EACf,aAAa;AAAA,EACb,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,WAAW;AACb,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,QAAQ;AAAA,EAC9C,GAAG;AACL,CAAC,GAAmB,gBAAAA,EAAM,cAAc,UAAU;AAAA,EAChD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AACL,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXU,IAAI2C,KAAEC,GAAiBC,KAAE,OAAO,IAAI,eAAe,GAAEC,KAAE,OAAO,IAAI,gBAAgB,GAAEC,KAAE,OAAO,UAAU,gBAAeC,KAAEL,GAAE,mDAAmD,mBAAkBM,KAAE,EAAC,KAAI,IAAG,KAAI,IAAG,QAAO,IAAG,UAAS,GAAE;AAClP,SAASC,GAAEC,GAAEC,GAAEC,GAAE;AAAC,MAAIC,GAAEC,IAAE,IAAGC,IAAE,MAAKC,IAAE;AAAK,EAASJ,MAAT,WAAaG,IAAE,KAAGH,IAAYD,EAAE,QAAX,WAAiBI,IAAE,KAAGJ,EAAE,MAAcA,EAAE,QAAX,WAAiBK,IAAEL,EAAE;AAAK,OAAIE,KAAKF;AAAEL,IAAAA,GAAE,KAAKK,GAAEE,CAAC,KAAG,CAACL,GAAE,eAAeK,CAAC,MAAIC,EAAED,KAAGF,EAAEE;AAAI,MAAGH,KAAGA,EAAE;AAAa,SAAIG,KAAKF,IAAED,EAAE,cAAaC;AAAE,MAASG,EAAED,OAAX,WAAgBC,EAAED,KAAGF,EAAEE;AAAI,SAAM,EAAC,UAAST,IAAE,MAAKM,GAAE,KAAIK,GAAE,KAAIC,GAAE,OAAMF,GAAE,QAAOP,GAAE,QAAO;AAAC;cAAkBF;AAAaY,GAAA,MAACR;AAAEQ,GAAA,OAAaR;AAAAA;ACPxW,EAAAS,EAAA,UAAiBf;;;;;;;8CC2CbgB,KAAgB,MAAM;AACxB,2BACI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAgB,UAAA,CAC3BC,gBAAAA,EAACC,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAc,GACnCD,gBAAAA,EAAAE,GAAc,CAAA,CAAA,qBAEdD,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAe,GACpCD,gBAAAA,EAAAG,GAAe,CAAA,CAAA,qBAEfF,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAiB,GACtCD,gBAAAA,EAAAI,GAAiB,CAAA,CAAA,qBAEjBH,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAW,GAChCD,gBAAAA,EAAAK,GAAa,CAAA,CAAA,qBAEbJ,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAW,GAChCD,gBAAAA,EAAAM,GAAW,CAAA,CAAA,qBAEXL,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAc,GACpCD,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAwB,UACnCA,gBAAAA,EAACO,GAAW,EAAA;AAAA,IAAA,CACV,GAENP,gBAAAA,EAACC,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAY,GAClCD,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAwB,UACnCA,gBAAAA,EAACQ,GAAS,EAAA;AAAA,IAAA,CACR,GAENR,gBAAAA,EAACC,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAY,GAClCD,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAwB,UACnCA,gBAAAA,EAACS,GAAS,EAAA;AAAA,IAAA,CACR,GAENT,gBAAAA,EAACC,GAAc;AAAA,MAAC,OAAM;AAAA,IAAA,CAAc,GACpCD,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAyB,UACpCA,gBAAAA,EAACU,GAAW,EAAA;AAAA,IAAA,CACV,CAAA;AAAA,EAAA,CACJ;AAMV,WAAST,EAAe;AAAA,IAACU,OAAAA;AAAAA,EAAAA,GAAQ;AAC7B,6BACI,MAAA;AAAA,MAAI,WAAU;AAAA,MAAiD,UAC1DA;AAAAA,IAAAA,CACA;AAAA,EAEb;AAKA,WAAST,IAAc;AACnB,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAW,4BACtB,MAAA;AAAA,QAAI,WAAU;AAAA,QAA0G,UAAA,CACpHF,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAsB,MAAMC;AAAAA,QAAAA,CAAY,GAC3Db,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAyB,MAAME;AAAAA,QAAAA,CAAc,GAChEd,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAmB,MAAMG;AAAAA,QAAAA,CAAkB,GAC9Df,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAmB,MAAMI;AAAAA,QAAAA,CAAe,GAC1DhB,gBAAAA,EAAAiB,GAAmB,CAAA,CAAA,qBACnBL,GAAW;AAAA,UAAC,OAAM;AAAA,UAAoB,MAAMM;AAAAA,QAAAA,CAAa,GAC1DlB,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAc,MAAMO;AAAAA,QAAAA,CAAS,GAC/CnB,gBAAAA,EAAAiB,GAAmB,CAAA,CAAA,qBACnBL,GAAW;AAAA,UAAC,OAAM;AAAA,UAAkB,MAAMQ;AAAAA,QAAAA,CAAe,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAE5D;AAAA,EAEd;AAEA,WAASjB,IAAe;AACpB,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAW,4BACtB,MAAA;AAAA,QAAI,WAAU;AAAA,QAA0G,UAAA,CACpHH,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAuB,MAAMS;AAAAA,QAAAA,CAAkB,GAClErB,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAoB,MAAMU;AAAAA,QAAAA,CAAe,GAC5DtB,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAoB,MAAMW;AAAAA,QAAAA,CAAY,GACxDvB,gBAAAA,EAAAiB,GAAmB,CAAA,CAAA,qBACnBL,GAAW;AAAA,UAAC,OAAM;AAAA,UAAc,MAAMO;AAAAA,QAAAA,CAAY,GACnDnB,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAgB,MAAMY;AAAAA,QAAAA,CAAY,GACpDxB,gBAAAA,EAAAiB,GAAmB,CAAA,CAAA,qBACnBL,GAAW;AAAA,UAAC,OAAM;AAAA,UAAkB,MAAMQ;AAAAA,QAAAA,CAAe,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAE5D;AAAA,EAEd;AAEA,WAAShB,IAAiB;AACtB,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAW,4BACtB,MAAA;AAAA,QAAI,WAAU;AAAA,QAA0G,UAAA,CACpHJ,gBAAAA,EAACY,GAAW;AAAA,UAAC,OAAM;AAAA,UAAY,MAAMa;AAAAA,QAAAA,CAAQ,GAC5CzB,gBAAAA,EAAAiB,GAAmB,CAAA,CAAA,qBACnBL,GAAW;AAAA,UAAC,OAAM;AAAA,UAAkB,MAAMQ;AAAAA,QAAAA,CAAe,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAE5D;AAAA,EAEd;AAEA,WAASR,EAAY;AAAA,IAACD,OAAAA;AAAAA,IAAOe,MAAAA;AAAAA,OAASxF;AAAAA,EAAAA,GAAQ;AAC1C,6BACI,MAAA;AAAA,MAAI,WAAU;AAAA,MAAwB,GAAKA;AAAAA,MAAK,4BAC5C,OAAA;AAAA,QACI,MAAK;AAAA,QACL,WAAU;AAAA,QAA0C,4BAEnDwF,GAAI;AAAA,UAAC,WAAU;AAAA,QAAA,CAAY;AAAA,MAAA,CAAG;AAAA,IAAA,CAElC;AAAA,EAEb;AAEA,WAAST,IAAmB;AACxB,6BACI,MAAA;AAAA,MAAI,WAAU;AAAA,IAAA,CAAqC;AAAA,EAE3D;AAKA,WAASZ,IAAa;AAClB,6BACI,UAAA;AAAA,MACI,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAU;AAAA,MAAgL,4BAEzLsB,IAAQ;AAAA,QAAC,WAAU;AAAA,MAAA,CAA8D;AAAA,IAAA,CAC7E;AAAA,EAEjB;AAKA,WAASrB,IAAW;AAChB,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAmI,UAAA,CAC9IN,gBAAAA,EAAC4B,GAAe;AAAA,QAAC,OAAM;AAAA,MAAA,CAAY,GACnC5B,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAQ,MAAK;AAAA,QAAqC,MAAMC;AAAAA,MAAAA,CAAiB,GAC7F9B,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAW,MAAK;AAAA,QAAgC,MAAME;AAAAA,MAAAA,CAAoB,GAC9F/B,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAO,MAAK;AAAA,QAAyB,MAAMG;AAAAA,MAAAA,CAAgB,GAC/EhC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAU,MAAK;AAAA,QAA0B,MAAMI;AAAAA,MAAAA,CAAmB,GACtFjC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAU,MAAK;AAAA,QAAyB,MAAMK;AAAAA,MAAAA,CAAmB,GACrFlC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAW,MAAK;AAAA,QAAoC,MAAMM;AAAAA,MAAAA,CAAoB,GAClGnC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAgB,MAAK;AAAA,QAAuC,MAAMO;AAAAA,MAAAA,CAAiB,GACvGpC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAuB,MAAK;AAAA,QAAyC,MAAMQ;AAAAA,MAAAA,CAAoB,GACnHrC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAiB,MAAK;AAAA,QAAsC,MAAMS;AAAAA,MAAAA,CAAmB,GACzGtC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAS,MAAK;AAAA,QAA4B,MAAMU;AAAAA,MAAAA,CAAkB,GACtFvC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAU,MAAK;AAAA,QAA4B,MAAMW;AAAAA,MAAAA,CAAmB,GACxFxC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAM,MAAK;AAAA,QAAwB,MAAMY;AAAAA,MAAAA,CAAe,GAC5EzC,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAS,MAAK;AAAA,QAA0B,MAAMa;AAAAA,MAAAA,CAAkB,GACpF1C,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAQ,MAAK;AAAA,QAA0B,MAAMc;AAAAA,MAAAA,CAAiB,GAClF3C,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAQ,MAAK;AAAA,QAAgC,MAAMe;AAAAA,MAAAA,CAAiB,GACxF5C,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAO,MAAK;AAAA,QAA6B,MAAMgB;AAAAA,MAAAA,CAAgB,GACnF7C,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAU,MAAK;AAAA,QAA+B,MAAMiB;AAAAA,MAAAA,CAAmB,GAC3F9C,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAS,MAAK;AAAA,QAA4B,MAAMkB;AAAAA,MAAAA,CAAkB,GACtF/C,gBAAAA,EAAC4B,GAAe;AAAA,QAAC,OAAM;AAAA,MAAA,CAAU,GACjC5B,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAU,MAAK;AAAA,QAAuB,MAAMmB;AAAAA,MAAAA,CAAmB,GACnFhD,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAU,MAAK;AAAA,QAAuB,MAAMoB;AAAAA,MAAAA,CAAmB,GACnFjD,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAW,MAAK;AAAA,QAAiC,MAAMqB;AAAAA,MAAAA,CAAoB,GAC/FlD,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAQ,MAAK;AAAA,QAAqB,MAAMsB;AAAAA,MAAAA,CAAiB,GAC7EnD,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAU,MAAK;AAAA,QAAqB,MAAMuB;AAAAA,MAAAA,CAAmB,GACjFpD,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAU,MAAK;AAAA,QAAmC,MAAMwB;AAAAA,MAAAA,CAAmB,GAC/FrD,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAa,MAAK;AAAA,QAAsC,MAAMyB;AAAAA,MAAAA,CAAsB,GACxGtD,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAM,MAAK;AAAA,QAAqB,MAAM0B;AAAAA,MAAAA,CAAe,GACzEvD,gBAAAA,EAAC6B,GAAY;AAAA,QAAC,OAAM;AAAA,QAAW,MAAK;AAAA,QAAe,MAAM2B;AAAAA,MAAAA,CAAiB,GAC1ExD,gBAAAA,EAAC4B,GAAe;AAAA,QAAC,OAAM;AAAA,MAAA,CAAa,GACpC5B,gBAAAA,EAACyD,GAAe;AAAA,QAAC,OAAM;AAAA,QAAmB,MAAMC;AAAAA,MAAAA,CAAmB,CAAA;AAAA,IAAA,CACjE;AAAA,EAEd;AAEA,WAAS9B,EAAgB;AAAA,IAACjB,OAAAA;AAAAA,OAAUzE;AAAAA,EAAAA,GAAQ;AACxC,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAiH,OAAO;AAAA,QAACyH,UAAU;AAAA,MAAqB;AAAA,MAAE,GAAKzH;AAAAA,MAAK,UAC9KyE;AAAAA,IAAAA,CACC;AAAA,EAEd;AAEA,WAASkB,EAAa;AAAA,IAAClB,OAAAA;AAAAA,IAAOiD,MAAAA;AAAAA,IAAMlC,MAAAA;AAAAA,OAASxF;AAAAA,EAAAA,GAAQ;AACjD,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAA+G,GAAKA;AAAAA,MAAK,UACpI,CAAA8D,gBAAAA,EAAA,OAAA;AAAA,QAAK,WAAU;AAAA,QAAmB,4BAC7B0B,GAAI;AAAA,UAAC,WAAU;AAAA,QAAA,CAAS;AAAA,MAAA,CAAG,GAEhCmC,gBAAAA,EAAA,OAAA;AAAA,QAAK,WAAU;AAAA,QAAe,UAC1B,CAAA7D,gBAAAA,EAAA,OAAA;AAAA,UAAK,WAAU;AAAA,UAA+F,UAAEW;AAAAA,QAAAA,CAAK,GACrHX,gBAAAA,EAAA,OAAA;AAAA,UAAK,WAAU;AAAA,UAAqF,UAAE4D;AAAAA,QAAAA,CAAW,CAAA;AAAA,MAAA,CAC/G,CAAA;AAAA,IAAA,CACJ;AAAA,EAEd;AAEA,WAASH,EAAgB;AAAA,IAAC9C,OAAAA;AAAAA,IAAOe,MAAAA;AAAAA,OAASxF;AAAAA,EAAAA,GAAQ;AAC9C,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAA+G,GAAKA;AAAAA,MAAK,UACpI,CAAA8D,gBAAAA,EAAA,OAAA;AAAA,QAAK,WAAU;AAAA,QAAmB,4BAC7B0B,GAAI;AAAA,UAAC,WAAU;AAAA,QAAA,CAAS;AAAA,MAAA,CAAG,GAEhC1B,gBAAAA,EAAA,OAAA;AAAA,QAAK,WAAU;AAAA,QAAe,4BAC1B,OAAA;AAAA,UAAK,WAAU;AAAA,UAA+F,UAAEW;AAAAA,QAAAA,CAAK;AAAA,MAAA,CACnH,CAAA;AAAA,IAAA,CACJ;AAAA,EAEd;AAKA,WAASJ,IAAc;AACnB,6BACI,OAAA;AAAA,MAAA,4BACI,MAAA;AAAA,QAAI,WAAU;AAAA,MAAA,CAAiD;AAAA,IAAA,CAC7D;AAAA,EAEd;AAKA,WAASC,IAAY;AACjB,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAuB,UAClC,CAAAR,gBAAAA,EAAA,OAAA;AAAA,QAAK,WAAU;AAAA,QAA8B,4BACzC,YAAA;AAAA,UAAU,WAAU;AAAA,QAAA,CAAuD;AAAA,MAAA,CACzE,GACNA,gBAAAA,EAAC8D,GAAa;AAAA,QAAC,aAAY;AAAA,MAAA,CAA2C,CAAA;AAAA,IAAA,CACpE;AAAA,EAEd;AAKA,WAASrD,IAAY;AACjB,UAAM,CAACsD,GAAUC,CAAS,IAAIC,GAAS,EAAK,GACtC,CAACC,GAASC,CAAU,IAAIF,GAAS,EAAK,GAEtCG,IAAe,MAAM;AACvBJ,MAAAA,EAAU,CAACD,CAAQ;AAAA,IAAA,GAGjBM,IAAiB1E,CAAMA,MAAA;AACzBA,MAAAA,EAAE2E,gBAAiB,GACnBH,EAAW,CAACD,CAAO;AAAA,IAAA;AAGvB,WAAIH,sBAEI,OAAA;AAAA,MACI,WAAY,6BAA4BA,IAAW,+BAA+B;AAAA,MAClF,SAASK;AAAAA,MAAa,UAAA,CACtBpE,gBAAAA,EAACuE,GAAgB;AAAA,QAAC,MAAK;AAAA,QAA2B,MAAMC;AAAAA,MAAAA,CAAsB,GAC9ExE,gBAAAA,EAAC8D,GAAa;AAAA,QAAC,aAAY;AAAA,MAAA,CAAmC,GAC9D9D,gBAAAA,EAAA,UAAA;AAAA,QACI,WAAY,kJAAiJkE,IAAU,qCAAqC;AAAA,QAC5M,SAASvE,CAAK0E,MAAAA,EAAc1E,CAAC;AAAA,QAAE,UAAA;AAAA,MAAA,CAE1B,CAAA;AAAA,IAAA,CACP,sBAIV,OAAA;AAAA,MACI,WAAY,6BAA4BoE,IAAW,+BAA+B;AAAA,MAClF,SAASK;AAAAA,MAAa,4BACrBG,GAAgB;AAAA,QAAC,MAAK;AAAA,QAA2B,MAAMC;AAAAA,MAAAA,CAAmB;AAAA,IAAA,CACzE;AAAA,EAEd;AAEA,WAASD,EAAiB;AAAA,IAACX,MAAAA;AAAAA,IAAMlC,MAAAA;AAAAA,OAASxF;AAAAA,EAAAA,GAAQ;AAC9C,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAU,UACrB,CAAA8D,gBAAAA,EAAA,UAAA;AAAA,QAAQ,WAAU;AAAA,QAA0C,GAAK9D;AAAAA,QAAK,4BAClE,OAAA;AAAA,UAAK,WAAU;AAAA,UAAqG,4BAChH,UAAA;AAAA,YAAQ,WAAU;AAAA,YAAsD,UAAA,CACpE8D,gBAAAA,EAAC0B,GAAI;AAAA,cAAC,WAAU;AAAA,YAAA,CAA+F,GAC/G1B,gBAAAA,EAAA,KAAA;AAAA,cAAG,WAAU;AAAA,cAAkE,UAAE4D;AAAAA,YAAAA,CAAS,CAAA;AAAA,UAAA,CAAA;AAAA,QAAA,CACrF;AAAA,MAAA,CACP,GAEV5D,gBAAAA,EAAA,QAAA;AAAA,QAAA,4BACI,SAAA;AAAA,UACI,MAAK;AAAA,UACL,QAAO;AAAA,UACP,MAAK;AAAA,UACL,QAAQ;AAAA,QAAA,CAAK;AAAA,MAAA,CAEd,CAAA;AAAA,IAAA,CACL;AAAA,EAEd;AAEA,WAAS8D,EAAc;AAAA,IAACW,aAAAA;AAAAA,EAAAA,GAAc;AAClC,6BACI,SAAA;AAAA,MACI,WAAU;AAAA,MACV,aAAAA;AAAA,IAAA,CACF;AAAA,EAEV;AAKA,WAAS/D,IAAc;AACnB,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAuB,UAAA,CAClCV,gBAAAA,EAACuE,GAAgB;AAAA,QAAC,MAAK;AAAA,QAAiC,MAAMG;AAAAA,MAAAA,CAA0B,GACxF1E,gBAAAA,EAAC8D,GAAa;AAAA,QAAC,aAAY;AAAA,MAAA,CAAwC,CAAA;AAAA,IAAA,CACjE;AAAA,EAEd;AACJ;sBCvWiBxE,KAAEP;AAAiB,IAAIW,KAAEJ,GAAE,cAAc,IAAI;AAAgCqF,GAAA,yBAACjF;AAAsCiF,GAAA,+BAAC,SAASpF,GAAE,GAAE;AAAC,MAAIE,IAAE;AAAK,SAAMF,KAAN,SAAUE,IAAEF,EAAE,KAAU,EAAC,UAAS,WAAU;AAAC,WAAa,KAAN,OAAQ,IAAQE,KAAN,OAAQA,EAAE,SAAU,IAAC;AAAA,EAAI,EAAC;AAAC;AACvNkF,GAAA,4BAAC,WAAU;AAAC,MAAIpF,IAAED,GAAE,WAAWI,EAAC;AAAE,MAASH,KAAN;AAAQ,UAAM,MAAM,sLAAsL;AAAE,SAAOA;AAAC;ACA1R,MAAMqF,KAA+G7F;AACrH,IAAA8F,KAAiBD;ACFJ,IAAIE,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGnG,KAAE,CAAE,GAACoG,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,IAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,CAAE;AAAC,SAASC,EAAExH,GAAE;AAAC,QAAM,MAAM,2BAA2BA,gDAAgDA,iHAAoH;AAAE;AACvb,IAAIyH,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,KAAmDC,KAAGD,MAAG,kBAAiB,WAAS,SAAS,eAAa,MAAKE,KAAEF,MAAG,uBAAuB,KAAK,UAAU,QAAQ,GAAEG,KAAGH,MAAG,mCAAmC,KAAK,UAAU,SAAS,GAAEI,KAAGJ,MAAG,gBAAe,UAAQ,CAACC,KAAG,qBAAoB,IAAI,OAAO,WAAW,OAAO,IAAE,IAAGI,KAAGL,MAAG,0BAA0B,KAAK,UAAU,SAAS,GAAEM,KAAGN,MAAG,mBAAmB,KAAK,UAAU,SAAS,KAAG,CAAC,OAAO,UAC5fO,KAAGF,MAAIC,KAAG,SAAS,UAASE,KAAGL,KAAG,SAASI,IAAGE,KAAG,sKAAqKC,KAAG,sKAAqKC,KAAG,EAAC,MAAK,GAAE,MAAK,IAAG,QAAO,GAAE,eAAc,GAAE,WAAU,IAAG,aAAY,IAAG,WAAU,EAAC,GAAEC,KAAG,EAAC,eAAc,GAAE,aAAY,EAAC,GACpfC,KAAG,EAAC,QAAO,GAAE,SAAQ,GAAE,MAAK,GAAE,OAAM,EAAC,GAAEC,KAAG,EAAC,GAAE,UAAS,GAAE,WAAU,GAAE,QAAO,GAAE,QAAO,GAAEC,KAAG,EAAC,QAAO,GAAE,WAAU,GAAE,OAAM,EAAC,GAAEC,KAAG,EAAC,GAAE,UAAS,GAAE,aAAY,GAAE,QAAO,GAAEC,KAAG,IAAGC,KAAG;AAAE,SAASC,GAAG5I,GAAE;AAAC,EAAA2I,KAAG3I,EAAE;AAAS;AAAC,SAAS6I,GAAG7I,GAAEE,GAAEH,GAAE;AAAC,SAAOG,EAAE,uBAAqBF,KAAYA,EAAE,gBAAgBD,EAAE,YAA7B;AAAoC;AAAC,SAAS+I,GAAG9I,GAAE;AAAC,SAAOA,EAAE,eAAc,EAAG,KAAK,MAAI;AAAC,QAAIE,IAAE6I,EAAC;AAAG,WAAc7I,MAAP,OAASA,EAAE,MAAK,IAAG;AAAA,EAAI,CAAC;AAAC;AAC/X,SAAS8I,GAAGhJ,GAAEE,GAAEH,GAAE;AAAC,EAAA2I,KAAG;AAAG,MAAIvI,IAAE,MAAI,YAAY,IAAK,IAACwI;AAAG,MAAG;AAACM,IAAAA,GAAEjJ,GAAE,MAAI;AAAC,UAAII,IAAE2I,EAAG,KAAED,GAAG9I,CAAC;AAAE,UAAIT,IAAE,oBAAI,OAAIU,IAAED,EAAE,eAAgB,GAACK,IAAEL,EAAE;AAAa,UAAIP,IAAE,IAAGE,IAAE;AAAG,eAAQD,IAAE,GAAEA,IAAEQ,EAAE,QAAOR,KAAI;AAAC,YAAIE,IAAEM,EAAER,IAAGI,IAAEF,EAAE,MAAKsJ,IAAEtJ,EAAE,QAAOuJ,IAAEC,GAAGF,GAAE7I,CAAC;AAAE,YAAG,EAAS8I,MAAP,QAAUD,MAAIjJ,KAAGoJ,GAAEF,CAAC;AAAG,cAAqBrJ,MAAlB,iBAAoB;AAAC,gBAAGF,IAAEO,KAAGmJ,EAAEH,CAAC;AAAE,cAAAnJ,GAAE;AAAC,gBAAAJ,IAAEQ,GAAEN,IAAEoJ;AAAE,oBAAIK,IAAEJ;AAAE,oBAAGK,EAAE5J,CAAC,GAAE;AAAC,sBAAI6J,IAAE7J,EAAE,OAAO,QAAS;AAAC,sBAAG6J,EAAE,GAAGF,CAAC,KAAG3J,EAAE,WAAS6J,EAAE,UAAW,GAAC;AAAC,oBAAA7J,IAAE;AAAG,0BAAMI;AAAA,kBAAC;AAAA,gBAAC;AAAC,gBAAAJ,IAAME,EAAE,aAAN,KAAgByJ,EAAE,WAAU;AAAA,cAAE;AAAC,YAAA3J,MAAI2J,IAAE9B,KAAE,OAAO,aAAY,IAAG,MAAK3H,IAAEF,IAAE,MAAY2J,MAAP,QAAUA,EAAE,eAAaL,MAAItJ,IAAE2J,EAAE,cACrfzJ,IAAEyJ,EAAE,cAAaL,IAAEA,EAAE,WAAiBA,MAAP,QAAUQ,GAAGP,GAAED,GAAEtJ,GAAEE,GAAE,EAAE;AAAA,UAAE,WAAuBA,MAAd,aAAgB;AAAqB,iBAApBL,IAAE,IAAGK,IAAEF,EAAE,YAAe2J,IAAE,GAAEA,IAAEzJ,EAAE,QAAOyJ,KAAI;AAAC,cAAAE,IAAE3J,EAAEyJ;AAAG,kBAAII,IAAEC,GAAGH,CAAC,GAAEI,IAAEJ,EAAE;AAAW,cAAMI,KAAN,QAAgBF,MAAP,QAAiBF,EAAE,aAAT,QAAmBZ,GAAGY,GAAEI,GAAE7J,CAAC,MAAI4H,OAAK+B,IAAEF,EAAE,aAAWA,EAAE,eAAa9J,KAAGgK,IAAGE,EAAE,YAAYJ,CAAC;AAAA,YAAE;AAA6B,gBAA5B7J,IAAEA,EAAE,cAAaE,IAAEF,EAAE,QAAU,IAAEE,GAAE;AAAK,mBAAJyJ,IAAE,GAAME,IAAE,GAAEA,IAAE3J,GAAE2J;AAAI,gBAAAI,IAAEjK,EAAE6J,IAAUI,EAAE,aAAT,QAAmBhB,GAAGgB,GAAEX,GAAElJ,CAAC,MAAIkJ,EAAE,YAAYW,CAAC,GAAEN;AAAK,cAAAzJ,MAAIyJ,MAAIL,MAAIjJ,MAAIkJ,IAAE9I,EAAE,SAAS,IAAI,MAAM,IAAGd,EAAE,IAAI2J,GAAEC,CAAC;AAAA,YAAE;AAAA,UAAC;AAAA;AAAA,MAAC;AAAC,UAAG,IAAE5J,EAAE;AAAK,iBAAQ,CAACuK,GAAEC,CAAE,KAAIxK;AAAE,cAAGyK,EAAED,CAAE;AAAE,iBAAIxK,IAAEwK,EAAG,YAC1e9J,IAAE6J,EAAE,YAAWzJ,IAAE,GAAEA,IAAEd,EAAE,QAAOc;AAAI,cAAAX,IAAEM,EAAE,gBAAgBT,EAAEc,EAAE,GAASX,MAAP,SAAiBO,KAAN,QAAS6J,EAAE,YAAYpK,CAAC,GAAEO,IAAEP,KAAGO,MAAIP,KAAGoK,EAAE,aAAapK,GAAEO,CAAC,GAAEA,IAAEA,EAAE;AAAA;AAAkBqJ,YAAAA,EAAES,CAAE,KAAGA,EAAG,UAAS;AAAqB,UAAlBxK,IAAEQ,EAAE,eAAiB,IAAER,EAAE,QAAO;AAAC,aAAIU,IAAE,GAAEA,IAAEV,EAAE,QAAOU;AAAI,eAAIP,IAAEH,EAAEU,IAAGI,IAAEX,EAAE,YAAWA,IAAEA,EAAE,QAAOyJ,IAAE,GAAEA,IAAE9I,EAAE,QAAO8I;AAAI,YAAAD,IAAE7I,EAAE8I,IAAGvJ,IAAEsJ,EAAE,YAAiBtJ,KAAN,QAAgBsJ,EAAE,aAAT,QAAmBL,GAAGK,GAAExJ,GAAEM,CAAC,KAAGJ,EAAE,YAAYsJ,CAAC;AAAE,QAAAnJ,EAAE,YAAa;AAAA,MAAA;AAAC,MAAOK,MAAP,SAAWX,MAAIW,EAAE,QAAM,IAAG6J,GAAG7J,CAAC,IAAGwH,MAAIsC,GAAGlK,CAAC,KAAGI,EAAE,cAAcT,CAAC;AAAA,IAAE,CAAC;AAAA,EAAC,UAAC;AAAQ,IAAA+I,KAAG;AAAA,EAAE;AAAC;AAC3c,SAASyB,GAAGnK,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAU,MAAUE,MAAP,MAAS;AAAC,QAAIH,IAAEG,EAAE,YAAW;AAAG,IAAA8I,GAAGhJ,GAAED,GAAEG,CAAC;AAAA,EAAC;AAAC;AAAC,SAASkK,GAAGpK,GAAE;AAAC,EAAI2I,OAAJ,KAAQ0B,GAAGrK,CAAC,EAAE,iBAAiB,aAAY4I,IAAG,EAAE,GAAE5I,EAAE,YAAU,IAAI,iBAAiB,CAACE,GAAEH,MAAI;AAAC,IAAAiJ,GAAGhJ,GAAEE,GAAEH,CAAC;AAAA,EAAC,CAAC;AAAC;AAAC,IAAIuK,KAAG,GAAEC,KAAgB,OAAO,kBAApB,aAAmC,iBAAe,CAAAvK,MAAG;AAAC,UAAQ,QAAO,EAAG,KAAKA,CAAC;AAAC;AAChS,SAASwK,GAAGxK,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,eAAc;AAAG,MAAG;AAAC,QAAII;AAAE,QAAGA,IAASD,MAAP,QAAUA,EAAE,SAASD,CAAC,KAAGC,EAAE,SAASJ,CAAC,KAAUG,MAAP,MAAS;AAAC,UAAIX,IAAE,SAAS,eAAcU,IAASV,MAAP,OAASA,EAAE,WAAS;AAAK,MAAAa,IAAE,CAACiJ,GAAED,GAAGlJ,CAAC,CAAC,KAAaD,MAAV,WAA0BA,MAAb;AAAA,IAAc;AAAC,WAAOG,KAAGqK,GAAGvK,CAAC,MAAIF;AAAA,EAAC,QAAC;AAAS,WAAM;AAAA,EAAE;AAAC;AAAC,SAASyK,GAAGzK,GAAE;AAAC,SAAWA,KAAN,QAAS;AAAC,QAAIE,IAAEF,EAAE;AAAgB,QAASE,KAAN;AAAQ,aAAOA;AAAE,IAAAF,IAAEA,EAAE;AAAA,EAAU;AAAC,SAAO;AAAI;AAAC,SAAS0K,GAAG1K,GAAE;AAAC,SAAOA,EAAE,aAAWA,EAAE,YAAW;AAAE;AAAC,SAAS2K,GAAG3K,GAAE;AAAC,SAAWA,KAAN,QAAS;AAAC,QAAOA,EAAE,aAAN;AAAe,aAAOA;AAAE,IAAAA,IAAEA,EAAE;AAAA,EAAU;AAAC,SAAO;AAAI;AAChe,SAAS4K,GAAG5K,GAAEE,GAAEH,GAAE;AAAC,SAAAG,IAAEkI,GAAGlI,IAAUF,IAAEE,MAAWH,MAAP,SAAeA,IAAEG,OAAP,KAAWF,IAAEE,IAASH,MAAP,QAAUA,IAAEG,IAAEF,IAAEE,IAAEF;AAAC;AAAC,SAAS6K,GAAG7K,GAAE;AAAC,SAAOsJ,EAAEtJ,CAAC,KAAG8K,GAAG9K,CAAC,KAAGqJ,GAAErJ,CAAC;AAAC;AAAC,SAAS+K,GAAG/K,GAAE;AAAC,MAAIE,IAAEF,EAAE,UAAS;AAAG,MAAUE,MAAP,MAAS;AAAC,IAAAA,IAAEA,EAAE,YAAW,EAAG;AAAW,QAAIH,IAAEG,EAAE,QAAQF,EAAE,KAAK;AAAE,IAAKD,MAAL,MAAQyH,EAAE,EAAE,GAAEwD,GAAGhL,CAAC,GAAEE,EAAE,OAAOH,GAAE,CAAC;AAAA,EAAC;AAAC;AACrQ,SAASkL,GAAGjL,GAAE;AAAC,OAAGkL,MAAI1D,EAAE,EAAE;AAAE,MAAItH,IAAEF,EAAE,UAAS,GAAGD,IAAEG,EAAE,UAASC,IAAEgL,GAAC;AAAG,MAAI/K,IAAEgL,GAAC,GAAG7L,IAAEY,EAAE;AAA4B,MAAnBA,IAAEC,EAAE,gBAAyBL,MAAP;AAAS,IAAAC;AAAE,aAAYD,MAAP,QAAU;AAAC,YAAGI,EAAE,IAAIJ,CAAC;AAAE,gBAAMC;AAAE,YAAIC,IAAEV,EAAE,IAAIQ,CAAC;AAAE,YAAYE,MAAT;AAAW;AAAM,QAAAE,EAAE,IAAIJ,GAAE,EAAE,GAAEA,IAAEE,EAAE;AAAA,MAAQ;AAAC,EAAAC,IAAEA,EAAE,OAAME,EAAE,aAAW,GAAE4J,EAAEhK,CAAC,IAAEG,EAAE,IAAID,GAAE,EAAE,IAAEE,EAAE,aAAa,IAAIF,CAAC;AAAC;AAAC,SAAS8K,GAAGhL,GAAE;AAAC,MAAIE,IAAEF,EAAE,mBAAkB;AAAG,EAAAA,IAAEA,EAAE,kBAAwBE,MAAP,QAAU+K,GAAG/K,CAAC,GAASF,MAAP,QAAUiL,GAAGjL,CAAC;AAAC;AAC3X,SAASqL,GAAErL,GAAE;AAACsL,EAAAA,GAAC;AAAG,MAAIpL,IAAEkL,GAAG;AAAC,MAAIrL,IAAEG,EAAE;AAAgB,EAAAF,MAAID,MAAIG,EAAE,kBAAgBF,GAASD,MAAP,SAAWG,IAAEqL,EAAExL,CAAC,GAASG,MAAP,QAAUA,EAAE,YAAW,IAAWF,MAAP,SAAWA,IAAEuL,EAAEvL,CAAC,GAASA,MAAP,QAAUA,EAAE,YAAa;AAAE;AAAC,SAASwL,KAAI;AAAC,SAAOC,KAAE,OAAKL,GAAC,EAAG;AAAe;AAAC,SAASG,EAAEvL,GAAEE,GAAE;AAAC,SAAAF,KAAGE,KAAGiL,MAAK,SAAS,IAAInL,CAAC,GAAkBA,MAAT,SAAW,OAAKA;AAAC;AAAC,SAAS4J,GAAG5J,GAAEE,GAAE;AAAC,MAAIH,IAAEqL,GAAC;AAAG,SAAApL,IAAEA,EAAE,gBAAgBD,EAAE,SAAwBC,MAAT,SAAWuL,EAAEvL,GAAEE,CAAC,IAAE;AAAI;AAAC,SAASkJ,GAAGpJ,GAAEE,GAAE;AAAC,SAAWF,KAAN,QAAS;AAAC,QAAID,IAAE6J,GAAG5J,GAAEE,CAAC;AAAE,QAAUH,MAAP;AAAS,aAAOA;AAAE,IAAAC,IAAEA,EAAE;AAAA,EAAU;AAAC,SAAO;AAAI;AACnd,SAAS0L,GAAG1L,GAAE;AAAC,MAAIE,IAAE,OAAO,OAAO,CAAE,GAACF,EAAE,WAAW;AAAE,SAAOA,EAAE,qBAAmBE;AAAC;AAAC,SAASyL,GAAG3L,GAAE;AAAC,SAAOA,EAAE,KAAK,MAAI4L,KAAK,eAAgB,CAAA;AAAC;AAAC,SAASC,GAAG7L,GAAEE,GAAE;AAAC+I,EAAAA,GAAEjJ,GAAE,MAAI;AAAC,QAAID,IAAEoL,GAAC;AAAG,QAAG,CAACpL,EAAE,QAAS;AAAC,UAAYG,MAAT;AAAW,QAAA0L,GAAI,EAAC,UAAW;AAAA,WAAK;AAAC,QAAA7L,IAAEA,EAAE;AAAS,iBAAQ,CAAA,EAAEI,CAAC,KAAIJ;AAAE,UAAAI,EAAE;MAAW;AAAA,EAAC,GAASH,EAAE,wBAAT,OAA6B,EAAC,KAAI,gBAAe,IAAE,MAAM;AAAC;AAAC,SAAS4L,KAAI;AAAC,SAAOT,GAAG,EAAC,SAAS,IAAI,MAAM;AAAC;AAAC,SAASlB,GAAGjK,GAAE;AAAC,MAAIE,IAAEiL,GAAG;AAAC,EAAOnL,MAAP,SAAWA,EAAE,QAAM,IAAGA,EAAE,eAAa,OAAME,EAAE,aAAWF;AAAC;AAC5c,SAAS8L,GAAG9L,GAAE;AAAC,MAAIE,IAAEkL,GAAC,GAAGrL;AAAE,EAAAC,GAAE;AAAC,SAAID,IAAEC,GAAQD,KAAN,QAAS;AAAC,UAAII,IAAEJ,EAAE,gBAAgBG,EAAE;AAAQ,UAAYC,MAAT,QAAW;AAAC,QAAAJ,IAAEI;AAAE,cAAMH;AAAA,MAAC;AAAC,MAAAD,IAAEA,EAAE;AAAA,IAAU;AAAC,IAAAA,IAAE;AAAA,EAAI;AAAC,SAAcA,MAAP,QAAUG,IAAEA,EAAE,eAAgB,GAACF,MAAIE,IAAEqL,EAAE,MAAM,IAAE,QAAMA,EAAExL,CAAC;AAAC;AAAC,SAASgM,GAAG/L,GAAE;AAAC,SAAM,kCAAkC,KAAKA,CAAC;AAAC;AAAC,SAASgM,GAAGhM,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,SAAYF,MAAP;AAAU,IAAAE,EAAE,KAAKF,CAAC,GAAEA,IAAEA,EAAE;AAAc,SAAOE;AAAC;AAAC,SAAS+L,KAAI;AAAC,SAAO,KAAK,OAAQ,EAAC,SAAS,EAAE,EAAE,QAAQ,YAAW,EAAE,EAAE,OAAO,GAAE,CAAC;AAAC;AACja,SAASC,GAAGlM,GAAEE,GAAE;AAAC,MAAIH,IAAE0H,KAAE,OAAO,aAAY,IAAG;AAAK,MAAU1H,MAAP,MAAS;AAAC,QAAII,IAAEJ,EAAE,YAAW,EAAC,cAAaK,GAAE,aAAYb,EAAC,IAAEQ;AAAE,QAAUI,MAAP,QAAcA,EAAE,aAAN,MAAiBJ,IAAEqJ,GAAGjJ,CAAC,GAAEmJ,EAAEvJ,CAAC,IAAG;AAAe,UAAdI,IAAEA,EAAE,WAAaA,MAAI6H,MAAI9H,GAAE;AAAC,YAAID,IAAEC,EAAE;AAAO,QAAAC,IAAED,GAAEX,IAAEa,IAAEH;AAAA,MAAC;AAAC,MAAOE,MAAP,QAAUuJ,GAAG3J,GAAEI,GAAEC,GAAEb,GAAES,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAChP,SAAS0J,GAAG1J,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,MAAIb,IAAES;AAAE,MAAGT,EAAE,WAAU,MAAKa,KAAG,CAACb,EAAE,QAAS,IAAE;AAAC,QAAIU,IAAEV,EAAE,YAAW;AAA0E,QAAvES,IAAEE,IAAGD,KAAGG,MAAIF,EAAEA,EAAE,SAAO,OAAK8H,OAAKhI,IAAEE,EAAE,MAAM,GAAE,EAAE,IAAGA,IAAEX,EAAE,eAAc,GAAMa,KAAGJ,MAAIE;AAAE,UAAQF,MAAL;AAAO,YAAGqL,GAAE,IAAI,GAAEvD,MAAIC;AAAG,UAAAxI,EAAE,OAAQ;AAAA,aAAK;AAAC,cAAIc,IAAE+K;AAAI,qBAAW,MAAI;AAAC,YAAA/K,EAAE,OAAO,MAAI;AAAC,cAAAd,EAAE,WAAY,KAAEA,EAAE,OAAM;AAAA,YAAE,CAAC;AAAA,UAAC,GAAE,EAAE;AAAA,QAAC;AAAA;AAAM,QAAAa,IAAEb,EAAE,UAAW,GAACW,IAAEiM,GAAE,GAAG5M,EAAE,aAAkBiM,GAAI,MAAX,QAAa,CAACvL,KAAUG,MAAP,QAAUoJ,EAAEtJ,CAAC,KAAG,CAACE,EAAE,oBAAqB,KAAMF,EAAE,OAAO,WAAb,IAAoBX,EAAE,UAAW,KAAEU,IAAE8I,EAAC,GAAGS,EAAEvJ,CAAC,KAAUF,MAAP,QAAiBI,MAAP,SAAWF,EAAE,iBAAiBV,GAAEQ,GAAER,GAAEY,CAAC,GAAEZ,EAAE,YAAa,MACtfQ,IAAER,EAAE,kBAAiBQ,IAAEqM,GAAErM,CAAC,GAAER,EAAE,QAAQQ,CAAC,GAAER,IAAEQ,KAAIR,EAAE,eAAeS,CAAC;AAAA,EAAE;AAAC;AAAC,SAASqM,GAAGrM,GAAEE,GAAE;AAAC,MAAGA,EAAE,YAAa;AAAC,WAAM;AAAG,MAAG,CAACF,EAAE,YAAa;AAAC,WAAM;AAAG,EAAAA,IAAEA,EAAE,OAAO;AAAO,MAAID,IAAEG,EAAE,iBAAgB,GAAGC,IAAED,EAAE,QAAS;AAAC,SAAWF,MAAJ,MAAQA,IAAE,CAACE,EAAE,oBAAmB,KAAI,CAACH,EAAE,yBAAuBI,OAAKD,IAAEA,EAAE,mBAAoB,GAACF,KAAGsJ,EAAEpJ,CAAC,KAAG8J,EAAE9J,CAAC,KAAGA,EAAE,eAAa,CAACA,EAAE,mBAAoB,IAAEF,KAAGA,MAAIE,EAAE,uBAAqB,CAACA,EAAE,wBAAsB,CAACH,EAAE,mBAAoB,KAAEI,IAAE;AAAE;AACzb,SAASmM,GAAGtM,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,QAAOG,IAAEH,EAAE,OAAMI,IAAEL,EAAE,QAAO;AAAG,MAAIR,IAAEkI,KAAE,OAAO,iBAAe;AAAK,EAAAlI,IAASA,MAAP,OAASA,EAAE,aAAW;AAAK,MAAIU,IAAEF,EAAE,KAAIM,IAAE+K,GAAG,EAAC,gBAAgBnL,CAAC,GAAER,IAAES,EAAE;AAAO,SAAOD,MAAIE,EAAE,OAAK,CAACmJ,EAAElJ,CAAC,MAAI,IAAEX,KAAGsM,GAAG7L,CAAC,MAAIH,EAAE,WAASI,EAAE,UAAQ,CAACC,EAAE,YAAW,KAAIsK,GAAGtK,CAAC,KAAGA,EAAE,QAAS,KAAE,IAAEX,KAAUY,MAAP,QAAU,CAACD,EAAE,YAAa,KAAEb,MAAIoL,GAAGtK,CAAC,KAAGD,EAAE,UAAS,MAAKJ,EAAE,UAAQqM,GAAGrM,GAAEI,CAAC;AAAC;AAAC,SAASmM,GAAGvM,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAEE;AAAG,SAAiB,OAAOH,KAAlB,YAAqBA,IAAEA,EAAE,MAAM,GAAG,GAAEC,EAAEE,KAAGH,KAAGA;AAAC;AACva,SAASyM,GAAGxM,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,EAAIL,EAAE,SAAN,MAAaA,IAAEI,EAAE,OAAMD,IAAEA,EAAE,IAAIC,EAAE,MAAM,GAAWD,MAAT,UAAYsH,EAAE,EAAE,GAAEtH,IAAEA,EAAE,OAAMC,IAAEH,EAAE,IAAIE,CAAC,GAAWC,MAAT,WAAaA,IAAE,oBAAI,OAAIH,EAAE,IAAIE,GAAEC,CAAC,IAAGA,EAAE,IAAIJ,CAAC,KAAGI,EAAE,IAAIJ,GAAEK,CAAC;AAAE;AAAC,SAASqM,GAAGzM,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,UAAW,GAACI,IAAEL;AAAE,SAAOI,MAAP,SAAWD,KAAOH,MAAJ,KAAOK,IAAEJ,EAAE,qBAAoB,GAAGA,IAAEG,KAAGD,KAAGH,MAAIC,EAAE,sBAAoBI,IAAEJ,EAAE,qBAAsB,IAAC,GAAEA,IAAEG,KAAWH,EAAE,gBAAgBE,IAAEE,IAAE,IAAEA,CAAC;AAAC;AACjW,SAASsM,GAAG1M,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAO,SAAeA,EAAE,SAAd,aAA0BA,IAAEA,EAAE,QAAO,GAAGyM,GAAGzM,GAAEE,GAAEH,CAAC,MAAEC,IAAEA,EAAE,QAAO,GAAUE,KAAOH,MAAJ,KAAO,CAACG,KAAGH,MAAIC,EAAE,mBAAkB,KAAID,IAAEG,IAAEF,EAAE,mBAAoB,IAACA,EAAE,kBAAwBD,MAAP,OAAS0M,GAAGzM,EAAE,iBAAkB,GAACE,GAAEF,EAAE,0BAAwBE,IAAE,IAAE,EAAE,IAAEH,KAAG;AAAI;AAAC,SAASmK,GAAGlK,GAAE;AAAC,SAAAA,KAAGA,IAAEqK,GAAGrK,CAAC,EAAE,UAAQA,EAAE,WAAoCA,MAApB,qBAAsDA,MAA/B;AAAgC;AAAC,SAAS2M,GAAG3M,GAAE;AAAC,SAAM,CAAC4M,GAAE5M,CAAC,KAAG,CAACA,EAAE,iBAAe,CAACA,EAAE;AAAU;AACtb,SAAS6M,GAAG7M,GAAEE,GAAE;AAAC,SAAAF,IAAEA,EAAE,aAAa,IAAIE,CAAC,GAAWF,MAAT,UAAYwH,EAAE,EAAE,GAASxH;AAAC;AAAC,SAAS8M,GAAG9M,GAAEE,IAAE,GAAE;AAAmB,MAAdA,MAAJ,KAAOsH,EAAE,CAAC,GAAEtH,IAAE6I,EAAC,GAAM,CAACS,EAAEtJ,CAAC,KAAG,CAAC8J,EAAEhK,CAAC;AAAE,WAAOE;AAAE,MAAI,EAAC,QAAOH,GAAE,OAAMI,EAAC,IAAED,GAAEE,IAAEL,EAAE,QAAO,GAAGR,IAAEY,EAAE,QAAO;AAAG,SAAA4M,GAAG3M,GAAEJ,CAAC,KAAGD,EAAE,IAAIC,EAAE,OAAM,GAAE,SAAS,GAAE+M,GAAGxN,GAAES,CAAC,KAAGG,EAAE,IAAIH,EAAE,OAAM,GAAE,SAAS,GAASE;AAAC;AAAC,SAAS6M,GAAG/M,GAAEE,GAAE;AAAC,OAAIF,IAAEA,EAAE,UAAW,GAAQA,MAAP,QAAU;AAAC,QAAGA,EAAE,GAAGE,CAAC;AAAE,aAAM;AAAG,IAAAF,IAAEA,EAAE,UAAW;AAAA,EAAA;AAAC,SAAM;AAAE;AAAC,SAASqK,GAAGrK,GAAE;AAAC,SAAAA,IAAEA,EAAE,SAAeA,MAAP,QAAUwH,EAAE,EAAE,GAASxH;AAAC;AACxZ,SAASgN,GAAGhN,GAAE;AAAC,OAAIA,IAAEA,EAAE,iBAAkB,GAAQA,MAAP,QAAU,CAACiN,GAAGjN,CAAC;AAAG,IAAAA,IAAEA,EAAE,iBAAgB;AAAG,SAAOA;AAAC;AAAC,SAASiN,GAAGjN,GAAE;AAAC,SAAO4M,GAAE5M,CAAC,KAAGgK,EAAEhK,CAAC,KAAGA,EAAE,aAAc;AAAA;AAAC,SAASkN,GAAGlN,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,EAAAJ,IAAEA,EAAE;AAAW,MAAIT,IAAES,EAAE;AAAO,WAAQC,IAAE,GAAEA,IAAEV,GAAEU,KAAI;AAAC,QAAII,IAAEL,EAAEC,IAAGR,IAAEU,EAAE,IAAIE,CAAC;AAAE,IAASZ,MAAT,UAAYA,EAAE,aAAWS,MAAI8J,EAAEvK,CAAC,KAAGyN,GAAGzN,GAAEY,GAAEN,GAAEI,GAAEC,CAAC,GAAEL,EAAE,IAAIM,CAAC,KAAGD,EAAE,OAAOC,CAAC,GAAEF,EAAE,OAAOE,CAAC;AAAA,EAAE;AAAC;AACnU,SAAS8M,GAAGnN,GAAEE,GAAEH,GAAEI,GAAE;AAAC,EAAAH,IAAEA,EAAE,UAASE,IAAEA,EAAE;AAAS,WAAQE,KAAKL,GAAE;AAAC,QAAIR,IAAEW,EAAE,IAAIE,CAAC;AAAE,IAASb,MAAT,UAAYA,EAAE,WAAY,MAAGS,EAAE,IAAII,CAAC,KAAGL,EAAE,OAAOK,CAAC,GAAEF,EAAE,OAAOE,CAAC;AAAA,EAAE;AAAC,WAAQ,CAACA,CAAC,KAAID;AAAE,IAAAJ,IAAEG,EAAE,IAAIE,CAAC,GAAWL,MAAT,UAAYA,EAAE,WAAY,MAAGiK,EAAEjK,CAAC,KAAGmN,GAAGnN,GAAEK,GAAEJ,GAAEE,GAAEC,CAAC,GAAEH,EAAE,IAAII,CAAC,KAAGD,EAAE,OAAOC,CAAC,GAAEF,EAAE,OAAOE,CAAC;AAAE;AAAC,SAASgN,GAAGpN,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,QAAOG,IAAEH,EAAE;AAAS,EAAAA,IAAEA,EAAE;AAAQ,MAAII,IAAEF,EAAE,QAAOX,IAAEW,EAAE;AAAS,SAAAA,IAAEA,EAAE,UAAsBH,MAAP,QAAUA,MAAIK,OAAYD,MAAP,QAAUA,MAAIZ,OAAYS,MAAP,QAAUA,MAAIE;AAAE;AAC3Z,SAASmN,GAAGrN,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,iBAAiBE,CAAC,GAAEC,IAAEiL,GAAC,EAAG;AAAiB,SAAAjL,EAAE,IAAIH,EAAE,KAAK,GAAEG,EAAE,IAAID,EAAE,KAAK,GAASH;AAAC;AAAC,SAASuN,GAAGtN,GAAE;AAAC,MAAQA,EAAE,WAAP,MAAeA,EAAE,kBAAgB,CAACA,EAAE;AAAgB,IAAAA,EAAE,OAAQ;AAAA,OAAK;AAAC,aAAQE,IAAUA,IAAEF,EAAE,0BAAZ,QAAmCsJ,EAAEpJ,CAAC,KAAGA,EAAE,aAAc,KAAE,CAACA,EAAE,cAAe;AAAE,UAAQA,EAAE,WAAP;AAAc,QAAAA,EAAE,OAAQ;AAAA,WAAK;AAAC,QAAAkN,GAAGlN,GAAEF,CAAC,MAAIA,IAAEqN,GAAGnN,GAAEF,CAAC;AAAG;AAAA,MAAK;AAAC,aAAQD,IAAUA,IAAEC,EAAE,eAAc,OAA1B,QAA+BsJ,EAAEvJ,CAAC,KAAGA,EAAE,aAAc,KAAE,CAACA,EAAE,cAAe;AAAE,UAAQA,EAAE,WAAP;AAAc,QAAAA,EAAE;WAAa;AAAC,QAAAqN,GAAGpN,GAAED,CAAC,KAAGsN,GAAGrN,GAAED,CAAC;AAAE;AAAA,MAAK;AAAA,EAAC;AAAC;AACpe,SAASwN,GAAGvN,GAAE;AAAC,SAAAwN,GAAGxN,EAAE,MAAM,GAAEwN,GAAGxN,EAAE,KAAK,GAASA;AAAC;AAAC,SAASwN,GAAGxN,GAAE;AAAC,SAAiBA,EAAE,SAAd,aAAoB;AAAC,QAAIE,IAAEF,EAAE,QAAO,GAAGD,IAAEC,EAAE;AAA6F,QAAtFD,MAAIG,EAAE,gBAAe,KAAIA,IAAEA,EAAE,gBAAgBH,IAAE,CAAC,GAAEA,IAAE,OAAKG,IAAEA,EAAE,gBAAgBH,CAAC,GAAEA,IAAE,KAAOuJ,EAAEpJ,CAAC,GAAE;AAAC,MAAAF,EAAE,IAAIE,EAAE,OAAMH,IAAEG,EAAE,uBAAqB,GAAE,MAAM;AAAE;AAAA,IAAK,WAAS,CAAC8J,EAAE9J,CAAC;AAAE;AAAM,IAAAF,EAAE,IAAIE,EAAE,OAAMH,IAAEG,EAAE,gBAAiB,IAAC,GAAE,SAAS;AAAA,EAAC;AAAC;AAAC,IAAIuN,KAAE,IAAGC,KAAE,IAAGC,KAAE,IAAGC,IAAGC,IAAEC,IAAGC,KAAG,IAAGC,KAAG,IAAGC,IAAGC,KAAG,MAAKC,IAAGC,IAAGC,IAAGC,IAAGC,IAAGC;AACpZ,SAASC,GAAGzO,GAAEE,GAAE;AAAC,MAAIH,IAAEsO,GAAG,IAAIrO,CAAC;AAAE,MAAUE,MAAP,MAAS;AAAC,QAAIC,IAAEuO,GAAG1O,CAAC;AAAE,IAAAE,EAAE,YAAYC,CAAC;AAAA,EAAC;AAAC,EAAAmO,GAAG,IAAItO,CAAC,KAAG6N,GAAE,aAAa,OAAO7N,CAAC,GAAEgK,EAAEjK,CAAC,MAAIC,IAAED,EAAE,YAAW4O,GAAG3O,GAAE,GAAEA,EAAE,SAAO,GAAE,IAAI,IAAYD,MAAT,UAAYyM,GAAGgC,IAAGV,IAAGG,IAAGlO,GAAE,WAAW;AAAC;AAAC,SAAS4O,GAAG3O,GAAEE,GAAEH,GAAEI,GAAE;AAAC,SAAKD,KAAGH,GAAE,EAAEG,GAAE;AAAC,QAAIE,IAAEJ,EAAEE;AAAG,IAASE,MAAT,UAAYqO,GAAGrO,GAAED,CAAC;AAAA,EAAC;AAAC;AAAC,SAASyO,GAAG5O,GAAEE,GAAE;AAAC,EAAAF,EAAE,YAAY,cAAaE,CAAC;AAAC;AAAC,SAAS2O,GAAG7O,GAAEE,GAAE;AAAC,EAAAF,EAAE,MAAM,YAAY,wBAA2BE,MAAJ,IAAM,KAAG,KAAGA,IAAE,IAAI;AAAC;AACvY,SAAS4O,GAAG9O,GAAEE,GAAE;AAAC,EAAAF,IAAEA,EAAE,OAAUE,MAAJ,IAAM0O,GAAG5O,GAAE,EAAE,IAAME,MAAJ,IAAM0O,GAAG5O,GAAE,MAAM,IAAME,MAAJ,IAAM0O,GAAG5O,GAAE,QAAQ,IAAME,MAAJ,IAAM0O,GAAG5O,GAAE,OAAO,IAAME,MAAJ,KAAO0O,GAAG5O,GAAE,SAAS;AAAC;AAC5H,SAAS+O,GAAG/O,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEmO,GAAG,IAAItO,CAAC;AAAE,EAASG,MAAT,UAAYqH,EAAE,EAAE;AAAE,MAAIpH,IAAED,EAAE,UAAUyN,IAAGC,EAAC;AAAE,MAAItO,IAAEsO,GAAE;AAA0J,MAA7IzN,EAAE,kBAAgByN,GAAE,QAAM7N,GAAET,EAAE,IAAIS,GAAEI,CAAC,GAAEkJ,EAAEnJ,CAAC,IAAEC,EAAE,aAAa,qBAAoB,MAAM,IAAEiJ,GAAElJ,CAAC,KAAGC,EAAE,aAAa,0BAAyB,MAAM,GAAK4J,EAAE7J,CAAC,GAAE;AAAC,IAAAH,IAAEG,EAAE,UAAaH,MAAJ,KAAO6O,GAAGzO,GAAEJ,CAAC,GAAEA,IAAEG,EAAE;AAAW,QAAIF,IAAED,EAAE;AAAO,QAAOC,MAAJ,GAAM;AAAC,MAAAV,IAAES,GAAE,EAAEC;AAAE,UAAII,IAAEqN;AAAEA,MAAAA,KAAE,IAAGsB,GAAGzP,GAAE,GAAEU,GAAEG,GAAE,IAAI,GAAE6O,GAAG9O,GAAEC,CAAC,GAAEsN,KAAErN;AAAA,IAAC;AAAC,IAAAd,IAAEY,EAAE,UAAaZ,MAAJ,KAAOuP,GAAG1O,GAAEb,CAAC,GAAEY,EAAE,SAAQ,KAAI+O,GAAG,MAAKlP,GAAEI,CAAC,GAAEuM,GAAGxM,CAAC,MAAIsN,MAAG;AAAA;AAAA,GAAOE,MAAG;AAAA;AAAA;AAAA,EAAO;AAAM,IAAApO,IAAEY,EAAE,eAAgB,GAACkJ,GAAElJ,CAAC,KAAGF,IAAEE,EAAE,SAAS0N,IAAED,EAAE,GAC5e3N,MAAP,QAAUkP,GAAGnP,GAAEC,CAAC,GAAEG,EAAE,kBAAgB,WAASkJ,EAAEnJ,CAAC,MAAIA,EAAE,gBAAe,MAAKuN,MAAGnO,KAAIkO,MAAGlO,GAAEoO,MAAGpO;AAAE,SAAOW,MAAP,SAAiBH,KAAN,OAAQG,EAAE,aAAaE,GAAEL,CAAC,KAAGA,IAAEG,EAAE,oBAAyBH,KAAN,OAAQG,EAAE,aAAaE,GAAEL,CAAC,IAAEG,EAAE,YAAYE,CAAC,KAAIoM,GAAGgC,IAAGV,IAAGG,IAAG9N,GAAE,SAAS,GAASC;AAAC;AAAC,SAAS4O,GAAGhP,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,MAAIb,IAAEkO;AAAE,OAAIA,KAAE,IAAGvN,KAAGH,GAAE,EAAEG;AAAE,IAAA6O,GAAG/O,EAAEE,IAAGC,GAAEC,CAAC;AAAE,EAAAD,EAAE,uBAAqBsN,IAAEA,KAAElO,IAAEkO;AAAC;AAAC,SAAS2B,GAAGpP,GAAEE,GAAE;AAAC,SAAAF,IAAEE,EAAE,IAAIF,EAAEA,EAAE,SAAO,EAAE,GAAS8K,GAAG9K,CAAC,KAAGqJ,GAAErJ,CAAC;AAAC;AAClY,SAASkP,GAAGlP,GAAEE,GAAEH,GAAE;AAAC,EAAAC,IAASA,MAAP,SAAeA,EAAE,WAAN,KAAcoP,GAAGpP,GAAEqO,EAAE,IAAGnO,IAASA,MAAP,SAAeA,EAAE,WAAN,KAAckP,GAAGlP,GAAEoO,EAAE,IAAGtO,IAAEE,MAAIA,IAAEH,EAAE,oBAAyBG,KAAN,QAASH,EAAE,YAAYG,CAAC,GAAEH,EAAE,qBAAmB,QAAMG,MAAIA,IAAE,SAAS,cAAc,IAAI,GAAEH,EAAE,qBAAmBG,GAAEH,EAAE,YAAYG,CAAC;AAAE;AAC1P,SAAS+O,GAAGjP,GAAEE,GAAE;AAAC,MAAIH,IAAEG,EAAE;AAAa,MAAGA,EAAE,4BAA0BwN,MAAG3N,MAAImO,IAAG;AAAC,QAAI3O,IAAOmO,OAAL;AAAO,QAAGnO;AAAE,UAAIY,IAAE+N;AAAA;AAAQ,MAAA/N,IAAEuN,IAAEvN,IAAE+H,GAAG,KAAK/H,CAAC,IAAE,QAAMgI,GAAG,KAAKhI,CAAC,IAAE,QAAM;AAAK,QAAGA,MAAIJ,GAAE;AAAC,UAAIE,IAAEC,EAAE,WAAUG,IAAEuN,GAAG;AAAM,UAAIxN,IAASL,MAAP,OAASM,EAAEN,KAAG;AAAO,UAAIN,IAASU,MAAP,OAASE,EAAEF,KAAG;AAAO,MAASC,MAAT,WAAwB,OAAOA,KAAlB,aAAsBA,IAAEA,EAAE,MAAM,GAAG,GAAEA,IAAEC,EAAEN,KAAGK,IAAGH,EAAE,OAAO,GAAGG,CAAC,IAAUD,MAAP,QAAUZ,KAAWY,MAAR,QAAUD,EAAE,gBAAgB,KAAK,KAAYT,MAAT,WAAwB,OAAOA,KAAlB,aAAsBM,IAAEN,EAAE,MAAM,GAAG,GAAEA,IAAEY,EAAEF,KAAGJ,IAAYN,MAAT,UAAYQ,EAAE,IAAI,GAAGR,CAAC,IAAGS,EAAE,MAAIC,IAAG6N,OAAKhO,EAAE,YAAW,EAAG,QAAMG;AAAA,IAAE;AAAC,IAAA+N,KACnf/N,GAAED,EAAE,0BAAwBwN,IAAExN,EAAE,eAAaC;AAAA,EAAC;AAAC;AAC/C,SAASkP,GAAGrP,GAAEE,GAAE;AAAC,MAAIH,IAAEsO,GAAG,IAAIrO,CAAC,GAAEG,IAAEmO,GAAG,IAAItO,CAAC;AAAE,EAASD,MAAT,UAAqBI,MAAT,UAAYqH,EAAE,EAAE;AAAE,MAAIpH,IAAE2N,MAAIK,GAAG,IAAIpO,CAAC,KAAGmO,GAAG,IAAInO,CAAC;AAAE,MAAIT,IAAEsN,GAAGgB,IAAE7N,CAAC;AAAE,MAAGD,MAAII,KAAG,CAACC;AAAE,WAAO4J,EAAEjK,CAAC,KAAGI,IAAEZ,EAAE,sBAA8BY,MAAT,WAAasN,MAAGtN,GAAEwN,MAAGxN,IAAGA,IAAEZ,EAAE,yBAAiCY,MAAT,WAAauN,MAAGvN,OAAKA,IAAEJ,EAAE,eAAgB,GAACuJ,EAAEvJ,CAAC,KAAG,CAACA,EAAE,gBAAiB,MAAG2N,MAAGvN,IAAGwN,MAAGxN,GAAEsN,MAAGtN,IAAGZ;AAAqC,MAAnCQ,MAAII,KAAGC,KAAGoM,GAAGgC,IAAGV,IAAGG,IAAG9N,GAAE,SAAS,GAAKA,EAAE,UAAUJ,GAAER,GAAEqO,EAAE;AAAE,WAAOzN,IAAE4O,GAAG/O,GAAE,MAAK,IAAI,GAASE,MAAP,QAAUsH,EAAE,EAAE,GAAEtH,EAAE,aAAaC,GAAEZ,CAAC,GAAEkP,GAAGzO,GAAE,IAAI,GAAEG;AAAE,MAAG6J,EAAEjK,CAAC,KAAGiK,EAAE7J,CAAC,GAAE;AACrZ,QADsZH,IAAEG,EAAE,UAASH,MAAID,EAAE,YAAU8O,GAAGtP,GAAES,CAAC,GAAEA,IAAEG,EAAE,UACrfH,MAAID,EAAE,YAAU+O,GAAGvP,GAAES,CAAC,GAAEA,IAAED,EAAE,YAAWA,IAAEI,EAAE,YAAcH,MAAID,KAAGK,GAAE;AAAC,UAAIH,IAAED,GAAEK,IAAEN;AAAE,MAAAK,IAAED,GAAED,IAAEwN,IAAEA,KAAE;AAAG,UAAIxE,IAAEuE;AAAEA,MAAAA,KAAE;AAAG,UAAIhO,IAAEQ,EAAE,QAAON,IAAEU,EAAE;AAAO,UAAOZ,MAAJ,KAAWE,MAAJ,GAAM;AAAC,YAAID,IAAEO,EAAE;AAAU,YAAPI,IAAEA,EAAE,IAAMX,MAAIW;AAAE,UAAAgP,GAAG3P,GAAEH,CAAC;AAAA,aAAM;AAAC,cAAIK,IAAE8O,GAAGhP,CAAC;AAAE,UAAAW,IAAE0O,GAAG1O,GAAE,MAAK,IAAI,GAAEd,EAAE,aAAac,GAAET,CAAC,GAAE6O,GAAG/O,GAAE,IAAI;AAAA,QAAC;AAAA,MAAC,WAAaD,MAAJ;AAAM,QAAIE,MAAJ,KAAOqP,GAAG3O,GAAE,GAAEV,IAAE,GAAEJ,GAAE,IAAI;AAAA,eAAcI,MAAJ;AAAM,QAAIF,MAAJ,MAAQC,IAAQH,EAAE,sBAAR,MAA2BoP,GAAG1O,GAAE,GAAER,IAAE,GAAEC,IAAE,OAAKH,CAAC,GAAEG,MAAIH,EAAE,cAAY;AAAA,WAAS;AAAC,YAAI4J,IAAE1J,IAAE;AAAE,QAAAA,IAAEE,IAAE;AAAE,YAAI4J,IAAEhK,EAAE,YAAWkK,IAAE;AAAE,aAAI9J,IAAE,GAAE8J,KAAGN,KAAGxJ,KAAGF,KAAG;AAAC,cAAIK,IAAEG,EAAEwJ;AAAG,cAAIE,IAAEtJ,EAAEV;AAAG,cAAGG,MAAI6J;AAAE,YAAAJ,IAAE8F,GAAG1F,GAAEpK,CAAC,EAAE,aAC3ekK,KAAI9J;AAAA,eAAQ;AAAC,YAASD,MAAT,WAAaA,IAAE,IAAI,IAAIO,CAAC,IAAYL,MAAT,WAAaA,IAAE,IAAI,IAAIS,CAAC;AAAG,gBAAIwJ,IAAEjK,EAAE,IAAIE,CAAC,GAAEgK,IAAEpK,EAAE,IAAIiK,CAAC;AAAE,YAAAE,KAAGC,KAAGhK,IAAE+M,GAAGgB,IAAElE,CAAC,GAAE7J,MAAIyJ,IAAEA,IAAE8F,GAAG1F,GAAEpK,CAAC,EAAE,eAAmBgK,KAAN,OAAQhK,EAAE,aAAaO,GAAEyJ,CAAC,IAAEhK,EAAE,YAAYO,CAAC,GAAEuP,GAAG1F,GAAEpK,CAAC,IAAGkK,OAAKsF,GAAGpF,GAAEpK,GAAEgK,CAAC,GAAE5J,QAAM4J,IAAEmF,GAAG5O,CAAC,EAAE,aAAY2O,GAAG3O,GAAEP,CAAC,GAAEkK;AAAA,UAAI;AAAA,QAAC;AAAC,QAAA/J,IAAE+J,IAAEN,GAAEvJ,IAAED,IAAEF,GAAEC,KAAG,CAACE,KAAGF,IAAEW,EAAEZ,IAAE,IAAGC,IAAWA,MAAT,SAAW,OAAKmO,GAAE,gBAAgBnO,CAAC,GAAEsP,GAAG3O,GAAEV,GAAEF,GAAEF,GAAEG,CAAC,KAAGE,KAAG,CAACF,KAAGiP,GAAG1O,GAAEwJ,GAAEN,GAAE5J,CAAC;AAAA,MAAC;AAAC,MAAAoN,GAAGvM,CAAC,MAAIqN,MAAG;AAAA;AAAA,IAAQlO,EAAE,uBAAqBkO,IAAEA,KAAEvE,IAAEuE,IAAEwB,GAAG7O,GAAEb,CAAC,GAAEmO,KAAExN,GAAE0M,GAAEzM,CAAC,KAAGA,EAAE,SAAU,KAAE+O,GAAGlP,GAAED,GAAER,CAAC;AAAA,IAAC;AAAC,IAAAoN,GAAGxM,CAAC,MAAIsN,MAAG;AAAA;AAAA,GAAOE,MAAG;AAAA;AAAA;AAAA,EAAO;AAAM,IAAA5N,IAAEI,EAAE,eAAc,GAAGkJ,GAAElJ,CAAC,KAAGC,IACrfD,EAAE,SAAS0N,IAAED,EAAE,GAASxN,MAAP,QAAU+O,GAAGnP,GAAEI,CAAC,KAAGkJ,EAAEnJ,CAAC,KAAG,CAACA,EAAE,sBAAoBuN,MAAG3N,IAAG0N,MAAG1N,GAAE4N,MAAG5N;AAAE,UAACiO,MAAIpB,GAAEzM,CAAC,KAAGA,EAAE,iBAAewN,OAAIxN,IAAEA,EAAE,eAAcA,EAAE,eAAawN,KAAUpO;AAAC;AAAC,SAAS4P,GAAGnP,GAAEE,GAAE;AAAC,MAAIH,IAAE8N,GAAE,oBAAmB1N,IAAE0N,GAAE;AAAY,MAAU9N,MAAP,MAAS;AAAC,QAAGI,EAAEH,OAAKE;AAAE;AAAO,IAAAH,IAAE2L,GAAGmC,EAAC;AAAA,EAAC;AAAC,EAAA9N,EAAEC,KAAGE;AAAC;AAAC,SAASwO,GAAG1O,GAAE;AAAC,SAAAA,IAAEuO,GAAG,IAAIvO,CAAC,GAAWA,MAAT,UAAYwH,EAAE,EAAE,GAASxH;AAAC;AAC9T,IAAIsP,KAAE,OAAO,OAAO,CAAA,CAAE,GAAEC,KAAG,CAAC,CAAC,WAAUC,EAAE,GAAE,CAAC,aAAYC,EAAE,GAAE,CAAC,oBAAmBC,EAAE,GAAE,CAAC,kBAAiBC,EAAE,GAAE,CAAC,SAAQC,EAAE,GAAE,CAAC,SAAQC,EAAE,GAAE,CAAC,OAAMP,EAAC,GAAE,CAAC,QAAOA,EAAC,GAAE,CAAC,aAAYA,EAAC,GAAE,CAAC,YAAWA,EAAC,GAAE,CAAC,WAAUA,EAAC,GAAE,CAAC,SAAQA,EAAC,GAAE,CAAC,SAAQA,EAAC,GAAE,CAAC,QAAOA,EAAC,GAAE,CAAC,QAAOA,EAAC,CAAC;AAAEzH,MAAI0H,GAAG,KAAK,CAAC,eAAc,CAACvP,GAAEE,MAAI4P,GAAG9P,GAAEE,CAAC,CAAC,CAAC;AAAE,IAAI6P,KAAG,GAAEC,KAAG,GAAEC,KAAG,GAAEC,KAAG,IAAGC,KAAG,IAAGC,KAAG,IAAGC,KAAG,IAAGC,KAAG,CAAC,GAAE,GAAE,QAAO,CAAC;AAAE,SAASC,GAAGvQ,GAAEE,GAAE;AAAC,SAAcF,MAAP,QAAiBA,EAAE,cAAT,QAAwBA,EAAE,aAAN,KAAoBE,MAAJ,KAAOA,MAAIF,EAAE,UAAU;AAAM;AACjc,SAASwQ,GAAGxQ,GAAEE,GAAEH,GAAE;AAAC,MAAI,EAAC,YAAWI,GAAE,cAAaC,GAAE,WAAUb,GAAE,aAAYU,EAAC,IAAED;AAAE,EAAGkQ,OAAKA,KAAG,IAAGK,GAAGpQ,GAAEC,CAAC,KAAGmQ,GAAGhR,GAAEU,CAAC,MAAUgJ,GAAE/I,GAAE,MAAI;AAAC,QAAG,CAACH;AAAE,MAAAkK,GAAG,IAAI;AAAA,aAAUO,GAAGtK,GAAEC,GAAEZ,CAAC,GAAE;AAAC,UAAIc,IAAE0I,EAAC;AAAG,UAAGS,EAAEnJ,CAAC,GAAE;AAAC,YAAIZ,IAAEY,EAAE,QAAOV,IAAEF,EAAE,QAAO;AAAG,YAAGY,EAAE,YAAW,GAAG;AAAC,UAAUL,EAAE,SAAZ,WAAkBA,EAAE,eAAaA,EAAE,cAAYK,EAAE,QAAM;AAAI,cAAIX,IAAE2K,GAAGnK,CAAC,EAAE;AAAM,UAAAR,IAAEA,IAAEA,EAAE,YAAU,YAAY,IAAK;AAAC,cAAI,CAACE,GAAEE,GAAEoJ,GAAEC,CAAC,IAAEmH;AAAG,UAAA5Q,IAAEyJ,IAAE,OAAK1J,EAAE,WAASK,KAAGL,EAAE,QAAMyJ,IAAE7I,EAAE,SAAOT,IAAWH,EAAE,SAAX,SAAgBY,EAAE,SAAOV,EAAE,UAAS,IAAeF,EAAE,SAAd,cAAqBY,EAAE,SAAO;AAAA,QAAE,OAAK;AAAC,UAAAZ,IAAE,KAAIE,IAAE,IAAGD,IAAEW,EAAE,SAAQ;AACvf,cAAIT,IAAEF,EAAE;AAAO,mBAAQI,IAAE,GAAEA,IAAEF,GAAEE,KAAI;AAAC,gBAAIoJ,IAAExJ,EAAEI;AAAG,gBAAGwJ,EAAEJ,CAAC,MAAIvJ,IAAE,IAAGF,KAAGyJ,EAAE,aAAgBzJ,MAAJ;AAAO;AAAA,UAAK;AAAC,UAAAY,EAAE,SAAOV,IAAEF,IAAE;AAAA,QAAC;AAAA,MAAC;AAACgR,MAAAA,EAAEvQ,GAAEqF,IAAG,MAAM;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAAC,SAASsK,GAAG7P,GAAEE,GAAE;AAAC+I,EAAAA,GAAE/I,GAAE,MAAI;AAAC,QAAIH,IAAEgJ,EAAG,GAAC5I,IAAEsH,KAAE,OAAO,iBAAe,MAAKrH,IAAE+L,GAAI;AAAC,QAAG3C,EAAEzJ,CAAC,GAAE;AAAC,UAAIR,IAAEQ,EAAE,QAAOE,IAAEV,EAAE,QAAO;AAAG,MAAAY,KAAeZ,EAAE,SAAd,aAAwBA,EAAE,WAAN,KAAcQ,EAAE,YAAa,KAAE,CAAC6M,GAAE3M,CAAC,KAAO2L,GAAE,EAAG,gBAAe,MAAxB,KAA4B3L,EAAE,4BAA4B,QAAS,KAASG,MAAP,QAAUL,EAAE,GAAGK,CAAC,MAAID,EAAE,gBAAe,GAAGJ,EAAE,QAAM;AAAA,IAAG;AAAC0Q,IAAAA,EAAEvQ,GAAEsF,IAAGxF,CAAC;AAAA,EAAC,CAAC;AAAC;AAC/a,SAASyP,GAAGzP,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAO,EAAAD,aAAa,QAAMkJ,GAAE/I,GAAE,MAAI;AAACmJ,IAAAA,GAAED,GAAGrJ,CAAC,CAAC,MAAIoQ,KAAG;AAAA,EAAG,CAAC;AAAC;AAAC,SAASO,GAAG1Q,GAAEE,GAAE;AAAC,EAAAA,EAAE,oBAAkBA,IAAEA,EAAE,gBAAe,EAAG,OAAKF,EAAE,cAAcE,CAAC;AAAC;AAAC,SAASyQ,GAAG3Q,GAAEE,GAAE;AAAC,SAAOF,MAAIE,KAAG8J,EAAEhK,CAAC,KAAGgK,EAAE9J,CAAC,KAAG,CAACF,EAAE,QAAS,KAAE,CAACE,EAAE,QAAO;AAAE;AACxO,SAAS4P,GAAG9P,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAU,EAA0BD,MAA1B,2BAA6B6H,MAAIsC,GAAGhK,CAAC,KAA6BH,MAA1B,2BAA6BkJ,GAAE/I,GAAE,MAAI;AAAC,QAAIC,IAAE4I,EAAC;AAAG,QAA6BhJ,MAA1B,yBAA4B;AAAC,UAAUI,MAAP,MAAS;AAAC,YAAIC,IAAE+L,GAAI;AAAC,YAAG,CAAC3C,EAAEpJ,CAAC;AAAE;AAAO,QAAA6J,GAAG7J,EAAE,MAAK,CAAE;AAAA,MAAC;AAAC,UAAGoJ,EAAErJ,CAAC,GAAE;AAAC,QAAM6P,OAAN,OAAUhQ,EAAE,YAAU+P,KAAG,MAAI7P,EAAE,YAAa,KAAEC,EAAE,OAAO,QAAMA,EAAE,MAAM,OAAKkL,GAAE,IAAI,GAAE0E,KAAG,GAAE,WAAW,MAAI;AAAC9G,UAAAA,GAAE/I,GAAE,MAAI;AAACmL,YAAAA,GAAE,IAAI;AAAA,UAAC,CAAC;AAAA,QAAC,GAAE,EAAE,GAAE7B,EAAErJ,CAAC,MAAIC,IAAED,EAAE,OAAO,QAAS,GAACC,EAAE,UAAS,GAAGD,EAAE,SAAOC,EAAE,UAAW,OAAIJ,EAAE,kBAAiByQ,EAAEvQ,GAAEuF,IAAG,EAAE;AAAG;AAAA,MAAM;AAAA,IAAC;AAAC,QAAG+D,EAAErJ,CAAC,GAAE;AAAC,MAAAC,IAAEJ,EAAE,MAAKG,EAAE,SAAO,CAACA,EAAE,YAAW,KAAIyM,GAAEzM,EAAE,OAAO,QAAO,CAAE,KACrgBuQ,GAAGvQ,GAAEH,CAAC;AAAE,UAAIT,IAAEY,EAAE,OAAMF,IAAEE,EAAE,OAAO,QAAO;AAAiB,UAAdZ,IAAEA,EAAE,WAA4BQ,MAAf,gBAAsCA,MAApB;AAAsB,QAAOK,MAAP;AAAA,KAAUJ,EAAE,eAAc,GAAGyQ,EAAEvQ,GAAEwF,IAAG,EAAE,KAAYtF,MAAT;AAAA;AAAA,KAAYJ,EAAE,eAAc,GAAGyQ,EAAEvQ,GAAEyF,IAAG,MAAM,KAASvF,KAAN,QAASJ,EAAE,gBAAcI,IAAEJ,EAAE,aAAa,QAAQ,YAAY,GAAEA,EAAE,kBAAiBG,EAAE,cAAcC,CAAC,KAASA,KAAN,QAASkM,GAAGnM,GAAEC,CAAC,MAAIJ,EAAE,eAAgB,GAACyQ,EAAEvQ,GAAE0F,IAAGxF,CAAC;AAAA;AAAQ,gBAAOJ,EAAE,eAAgB,GAACD;AAAA,eAAQ;AAAA,eAAsB;AAAA,eAAsB;AAAwB0Q,YAAAA,EAAEvQ,GAAE0F,IAAG5F,CAAC;AAAE;AAAA,eAAW;AAAwBqL,YAAAA,GAAE,IAAI,GAAEoF;AAAAA,cAAEvQ;AAAA,cACtf0F;AAAAA,cAAG5F;AAAA,YAAC;AAAE;AAAA,eAAW;AAAkBqL,YAAAA,GAAE,IAAI,GAAEoF,EAAEvQ,GAAEwF,IAAG,EAAE;AAAE;AAAA,eAAW;AAAkB2F,YAAAA,GAAE,IAAI,GAAE+E,MAAIA,KAAG,IAAGK,EAAEvQ,GAAEwF,IAAG,EAAE,KAAG+K,EAAEvQ,GAAEyF,IAAG,MAAM;AAAE;AAAA,eAAW;AAAA,eAAuB;AAA6B8K,YAAAA,EAAEvQ,GAAE2F,IAAG7F,CAAC;AAAE;AAAA,eAAW;AAAsB,YAAA2Q,GAAG1Q,GAAEV,CAAC,KAAGkR,EAAEvQ,GAAE4F,IAAG,MAAM;AAAE;AAAA,eAAW;AAAA,eAAoB;AAAc2K,YAAAA,EAAEvQ,GAAE4F,IAAG,MAAM;AAAE;AAAA,eAAW;AAAgB2K,YAAAA,EAAEvQ,GAAEuF,IAAG,EAAE;AAAE;AAAA,eAAW;AAAqBgL,YAAAA,EAAEvQ,GAAE6F,IAAG,EAAE;AAAE;AAAA,eAAW;AAAoB0K,YAAAA,EAAEvQ,GAAE6F,IAAG,EAAE;AAAE;AAAA,eAAW;AAAA,eAA8B;AAAyB0K,YAAAA;AAAAA,cAAEvQ;AAAA,cAC7f8F;AAAAA,cAAG;AAAA,YAAE;AAAE;AAAA,eAAW;AAAA,eAA4B;AAAA,eAA6B;AAAwByK,YAAAA,EAAEvQ,GAAE8F,IAAG,EAAE;AAAE;AAAA,eAAW;AAAsByK,YAAAA,EAAEvQ,GAAEL,IAAE,eAAe;AAAE;AAAA,eAAW;AAAa4Q,YAAAA,EAAEvQ,GAAEL,IAAE,MAAM;AAAE;AAAA,eAAW;AAAe4Q,YAAAA,EAAEvQ,GAAEL,IAAE,QAAQ;AAAE;AAAA,eAAW;AAAkB4Q,YAAAA,EAAEvQ,GAAEL,IAAE,WAAW;AAAE;AAAA,eAAW;AAAc4Q,YAAAA,EAAEvQ,GAAE+F,IAAG,MAAM;AAAE;AAAA,eAAW;AAAcwK,YAAAA,EAAEvQ,GAAEgG,IAAG,MAAM;AAAA;AAAA,IAAE;AAAA,EAAC,CAAC;AAAC;AACzX,SAAS0J,GAAG5P,GAAEE,GAAE;AAAC,EAAAF,EAAE,mBAAkBiJ,GAAE/I,GAAE,MAAI;AAAC,QAAIH,IAAEgJ,EAAC,GAAG5I,IAAEH,EAAE;AAAK,IAAMG,KAAN,QAASqJ,EAAEzJ,CAAC,KAAGuM,GAAGvM,GAAEI,CAAC,KAAGkQ,OAAKO,GAAG1Q,GAAEC,CAAC,GAAEkQ,KAAG,KAAII,EAAEvQ,GAAE0F,IAAGzF,CAAC,GAAEA,IAAEA,EAAE,QAAOyH,MAAI,IAAEzH,KAA6BH,EAAE,cAA5B,2BAAuC,CAACE,EAAE,YAAW,MAAKH,EAAE,OAAO,UAAQI,IAAG2H,MAAIC,MAAI,CAAC7H,EAAE,YAAa,MAAG6P,KAAG,GAAE1E,GAAE,IAAI,OAAKa,GAAG,EAAE,GAAEmE,OAAKO,GAAG1Q,GAAEC,KAAG,MAAM,GAAEkQ,KAAG,MAAK/E,GAAC,GAAGvL,IAAEqL,GAAC,GAAGjB,GAAGpK,CAAC;AAAA,EAAC,CAAC;AAAC;AACzT,SAAS2P,GAAG1P,GAAEE,GAAE;AAAC+I,EAAAA,GAAE/I,GAAE,MAAI;AAAC,QAAIH,IAAEgJ,EAAG;AAAC,QAAGS,EAAEzJ,CAAC,KAAG,CAACG,EAAE,YAAa,GAAC;AAAC,UAAIC,IAAEJ,EAAE;AAAOsL,MAAAA,GAAElL,EAAE,GAAG,IAAGH,EAAE,YAAU+P,KAAG,MAAgB5P,EAAE,SAAd,aAAoB,CAACJ,EAAE,YAAa,KAAEA,EAAE,OAAO,QAAO,EAAG,UAAS,MAAKA,EAAE,WAAS0Q,EAAEvQ,GAAE0F,IAAGqC,EAAE;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAC1M,SAAS2I,GAAG5Q,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAwB,MAARqL,GAAE,IAAI,GAAYtL,MAAP,QAAgBG,KAAN,MAAQ;AAAC,QAAQA,MAAL,IAAO;AAAC,MAAAA,IAAEqL,EAAExL,CAAC,GAAEC,IAAE2K,GAAG3K,EAAE,gBAAgBD,CAAC,CAAC,GAASC,MAAP,QAAiBA,EAAE,cAAT,QAAoBsJ,EAAEpJ,CAAC,KAAGwJ,GAAGxJ,GAAEF,EAAE,WAAU,MAAK,MAAK,EAAE;AAAE;AAAA,IAAM;AAAC,QAAUE,EAAEA,EAAE,SAAO,OAAlB;AAAA,MAAuBH,IAAEgJ,KAAIS,EAAEzJ,CAAC,IAAG;AAAC,MAAAG,IAAEH,EAAE,OAAMA,EAAE,OAAO,IAAIG,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAEuQ,EAAEzQ,GAAEyG,IAAG,IAAI;AAAE;AAAA,IAAM;AAAA,EAAC;AAAC,EAAAyF,GAAG,IAAGhM,CAAC;AAAC;AAAC,SAASyP,GAAG3P,GAAEE,GAAE;AAAC,EAAA0H,KAAGyI,KAAG,KAAGpH,GAAE/I,GAAE,MAAI;AAAC,IAAA0Q,GAAG1Q,GAAEF,EAAE,IAAI;AAAA,EAAC,CAAC;AAAC;AAClW,SAASwP,GAAGxP,GAAEE,GAAE;AAAC,MAAQF,EAAE,oBAAP,OAAyBA,EAAE,kBAAgB,IAAG+P,KAAG/P,EAAE,WAAUgQ,KAAGhQ,EAAE,SAAQ,CAACE,EAAE,YAAW,IAAI;AAAC,QAAI,EAAC,SAAQH,GAAE,UAASI,GAAE,SAAQC,GAAE,SAAQb,GAAE,QAAOU,EAAC,IAAED;AAAE,QAAQD,MAAL,MAAQK,KAAGb,KAAGU;AAAE,UAAQF,MAAL,MAAQE,KAAGE,KAAG,CAACC,KAAG,CAACb;AAAE,YAAQQ,MAAL,MAAQK,KAAGb,KAAGU;AAAE,cAAQF,MAAL,MAAQE,KAAGE,KAAG,CAACC,KAAG,CAACb;AAAE,gBAAQQ,MAAL,MAAQK,KAAGb;AAAE,kBAAQQ,MAAL,MAAQK,KAAGb;AAAE,oBAAQQ,MAAL,MAAQI;AAAE,kBAAAiQ,KAAG,IAAGK,EAAEvQ,GAAEuG,IAAGzG,CAAC;AAAA,yBAAeD,MAAL;AAAO0Q,kBAAAA,EAAEvQ,GAAEwG,IAAG1G,CAAC;AAAA,yBAAU2H,MAAGvH,KAAQL,MAAL;AAAO,kBAAAC,EAAE,eAAgB,GAACoQ,KAAG,IAAGK,EAAEvQ,GAAEwF,IAAG,EAAE;AAAA,yBAAe3F,MAAL,MAAQI,GAAE;AAAC,sBAAIE,IAAEsH,KAAE1H,KAAGV,IAAE,KAAOQ,MAAJ,KAAYA,MAAL,MAAQK,IAAEA,KAAGH,KAAGV,IAAE,KAAOQ,MAAJ;AAAM,kBAAAM,IAAMN,MAAJ,IAAM0Q,EAAEvQ,GAAEyG,IAAG3G,CAAC,KAAGA,EAAE,eAAgB,GAC1fyQ,EAAEvQ,GAAEuF,IAAG,EAAE,KAAQ1F,MAAL,KAAO0Q,EAAEvQ,GAAE0G,IAAG5G,CAAC,KAAGK,IAAEsH,KAAExH,KAAGF,KAAGV,IAAE,KAAQQ,MAAL,MAAaA,MAAL,MAAQK,IAAEA,KAAGH,KAAGV,IAAE,KAAQQ,MAAL,IAAOM,IAAON,MAAL,KAAO0Q,EAAEvQ,GAAE2G,IAAG7G,CAAC,KAAGA,EAAE,eAAc,GAAGyQ,EAAEvQ,GAAEuF,IAAG,EAAE,KAAO1F,MAAJ,MAAQ4H,KAAE1H,IAAEG,MAAIJ,EAAE,eAAc,GAAGyQ,EAAEvQ,GAAE6F,IAAG,EAAE,KAAQhG,MAAL,OAAS4H,KAAE1H,IAAEG,MAAIJ,EAAE,eAAgB,GAACyQ,EAAEvQ,GAAE6F,IAAG,EAAE,KAAG4B,MAAGpI,KAAOQ,MAAJ,KAAOC,EAAE,kBAAiByQ,EAAEvQ,GAAE8F,IAAG,EAAE,KAAG2B,MAAGpI,KAAQQ,MAAL,MAAQC,EAAE,eAAgB,GAACyQ,EAAEvQ,GAAE8F,IAAG,EAAE,KAAQjG,MAAL,MAAQ,CAACE,MAAI0H,KAAEpI,IAAEa,MAAIJ,EAAE,eAAc,GAAGyQ,EAAEvQ,GAAEL,IAAE,MAAM,KAAQE,MAAL,MAAQ,CAACE,MAAI0H,KAAEpI,IAAEa,MAAIJ,EAAE,eAAgB,GAACyQ,EAAEvQ,GAAEL,IAAE,WAAW,KAAQE,MAAL,MAAQ,CAACE,MAAI0H,KAAEpI,IAAEa,MAAIJ,EAAE,eAAc,GAAGyQ,EAAEvQ,GAAEL,IAAE,QAAQ,KAAOE,MAAJ,KAAOE,KAAGG,KAClfb,IAAOQ,MAAL,MAAQ,CAACI,MAAIwH,KAAEpI,IAAEa,MAAIJ,EAAE,eAAgB,GAACyQ,EAAEvQ,GAAE+F,IAAG,MAAM,MAAI5F,IAAEsH,KAAO5H,MAAL,MAAQR,KAAGY,IAAOJ,MAAL,MAAQK,KAAQL,MAAL,MAAQK,KAAGD,GAAEE,KAAGL,EAAE,kBAAiByQ,EAAEvQ,GAAEgG,IAAG,MAAM,KAAG2K,GAAG3Q,EAAE,aAAa,UAAU,MAAIG,IAAEF,IAAE,KAAQJ,MAAL,KAAO4H,KAAEpI,IAAEa,IAAE,IAAGC,KAAGL,EAAE,eAAgB,GAACyQ,EAAEvQ,GAAEiH,IAAGnH,CAAC,MAAIK,IAAEF,IAAE,KAAQJ,MAAL,KAAO4H,KAAEpI,IAAEa,IAAE,IAAGC,MAAIL,EAAE,eAAc,GAAGyQ,EAAEvQ,GAAEkH,IAAGpH,CAAC,QAAMyQ,EAAEvQ,GAAE4G,IAAG9G,CAAC;AAAA,gBAAE;AAAM,kBAAAoQ,KAAG,IAAGK,EAAEvQ,GAAEuG,IAAGzG,CAAC;AAAA;AAAOyQ,gBAAAA,EAAEvQ,GAAEsG,IAAGxG,CAAC;AAAA;AAAOyQ,cAAAA,EAAEvQ,GAAEqG,IAAGvG,CAAC;AAAA;AAAOyQ,YAAAA,EAAEvQ,GAAEoG,IAAGtG,CAAC;AAAA;AAAOyQ,UAAAA,EAAEvQ,GAAEmG,IAAGrG,CAAC;AAAA;AAAOyQ,QAAAA,EAAEvQ,GAAEkG,IAAGpG,CAAC;AAAA;AAAOyQ,MAAAA,EAAEvQ,GAAEiG,IAAGnG,CAAC;AAAE,KAACI,KAAGD,KAAGF,KAAGV,MAAIkR,EAAEvQ,GAAEqH,IAAGvH,CAAC;AAAA,EAAC;AAAC;AACjb,SAAS8Q,GAAG9Q,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAsB,SAASE,MAAT,WAAaA,IAAE,IAAGF,EAAE,wBAAsBE,IAAUA;AAAC;AAAC,IAAI6Q,KAAG,oBAAI;AAAI,SAASC,KAAI;AAAC,MAAIhR,IAAEyH,KAAE,OAAO,aAAc,IAAC;AAAK,MAAUzH,MAAP,MAAS;AAAC,QAAIE,IAAEuK,GAAGzK,EAAE,UAAU;AAAE,QAAUE,MAAP,MAAS;AAAC,MAAAiQ,OAAKA,KAAG,IAAGlH,GAAE/I,GAAE,MAAI;AAAC,YAAID,IAAEkM,GAAI,GAAC9L,IAAEL,EAAE;AAAW,QAAOK,MAAP,SAAWA,IAAEA,EAAE,UAAaA,MAAJ,KAAWA,MAAJ,OAASJ,IAAEgR,GAAGhR,GAAED,GAAEE,CAAC,GAAE+J,GAAGhK,CAAC;AAAA,MAAE,CAAC;AAAG,UAAIF,IAAEiM,GAAG9L,CAAC;AAAE,MAAAH,IAAEA,EAAEA,EAAE,SAAO;AAAG,UAAII,IAAEJ,EAAE,MAAKK,IAAE2Q,GAAG,IAAI5Q,CAAC,GAAEZ,IAAEa,KAAGL;AAAE,MAAAR,MAAIW,KAAGsQ,GAAGxQ,GAAET,GAAE,EAAE,GAAEiR,GAAGxQ,GAAEE,GAAE,EAAE,GAAEA,MAAIH,IAAEgR,GAAG,IAAI5Q,GAAED,CAAC,IAAEE,KAAG2Q,GAAG,OAAO5Q,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAC5b,SAAS+Q,GAAGlR,GAAEE,GAAE;AAAC,EAAI+P,OAAJ,KAAQjQ,EAAE,cAAc,iBAAiB,mBAAkBgR,EAAE,GAAEf,MAAKjQ,EAAE,kBAAgBE;AAAE,MAAIH,IAAE+Q,GAAG9Q,CAAC;AAAE,WAAQG,IAAE,GAAEA,IAAEoP,GAAG,QAAOpP,KAAI;AAAC,QAAI,CAACC,GAAEb,CAAC,IAAEgQ,GAAGpP,IAAGF,IAAe,OAAOV,KAApB,aAAsB,CAAAc,MAAG;AAAC,MAAAH,EAAE,WAAY,KAAEX,EAAEc,GAAEH,CAAC;AAAA,IAAC,IAAE,CAAAG,MAAG;AAAC,UAAGH,EAAE,WAAY;AAAC,gBAAOE;AAAA,eAAQ;AAAM,mBAAOqQ,EAAEvQ,GAAEkH,IAAG/G,CAAC;AAAA,eAAO;AAAO,mBAAOoQ,EAAEvQ,GAAEiH,IAAG9G,CAAC;AAAA,eAAO;AAAQ,mBAAOoQ,EAAEvQ,GAAE2F,IAAGxF,CAAC;AAAA,eAAO;AAAY,mBAAOoQ,EAAEvQ,GAAE8G,IAAG3G,CAAC;AAAA,eAAO;AAAW,mBAAOoQ,EAAEvQ,GAAE+G,IAAG5G,CAAC;AAAA,eAAO;AAAU,mBAAOoQ,EAAEvQ,GAAEgH,IAAG7G,CAAC;AAAA,eAAO;AAAQ,mBAAOoQ,EAAEvQ,GAAEmH,IAAGhH,CAAC;AAAA,eAAO;AAAO,mBAAOoQ,EAAEvQ,GAAEoH,IAAGjH,CAAC;AAAA,eAAO;AAAO,mBAAOoQ;AAAAA,cAAEvQ;AAAA,cAChgB6G;AAAA,cAAG1G;AAAA,YAAC;AAAA;AAAA,IAAE;AAAE,IAAAL,EAAE,iBAAiBI,GAAEH,CAAC,GAAEF,EAAE,KAAK,MAAI;AAAC,MAAAC,EAAE,oBAAoBI,GAAEH,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAC;AACzE,MAAMkR,GAAC;AAAA,EAAC,YAAYnR,GAAEE,GAAEH,GAAE;AAAC,SAAK,aAAW,MAAK,KAAK,MAAIC,GAAE,KAAK,SAAOE,GAAE,KAAK,OAAKH;AAAA,EAAC;AAAA,EAAC,GAAGC,GAAE;AAAC,WAAO,KAAK,QAAMA,EAAE,OAAK,KAAK,WAASA,EAAE,UAAQ,KAAK,SAAOA,EAAE;AAAA,EAAI;AAAA,EAAC,SAASA,GAAE;AAAC,QAAIE,IAAE,KAAK,QAAO,GAAGH,IAAEC,EAAE,QAAS,GAACG,IAAE,KAAK;AAAkB,QAAXH,IAAEA,EAAE,QAAUgK,EAAE9J,CAAC,GAAE;AAAC,UAAIE,IAAEF,EAAE,qBAAqBC,CAAC;AAAE,MAAAD,IAAQE,KAAN,OAAQA,IAAEF;AAAA,IAAC;AAAC8J,WAAAA,EAAEjK,CAAC,MAAIK,IAAEL,EAAE,qBAAqBC,CAAC,GAAED,IAAQK,KAAN,OAAQA,IAAEL,IAAUG,MAAIH,IAAEI,IAAEH,IAAEE,EAAE,SAASH,CAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,QAAIC,IAAEuL,EAAE,KAAK,GAAG;AAAE,WAAOvL,MAAP,QAAUwH,EAAE,EAAE,GAASxH;AAAA,EAAC;AAAA,EAAC,IAAIA,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK,YAAWC,IAAE,KAAK;AAAI,SAAK,MAAIJ,GAAE,KAAK,SAAOE,GAAE,KAAK,OAAKH,GACnf0L,OAAID,GAAI,MAAGpL,KAAGiL,GAAErL,CAAC,GAASG,MAAP,SAAWA,EAAE,eAAa,MAAKA,EAAE,QAAM;AAAA,EAAI;AAAC;AAAC,SAASiR,GAAGpR,GAAEE,GAAE;AAAC,MAAIH,IAAEG,EAAE,OAAMC,IAAEH,EAAE,QAAOI,IAAE;AAAU,MAAGkJ,EAAEpJ,CAAC;AAAE,IAAAE,IAAE,QAAOF,IAAEA,EAAE,mBAAkB,GAAGC,IAAED,MAAIC,IAAED;AAAA,WAAW,CAAC8J,EAAE9J,CAAC,GAAE;AAAC,QAAIX,IAAEW,EAAE,eAAc;AAAG,IAAGoJ,EAAE/J,CAAC,KAAEQ,IAAER,EAAE,OAAMY,IAAE,MAAUZ,IAAEW,EAAE,UAAW,OAACH,IAAER,EAAE,OAAMY,IAAED,EAAE,qBAAsB,IAAC;AAAA,EAAC;AAAC,EAAAF,EAAE,IAAID,GAAEI,GAAEC,CAAC;AAAC;AAAC,SAASiR,GAAGrR,GAAEE,GAAE;AAAC,MAAG8J,EAAE9J,CAAC,GAAE;AAAC,QAAIH,IAAEG,EAAE,kBAAmB;AAAC8J,IAAAA,EAAEjK,CAAC,KAAGuJ,EAAEvJ,CAAC,IAAEqR,GAAGpR,GAAED,CAAC,IAAEqR,GAAGpR,GAAEE,CAAC;AAAA,EAAC;AAAM,IAAAkR,GAAGpR,GAAEE,CAAC;AAAC;AAClZ,SAASoR,GAAGtR,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,QAAS,GAACI,IAAED,EAAE,gBAAgBH,EAAE,MAAM,GAAET,IAAE6M,GAAG,GAACnM,IAAE2M,GAAEzM,CAAC,IAAEoR,GAAI,EAAC,OAAOhS,CAAC,IAAEA;AAAE,EAAAA,EAAE,UAAUQ,CAAC,GAASK,MAAP,OAASD,EAAE,OAAOF,CAAC,IAAEG,EAAE,aAAaH,CAAC,GAAED,EAAE,GAAGE,CAAC,KAAGA,EAAE,IAAIX,EAAE,OAAM,GAAE,MAAM,GAAES,EAAE,IAAIT,EAAE,OAAM,GAAE,MAAM;AAAC;AAAC,SAASiS,GAAGxR,GAAEE,GAAEH,GAAEI,GAAE;AAAC,EAAAH,EAAE,MAAIE,GAAEF,EAAE,SAAOD,GAAEC,EAAE,OAAKG;AAAC;AAChQ,MAAMsR,GAAE;AAAA,EAAC,YAAYzR,GAAE;AAAC,SAAK,QAAM,IAAG,KAAK,SAAOA,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,GAAGA,GAAE;AAAC,QAAG,CAAC6Q,GAAG7Q,CAAC;AAAE,aAAM;AAAG,QAAIE,IAAE,KAAK,QAAOH,IAAEC,EAAE;AAAO,WAAOE,EAAE,SAAOH,EAAE,QAAM,MAAM,KAAKG,CAAC,EAAE,MAAM,CAAAC,MAAGJ,EAAE,IAAII,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,IAAIH,GAAE;AAAC,SAAK,QAAM,IAAG,KAAK,OAAO,IAAIA,CAAC,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,OAAOA,GAAE;AAAC,SAAK,QAAM,IAAG,KAAK,OAAO,OAAOA,CAAC,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,QAAO;AAAC,SAAK,QAAM,IAAG,KAAK,OAAO,MAAK,GAAG,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,IAAIA,GAAE;AAAC,WAAO,KAAK,OAAO,IAAIA,CAAC;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,WAAO,IAAIyR,GAAG,IAAI,IAAI,KAAK,MAAM,CAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,KAAK,SAAQ;AAAA,EAAE;AAAA,EAAC,gBAAe;AAAA,EAAA;AAAA,EAAE,aAAY;AAAA,EAAA;AAAA,EAAE,YAAYzR,GACxhBE,GAAE;AAAC,QAAIH,IAAE,KAAK,SAAQ,GAAGI,IAAEJ,EAAE;AAAO,QAAIK,IAAEL,EAAEI,IAAE;AAAG,QAAGmJ,EAAElJ,CAAC;AAAE,MAAAA,IAAEA,EAAE,OAAQ;AAAA,SAAK;AAAC,UAAIb,IAAEa,EAAE,qBAAsB,IAAC;AAAE,MAAAA,IAAEA,EAAE,mBAAmB,OAAOb,GAAEA,CAAC;AAAA,IAAC;AAAoB,SAAnBa,EAAE,YAAYJ,GAAEE,CAAC,GAAMF,IAAE,GAAEA,IAAEG,GAAEH;AAAI,MAAAD,EAAEC,GAAG,OAAQ;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,QAAIA,IAAE,KAAK;AAAa,QAAUA,MAAP;AAAS,aAAOA;AAAE,QAAIE,IAAE,KAAK;AAAO,IAAAF,IAAE,CAAA;AAAG,aAAQD,KAAKG;AAAE,MAAAA,IAAEqL,EAAExL,CAAC,GAASG,MAAP,QAAUF,EAAE,KAAKE,CAAC;AAAEuL,WAAAA,OAAI,KAAK,eAAazL,IAAUA;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIA,IAAE,KAAK,SAAQ,GAAGE,IAAE;AAAG,aAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD;AAAI,MAAAG,KAAGF,EAAED,GAAG,eAAgB;AAAC,WAAOG;AAAA,EAAC;AAAC;AAAC,SAASsJ,EAAExJ,GAAE;AAAC,SAAOA,aAAa0R;AAAE;AAClf,MAAMC,GAAE;AAAA,EAAC,YAAY3R,GAAEE,GAAEH,GAAE;AAAC,SAAK,UAAQC,GAAE,KAAK,SAAOE,GAAE,KAAK,QAAMH,GAAE,KAAK,QAAM,IAAG,KAAK,eAAa,MAAKG,EAAE,aAAW,MAAKH,EAAE,aAAW;AAAA,EAAI;AAAA,EAAC,GAAGC,GAAE;AAAC,WAAO4R,GAAG5R,CAAC,IAAE,KAAK,YAAUA,EAAE,WAAS,KAAK,OAAO,GAAGA,EAAE,MAAM,KAAG,KAAK,MAAM,GAAGA,EAAE,KAAK,IAAE;AAAA,EAAE;AAAA,EAAC,IAAIA,GAAEE,GAAEH,GAAE;AAAC,SAAK,QAAM,IAAG,KAAK,UAAQC,GAAE,KAAK,OAAO,MAAIE,GAAE,KAAK,MAAM,MAAIH,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,QAAO;AAAC,WAAO,IAAI4R,GAAG,KAAK,SAAQ,KAAK,QAAO,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAOE,GAAG,IAAI;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,KAAK,SAAQ;AAAA,EAAE;AAAA,EAAC,gBAAe;AAAA,EAAA;AAAA,EAAE,aAAY;AAAA,EAAA;AAAA,EAAE,YAAY7R,GAC3kBE,GAAE;AAAC,QAAIH,IAAE,KAAK,MAAM,QAAO;AAAG,WAAOwN,GAAGxN,EAAE,OAAO,GAAEA,EAAE,gBAAe,CAAE,CAAC,EAAE,YAAYC,GAAEE,CAAC;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,QAAIF,IAAEuL,EAAE,KAAK,OAAO,GAAG;AAAE,IAAOvL,MAAP,QAAUwH,EAAE,EAAE;AAAE,QAAItH,IAAEF,EAAE;AAAuB,IAAAA,IAAEA,EAAE,mBAAmB,qBAAsB;AAAC,QAAID,IAAEwL,EAAE,KAAK,MAAM,GAAG;AAAE,IAAOxL,MAAP,QAAUyH,EAAE,EAAE;AAAE,QAAIrH,IAAEJ,EAAE,qBAAsB;AAAC,QAAIK,IAAEL,EAAE,mBAAmB,qBAAsB;AAAC,WAAAA,IAAE,KAAK,IAAIG,GAAEC,CAAC,GAAED,IAAE,KAAK,IAAIA,GAAEC,CAAC,GAAEA,IAAE,KAAK,IAAIH,GAAEI,CAAC,GAAEJ,IAAE,KAAK,IAAIA,GAAEI,CAAC,GAAQ,EAAC,OAAM,KAAK,IAAIL,GAAEG,CAAC,GAAE,OAAM,KAAK,IAAIC,GAAEH,CAAC,GAAE,KAAI,KAAK,IAAID,GAAEG,CAAC,GAAE,KAAI,KAAK,IAAIC,GAAEH,CAAC,EAAC;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,QAAIA,IACvf,KAAK;AAAa,QAAUA,MAAP;AAAS,aAAOA;AAAE,IAAAA,IAAE,oBAAI;AAAI,QAAI,EAAC,OAAME,GAAE,OAAMH,GAAE,KAAII,GAAE,KAAIC,EAAC,IAAE,KAAK,SAAU;AAAC,QAAIb,IAAEgM,EAAE,KAAK,OAAO;AAAE,IAAAuG,GAAGvS,CAAC,KAAGiI,EAAE,EAAE,GAAExH,EAAE,IAAIT,CAAC,GAAEA,IAAEA,EAAE,YAAW;AAAG,aAAQE,IAAEM,GAAEN,KAAGW,GAAEX,KAAI;AAAC,UAAIQ,IAAEV,EAAEE;AAAG,MAAAO,EAAE,IAAIC,CAAC,GAAE8R,GAAG9R,CAAC,KAAGuH,EAAE,EAAE,GAAEvH,IAAEA,EAAE,YAAa;AAAC,eAAQN,IAAEO,GAAEP,KAAGQ,GAAER,KAAI;AAAC,YAAIU,IAAEJ,EAAEN;AAAyB,aAAtBqS,GAAG3R,CAAC,KAAGmH,EAAE,EAAE,GAAExH,EAAE,IAAIK,CAAC,GAAMA,IAAEA,EAAE,YAAa,GAAC,IAAEA,EAAE,UAAQ;AAAC,cAAIX,IAAEW,EAAE,MAAK;AAAG,UAAAL,EAAE,IAAIN,CAAC,GAAEsK,EAAEtK,CAAC,KAAGW,EAAE,QAAQ,GAAGX,EAAE,YAAa,CAAA;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAAM,IAAE,MAAM,KAAKA,CAAC,GAAEyL,OAAI,KAAK,eAAazL,IAAUA;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIA,IAAE,KAAK,SAAU,GAACE,IAAE;AAAG,aAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD;AAAI,MAAAG,KAC5fF,EAAED,GAAG,eAAgB;AAAC,WAAOG;AAAA,EAAC;AAAC;AAAC,SAAS0R,GAAG5R,GAAE;AAAC,SAAOA,aAAa2R;AAAE;AACrE,MAAMD,GAAE;AAAA,EAAC,YAAY1R,GAAEE,GAAEH,GAAE;AAAC,SAAK,SAAOC,GAAE,KAAK,QAAME,GAAE,KAAK,QAAM,IAAG,KAAK,SAAOH,GAAE,KAAK,eAAa,MAAKC,EAAE,aAAW,MAAKE,EAAE,aAAW;AAAA,EAAI;AAAA,EAAC,GAAGF,GAAE;AAAC,WAAOwJ,EAAExJ,CAAC,IAAE,KAAK,OAAO,GAAGA,EAAE,MAAM,KAAG,KAAK,MAAM,GAAGA,EAAE,KAAK,KAAG,KAAK,WAASA,EAAE,SAAO;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK,OAAO,GAAG,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,QAAIA,IAAE,KAAK;AAAa,QAAUA,MAAP;AAAS,aAAOA;AAAE,QAAIE,IAAE,KAAK,QAAOH,IAAE,KAAK;AAAM,IAAAC,IAAEE,EAAE,QAAS;AAAC,QAAIC,IAAEJ,EAAE;AAAUiK,WAAAA,EAAEhK,CAAC,MAAIE,IAAEF,EAAE,qBAAqBE,EAAE,MAAM,GAAEF,IAClfE,KADof,OAClfA,IAAEF,IAAGgK,EAAE7J,CAAC,MAAIJ,IAAEI,EAAE,qBAAqBJ,EAAE,MAAM,GAAEI,IAAQJ,KAAN,OAAQA,IAAEI,IAAGH,IAAEA,EAAE,GAAGG,CAAC,IAAE6J,EAAEhK,CAAC,KAAG,IAAEA,EAAE,gBAAe,IAAG,CAAA,IAAG,CAACA,CAAC,IAAEA,EAAE,gBAAgBG,CAAC,GAAEsL,OAAI,KAAK,eAAazL,IAAUA;AAAA,EAAC;AAAA,EAAC,iBAAiBA,GAAEE,GAAEH,GAAEI,GAAE;AAAC,IAAAqR,GAAG,KAAK,QAAOxR,EAAE,OAAME,GAAE,MAAM,GAAEsR,GAAG,KAAK,OAAMzR,EAAE,OAAMI,GAAE,MAAM,GAAE,KAAK,eAAa,MAAK,KAAK,QAAM;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,QAAIH,IAAE,KAAK,SAAQ;AAAG,QAAOA,EAAE,WAAN;AAAa,aAAM;AAAG,QAAIE,IAAEF,EAAE,IAAGD,IAAEC,EAAEA,EAAE,SAAO,IAAGG,IAAE,KAAK,OAAO,SAAS,KAAK,KAAK,GAAE,CAACC,GAAEb,CAAC,IAAEsS,GAAG,IAAI,GAAE5R,IAAE,IAAGI,IAAE;AAAG,aAAQZ,IAAE,GAAEA,IAAEO,EAAE,QAAOP,KAAI;AAAC,UAAIE,IAAEK,EAAEP;AAAG,UAAGuK,EAAErK,CAAC,KAAG,CAACA,EAAE,SAAU;AAAC,QAAAU,MACxfJ,KAAG;AAAA,IAAMI,IAAE,CAAAV,EAAE,QAAO;AAAA,eAAiBU,IAAE,IAAGiJ,EAAE3J,CAAC,GAAE;AAAC,YAAID,IAAEC,EAAE,eAAgB;AAAC,QAAAA,MAAIO,IAAER,IAAEC,MAAII,IAAEK,IAAEb,IAAEG,EAAE,MAAMU,GAAEb,CAAC,IAAEG,EAAE,MAAMH,GAAEa,CAAC,IAAED,IAAET,EAAE,MAAMU,CAAC,IAAEV,EAAE,MAAMH,CAAC,IAAEI,MAAII,MAAIL,IAAES,IAAET,EAAE,MAAM,GAAEH,CAAC,IAAEG,EAAE,MAAM,GAAEU,CAAC,IAAGH,KAAGP;AAAA,MAAC;AAAK,SAAC2J,GAAE1J,CAAC,KAAG,CAACmL,GAAGnL,CAAC,KAAGA,MAAII,KAAG,KAAK,YAAW,MAAKE,KAAGN,EAAE,eAAgB;AAAA,IAAC;AAAC,WAAOM;AAAA,EAAC;AAAA,EAAC,cAAcD,GAAE;AAAC,QAAIE,IAAEkL,GAAC,GAAGrL,IAAEG,EAAE,eAAgB,EAAC;AAA+E,QAApEF,IAAEiS,GAAGjS,EAAE,gBAAeA,EAAE,aAAYA,EAAE,cAAaA,EAAE,WAAUE,GAAEH,CAAC,GAAYC,MAAP,MAAS;AAAC,UAAI,CAACG,GAAEC,CAAC,IAAEJ;AAAE,MAAAwR,GAAG,KAAK,QAAOrR,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAEqR,GAAG,KAAK,OAAMpR,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAE,KAAK,eACjf;AAAA,IAAI;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,QAAIJ,IAAE,KAAK,QAAOE,IAAE,KAAK;AAAM,WAAO,IAAIwR,GAAG,IAAIP,GAAEnR,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAE,IAAImR,GAAEjR,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,aAAaF,GAAE;AAAC,SAAK,SAAO4K,GAAG,KAAK,QAAO5K,GAAE,IAAI,GAAE,KAAK,QAAM;AAAA,EAAE;AAAA,EAAC,UAAUA,GAAE;AAAC,YAAY,KAAK,SAAOoI,GAAGpI,QAApB;AAAA,EAAuB;AAAA,EAAC,cAAcA,GAAE;AAAC,QAAIE,IAAEF,EAAE,MAAM,OAAO;AAAE,QAAOE,EAAE,WAAN;AAAa,WAAK,WAAWF,CAAC;AAAA,SAAM;AAAC,MAAAA,IAAE,CAAA;AAAG,UAAID,IAAEG,EAAE;AAAO,eAAQC,IAAE,GAAEA,IAAEJ,GAAEI,KAAI;AAAC,YAAIC,IAAEF,EAAEC;AAAG,QAAKC,MAAL,MAAQJ,EAAE,KAAKoM,GAAEhM,CAAC,CAAC,GAAED,MAAIJ,IAAE,KAAGC,EAAE,KAAKkS,GAAE,CAAE;AAAA,MAAC;AAAC,WAAK,YAAYlS,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,WAAWA,GAAE;AAAC,QAAIE,IAAE,KAAK,QAAOH,IAAE,KAAK,OAAMI,IAAE,KAAK,YAAa,KACpfD,EAAE,SAASH,CAAC,GAAEK,IAAE,KAAK;AAAO,IAAAD,KAAeD,EAAE,SAAd,YAAmBoR,GAAGpR,GAAEH,GAAEK,CAAC,IAAED,KAAeJ,EAAE,SAAd,aAAoBuR,GAAGvR,GAAEG,GAAEE,CAAC;AAAE,QAAIb,IAAE,KAAK,SAAU,GAACU,IAAEV,EAAE,QAAOc,IAAEF,IAAEJ,IAAEG;AAAE,IAAAH,KAAGI,IAAED,IAAEH,GAAG;AAAO,QAAIN,IAAEY,EAAE;AAAO,IAAAH,IAAEX,EAAE,IAAG+J,EAAEpJ,CAAC,KAAGsH,EAAE,EAAE,GAAErH,IAAED,EAAE,eAAgB,EAAC;AAAO,QAAIP,IAAEO,EAAE,iBAAkB,GAACR,IAAEH,EAAEU,IAAE;AAAG,QAAG,KAAK,YAAW,KAAIF,MAAII,MAAID,EAAE,YAAW,KAAIA,EAAE,QAAO,KAAI,CAACA,EAAE,mBAAoB,KAAE,CAACP,EAAE,wBAA6BO,EAAE,qBAAT,OAA2B;AAAC,UAAIN,IAAEM,EAAE,eAAgB;AAC1Y,WAD8Y,CAACoJ,EAAE1J,CAAC,KAAG8K,GAAG9K,CAAC,OAAEA,IAAEwM,GAAC,GAAGxM,EAAE,UAAUQ,CAAC,GAAET,EAAE,mBAAkB,IAAGO,EAAE,YAAYN,CAAC,IAAED,EAAE,YAAYC,CAAC,IACzfA,EAAE,OAAO,GAAE,CAAC,GAAEM,IAAEN,GAAUI,MAAL,IAAO;AAAC,aAAK,WAAWA,CAAC;AAAE;AAAA,MAAM;AAAA,IAAC,WAAS,KAAK,YAAW,KAAQD,MAAJ,MAAQG,EAAE,YAAW,KAAIA,EAAE,aAAW,CAACA,EAAE,yBAAuB,CAACP,EAAE,yBAA8BO,EAAE,mBAAoB,MAA7B;AAAyK,UAAzIN,IAAEM,EAAE,mBAAoB,IAAI,CAACoJ,EAAE1J,CAAC,KAAG8K,GAAG9K,CAAC,OAAEA,IAAEwM,GAAG,GAACxM,EAAE,UAAUQ,CAAC,GAAET,EAAE,oBAAmB,IAAGO,EAAE,aAAaN,CAAC,IAAED,EAAE,aAAaC,CAAC,IAAEA,EAAE,UAASM,IAAEN,GAAUI,MAAL,IAAO;AAAC,aAAK,WAAWA,CAAC;AAAE;AAAA,MAAM;AAAA,eAAUE,EAAE,YAAW,KAAIH,MAAII;AAAE,MAAAR,IAAEyM,GAAElM,EAAE,gBAAgB,GAAEP,EAAE,UAAUS,CAAC,GAAEF,EAAE,QAAQP,CAAC,GAAEO,IAAEP;AAAA,aAAU,EAAE,KAAK,YAAa,KAChfK,MADkf,OAC9eJ,IAAEF,EAAE,UAAS,GAAGC,EAAE,oBAAqB,KAAEA,EAAE,yBAAuB,CAACqK,EAAEpK,CAAC,KAAGA,EAAE,oBAAqB,KAAEA,EAAE,yBAAwB;AAAC,WAAK,WAAW,EAAE,GAAEuS,GAAG,KAAK,QAAO,KAAK,OAAM,IAAI,GAAE,KAAK,WAAWnS,CAAC;AAAE;AAAA,IAAM;AAAC,QAAOC,MAAJ;AAAM,UAAGC,EAAE;AAAU,QAAAF,IAAEoM,GAAEpM,CAAC,GAAEA,EAAE,OAAM,GAAGE,EAAE,QAAQF,CAAC;AAAA,WAAM;AAAiB,YAAhBT,IAAEW,EAAE,UAAS,GAAMH,MAAIN,KAAGF,MAAIa;AAAE,cAAQF,EAAE,eAAc,MAArB;AAAwB,YAAAA,EAAE,UAAUE,CAAC;AAAA,eAAM;AAAC,YAAAb,IAAE6M,GAAEpM,CAAC,GAAET,EAAE,UAAUa,CAAC,GAAEb,EAAE,UAAaQ,MAAJ,IAAMG,EAAE,aAAaX,CAAC,KAAG,CAACU,CAAC,IAAEC,EAAE,UAAUH,CAAC,GAAEE,EAAE,YAAYV,CAAC,IAAGA,EAAE,YAAW,KAAa,KAAK,OAAO,SAArB,WAA4B,KAAK,OAAO,UAClfS,EAAE;AAAQ;AAAA,UAAM;AAAC,QAAAE,IAAEA,EAAE,WAAWH,GAAEN,IAAEM,GAAEC,GAAE,EAAE,GAAOE,EAAE,qBAAP,KAAwBA,EAAE,OAAQ,IAAU,KAAK,OAAO,SAArB,WAA4BA,EAAE,YAAa,IAAC,KAAK,OAAO,UAAQF,EAAE,SAAO,KAAK,SAAOT;AAAA,MAAE;AAAA,SAAK;AAAC,MAAAa,IAAE,oBAAI,IAAI,CAAC,GAAGF,EAAE,iBAAgB,GAAGR,EAAE,cAAe,CAAA,CAAC;AAAE,UAAII,IAAEkK,EAAE9J,CAAC,IAAEA,IAAEA,EAAE;AAAqD,UAAlCP,IAAEqK,EAAEtK,CAAC,IAAEA,IAAEA,EAAE,iBAAgB,GAAGE,IAAEF,GAAK,CAACI,EAAE,GAAGH,CAAC,KAAGA,EAAE,SAAU;AAAE;AAAG,UAAAC,IAAED,GAAEA,IAAEA,EAAE,iBAAkB;AAAA,eAAOA,EAAE;AAAY,MAASU,EAAE,SAAX,WAAsBZ,MAAJ,KAAYC,EAAE,eAAc,MAArB,OAAsCW,EAAE,SAAd,aAAoBX,EAAE,qBAAsB,IAACD,IAAE6J,EAAE5J,CAAC,KAAG,CAACA,EAAE,QAAS,KAAED,MAAIC,EAAE,mBAAoB,KACngBA,EAAE,YAAa,MAAGW,IAAE+L,GAAE1M,EAAE,eAAc,CAAE,GAAEA,EAAE,QAAQW,CAAC,GAAEX,IAAEW,IAAGX,IAAEA,EAAE,WAAW,GAAED,GAAE,EAAE,GAAEW,EAAE,IAAIV,EAAE,KAAK,MAAIW,IAAEX,EAAE,iBAAkB,GAACW,EAAE,WAAU,KAAQA,EAAE,gBAAe,MAArB,IAAwBX,EAAE,OAAQ,IAACW,EAAE,OAAM,KAAID,EAAE,IAAIV,EAAE,KAAK,GAAEW,IAAEV,EAAE,YAAW,GAAGF,IAAE,IAAI,IAAIF,CAAC,GAAEG,IAAEI,EAAE,GAAGH,CAAC,GAAEG,IAAEA,EAAE,SAAQ,KAAWI,EAAE,eAAc,MAAvB,OAA0BJ,IAAEI;AAAE,eAAQgJ,IAAE7I,EAAE,SAAO,GAAE,KAAG6I,GAAEA,KAAI;AAAC,YAAIC,IAAE9I,EAAE6I;AAAG,YAAGC,EAAE,GAAGjJ,CAAC,KAAG8J,EAAEb,CAAC,KAAGA,EAAE,WAAWjJ,CAAC;AAAE;AAAM,QAAAiJ,EAAE,WAAY,MAAG,CAAC1J,EAAE,IAAI0J,CAAC,KAAGA,EAAE,GAAGvJ,CAAC,IAAEF,KAAGI,EAAE,YAAYqJ,CAAC,IAAEA,EAAE,OAAQ;AAAA,MAAC;AAAC,UAAG,CAACzJ;AAAE,aAAIW,IAAEV,GAAEF,IAAE,MAAYY,MAAP;AAAW,UAAAX,IAAEW,EAAE,YAAW,GAAGV,IAAED,EAAE,SAC7eC,MADuf,KACpfD,EAAEC,IAAE,GAAG,GAAGF,CAAC,OAAEW,EAAE,OAAOC,EAAE,KAAK,GAAEZ,IAAEY,IAAEA,IAAEA,EAAE,UAAW;AAA0M,WAAzMH,EAAE,QAAO,IAAGH,MAAII,IAAED,EAAE,OAAM,KAAIF,IAAEoM,GAAEpM,CAAC,GAAEA,EAAE,OAAM,GAAGE,EAAE,QAAQF,CAAC,MAAIE,IAAEA,EAAE,WAAWH,GAAEI,IAAEJ,GAAEC,GAAE,EAAE,GAAOE,EAAE,eAAc,MAArB,KAAwBA,EAAE,OAAQ,IAACA,EAAE,YAAW,KAAa,KAAK,OAAO,SAArB,WAA4B,KAAK,OAAO,UAAQF,EAAE,UAAaA,IAAE,GAAEA,IAAEC,GAAED;AAAI,QAAAE,IAAEX,EAAES,IAAGI,EAAE,IAAIF,EAAE,KAAK,KAAGA,EAAE,OAAM;AAAA,IAAE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,SAAK,WAAW,EAAE;AAAA,EAAC;AAAA,EAAC,WAAWF,GAAE;AAAC,QAAG,KAAK,YAAa;AAAC,WAAK,aAAaA,CAAC,GAAEqL,GAAE,IAAI;AAAA,SAAM;AAAC,UAAInL,IAAE,KAAK,SAAU,GAACH,IAAE,CAAE;AAAC,eAAQI,KAAKD;AAAEoJ,QAAAA,EAAEnJ,CAAC,KAAGJ,EAAE,KAAKI,CAAC;AAAE,UAAIC,IAAEL,EAAE;AAAO,UAAOK,MAAJ;AAAM,aAAK,aAAaJ,CAAC,GAC9fqL,GAAE,IAAI;AAAA,WAAM;AAAC,QAAAlL,IAAE,KAAK;AAAO,YAAIZ,IAAE,KAAK,OAAMU,IAAE,KAAK,WAAU;AAAG,QAAAC,IAAED,IAAEV,IAAEY,GAAEA,IAAEF,IAAEE,IAAEZ;AAAE,YAAIc,IAAE,GAAEZ,IAAEM,EAAE;AAAiG,YAA9FR,IAAcW,EAAE,SAAd,YAAmB,IAAEA,EAAE,QAAgBA,EAAE,SAAX,UAAiBX,MAAIE,EAAE,mBAAkB,MAAKY,IAAE,GAAEZ,IAAEM,EAAE,IAAGR,IAAE,IAAYE,KAAN,MAAQ;AAAC,UAAAQ,IAAER,EAAE,eAAeO,GAAE,IAAI;AAAE,cAAIL,IAAES,IAAE,GAAEV,IAAEK,EAAEJ;AAAqD,cAAlDS,IAAWD,EAAE,SAAX,SAAgBA,EAAE,SAAOT,EAAE,mBAAoB,GAAID,EAAE,GAAGC,CAAC;AAAE,YAAAH,MAAIa,MAAQb,MAAJ,KAAOa,MAAIX,EAAE,mBAAkB,IAAGA,EAAE,UAAUQ,CAAC,KAAGD,IAAEP,EAAE,UAAUF,GAAEa,CAAC,GAAEJ,IAAMT,MAAJ,IAAMS,EAAE,KAAGA,EAAE,IAAGA,EAAE,UAAUC,CAAC,GAAWC,EAAE,SAAX,UAAiBA,EAAE,IAAIF,EAAE,OAAM,GAAE,MAAM,GAAWG,EAAE,SAAX,UAAiBA,EAAE,IAAIH,EAAE,OAAMI,IAAEb,GAAE,MAAM,IAClf,KAAK,SAAOU;AAAA,eAAO;AAAC,YAAIV,MAAJ,MAAQ,GAAEE,CAAC,IAAEA,EAAE,UAAUF,CAAC,GAAEA,IAAE,IAAGE,EAAE,UAAUQ,CAAC;AAAE,gBAAIL,IAAEF,EAAE,eAAeM,GAAEC,CAAC;AAAyE,iBAAvE,IAAEG,MAAIA,MAAIV,EAAE,mBAAkB,MAAK,CAACA,CAAC,IAAEA,EAAE,UAAUU,CAAC,IAAGV,EAAE,UAAUE,CAAC,IAAOS,KAAG,GAAEA,IAAEV,GAAEU,KAAI;AAAC,kBAAIP,IAAEC,EAAEM;AAAG,kBAAG,CAACP,EAAE,QAAS,GAAC;AAAC,oBAAIoJ,IAAEpJ,EAAE,eAAeE,GAAEJ,CAAC;AAAE,gBAAAE,EAAE,UAAUoJ,CAAC;AAAA,cAAC;AAAA,YAAC;AAAC,YAAShJ,EAAE,SAAX,UAAiBA,EAAE,IAAIT,EAAE,OAAMF,GAAE,MAAM,GAAWY,EAAE,SAAX,UAAiBA,EAAE,IAAIT,EAAE,OAAMU,GAAE,MAAM,GAAE,KAAK,SAAOH,IAAEL;AAAA,UAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,YAAYI,GAAEE,GAAE;AAAC,QAAG,CAAC,KAAK,eAAc;AAAC,UAAIH,IAAE,KAAK,WAAY,IAAC,KAAK,SAAO,KAAK,OAAMI,IAAEJ,EAAE,QAAS,EAAC,eAAc;AACvZ,UAD0ZI,IAAEA,IAAEA,EAAE,OAAM,IAAG,MAAKJ,KAAGA,IACrfA,EAAE,QAAS,EAAC,mBAAoB,KAAEA,EAAE,WAAS,MAAK,KAAK,WAAY,GAAI,KAAK,YAAa,KAAc,KAAK,MAAM,SAAvB,WAA4B;AAAC,YAAG,KAAK,MAAM,QAAMI,KAAO,KAAK,MAAM,WAAf,GAAsB;AAAC,cAAIC,IAAEgM,GAAG;AAAC,eAAK,MAAM,QAAO,EAAG,aAAahM,CAAC;AAAA,QAAC;AAAM,eAAK,MAAM,QAAML,KAAG,KAAK,MAAM,WAAS,KAAK,MAAM,QAAO,EAAG,gBAAiB,MAAGK,IAAEgM,MAAI,KAAK,MAAM,QAAS,EAAC,YAAYhM,CAAC;AAAG,QAAAA,MAAI,KAAK,MAAM,IAAIA,EAAE,OAAM,GAAE,MAAM,GAAE,KAAK,OAAO,IAAIA,EAAE,OAAM,GAAE,MAAM;AAAA,MAAE;AAAA,IAAC;AAAC,IAAAD,IAAE,KAAK,QAAOJ,IAAEI,EAAE;AAAO,QAAIZ,IAAEY,EAAE,QAAS;AAAC,IAAAC,IAAEb,GAAcY,EAAE,SAAd,cAAqBC,IAAED,EAAE,WAAUA,IAAEC,EAAE,gBAAgBL,IACrgB,CAAC,GAAEK,IAASD,MAAP,OAASC,IAAED,IAAGA,IAAE,CAAE;AAAC,QAAIF,IAAEV,EAAE,gBAAiB,GAACc,IAAE4M,GAAG1N,CAAC,IAAE,OAAKA,EAAE,0BAA2B;AAAC,QAAG+J,EAAE/J,CAAC;AAAE,UAAGa,IAAEb,EAAE,eAAgB,EAAC,QAAWQ,MAAJ,KAAWK,MAAJ;AAAM,QAAAA,IAAEb,EAAE,mBAAkB,GAAGa,IAASA,MAAP,OAASA,IAAEb,EAAE,iBAAkB,GAACY,EAAE,KAAKZ,CAAC;AAAA,eAAUQ,MAAIK;AAAE,QAAAA,IAAEb;AAAA,WAAM;AAAC,YAAGA,EAAE,QAAO;AAAG,iBAAM;AAAG,SAACa,GAAEb,CAAC,IAAEA,EAAE,UAAUQ,CAAC,GAAEI,EAAE,KAAKZ,CAAC;AAAA,MAAC;AAAC,IAAAA,IAAEa,GAAED,EAAE,KAAK,GAAGF,CAAC,GAAEA,IAAED,EAAE;AAAG,QAAIP,IAAE,IAAGE,IAAE;AAAK,aAAQuJ,IAAE,GAAEA,IAAElJ,EAAE,QAAOkJ,KAAI;AAAC,UAAIxJ,IAAEM,EAAEkJ;AAAG,UAAGc,EAAEtK,CAAC,KAAG,CAACA,EAAE,SAAU,GAAC;AAAC,YAAGA,EAAE,GAAGO,CAAC,GAAE;AAAC,cAAG+J,EAAE5J,CAAC,KAAGA,EAAE,QAAO,KAAIA,EAAE,eAAeV,CAAC,GAAE;AAAC,YAAAU,EAAE,QAAQV,CAAC,GAAEU,IAAEV,GAAED,IAAE;AAAG;AAAA,UAAQ;AAAC,cAAIG,IAAEF,EAAE,mBAAkB;AAC3f,cAAGmL,GAAGjL,CAAC,GAAE;AAAC,iBAAIA,IAAEA,EAAE,iBAAkB,GAACA,EAAE,SAAQ;AAAI,cAAAA,IAAEA,EAAE,iBAAkB;AAA8B,gBAA7BD,IAAEC,EAAE,YAAW,GAAGH,IAAEE,EAAE,QAAUqK,EAAE5J,CAAC;AAAE,uBAAQN,IAAE,GAAEA,IAAEL,GAAEK;AAAI,gBAAAM,EAAE,OAAOT,EAAEG,EAAE;AAAA,iBAAM;AAAC,mBAAIA,IAAEL,IAAE,GAAE,KAAGK,GAAEA;AAAI,gBAAAM,EAAE,YAAYT,EAAEG,EAAE;AAAE,cAAAM,IAAEA,EAAE,iBAAkB;AAAA,YAAA;AAA0B,gBAAzBT,IAAEA,EAAEF,IAAE,IAAGG,EAAE,OAAQ,GAACH,IAAE,IAAMG,EAAE,GAAGF,CAAC;AAAE;AAAA,UAAQ;AAAA,QAAC;AAAC4J,QAAAA,EAAElJ,CAAC,MAAWC,MAAP,QAAUmH,EAAE,EAAE,GAAEpH,IAAEC;AAAA,MAAE;AAAM,QAAAZ,KAAG,CAAC4J,GAAE3J,CAAC,KAAGuN,GAAG7M,EAAE,UAAW,CAAA,KAAGoH,EAAE,EAAE;AAAE,MAAA/H,IAAE,IAAMuK,EAAE5J,CAAC,KAAG,CAACA,EAAE,SAAQ,KAAMT,IAAED,GAAE2J,GAAE3J,CAAC,KAAG,CAACA,EAAE,SAAU,IAACU,IAAEA,EAAE,YAAYV,CAAC,IAAUsK,EAAEtK,CAAC,KAAMA,EAAE,WAAY,KAAE,CAACA,EAAE,QAAS,OAACkN,GAAExM,CAAC,KAAGR,IAAEQ,EAAE,gBAAgBL,CAAC,GAASH,MAAP,OAASA,EAAE,aAAaF,CAAC,IACrfU,EAAE,OAAOV,CAAC,GAAEU,IAAEV,KAAGU,IAAEA,EAAE,YAAYV,CAAC,MAAOE,IAAEQ,EAAE,cAAe,GAAQR,MAAP,OAASA,EAAE,aAAaF,CAAC,IAAEU,EAAE,OAAOV,CAAC,GAAEU,IAAEV,MAAM,CAACsK,EAAEtK,CAAC,KAAGsK,EAAEtK,CAAC,KAAGA,EAAE,SAAU,KAAE2J,GAAEjJ,CAAC,KAAG,CAACA,EAAE,SAAU,KAAET,IAAED,GAAEU,IAAEA,EAAE,YAAYV,CAAC,MAAIA,IAAEU,EAAE,iBAAgB,GAAG0K,GAAG1K,CAAC,KAAGA,EAAE,OAAQ,GAACA,IAAEV,GAAEwJ;AAAA,IAAI;AAA+H,QAA9HhJ,MAAIoJ,EAAE/J,CAAC,IAAEA,EAAE,OAAQ,KAAES,IAAEI,EAAE,mBAAoB,GAACkJ,EAAEtJ,CAAC,IAAEA,EAAE,OAAQ,KAAEA,IAAEI,EAAE,qBAAsB,GAACA,EAAE,iBAAkB,EAAC,OAAOJ,GAAEA,CAAC,MAAQgK,EAAE5J,CAAC;AAAG,UAAGJ,IAAEsJ,EAAE3J,CAAC,IAAEA,IAAEqK,EAAErK,CAAC,KAAGA,EAAE,SAAQ,IAAGA,EAAE,kBAAmB,IAACS,EAAE,kBAAiB,GAAGF,MAAWF,MAAP,OAASI,EAAE,OAAM,IAAGkJ,EAAEtJ,CAAC,IAAEA,EAAE,OAAQ,IAACA,EAAE,WAAU,IAC7eG,EAAE,WAD+e;AACxe,aAAID,IAAEE,GAAEJ,IAAEG,EAAE,SAAO,GAAE,KAAGH,GAAEA;AAAI,UAAAD,IAAEI,EAAEH,IAAGK,IAAEN,EAAE,iBAAkB,GAAC,CAACiK,EAAE5J,CAAC,KAAGgS,GAAGrS,CAAC,KAAGsJ,GAAEtJ,CAAC,KAAG,CAACA,EAAE,SAAQ,IAAGiK,EAAE5J,CAAC,KAAGgS,GAAGrS,CAAC,IAAEiK,EAAEjK,CAAC,KAAG,CAACA,EAAE,eAAeK,CAAC,KAAGb,IAAEc,EAAE,YAAY,MAAMA,CAAC,GAAE2J,EAAEzK,CAAC,KAAGiI,EAAE,EAAE,GAAEjI,EAAE,OAAOQ,CAAC,GAAEK,EAAE,YAAYb,CAAC,KAAGa,EAAE,YAAYL,CAAC,KAAGK,EAAE,aAAaL,CAAC,GAAEK,IAAEL,MAAIG,MAAIE,IAAEA,EAAE,OAAOL,CAAC,IAAEK,EAAE,aAAaL,CAAC,GAAEK,IAAEL,IAAGM,EAAE,QAAO,KAAI,CAACA,EAAE,WAAY,KAAEA,EAAE,OAAM;AAAA;AAAQ,MAAAH,MAAIoJ,EAAElJ,CAAC,IAAEA,EAAE,OAAM,KAAIF,IAAEE,EAAE,oBAAmBJ,IAAEI,EAAE,qBAAsB,IAAC,GAAEF,EAAE,OAAOF,GAAEA,CAAC;AAAI,WAAM;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,SAAK,YAAa,KAAE,KAAK,WAAU;AAAG,QAAIA,IAAE,KAAK,QACxfE,IAAEF,EAAE,QAAOD,IAAE,CAAE;AAAC,QAAYC,EAAE,SAAX,QAAgB;AAAC,UAAIG,IAAEH,EAAE,QAAS,GAAKI,IAAED,EAAE,gBAAe,EAAG,QAAO,GAAOZ,IAAEY,EAAE,iBAAkB,GAAKF,IAAEV,EAAE,SAAQ,GAAGc,IAAEJ,IAAEV,EAAE,uBAAqBY,EAAE,mBAAoB;AAAC,MAAID,MAAJ,IAAME,EAAE,KAAKD,CAAC,KAAGF,MAAIF,IAAER,EAAE,gBAAe,IAAIW,MAAIG,KAAGJ,KAAGC,MAAIC,EAAE,mBAAkB,MAAK,CAAA,EAAEA,CAAC,IAAEA,EAAE,UAAUD,CAAC,GAAEE,EAAE,KAAKD,CAAC;AAAA,IAAG,OAAK;AAAe,UAAdZ,IAAES,EAAE,QAAO,GAAMiN,GAAG1N,CAAC,GAAE;AAAC,QAAAa,IAAEmR,GAAE,GAAGxR,IAAER,EAAE,gBAAgBW,CAAC,GAAEE,EAAE,OAAM,GAAUL,MAAP,OAASA,EAAE,aAAaK,CAAC,IAAEb,EAAE,OAAOa,CAAC;AAAE;AAAA,MAAM;AAAC,MAAAA,IAAEb,EAAE,YAAa,EAAC,MAAMW,CAAC,EAAE,QAAO;AAAA,IAAE;AAAY,QAAXC,IAAEC,EAAE,QAAcF,MAAJ,KAAO,IAAEC,KAAGZ,EAAE,SAAU;AAAE,UAAGQ,IAAER,EAAE,iBAAkB,GACvgBa,IAAEL,EAAE,eAAe,IAAI,GAAEiK,EAAE5J,CAAC;AAAE,aAAIL,IAAEA,EAAE,YAAa,GAACR,IAAE,GAAEA,IAAEQ,EAAE,QAAOR;AAAI,UAAAa,EAAE,OAAOL,EAAER,EAAE;AAAA,eAAUU,IAAEV,EAAE,eAAe,IAAI,GAASU,MAAP;AAAS,WAAK,gBAAe;AAAA,aAAW+J,EAAE/J,CAAC;AAAE,UAAGI,IAAEd,EAAE,cAAe,GAAKW,MAAJ,MAAQX,EAAE,GAAGS,EAAE,QAAO,CAAE,KAAGK,KAAGA,EAAE,GAAGL,EAAE,QAAS,CAAA,MAAI,IAAEG;AAAE,QAAAZ,EAAE,aAAaU,CAAC;AAAA,WAAM;AAA0C,YAAzCV,IAAE,MAAKW,IAAEH,EAAE,QAAOC,IAAEC,EAAE,iBAAgB,GAAM,IAAEC;AAAE,eAAIG,IAAE,GAAEA,IAAEH,GAAEG;AAAI,YAAAL,EAAE,OAAOD,EAAEM,EAAE;AAAE,YAAOF,MAAJ;AAAM,eAAIJ,IAAE,GAAEA,IAAEI,GAAEJ;AAAI,YAAAG,IAAEE,EAAEL,IAAUR,MAAP,OAASU,EAAE,OAAOC,CAAC,IAAEX,EAAE,aAAaW,CAAC,GAAEX,IAAEW;AAAE,QAAAD,EAAE,WAAU,KAAQA,EAAE,gBAAe,MAArB,IAAwBA,EAAE,YAAa,KAAEA,EAAE,eAAc,GAAGA,EAAE,OAAQ;AAAA,MAAC;AAAA,EAAC;AAAA,EAAC,gBAAgBD,GAAE;AAAC,QAAIE,IAClhBgS,GAAE;AAAG,QAAInS,IAAE,KAAK;AAAO,IAAYA,EAAE,SAAd,cAAqBA,IAAEA,EAAE,QAAO,GAAG6M,GAAE7M,CAAC,KAAG,KAAK,gBAAiB,IAAEC,IAAE,KAAK,YAAY,CAACE,CAAC,GAAE,EAAE,IAAE,KAAK,YAAY,CAACA,CAAC,CAAC,KAAGA,EAAE,WAAW,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAO2R,GAAG,IAAI;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,QAAI7R,IAAE,KAAK,SAAU,GAACE,IAAEF,EAAE,QAAOD,IAAEG,IAAE,GAAEC,IAAE,KAAK;AAAO,QAAIC,IAAE,KAAK;AAAM,QAAIb,IAAES,EAAE;AAAG,QAAIC,IAAED,EAAED,IAAG,CAACM,GAAEZ,CAAC,IAAEoS,GAAG,IAAI;AAAE,WAAO3R,MAAJ,IAAY,CAAA,IAAUA,MAAJ,IAAaoJ,EAAE/J,CAAC,KAAG,CAAC,KAAK,YAAW,KAAIS,IAAEK,IAAEZ,IAAEA,IAAEY,GAAEN,IAAER,EAAE,UAAUS,GAAEK,IAAEZ,IAAEY,IAAEZ,CAAC,GAAEO,IAAMA,MAAJ,IAAMD,EAAE,KAAGA,EAAE,IAASC,KAAN,OAAQ,CAACA,CAAC,IAAE,CAAA,KAAI,CAACT,CAAC,KAAEW,IAAEC,EAAE,SAASC,CAAC,GAAEkJ,EAAE/J,CAAC,MAAIY,IAAED,IAAEG,IAAEZ,GAAEU,MAAIZ,EAAE,mBAAoB,IACtfS,EAAE,MAAK,IAAOG,MAAJ,MAAQ,CAAA,EAAEZ,CAAC,IAAEA,EAAE,UAAUY,CAAC,GAAEH,EAAE,KAAGT,KAAI+J,EAAErJ,CAAC,MAAIV,IAAEU,EAAE,eAAc,EAAG,QAAOC,IAAEA,IAAET,IAAEY,GAAMH,MAAJ,IAAMF,EAAE,IAAK,IAACE,MAAIX,MAAI,CAACU,CAAC,IAAEA,EAAE,UAAUC,CAAC,GAAEF,EAAED,KAAGE,KAAWD;AAAA,EAAC;AAAA,EAAC,OAAOA,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK,OAAMC,IAAE,KAAK,QAAOb,IAAWS,MAAT,QAAWC,IAAEyM,GAAGvM,GAAED,CAAC;AAAE,QAAGmJ,GAAEpJ,CAAC,KAAG,CAACA,EAAE,WAAU;AAAG,MAAAV,KAAGU,EAAE,qBAAsB,KAAEC,IAAEmS,GAAE,GAAGnS,EAAE,IAAID,EAAE,KAAK,GAAEgK,GAAG/J,CAAC,MAAIF,IAAEE,IAAED,EAAE,mBAAoB,IAACA,EAAE,eAAc,GAAGqJ,EAAEtJ,CAAC,KAAGC,IAAED,EAAE,OAAME,IAAEA,IAAEF,EAAE,eAAc,EAAG,SAAO,GAAEG,EAAE,IAAIF,GAAEC,GAAE,MAAM,GAAEX,KAAGa,EAAE,IAAIH,GAAEC,GAAE,MAAM,MAAIH,IAAEE,EAAE,iBAAkB,GAAC+J,EAAEhK,CAAC,KAAGD,IAAEC,EAAE,OAAMC,IAAEC,IAAEF,EAAE,gBAAiB,IAAC,MAClfC,IAAEA,EAAE,qBAAsB,GAACF,IAAEA,EAAE,OAAMG,KAAGD,MAAKE,EAAE,IAAIJ,GAAEE,GAAE,SAAS,GAAEV,KAAGa,EAAE,IAAIL,GAAEE,GAAE,SAAS;AAAA,cAAYE,IAAEsH,KAAE,OAAO,aAAc,IAAC,UAAQtH,EAAE,OAAOH,GAAEE,IAAE,aAAW,WAAUH,CAAC,GAAE,IAAEI,EAAE,eAAaC,IAAED,EAAE,WAAW,CAAC,GAAEF,IAAE+M,GAAG,KAAK,OAAO,QAAS,CAAA,GAAE,KAAK,cAAc5M,CAAC,GAAE,KAAK,QAAM,IAAG,CAACb,KAAG;AAAC,MAAAA,IAAE,KAAK,SAAU,GAACS,IAAE,CAAE,GAACD,IAAE;AAAG,eAAQM,IAAE,GAAEA,IAAEd,EAAE,QAAOc,KAAI;AAAC,YAAIZ,IAAEF,EAAEc;AAAG,QAAA0M,GAAGtN,GAAEQ,CAAC,IAAED,EAAE,KAAKP,CAAC,IAAEM,IAAE;AAAA,MAAE;AAAC,MAAAA,KAAG,IAAEC,EAAE,WAASE,KAAGA,IAAEF,EAAE,IAAGgK,EAAE9J,CAAC,IAAEA,EAAE,YAAW,IAAGA,EAAE,iBAAkB,EAAC,YAAW,MAAKA,IAAEF,EAAEA,EAAE,SAAO,IAAGgK,EAAE9J,CAAC,IAAEA,EAAE,UAAS,IAAGA,EAAE,iBAAkB,EAAC,UAAS,MAChgBC,EAAE,eAAaC,EAAE,kBAAgBD,EAAE,iBAAeC,EAAE,iBAAYF,IAAE,KAAK,OAAMX,IAAE,KAAK,QAAOY,IAAEZ,EAAE,KAAIa,IAAEb,EAAE,QAAOU,IAAEV,EAAE,MAAKiS,GAAGjS,GAAEW,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAEsR,GAAGtR,GAAEC,GAAEC,GAAEH,CAAC,GAAE,KAAK,eAAa;AAAA,IAAI;AAAA,EAAC;AAAA,EAAC,gBAAgBD,GAAE;AAAC,QAAG,KAAK,YAAa,GAAC;AAAC,UAAIE,IAAE,KAAK,QAAOH,IAAE,KAAK,OAAMI,IAAED,EAAE,QAAO;AAAG,UAAG,CAACF,MAAgBE,EAAE,SAAd,aAAoB8J,EAAE7J,CAAC,KAAGD,EAAE,WAASC,EAAE,gBAAe,KAAaD,EAAE,SAAX,UAAiBA,EAAE,WAASC,EAAE,mBAAkB,OAAMA,IAAEA,EAAE,eAAgB,KAAEA,EAAE,mBAAmB,kBAAiB6J,EAAE7J,CAAC,KAAG,CAACA,EAAE,mBAAkB;AAAI;AACrd,UAD4d,KAAK;AAAA,QAAO;AAAA,QACvfH;AAAA,QAAE;AAAA,MAAW,GAAM,KAAK,YAAa;AACiD,YAAGA,KAAOE,EAAE,WAAN,MAA2BA,EAAE,SAAd,YAAmBA,EAAE,QAAO,IAAGA,EAAE,QAAS,EAAC,iBAAkB,GAAE,gBAAgB,IAAI;AAAE;AAAA,aAD1J;AAAC,YAAIE,IAAWL,EAAE,SAAX,SAAgBA,EAAE,QAAS,IAAC;AAAwC,YAAnCI,IAAWD,EAAE,SAAX,SAAgBA,EAAE,QAAS,IAAC,MAAeE,MAAP,QAAUA,EAAE,YAAW;AAAI,cAAGF,IAAEH,EAAE,QAAOA,IAAEK,EAAE,mBAAkB,GAAGA,EAAE,GAAGD,CAAC,KAAGH,KAAGE,MAAIH,KAAG,CAACC,KAAOE,MAAJ,GAAM;AAAC,YAAAoS,GAAGlS,GAAEJ,GAAEE,CAAC;AAAE;AAAA,UAAM;AAAA,mBAAiBC,MAAP,QAAUA,EAAE,YAAa,MAAGD,IAAEA,EAAE,QAAOH,IAAEI,EAAE,mBAAoB,GAACA,EAAE,GAAGC,CAAC,KAAGJ,KAAOE,MAAJ,KAAO,CAACF,KAAGE,MAAIH,IAAG;AAAC,UAAAuS,GAAGnS,GAAEH,GAAEE,CAAC;AAAE;AAAA,QAAM;AAAwD,YAAvDC,IAAE,KAAK,QAAOC,IAAE,KAAK,OAAMF,IAAEC,EAAE,QAAO,GAAGJ,IAAEK,EAAE,QAAO,GAAMF,MAAIH,KAAYI,EAAE,SAAX,UAA0BC,EAAE,SAAX,QAAgB;AAAC,cAAIb,IAAEY,EAAE,QAAOF,IAAEG,EAAE;AAAO,cAAIC,IAAEd,IAAEU;AAAE,UAAAF,IAAEM,IAAEd,IAAEU,GAAEA,IAAEI,IAAEJ,IAAEV,GACnfA,IAAEU,IAAE,GAAEF,MAAIR,MAAIW,IAAEA,EAAE,iBAAiB,MAAMH,GAAEE,CAAC,GAAE8L,GAAG7L,CAAC,MAAIF,IAAEI,EAAE,SAAOb,IAAEY,EAAE,SAAOZ;AAAA,QAAG;AAAA,MAAC;AAAA,IAAsH;AAAC,SAAK,WAAY;AAAA,EAAA;AAAA,EAAC,WAAWS,GAAE;AAAC,SAAK,kBAAyB,KAAK,OAAO,SAArB,UAA2B,KAAK,OAAO,UAASA,GAAE,cAAc,IAAOA,IAAE,KAAK,QAAM,KAAK,QAAQ,WAA/B,KAAuC,KAAK,OAAO,UAASA,GAAE,WAAW,IAAG,KAAK,WAAU;AAAA,EAAE;AAAA,EAAC,WAAWA,GAAE;AAAC,SAAK,YAAa,KAAE,KAAK,OAAO,UAASA,GAAE,MAAM,GAAE,KAAK,WAAU;AAAA,EAAE;AAAC;AAC/e,SAAS6Q,GAAG7Q,GAAE;AAAC,SAAOA,aAAayR;AAAE;AAAC,SAASc,GAAGvS,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAO,SAAYA,EAAE,SAAX,SAAuBE,KAAEF,IAAEA,EAAE,QAAO,GAAUE,MAAIF,EAAE,gBAAe,IAAGA,EAAE,eAAgB,EAAC,SAAO;AAAC;AAAC,SAAS6R,GAAG7R,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAO,SAAAA,IAAEA,EAAE,OAAwBE,EAAE,SAAd,aAAgCF,EAAE,SAAd,aAAoBE,EAAE,QAAMF,EAAE,OAAKE,EAAE,WAASF,EAAE,SAAO,CAAC,GAAE,CAAC,IAAE,CAACuS,GAAGrS,CAAC,GAAEqS,GAAGvS,CAAC,CAAC;AAAC;AACrT,SAASsS,GAAGtS,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,eAAc,EAAG,MAAM,SAAS,GAAEI,IAAED,EAAE,QAAOZ,IAAE,GAAEU,IAAE;AAAE,WAAQI,IAAE,GAAEA,IAAED,GAAEC,KAAI;AAAC,QAAIZ,IAAEU,EAAEE,IAAGV,IAAEU,MAAID,IAAE;AAAkB,QAAhBH,IAAEV,GAAEA,KAAGE,EAAE,QAAUS,KAAGX,MAAIQ,KAAGR,IAAEQ,KAAGJ,GAAE;AAAC,MAAAQ,EAAE,OAAOE,GAAE,CAAC,GAAEV,MAAIM,IAAE;AAAQ;AAAA,IAAK;AAAA,EAAC;AAAC,EAAAC,IAAEC,EAAE,KAAK,EAAE,EAAE,KAAM,GAAMD,MAAL,KAAOF,EAAE,OAAM,KAAIA,EAAE,eAAeE,CAAC,GAAEF,EAAE,OAAOC,GAAEA,CAAC;AAAE;AAC3Q,SAASuS,GAAGxS,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAED;AAAE,MAAOF,EAAE,aAAN,GAAe;AAAC,QAAIC,IAAE;AAAG,QAAIG,IAAEJ,EAAE,YAAeT,IAAEa,EAAE;AAAsC,QAA/BD,MAAIZ,MAAIU,IAAE,IAAGE,IAAEZ,IAAE,IAAGa,IAAE0L,GAAG1L,EAAED,EAAE,GAAKmJ,EAAElJ,CAAC;AAAE,MAAAD,IAAEF,IAAEG,EAAE,mBAAkB,IAAG;AAAA,SAAM;AAAS,UAARb,IAAEuM,GAAG9L,CAAC,GAAYT,MAAP;AAAS,eAAO;AACvI,UAD+IyK,EAAEzK,CAAC,KAAGS,IAAET,EAAE,gBAAgBY,CAAC,IAAKD,IAAE8J,EAAEhK,CAAC,OAAEE,IAAEF,EAAE,UAAW,GAACE,IAASH,MAAP,QAAiBG,MAAP,QAAU,CAACA,EAAE,WAAU,KAAIA,MAAIH,EAAE,QAAO,IAAGG,MAAIH,IAAEE,IAAED,EAAE,kBAAiB,IAAGA,EAAE,mBAAoB,GAAQD,MAAP,QAAUR,IAAES,GAAEG,IAAE,MAAIH,IAAED,GAAER,IAAES,EAAE,sBAAqBsJ,EAAEtJ,CAAC,KAAGI,IAAEJ,GAAET,IAAE,MAAKY,IAAEF,IAAED,EAAE,mBAAoB,IAAC,KAAGA,MAAIT,KAAGU,KAAGE,QAASA,IAAEZ,EAAE,qBAAsB,GACrfY,IAAMD,MAAJ,KAAOmJ,GAAE9J,CAAC,KAAGuM,GAAG9L,CAAC,MAAIT,IAAEY,IAAEA,IAAE,GAAEZ,IAAEA,EAAE,iBAAkB,IAAIyK,EAAEzK,CAAC;AAAE,eAAO,IAAI4R,GAAE5R,EAAE,OAAMY,GAAE,SAAS;AAAA,IAAC;AAAA,EAAC;AAAM,IAAAC,IAAE0L,GAAG9L,CAAC;AAAE,SAAOsJ,EAAElJ,CAAC,IAAE,IAAI+Q,GAAE/Q,EAAE,OAAMD,GAAE,MAAM,IAAE;AAAI;AACtJ,SAASsS,GAAGzS,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,QAAOI,IAAEJ,EAAE,QAAS;AAAC,EAAIG,MAAJ,KAAOA,IAAEC,EAAE,mBAAkB,GAAGA,IAAEA,EAAE,UAAS,GAAGF,KAAIH,KAAG,CAACG,MAAWC,MAAP,QAAU6J,EAAE5J,CAAC,KAAGA,EAAE,SAAQ,MAAKF,IAAEE,EAAE,mBAAkB,GAAGkJ,EAAEpJ,CAAC,MAAIF,EAAE,MAAIE,EAAE,OAAMF,EAAE,SAAOE,EAAE,eAAgB,EAAC,WAAS8J,EAAE7J,CAAC,KAAG,CAACJ,KAAGI,EAAE,SAAU,KAAEH,EAAE,MAAIG,EAAE,OAAMH,EAAE,SAAOG,EAAE,gBAAiB,GAACH,EAAE,OAAK,aAAWsJ,EAAEnJ,CAAC,MAAIH,EAAE,MAAIG,EAAE,OAAMH,EAAE,SAAOG,EAAE,eAAc,EAAG,WAAQA,MAAIC,EAAE,eAAc,EAAG,WAASD,IAAEC,EAAE,eAAgB,GAACA,IAAEA,EAAE,UAAW,GAACF,KAAG8J,EAAE7J,CAAC,KAAGA,EAAE,SAAU,KAAEH,EAAE,MAAIG,EAAE,OAAMH,EAAE,SAAO,GAAEA,EAAE,OAAK,cAAYD,KACpfG,MAAWC,MAAP,QAAU6J,EAAE5J,CAAC,KAAGA,EAAE,SAAQ,KAAI,CAACA,EAAE,mBAAkB,MAAKF,IAAEE,EAAE,eAAc,GAAGkJ,EAAEpJ,CAAC,MAAIF,EAAE,MAAIE,EAAE,OAAMF,EAAE,SAAO;AAAI;AAAC,SAASmS,GAAGnS,GAAEE,GAAEH,GAAE;AAAC,MAAYC,EAAE,SAAX,UAA0BE,EAAE,SAAX,QAAgB;AAAC,QAAIC,IAAEH,EAAE,SAASE,CAAC;AAAE,QAAIE,IAAEJ,EAAE,GAAGE,CAAC;AAAE,IAAAuS,GAAGzS,GAAEG,GAAEC,CAAC,GAAEqS,GAAGvS,GAAE,CAACC,GAAEC,CAAC,GAAEA,MAAIF,EAAE,MAAIF,EAAE,KAAIE,EAAE,SAAOF,EAAE,QAAOE,EAAE,OAAKF,EAAE,OAAMG,IAAEiL,GAAC,GAAGjL,EAAE,YAAW,KAAIA,EAAE,oBAAkBH,EAAE,OAAKwJ,EAAEzJ,CAAC,MAAII,IAAEJ,EAAE,QAAOA,IAAEA,EAAE,OAAMyR,GAAGxR,GAAEG,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAEqR,GAAGtR,GAAEH,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI;AAAA,EAAE;AAAC;AAC3Z,SAASkS,GAAGjS,GAAEE,GAAEH,GAAEI,GAAEC,GAAEb,GAAE;AAAgI,SAArHS,MAAP,QAAiBD,MAAP,QAAU,CAACyK,GAAGpK,GAAEJ,GAAED,CAAC,MAAcG,IAAEsS,GAAGxS,GAAEE,GAAEsJ,EAAEjK,CAAC,IAAEA,EAAE,SAAO,IAAI,GAAYW,MAAP,UAAqBC,IAAEqS,GAAGzS,GAAEI,GAAEqJ,EAAEjK,CAAC,IAAEA,EAAE,QAAM,IAAI,GAAYY,MAAP,QAAsBD,EAAE,SAAd,aAAgCC,EAAE,SAAd,cAAqBH,IAAE8L,GAAG9L,CAAC,GAAED,IAAE+L,GAAG/L,CAAC,GAAEsJ,GAAErJ,CAAC,KAAGqJ,GAAEtJ,CAAC,MAAU,QAAKoS,GAAGjS,GAAEC,GAAEZ,CAAC,GAAQ,CAACW,GAAEC,CAAC;AAAC;AAAC,SAASiS,GAAGpS,GAAE;AAAC,SAAOgK,EAAEhK,CAAC,KAAG,CAACA,EAAE,SAAU;AAAA;AAAC,SAAS0S,GAAG1S,GAAEE,GAAEH,GAAEI,GAAEC,GAAEb,GAAE;AAAC,MAAIU,IAAEkL,GAAC;AAAG,SAAAnL,IAAE,IAAI0R,GAAG,IAAIP,GAAEnR,GAAEE,GAAEE,CAAC,GAAE,IAAI+Q,GAAEpR,GAAEI,GAAEZ,CAAC,GAAE,CAAC,GAAES,EAAE,QAAM,IAAUC,EAAE,aAAWD;AAAC;AAAC,SAASqS,KAAI;AAAC,SAAO,IAAIZ,GAAG,oBAAI,KAAG;AAAC;AACpc,SAASkB,GAAG3S,GAAE;AAAC,MAAIE,IAAEF,EAAE,iBAAiB,YAAWD,IAAE0H,KAAE,OAAO,aAAY,IAAG;AAAK,SAAOoJ,GAAG3Q,CAAC,KAAG0R,GAAG1R,CAAC,IAAEA,EAAE,MAAK,IAAG+Q,GAAG/Q,GAAEH,GAAEC,CAAC;AAAC;AACzH,SAASiR,GAAGjR,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEJ,EAAE;AAAQ,MAAUI,MAAP;AAAS,WAAO;AAAK,MAAIC,IAAED,EAAE,OAAMZ,IAAEa,IAAEA,EAAE,OAAK;AAAO,EAAAD,IAAsBZ,MAApB,mBAAsBa,IAAE,CAACsI,OAAKvI,KAAmBZ,MAAhB,iBAAwCA,MAArB,sBAA2CA,MAAnB,oBAAgCA,MAAV,WAAaa,KAAOA,EAAE,WAAN,KAAuBb,MAAT,UAAqBA,MAAT;AAAY,MAAIU;AAAE,MAAG,CAACuJ,EAAExJ,CAAC,KAAGI,GAAE;AAAC,QAAUF,MAAP;AAAS,aAAO;AAAmE,QAA9DE,IAAEF,EAAE,YAAWX,IAAEW,EAAE,WAAUD,IAAEC,EAAE,cAAaA,IAAEA,EAAE,aAAeC,KAAGqJ,EAAExJ,CAAC,KAAG,CAACwK,GAAGzK,GAAEK,GAAEb,CAAC;AAAE,aAAOS,EAAE,MAAK;AAAA,EAAE;AAAM,WAAOA,EAAE,MAAK;AAAqB,MAAlBD,IAAEkS,GAAG7R,GAAEH,GAAEV,GAAEW,GAAEH,GAAEC,CAAC,GAAYD,MAAP;AAAS,WAAO;AAAK,MAAI,CAACM,GAAEZ,CAAC,IAAEM;AAAE,SAAO,IAAI2R,GAAGrR,GAAEZ,GAAE+J,EAAExJ,CAAC,IAAEA,EAAE,SAAO,CAAC;AAAC;AACpf,SAAS+I,IAAG;AAAC,SAAOoC,GAAG,EAAC;AAAU;AAAC,SAASgB,KAAI;AAAC,SAAOf,GAAC,EAAG,aAAa;AAAU;AACnF,SAASwH,GAAG5S,GAAEE,GAAEH,GAAEI,IAAE,GAAE;AAAC,MAAIC,IAAEJ,EAAE,QAAOT,IAAES,EAAE,OAAMC,IAAEG,EAAE,QAAS,GAACC,IAAEd,EAAE,QAAO;AAAG,MAAGW,EAAE,GAAGD,CAAC,KAAGC,EAAE,GAAGG,CAAC;AAAE,QAAGJ,IAAEC,EAAE,OAAMF,EAAE,YAAW;AAAG,MAAAE,IAAEE,EAAE,QAAOL,KAAGG,MAAIH,IAAE,KAAK,IAAI,GAAEG,IAAEC,CAAC,GAAEC,EAAE,IAAIH,GAAEF,GAAE,SAAS,GAAER,EAAE,IAAIU,GAAEF,GAAE,SAAS,GAAE8S,GAAG7S,CAAC;AAAA,SAAO;AAAC,UAAIP,IAAEO,EAAE,WAAU;AAAG,MAAAK,IAAEZ,IAAEF,IAAEa;AAAE,UAAIT,IAAEU,EAAE,QAAS;AAAC,MAAAD,IAAEX,IAAEW,IAAEb,GAAEA,IAAEa,EAAE,QAAS,GAACF,EAAE,GAAGP,CAAC,MAAIA,IAAEU,EAAE,QAAON,KAAGJ,KAAGU,EAAE,IAAIJ,GAAE,KAAK,IAAI,GAAEN,IAAEQ,CAAC,GAAE,SAAS,IAAGD,EAAE,GAAGX,CAAC,MAAIW,IAAEE,EAAE,QAAOL,KAAGG,KAAGE,EAAE,IAAIH,GAAE,KAAK,IAAI,GAAEC,IAAEC,CAAC,GAAE,SAAS,IAAG0S,GAAG7S,CAAC;AAAA,IAAC;AAAC;AACha,SAAS6S,GAAG7S,GAAE;AAAC,MAAIE,IAAEF,EAAE,QAAOD,IAAEG,EAAE;AAAO,MAAIC,IAAEH,EAAE;AAAM,MAAII,IAAED,EAAE,QAAOZ,IAAEW,EAAE,QAAS,GAACD,IAAEE,EAAE,QAAS;AAAC,MAAGH,EAAE,YAAa;AAACgK,IAAAA,EAAEzK,CAAC,MAAIU,IAAEV,EAAE,gBAAe,GAAGU,KAAGG,IAAEL,KAAGE,KAAGV,EAAE,gBAAgBU,IAAE,CAAC,IAAEV,EAAE,gBAAgBQ,CAAC,GAAEuJ,EAAErJ,CAAC,MAAIF,IAAE,GAAEK,MAAIL,IAAEE,EAAE,mBAAkB,IAAIC,EAAE,IAAID,EAAE,OAAMF,GAAE,MAAM,GAAEI,EAAE,IAAIF,EAAE,OAAMF,GAAE,MAAM;AAAA,OAAQ;AAAC,QAAGiK,EAAEzK,CAAC,GAAE;AAAC,UAAIc,IAAEd,EAAE,gBAAiB;AAAC,MAAAQ,KAAGC,IAAED,KAAGM,KAAGd,EAAE,gBAAgBc,IAAE,CAAC,IAAEd,EAAE,gBAAgBQ,CAAC,GAAEuJ,EAAEvJ,CAAC,MAAIR,IAAE,GAAES,MAAIT,IAAEQ,EAAE,mBAAoB,IAAEG,EAAE,IAAIH,EAAE,OAAMR,GAAE,MAAM;AAAA,IAAE;AAACyK,IAAAA,EAAE/J,CAAC,MAAIF,IAAEE,EAAE,gBAAiB,GAACG,KAAGF,IAAEE,KAAGL,KAAGE,EAAE,gBAAgBF,IAC/f,CAAC,IAAEE,EAAE,gBAAgBG,CAAC,GAAEkJ,EAAElJ,CAAC,MAAIH,IAAE,GAAEC,MAAID,IAAEG,EAAE,mBAAoB,IAAED,EAAE,IAAIC,EAAE,OAAMH,GAAE,MAAM;AAAA,EAAG;AAAC;AAAC,SAAS6S,GAAG9S,GAAEE,GAAE;AAAgD,MAA/CA,IAAEA,EAAE,eAAc,EAAG,YAAWF,IAAEA,EAAE,YAAcwJ,EAAExJ,CAAC,GAAE;AAAC,QAAID,IAAEC,EAAE;AAAO,QAAIG,IAAEH,EAAE,OAAMI;AAAE,IAASL,EAAE,SAAX,WAAkBK,IAAEL,EAAE,QAAS,GAACK,EAAE,mBAAmBF,GAAEF,CAAC,IAAYG,EAAE,SAAX,WAAkBJ,IAAEI,EAAE,QAAS,GAACC,MAAIL,KAAGA,EAAE,mBAAmBG,GAAEF,CAAC;AAAA,EAAE;AAAC;AACjU,SAAS+S,GAAG/S,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,MAAIb,IAAE,MAAKU,IAAE,GAAEI,IAAE;AAAK,EAAOF,MAAP,QAAUZ,IAAEY,EAAE,OAAMmJ,EAAEnJ,CAAC,KAAGF,IAAEE,EAAE,mBAAkB,GAAGE,IAAE,UAAQ2J,EAAE7J,CAAC,MAAIF,IAAEE,EAAE,gBAAiB,GAACE,IAAE,cAAmBD,MAAP,SAAWb,IAAEa,EAAE,OAAMkJ,EAAElJ,CAAC,IAAEC,IAAE,SAAO2J,EAAE5J,CAAC,MAAIC,IAAE,aAAmBd,MAAP,QAAiBc,MAAP,OAASL,EAAE,IAAIT,GAAEU,GAAEI,CAAC,KAAGJ,IAAEC,EAAE,qBAAoB,GAAQD,MAAL,OAASA,IAAEF,EAAE,gBAAe,IAAIC,EAAE,IAAID,EAAE,OAAME,GAAE,SAAS;AAAE;AAAC,SAAS+S,GAAGhT,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,EAASJ,EAAE,SAAX,UAAiBA,EAAE,MAAID,GAAEG,MAAIF,EAAE,UAAQI,MAAIJ,EAAE,SAAOG,EAAE,qBAAsB,KAAE,EAAEH,EAAE;AAAM;AAAC,IAAIiT,KAAE,MAAKC,KAAE,MAAKzH,KAAE,IAAG0H,KAAG,IAAGjI,KAAG;AAAE,SAASI,KAAG;AAACG,EAAAA,MAAGjE,EAAE,EAAE;AAAC;AAC5e,SAAS2D,KAAG;AAAC,SAAO8H,OAAP,QAAUzL,EAAE,EAAE,GAASyL;AAAC;AAAC,SAAS7H,KAAG;AAAC,SAAO8H,OAAP,QAAU1L,EAAE,EAAE,GAAS0L;AAAC;AAAC,SAASE,GAAGpT,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAED,EAAE;AAAO,MAAIE,IAAEJ,EAAE,OAAO,IAAIG,CAAC;AAA8F,OAAnFC,MAAT,UAAYoH,EAAE,EAAE,GAAExH,IAAED,EAAE,IAAII,CAAC,GAAWH,MAAT,WAAaA,IAAE,MAAM,KAAKI,EAAE,UAAU,GAAEL,EAAE,IAAII,GAAEH,CAAC,IAAGD,IAAEC,EAAE,QAAWG,IAAE,GAAEA,IAAEJ,MAAIC,EAAEG,GAAGD,CAAC,GAAEA,EAAE,WAAY,IAAEC;AAAI;AAAC;AAAC,SAASkT,GAAGrT,GAAEE,GAAE;AAAC,EAAAA,IAAEA,EAAE,cAAaF,IAAEA,EAAE;AAAS,WAAQD,KAAKG;AAAE,IAAAA,IAAEF,EAAE,IAAID,CAAC,GAAEuJ,EAAEpJ,CAAC,KAAGA,EAAE,WAAY,KAAEA,EAAE,aAAY,KAAI,CAACA,EAAE,cAAa,KAAIoN,GAAGpN,CAAC;AAAC;AACtZ,SAASoT,GAAGtT,GAAEE,GAAE;AAAC,MAAIH,IAAEG,EAAE,cAAaC,IAAED,EAAE;AAAe,EAAAF,IAAEA,EAAE;AAAS,MAAII,IAAEoL,GAAE,GAAGjM,IAAE,oBAAI;AAAI,MAAIU,IAAEF;AAAE,MAAIM,IAAEJ,EAAE;AAAK,WAAQR,IAAEU,GAAER,IAAEF,EAAE,MAAK,IAAEY,KAAG,IAAEV,KAAG;AAAC,QAAG,IAAEU,GAAE;AAAC,MAAAH,EAAE,eAAa,oBAAI;AAAI,eAAQR,KAAKO;AAAE,QAAAA,IAAED,EAAE,IAAIN,CAAC,GAAE4J,EAAErJ,CAAC,KAAGA,EAAE,WAAY,KAAEA,EAAE,aAAY,KAAI,CAACA,EAAE,cAAa,KAAIqN,GAAGrN,CAAC,GAAWA,MAAT,UAAqBA,MAAT,UAAYA,EAAE,UAAQG,KAAGH,EAAE,WAAU,KAAImT,GAAGlT,GAAED,GAAEV,CAAC,GAAEQ,EAAE,IAAIL,CAAC;AAA4B,UAA1BO,IAAEC,EAAE,cAAaG,IAAEJ,EAAE,MAAQ,IAAEI,GAAE;AAAC,QAAA6K;AAAK;AAAA,MAAQ;AAAA,IAAC;AAAC,IAAAhL,EAAE,eAAa,oBAAI,OAAIA,EAAE,iBAAe,oBAAI;AAAI,aAAQR,KAAKD;AAAE,MAAGA,IAAEC,EAAE,IAAGC,IAAED,EAAE,KAAYD,MAAT,UAAYE,OAAEM,IAAED,EAAE,IAAIP,CAAC,GAC3eQ,MAD6e,UACjeA,MAAT,UAAYA,EAAE,UAAQG,KAAGH,EAAE,WAAY,KAAEmT,GAAGlT,GAAED,GAAEV,CAAC,GAAEY,EAAE,IAAIV,GAAEE,CAAC;AAAE,IAAAM,IAAEC,EAAE,cAAaG,IAAEJ,EAAE,MAAKR,IAAES,EAAE,gBAAeP,IAAEF,EAAE,MAAKyL;AAAA,EAAI;AAAC,EAAAhL,EAAE,eAAaH,GAAEG,EAAE,iBAAeC;AAAC;AAAC,SAASoT,GAAGvT,GAAEE,GAAE;AAAC,MAAIH,IAAEG,EAAE,IAAIF,EAAE,IAAI;AAAyF,MAA9ED,MAAT,UAAYyH,EAAE,EAAE,GAAEzH,IAAEA,EAAE,OAAMC,EAAE,SAAOD,EAAE,QAAO,KAAIyH,EAAE,EAAE,GAAEzH,IAAEA,EAAE,WAAWC,CAAC,GAAEA,IAAEA,EAAE,UAAYgK,EAAEjK,CAAC,KAAG,MAAM,QAAQC,CAAC;AAAE,aAAQG,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,UAAIC,IAAEmT,GAAGvT,EAAEG,IAAGD,CAAC;AAAE,MAAAH,EAAE,OAAOK,CAAC;AAAA,IAAC;AAAC,SAAOL;AAAC;AAAC,SAASyT,GAAGxT,GAAEE,GAAE;AAAC,MAAIH,IAAEkT,IAAE9S,IAAEsL,IAAErL,IAAE8S;AAAED,EAAAA,KAAEjT,GAAEyL,KAAE,IAAGyH,KAAE;AAAK,MAAG;AAAC,WAAOhT,EAAG;AAAA,EAAA,UAAC;AAAQ+S,IAAAA,KAAElT,GAAE0L,KAAEtL,GAAE+S,KAAE9S;AAAA,EAAC;AAAC;AAC5c,SAASqT,GAAGzT,GAAE;AAAC,MAAIE,IAAEF,EAAE,qBAAoBD,IAAEC,EAAE,cAAaG,IAAEH,EAAE;AAAU,OAAWD,MAAP,QAAUI,MAAWD,MAAP,MAAS;AAAC,QAAIE,IAAEJ,EAAE,cAAaT,IAAEa,EAAE,YAAWH,IAAEC,EAAE,YAAWG,IAAML,EAAE,eAAN,GAAiBP,IAAEwT,IAAEtT,IAAE8L,IAAE/L,IAAEwT,IAAEtT,IAAEI,EAAE,WAAUF,IAAEE,EAAE,WAAUkJ,IAAE;AAAiD,QAA5ClJ,EAAE,sBAAoB,MAAKA,EAAE,eAAaE,GAAK,CAACC,KAAGE,KAAUP,MAAP,MAAS;AAACoT,MAAAA,KAAElT,GAAEiT,KAAE/S,GAAEuL,KAAE,IAAGzL,EAAE,YAAU;AAAG,UAAG;AAAC,YAAImJ,IAAEnJ,EAAE,YAAWuJ,IAAEvJ,EAAE,gBAAeyJ,IAAEzJ,EAAE;AAAa,QAAAF,EAAE,WAAU,GAAG4N,KAAEC,KAAEF,KAAE,IAAGM,KAAO5E,MAAJ,GAAM+E,KAAG,MAAKL,KAAE7N,GAAE4N,KAAG5N,EAAE,SAAQ8N,KAAG9N,EAAE,QAAOiO,KAAGJ,GAAE,WAAW,UAASM,KAAG5E,GAAE6E,KAAG3E,GAAE4E,KAAGjO,EAAE,UAASkO,KAAGpO,EAAE,UAC9e8N,KAAG9N,EAAE,WAAUqO,KAAG,IAAI,IAAIvO,EAAE,YAAY;AAAE,YAAI2J,IAAE,oBAAI;AAAI,QAAA6E,KAAG7E,GAAE0F,GAAG,QAAO,IAAI,GAAEb,KAAGD,KAAGX,KAAGU,KAAGD,KAAGD,KAAGD,KAAGL,KAAGD,KAAE,QAAO3E,IAAES;AAAA,MAAC,SAAO+J,GAAN;AAA2C,YAAlCA,aAAa,SAAO1T,EAAE,SAAS0T,CAAC,GAAKP;AAAG,gBAAMO;AAAE,QAAAC,GAAG3T,GAAE,MAAKD,GAAEG,CAAC,GAAEkK,GAAGpK,CAAC,GAAEA,EAAE,aAAW,GAAEmT,KAAG,IAAGM,GAAGzT,CAAC,GAAEmT,KAAG;AAAG;AAAA,MAAM,UAAC;AAAQ,QAAArT,EAAE,QAAQC,GAAE,EAAC,eAAc,IAAG,WAAU,IAAG,SAAQ,GAAE,CAAC,GAAEC,EAAE,YAAUJ,GAAEqT,KAAExT,GAAEgM,KAAE9L,GAAEuT,KAAExT;AAAA,MAAC;AAAA,IAAC;AAAC,IAAAQ,EAAE,cAAYA,EAAE,YAAU,KAAIN,IAAEI,EAAE,cAAaF,IAAEE,EAAE,gBAAe2J,IAAE3J,EAAE,kBAAiBmJ,IAAEnJ,EAAE,aAAYL,IAAEK,EAAE,WAAUK,MAAIL,EAAE,aAAW,GAAEA,EAAE,gBAAgB,MAAK,GAAGA,EAAE,eAAa,oBAAI,OACxfA,EAAE,iBAAe,oBAAI,OAAIA,EAAE,mBAAiB,oBAAI,OAAIA,EAAE,cAAY,oBAAI,QAAKyJ,IAAEzJ,EAAE,aAAYuJ,IAAEvJ,EAAE,sBAAoByJ;AAAE,QAAII,IAAE3J,EAAE;AAAS,SAAI0T,MAAMrK;AAAE,MAAAM,EAAE,IAAI+J,EAAE,MAAIrK,MAAIE,MAAIF,IAAEmC,GAAG1L,CAAC,IAAG,OAAOuJ,EAAEqK;AAA2C,QAAtCzT,IAAEA,IAAE,OAAKsH,KAAE,OAAO,aAAY,IAAG,MAAQzH,EAAE,aAAkBG,MAAP,SAAWE,KAAUJ,MAAP,QAAUA,EAAE,QAAO;AAACiT,MAAAA,KAAElT,GAAEiT,KAAE/S;AAAE,UAAG;AAAC,QAAAF,GAAE;AAAC,cAAI0T,IAAEvT,EAAE,YAAW0T,KAAG1T,EAAE,WAAU2T,KAAG3T,EAAE,cAAa4T,KAAG5T,EAAE,aAAY6T,KAAG,SAAS;AAAc,cAAG,CAAC7K,EAAE,IAAI,eAAe,KAAG6K,OAAKjU;AAAE,gBAAGyJ,EAAEvJ,CAAC,GAAE;AAAC,kBAAI6J,IAAE7J,EAAE,QAAO8J,IAAG9J,EAAE,OAAMgU,IAAGnK,EAAE,KAAIoK,IAAGnK,EAAG,KAAIoK,IAAGtH,GAAG7M,GAAEiU,CAAE,GAAEG,IAAGvH,GAAG7M,GAAEkU,CAAE,GAAEG,IACpfvK,EAAE,QAAOwK,IAAGvK,EAAG,QAAOwK,IAAGtU,EAAE,QAAOuU,IAAGvU,EAAE,YAAa;AAAC,cAAAI,IAAE8T,GAAGD,IAAGE;AAAG,kBAAIR,KAAG;AAA6F,kBAAjF9J,EAAE,SAAX,WAAkBzJ,IAAEsK,GAAGwJ,CAAE,GAAEP,KAAG9J,EAAE,UAAU,UAAW,MAAGyK,IAAaxK,EAAG,SAAZ,WAAmBmK,IAAGvJ,GAAGyJ,CAAE,IAAa/T,MAAP,QAAiB6T,MAAP,MAAU;AAAC,oBAAGM,MAAYjV,MAAP,QAAUqU,MAAIpK,EAAEjK,CAAC,KAAGA,EAAE,WAASgV,IAAI;AAAC,sBAAIE,IAAG,YAAY,IAAG;AAAG,kBAAAnE,KAAG,CAACiE,GAAGF,GAAGJ,GAAGQ,CAAE;AAAA,gBAAC;AAAC,oBAAGX,OAAKO,KAAIN,OAAKO,KAAIZ,MAAIrT,KAAGwT,OAAKK,MAAe/T,EAAE,SAAZ,WAAkB,CAACqU,OAAazU,MAAP,QAAiBiU,OAAP,QAAWjU,EAAE,SAASiU,EAAE,KAAGjU,EAAE,MAAM,EAAC,eAAc,GAAE,CAAC,GAAE,CAACgI,MAAI,CAACD,MAAgBgC,EAAE,SAAd;AAAoB,wBAAM9J;AAAE,oBAAG;AAAgC,sBAA/BG,EAAE,iBAAiBE,GAAEgU,GAAGH,GAAGI,CAAE,GAAK,CAACnL,EAAE,IAAI,uBAAuB,KAC5flJ,EAAE,YAAW,KAAWF,MAAP,QAAUA,MAAIiU,IAAG;AAAC,wBAAIU,KAAG5K,EAAE,QAAS;AAAC,wBAAGE,EAAE0K,EAAE,GAAE;AAAC,0BAAIC,KAAGD,GAAG,qBAAqB5K,EAAE,MAAM;AAAE,sBAAO6K,OAAP,SAAYD,KAAGC;AAAA,oBAAG;AAAC,wBAAIC,KAAG5U,EAAE,gBAAgB0U,GAAG,KAAK;AAAE,wBAAUE,OAAP,MAAU;AAAC,0BAAID,KAAGC,GAAG,sBAAuB;AAAC,0BAAGD,GAAG,SAAOtK,GAAGrK,CAAC,EAAE;AAAY,wBAAA4U,GAAG,eAAe,EAAE;AAAA,+BAAU,IAAED,GAAG;AAAI,wBAAAC,GAAG,eAAgB;AAAA,2BAAK;AAAC,4BAAIC,KAAG9U,EAAE,sBAAqB;AAAG,6BAAK,MAAM4U,GAAG,MAAM,IAAE,KAAK,MAAME,GAAG,MAAM,IAAED,GAAG,eAAe,EAAE,IAAE,KAAK,MAAMD,GAAG,GAAG,IAAE,KAAK,MAAME,GAAG,GAAG,KAAGD,GAAG;sBAAgB;AAAC,sBAAAzL,EAAE,IAAI,kBAAkB;AAAA,oBAAC;AAAA,kBAAC;AAAC,kBAAA+G,KAAG;AAAA,gBAAE,QAAC;AAAA;cAAW;AAAA,YAAC;AAAM,cAC/f3Q,MAD+f,QAC5fiL,GAAGxK,GAAE0T,GAAEG,EAAE,KAAG1T,EAAE,gBAAiB;AAAA,QAAA;AAAA,MAAC,UAAC;AAAQ+S,QAAAA,KAAExT,GAAEuT,KAAExT;AAAA,MAAC;AAAA,IAAC;AAAC,QAAUyJ,MAAP;AAAS,WAAInJ,IAAEmJ,GAAE3J,IAAE,MAAM,KAAKS,EAAE,WAAW,QAAQ,GAAEC,IAAEV,EAAE,QAAOE,IAAE,GAAEA,IAAEQ,GAAER,KAAI;AAAC,YAAI,CAACiU,GAAEG,EAAE,IAAEtU,EAAEE;AAAG,QAAAC,IAAEK,EAAE,IAAI8T,EAAE,GAAWnU,MAAT,UAAYgU,EAAEhU,GAAE,EAAC,aAAYE,GAAE,YAAWuJ,EAAC,CAAC;AAAA,MAAC;AAA+Q,QAA9QpJ,IAAEC,EAAE,oBAA0BD,MAAP,SAAWC,EAAE,cAAYD,GAAEC,EAAE,qBAAmB,MAAK8U,GAAG,aAAY9U,GAAE,IAAGD,CAAC,IAAGA,IAAE4L,GAAGvL,CAAC,GAAEb,IAAEoM,GAAGzL,CAAC,GAAEH,MAAIR,KAAGuV,GAAG,eAAc9U,GAAE,IAAGT,CAAC,GAAEuV,GAAG,UAAS9U,GAAE,IAAG,EAAC,eAAcF,GAAE,aAAYF,GAAE,aAAYM,GAAE,iBAAgByJ,GAAE,iBAAgBvJ,GAAE,MAAK+I,EAAC,CAAC,GAAEnJ,EAAE,YAAU,CAAE,GAAQL,EAAE,WAAN,GAAa;AAAC,MAAAO,IAAEF,EAAE,WAClfA,EAAE,YAAU;AAAG,UAAG;AAAC,aAAII,IAAE,GAAEA,IAAET,EAAE,QAAOS;AAAI,UAAAT,EAAES,GAAI;AAAA,MAAA,UAAC;AAAQ,QAAAJ,EAAE,YAAUE;AAAA,MAAC;AAAA,IAAC;AAAc,QAAbA,IAAEF,EAAE,UAAgBE,EAAE,WAAN,MAAeA,IAAEA,EAAE,UAAS;AAAC,UAAI,CAACwT,GAAEG,EAAE,IAAE3T;AAAE,MAAA6U,GAAG/U,GAAE0T,GAAEG,EAAE;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,SAASiB,GAAG9U,GAAEE,GAAEH,MAAKI,GAAE;AAAC,MAAIC,IAAEF,EAAE;AAAU,EAAAA,EAAE,YAAUH;AAAE,MAAG;AAAC,QAAIR,IAAE,MAAM,KAAKW,EAAE,WAAWF,EAAE;AAAE,SAAIA,IAAE,GAAEA,IAAET,EAAE,QAAOS;AAAI,MAAAT,EAAES,GAAG,MAAM,MAAKG,CAAC;AAAA,EAAC,UAAC;AAAQ,IAAAD,EAAE,YAAUE;AAAA,EAAC;AAAC;AAC7S,SAASqQ,EAAEzQ,GAAEE,GAAEH,GAAE;AAAC,MAAQC,EAAE,cAAP,MAAkBkT,OAAIlT,GAAE;AAAC,QAAIT,IAAE;AAAG,WAAAS,EAAE,OAAO,MAAI;AAAC,MAAAT,IAAEkR,EAAEzQ,GAAEE,GAAEH,CAAC;AAAA,IAAC,CAAC,GAASR;AAAA,EAAC;AAAC,MAAIY,IAAE6L,GAAGhM,CAAC;AAAE,WAAQT,IAAE,GAAE,KAAGA,GAAEA;AAAI,aAAQU,IAAE,GAAEA,IAAEE,EAAE,QAAOF,KAAI;AAAC,UAAIG,IAAED,EAAEF,GAAG,UAAU,IAAIC,CAAC;AAAE,UAAYE,MAAT,WAAaA,IAAEA,EAAEb,IAAYa,MAAT,SAAY;AAAC,QAAAA,IAAE,MAAM,KAAKA,CAAC;AAAE,YAAIC,IAAED,EAAE;AAAO,iBAAQX,IAAE,GAAEA,IAAEY,GAAEZ;AAAI,cAAQW,EAAEX,GAAGM,GAAEC,CAAC,MAAb;AAAe,mBAAM;AAAA,MAAE;AAAA,IAAC;AAAC,SAAM;AAAE;AAC/S,SAASgV,GAAGhV,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAS,OAAIE,IAAEA,KAAG,IAAOH,EAAE,WAAN,KAAc;AAAC,QAAII,IAAEJ,EAAE,MAAK;AAAG,QAAGI,GAAE;AAAC,UAAI,CAACC,GAAEb,CAAC,IAAEY,GAAEF;AAAE,MAASV,MAAT,WAAaY,IAAEZ,EAAE,UAASU,IAAEV,EAAE,KAAIA,EAAE,mBAAiBW,IAAE,KAAIC,KAAGH,EAAE,UAAU,KAAKG,CAAC,GAAEF,KAAGD,EAAE,YAAY,IAAIC,CAAC,IAAGG;IAAG;AAAA,EAAC;AAAC,SAAOF;AAAC;AACzN,SAAS6U,GAAG/U,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE;AAAY,MAAII,GAAEb,IAAEa,IAAE;AAAG,MAAYL,MAAT,QAAW;AAAC,QAAIE,IAAEF,EAAE;AAAS,IAAAK,IAAEL,EAAE,KAAUK,KAAN,QAASD,EAAE,IAAIC,CAAC,GAAEA,IAAEL,EAAE,kBAAgB,IAAGR,IAAEQ,EAAE,YAAU;AAAA,EAAE;AAAC,EAAAE,KAAGD,EAAE,UAAU,KAAKC,CAAC,GAAEF,IAAEC,EAAE,cAAaC,IAAED,EAAE;AAAoB,MAAIK,IAAE;AAAG,GAAUJ,MAAP,QAAUA,EAAE,eAAUA,IAAED,EAAE,sBAAoB,IAAIiV,GAAG,IAAI,IAAIlV,EAAE,QAAQ,CAAC,GAAEM,IAAE,KAAGJ,EAAE,aAAWV,GAAEA,IAAE0T;AAAE,MAAIxT,IAAEgM,IAAE9L,IAAEuT,IAAExT,IAAEM,EAAE;AAAUiT,EAAAA,KAAEhT,GAAEwL,KAAE,IAAGzL,EAAE,YAAU,IAAGkT,KAAElT;AAAE,MAAG;AAAC,IAAAK,MAAIL,EAAE,YAAgBD,EAAE,cAAR,SAAqBE,EAAE,aAAWF,EAAE,WAAW,MAAO,KAAEE,EAAE,aAAW0S,GAAG3S,CAAC;AAAG,QAAIJ,IAAEI,EAAE;AAAgB,IAAAE,EAAC,GACnfE,IAAE4U,GAAGhV,GAAEI,CAAC,GAAE0S,GAAG7S,GAAED,CAAC,GAAMA,EAAE,eAAN,MAAmBI,IAAEiT,GAAGpT,GAAED,CAAC,IAAEsT,GAAGrT,GAAED,CAAC,GAAEgV,GAAGhV,CAAC,GAAEmN,GAAGpN,GAAEE,GAAED,EAAE,cAAaA,EAAE,cAAc,IAAGJ,MAAII,EAAE,oBAAkBC,EAAE,aAAW;AAAI,QAAIH,IAAEG,EAAE;AAAW,QAAGuJ,EAAE1J,CAAC,GAAE;AAAC,UAAIoJ,IAAEjJ,EAAE,UAASkJ,IAAErJ,EAAE,MAAM;AAAI,MAASoJ,EAAE,IAAIpJ,EAAE,OAAO,GAAG,MAA3B,UAAuCoJ,EAAE,IAAIC,CAAC,MAAhB,UAAmB3B,EAAE,EAAE;AAAA,IAAC;AAAM,MAAAqJ,GAAG/Q,CAAC,KAAOA,EAAE,OAAO,SAAb,MAAoBG,EAAE,aAAW;AAAA,EAAK,SAAOL,GAAN;AAAS,IAAAA,aAAa,SAAOI,EAAE,SAASJ,CAAC,GAAEI,EAAE,sBAAoBD,GAAEC,EAAE,aAAW,GAAEA,EAAE,gBAAgB,MAAK,GAAGA,EAAE,eAAa,oBAAI,OAAIA,EAAE,eAAe,MAAK,GAAGyT,GAAGzT,CAAC;AAAE;AAAA,EAAM,UAAC;AAAQiT,IAAAA,KAAE1T,GAAEkM,KAAEhM,GAAEyT,KAAEvT,GAAEK,EAAE,YACnfN,GAAEwL,KAAG;AAAA,EAAC;AAAC,EAAIlL,EAAE,eAAN,KAAkBkV,GAAGjV,GAAED,CAAC,IAAEC,EAAE,cAAYA,EAAE,aAAW,IAAGwT,GAAGzT,CAAC,KAAGK,KAAGkK,GAAG,MAAI;AAAC,IAAAkJ,GAAGzT,CAAC;AAAA,EAAC,CAAC,KAAGC,EAAE,aAAW,IAAGI,MAAIF,EAAE,MAAK,GAAGH,EAAE,YAAU,CAAE,GAACA,EAAE,sBAAoB;AAAM;AAAC,SAASiJ,GAAEjJ,GAAEE,GAAEH,GAAE;AAAC,EAAAC,EAAE,YAAUA,EAAE,SAAS,KAAK,CAACE,GAAEH,CAAC,CAAC,IAAEgV,GAAG/U,GAAEE,GAAEH,CAAC;AAAC;AAClO,SAASoV,GAAGnV,GAAEE,GAAEH,GAAE;AAACuL,EAAAA,GAAC;AAAG,MAAInL,IAAEH,EAAE;AAAM,MAAII,IAAEJ,EAAE,UAAW;AAAC,MAAUI,MAAP,MAAS;AAAC,QAAIb,IAAEuN,GAAG9M,CAAC,GAAEC,IAAE;AAAG,QAAGuJ,EAAEjK,CAAC,KAAGW,GAAE;AAAC,UAAIG,IAAEd,EAAE;AAAO,UAAIE,IAAEF,EAAE;AAAM,MAAAc,EAAE,QAAMF,MAAI4S,GAAG1S,GAAEL,GAAEI,GAAEJ,EAAE,mBAAkB,GAAGA,EAAE,gBAAgB,GAAEC,IAAE,KAAIR,EAAE,QAAMU,MAAI4S,GAAGtT,GAAEO,GAAEI,GAAEJ,EAAE,mBAAkB,GAAGA,EAAE,gBAAgB,GAAEC,IAAE;AAAA,IAAG;AAAC,IAAAI,IAAED,EAAE,YAAW,EAAG,YAAWD,IAAEE,EAAE,QAAQF,CAAC,GAAOA,MAAL,MAAQqH,EAAE,EAAE,GAAEwD,GAAGhL,CAAC,GAAEK,EAAE,OAAOF,GAAE,CAAC,GAAEH,EAAE,YAAa,EAAC,WAAS,MAAKwJ,EAAEjK,CAAC,KAAGW,KAAG,CAACD,KAAG2S,GAAGrT,GAAEa,GAAED,GAAE,EAAE,GAAEJ,KAAGkN,GAAG7M,CAAC,KAAGA,EAAE,WAAU,KAAI,CAACA,EAAE,QAAS,KAAE+U,GAAG/U,GAAEF,CAAC,GAAE0M,GAAExM,CAAC,KAAGA,EAAE,QAAO,KAAIA,EAAE,UAAW;AAAA,EAAA;AAAC;AACne,SAASgV,GAAGpV,GAAE;AAAC,SAAAA,IAAEuL,EAAEvL,CAAC,GAASA,MAAP,QAAUwH,EAAE,EAAE,GAASxH;AAAC;AAC9C,MAAMqV,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC7N,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,OAAO,QAAO;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,YAAYxH,GAAE;AAA2D,QAA1D,KAAK,SAAO,KAAK,YAAY,QAAO,GAAG,KAAK,WAAS,MAAcA,KAAN;AAAQ,WAAK,QAAMA;AAAA,SAAM;AAACsL,MAAAA,GAAC,GAAG,KAAGJ,MAAI1D,EAAE,EAAE,GAAExH,IAAEoL,GAAC;AAAG,UAAIlL,IAAEiL,GAAG,GAACpL,IAAE,KAAGuK;AAAK,MAAApK,EAAE,SAAS,IAAIH,GAAE,IAAI,GAAEiK,EAAE,IAAI,IAAEhK,EAAE,eAAe,IAAID,GAAE,EAAE,IAAEC,EAAE,aAAa,IAAID,CAAC,GAAEC,EAAE,gBAAgB,IAAID,CAAC,GAAEC,EAAE,aAAW,GAAE,KAAK,QAAMD;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,KAAK;AAAA,EAAM;AAAA,EAAC,aAAY;AAAC,aAAQC,IAAE,KAAK,OAAaA,MAAP,QAAU;AAAC,UAAYA,MAAT;AAAW,eAAM;AAAU,UAAPA,IAAEuL,EAAEvL,CAAC,GAAYA,MAAP;AAAS;AAAM,MAAAA,IAAEA,EAAE;AAAA,IAAQ;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,QAAIA,IAAE+I,EAAC;AAAG,QACnf/I,KADsf;AACpf,aAAM;AAAG,QAAIE,IAAEF,EAAE,WAAW,KAAK,CAAAD,MAAGA,EAAE,UAAQ,KAAK,KAAK;AAAE,WAAOuJ,EAAE,IAAI,IAAEpJ,IAAEsJ,EAAExJ,CAAC,KAAeA,EAAE,OAAO,SAArB,aAAuCA,EAAE,MAAM,SAApB,aAA0BA,EAAE,OAAO,QAAMA,EAAE,MAAM,OAAKA,EAAE,OAAO,WAASA,EAAE,MAAM,SAAO,KAAGE;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAK;AAAA,EAAC,uBAAsB;AAAC,QAAIF,IAAE,KAAK,UAAW;AAAC,WAAcA,MAAP,OAAS,KAAGA,EAAE,WAAW,QAAQ,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIA,IAAE,KAAK,UAAS,EAAG;AAAS,WAAcA,MAAP,OAAS,OAAKuL,EAAEvL,CAAC;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,QAAIA,IAAE,KAAK,UAAW;AAAC,WAAOA,MAAP,QAAUwH,EAAE,EAAE,GAASxH;AAAA,EAAC;AAAA,EAAC,qBAAoB;AAAC,QAAIA,IAAE;AAAK,WAChfA,MADqf,QAClf;AAAC,UAAIE,IAAEF,EAAE,UAAW;AAAC,UAAGiN,GAAG/M,CAAC;AAAE,eAAOF;AAAE,MAAAA,IAAEE;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,4BAA2B;AAAC,QAAIF,IAAE,KAAK,mBAAoB;AAAC,WAAOA,MAAP,QAAUwH,EAAE,EAAE,GAASxH;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,QAAIA,IAAE,IAAGE,IAAE,KAAK,UAAW;AAAC,WAAYA,MAAP;AAAU,MAAAF,EAAE,KAAKE,CAAC,GAAEA,IAAEA,EAAE,UAAS;AAAG,WAAOF;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAIA,IAAE,CAAE,GAACE,IAAE,KAAK,UAAS;AAAG,WAAYA,MAAP;AAAU,MAAAF,EAAE,KAAKE,EAAE,KAAK,GAAEA,IAAEA,EAAE,UAAS;AAAG,WAAOF;AAAA,EAAC;AAAA,EAAC,qBAAoB;AAAC,QAAIA,IAAE,KAAK,UAAW;AAAC,QAAUA,MAAP;AAAS,aAAO;AAAK,IAAAA,IAAEA,EAAE;AAAW,QAAIE,IAAEF,EAAE,QAAQ,KAAK,KAAK;AAAE,WAAO,KAAGE,IAAE,OAAKqL,EAAEvL,EAAEE,IAAE,EAAE;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,QAAIF,IAAE,KAAK,UAAS;AAClgB,QAAUA,MAAP;AAAS,aAAM,CAAE;AAAC,IAAAA,IAAEA,EAAE;AAAW,QAAIE,IAAEF,EAAE,QAAQ,KAAK,KAAK;AAAE,WAAOA,EAAE,MAAM,GAAEE,CAAC,EAAE,IAAI,CAAAH,MAAGqV,GAAGrV,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIC,IAAE,KAAK,UAAS;AAAG,QAAUA,MAAP;AAAS,aAAO;AAAK,IAAAA,IAAEA,EAAE;AAAW,QAAIE,IAAEF,EAAE,QAAOD,IAAEC,EAAE,QAAQ,KAAK,KAAK;AAAE,WAAOD,KAAGG,IAAE,IAAE,OAAKqL,EAAEvL,EAAED,IAAE,EAAE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIC,IAAE,KAAK,UAAW;AAAC,QAAUA,MAAP;AAAS,aAAM,CAAA;AAAG,IAAAA,IAAEA,EAAE;AAAW,QAAIE,IAAEF,EAAE,QAAQ,KAAK,KAAK;AAAE,WAAOA,EAAE,MAAME,IAAE,CAAC,EAAE,IAAI,CAAAH,MAAGqV,GAAGrV,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,kBAAkBC,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAY;AAAC,QAAIH,IAAEC,EAAE,WAAU;AAAGgK,IAAAA,EAAE,IAAI,KAAG9J,EAAE,QAAQ,IAAI,GAAE8J,EAAEhK,CAAC,KAAGD,EAAE,QAAQC,CAAC,GAAEA,IAAEE,EAAE;AAClf,QAAIC,IAAEJ,EAAE;AAAO,QAAOC,MAAJ,KAAWG,MAAJ,KAAOD,EAAEF,IAAE,OAAKD,EAAEI,IAAE;AAAG,aAAO;AAAkB,SAAbJ,IAAE,IAAI,IAAIA,CAAC,GAAMI,IAAE,GAAEA,IAAEH,GAAEG,KAAI;AAAC,UAAIC,IAAEF,EAAEC;AAAG,UAAGJ,EAAE,IAAIK,CAAC;AAAE,eAAOA;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,GAAGJ,GAAE;AAAC,WAAaA,KAAN,OAAQ,KAAG,KAAK,UAAQA,EAAE;AAAA,EAAK;AAAA,EAAC,SAASA,GAAE;AAAC,QAAGA,EAAE,WAAW,IAAI;AAAE,aAAM;AAAG,QAAG,KAAK,WAAWA,CAAC;AAAE,aAAM;AAAG,QAAIE,IAAE,KAAK,kBAAkBF,CAAC;AAAE,QAAID,IAAE;AAAK,eAAO;AAAC,UAAII,IAAEJ,EAAE,iBAAkB;AAAC,UAAGI,MAAID,GAAE;AAAC,QAAAC,IAAEA,EAAE,WAAW,QAAQJ,EAAE,KAAK;AAAE;AAAA,MAAK;AAAC,MAAAA,IAAEI;AAAA,IAAC;AAAC,SAAIJ,IAAEC,OAAI;AAAwB,UAAvBA,IAAED,EAAE,oBAAsBC,MAAIE,GAAE;AAAC,QAAAA,IAAEF,EAAE,WAAW,QAAQD,EAAE,KAAK;AAAE;AAAA,MAAK;AAAC,MAAAA,IAAEC;AAAA,IAAC;AAAC,WAAOG,IAAED;AAAA,EAAC;AAAA,EAAC,WAAWF,GAAE;AAAC,QAAIE,IAAE,KAAK;AACzf,QAAGA,MAAIF,EAAE;AAAM,aAAM;AAAG,WAAYA,MAAP,QAAU;AAAC,UAAGA,EAAE,UAAQE;AAAE,eAAM;AAAG,MAAAF,IAAEA,EAAE,UAAS;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,gBAAgBA,GAAE;AAAC,QAAIE,IAAE,KAAK,SAASF,CAAC,GAAED,IAAE,CAAE,GAACI,IAAE,oBAAI;AAAI,aAAQC,IAAE,UAAO;AAAC,UAAIb,IAAEa,EAAE;AAAqC,UAA/BD,EAAE,IAAIZ,CAAC,MAAIY,EAAE,IAAIZ,CAAC,GAAEQ,EAAE,KAAKK,CAAC,IAAMA,MAAIJ;AAAE;AAAuD,UAAjDT,IAAEyK,EAAE5J,CAAC,IAAEF,IAAEE,EAAE,cAAe,IAACA,EAAE,aAAc,IAAC,MAAeb,MAAP;AAAS,QAAAa,IAAEb;AAAA,eAAUA,IAAEW,IAAEE,EAAE,eAAc,IAAGA,EAAE,mBAAkB,GAAUb,MAAP;AAAS,QAAAa,IAAEb;AAAA,WAAM;AAAkD,YAAjDa,IAAEA,EAAE,iBAAkB,GAACD,EAAE,IAAIC,EAAE,KAAK,KAAGL,EAAE,KAAKK,CAAC,GAAKA,MAAIJ;AAAE;AAAM,QAAAT,IAAEa;AAAE;AAAG,UAAOb,MAAP,QAAUiI,EAAE,EAAE,GAAEpH,IAAEF,IAAEX,EAAE,eAAgB,IAACA,EAAE,mBAAkB,GAAGA,IAAEA,EAAE,UAAW,GACtfA,MAAP,SAAkBa,MAAP,QAAUD,EAAE,IAAIZ,EAAE,KAAK,KAAGQ,EAAE,KAAKR,CAAC;AAAA,eAAgBa,MAAP;AAAA,MAAS;AAAA,IAAC;AAAC,WAAAF,KAAGH,EAAE,QAAO,GAAUA;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,QAAIC,IAAEoL,GAAC,EAAG;AAAa,WAAcpL,MAAP,QAAUA,EAAE,IAAI,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIA,IAAEuL,EAAE,KAAK,KAAK;AAAE,WAAOvL,MAAP,QAAUwH,EAAE,EAAE,GAASxH;AAAA,EAAC;AAAA,EAAC,cAAa;AAACsL,IAAAA;AAAI,QAAItL,IAAEmL,GAAC,GAAGjL,IAAEkL,GAAC;AAAG,IAAApL,IAAEA,EAAE;AAAS,QAAID,IAAE,KAAK,OAAMI,IAAE,KAAK,UAAW,GAACC,IAAED,EAAE;AAAS,IAAAD,IAAEA,EAAE;AAAgB,QAAIX,IAAEwJ;AAAoC,WAAzBxJ,MAAP,SAAWA,EAAE,eAAa,OAASW,EAAE,IAAIH,CAAC,KAASkL,GAAG9K,CAAC,GAAEA,MAAEZ,IAAEY,EAAE,YAAY,MAAMA,CAAC,GAAEZ,EAAE,WAASa,GAAE4J,EAAE7J,CAAC,KAAG6J,EAAEzK,CAAC,KAAGA,EAAE,aAAW,MAAM,KAAKY,EAAE,UAAU,GAAEZ,EAAE,WAASY,EAAE,UACpfZ,EAAE,WAASY,EAAE,UAASZ,EAAE,QAAMY,EAAE,SAAOmJ,EAAEnJ,CAAC,KAAGmJ,EAAE/J,CAAC,MAAIA,EAAE,WAASY,EAAE,UAASZ,EAAE,UAAQY,EAAE,SAAQZ,EAAE,SAAOY,EAAE,QAAOZ,EAAE,WAASY,EAAE,WAAUD,EAAE,IAAIH,CAAC,GAAER,EAAE,QAAMQ,GAAEkL,GAAG1L,CAAC,GAAES,EAAE,IAAID,GAAER,CAAC,GAASA;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAO,KAAK,eAAgB,EAAC;AAAA,EAAM;AAAA,EAAC,YAAW;AAACiI,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,YAAW;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,UAAUxH,GAAE;AAAC,WAAM,EAAC,SAAQ,KAAK,UAAUA,EAAE,SAAQA,CAAC,EAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAACwH,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,OAAO,aAAY;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,OAAOxH,GAAE;AAAC,IAAAmV,GAAG,MAAK,IAAGnV,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,GAAE;AAACsL,IAAAA,GAAG;AAAC,QAAIpL,IAAE,KAAK;AAAM,IAAAF,IAAEA,EAAE,YAAW,GAAG+K,GAAG/K,CAAC;AAAE,QAAID,IAAE,KAAK,iBAAkB,GAC9fI,IAAEJ,EAAE,YAAa,EAAC;AAAW,QAAIK,IAAED,EAAE,QAAQ,KAAK,KAAK,GAAEZ,IAAES,EAAE;AAAM,WAAKI,MAAL,MAAQoH,EAAE,EAAE,GAAErH,EAAE,OAAOC,GAAE,GAAEb,CAAC,GAAES,EAAE,WAASD,EAAE,OAAMoV,GAAG,MAAK,EAAE,GAAEnK,GAAGhL,CAAC,GAAEG,IAAE4I,EAAC,GAAGS,EAAErJ,CAAC,MAAIJ,IAAEI,EAAE,QAAOA,IAAEA,EAAE,OAAMJ,EAAE,QAAMG,KAAGmR,GAAGtR,GAAEC,CAAC,GAAEG,EAAE,QAAMD,KAAGmR,GAAGlR,GAAEH,CAAC,IAAGwL,GAAI,MAAGtL,KAAGmL,GAAE9L,CAAC,GAASS;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAE;AAACsL,IAAAA,GAAC;AAAG,QAAIpL,IAAE,KAAK,YAAW,GAAGH,IAAEC,EAAE,YAAa,GAACG,IAAEJ,EAAE,UAAS;AAAG,QAAIK,IAAE2I,EAAC;AAAG,QAAIxJ,IAAES,EAAE,qBAAoB,GAAGC,IAAE,IAAGI,IAAE;AAAG,IAAOF,MAAP,SAAW4K,GAAGhL,CAAC,GAAEyJ,EAAEpJ,CAAC,MAAIC,IAAEF,EAAE,OAAMF,IAAEG,EAAE,QAAOD,IAAEC,EAAE,OAAMH,IAAcA,EAAE,SAAd,aAAoBA,EAAE,QAAMI,KAAGJ,EAAE,WAASV,IAAE,GAAEc,IAAcF,EAAE,SAAd,aAAoBA,EAAE,QAAME,KAAGF,EAAE,WAClfZ,IAAE,KAAIA,IAAE,KAAK,iBAAkB,EAAC,YAAW,GAAGY,IAAEJ,EAAE,OAAMA,EAAE,WAASG,EAAE;AAAS,QAAIT,IAAEF,EAAE;AAAW,WAAAW,IAAET,EAAE,QAAQS,EAAE,KAAK,GAAOA,MAAL,MAAQsH,EAAE,EAAE,GAAE/H,EAAE,OAAOS,IAAE,GAAE,GAAEC,CAAC,GAAE6K,GAAGjL,CAAC,GAAEyJ,EAAEpJ,CAAC,MAAIwS,GAAGxS,GAAEb,GAAEW,IAAE,CAAC,GAAEH,IAAER,EAAE,OAAMU,KAAGG,EAAE,OAAO,IAAIL,GAAEG,IAAE,GAAE,SAAS,GAAEG,KAAGD,EAAE,MAAM,IAAIL,GAAEG,IAAE,GAAE,SAAS,IAAUF;AAAA,EAAC;AAAA,EAAC,aAAaA,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAa,GAACH,IAAEC,EAAE,YAAW;AAAG,IAAA+K,GAAGhL,CAAC;AAAE,QAAII,IAAE,KAAK,iBAAkB,EAAC,YAAW,GAAGC,IAAEL,EAAE;AAAM,IAAAA,EAAE,WAASG,EAAE;AAAS,QAAIX,IAAEY,EAAE;AAAW,WAAAD,IAAEX,EAAE,QAAQW,EAAE,KAAK,GAAOA,MAAL,MAAQsH,EAAE,EAAE,GAAEjI,EAAE,OAAOW,GAAE,GAAEE,CAAC,GAAE4K,GAAGjL,CAAC,GAAEA,IAAEgJ,EAAG,GAACS,EAAEzJ,CAAC,KAAG6S,GAAG7S,GAAEI,GAAED,CAAC,GAASF;AAAA,EAAC;AAAA,EAAC,eAAeA,GAC3gBE,GAAE;AAACoL,IAAAA,GAAG;AAAC,QAAIvL,IAAE,KAAK,mBAAoB,GAACI,IAAE,KAAK,iBAAgB;AAAG,WAAcJ,MAAP,OAASI,EAAE,OAAO,GAAE,CAAC,IAAE6J,EAAEjK,CAAC,IAAEA,EAAE,WAASuJ,EAAEvJ,CAAC,IAAEA,EAAE,OAAOC,GAAEE,CAAC,KAAGF,IAAED,EAAE,yBAAuB,GAAEI,EAAE,OAAOH,GAAEA,CAAC;AAAA,EAAE;AAAA,EAAC,WAAWA,GAAEE,GAAE;AAACoL,IAAAA,GAAG;AAAC,QAAIvL,IAAE,KAAK,eAAc,GAAGI,IAAE,KAAK;AAAmB,WAAcJ,MAAP,OAASI,EAAE,WAAS6J,EAAEjK,CAAC,IAAEA,EAAE,OAAO,GAAE,CAAC,IAAEuJ,EAAEvJ,CAAC,IAAEA,EAAE,OAAOC,GAAEE,CAAC,KAAGF,IAAED,EAAE,qBAAsB,GAACI,EAAE,OAAOH,GAAEA,CAAC;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,SAAK,YAAW;AAAA,EAAE;AAAC;AACpY,MAAMsV,WAAWD,GAAE;AAAA,EAAC,YAAYrV,GAAE;AAAC,UAAMA,CAAC;AAAA,EAAC;AAAA,EAAC,WAAU;AAACwH,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,uBAAsB;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,SAAS6B,GAAErJ,GAAE;AAAC,SAAOA,aAAasV;AAAE;AAC5K,MAAMC,WAAWF,GAAE;AAAA,EAAC,YAAYrV,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,aAAW,CAAE,GAAC,KAAK,WAAS,KAAK,WAAS,GAAE,KAAK,QAAM;AAAA,EAAI;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,UAAS,EAAG;AAAA,EAAQ;AAAA,EAAC,gBAAe;AAAC,QAAIA,IAAE,KAAK,UAAS;AAAG,WAAOuI,GAAGvI,MAAI;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAQ;AAAA,EAAC,cAAa;AAAC,QAAIA,IAAE,KAAK,UAAW,EAAC,YAAWE,IAAE,CAAA;AAAG,aAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,UAAII,IAAEoL,EAAEvL,EAAED,EAAE;AAAE,MAAOI,MAAP,QAAUD,EAAE,KAAKC,CAAC;AAAA,IAAC;AAAC,WAAOD;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAU;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,UAAS,EAAG,WAAW;AAAA,EAAM;AAAA,EAAC,UAAS;AAAC,WACtf,KAAK,gBAAe,MADye;AAAA,EACve;AAAA,EAAC,UAAS;AAAC,QAAIF,IAAEoL,GAAC,EAAG;AAAe,WAAcpL,MAAP,QAAUA,EAAE,IAAI,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,QAAIA,IAAE,KAAK,UAAS;AAAG,WAAOA,EAAE,iBAAgB,EAAG,mBAAiBA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAE,CAAE,GAACE,IAAE,KAAK,UAAS,EAAG;AAAW,aAAQC,IAAE,GAAEA,IAAED,EAAE,QAAOC,KAAI;AAAC,UAAIJ,IAAEwL,EAAErL,EAAEC,EAAE;AAAEmJ,MAAAA,EAAEvJ,CAAC,IAAEC,EAAE,KAAKD,CAAC,IAAEiK,EAAEjK,CAAC,MAAIA,IAAEA,EAAE,gBAAe,GAAGC,EAAE,KAAK,GAAGD,CAAC;AAAA,IAAE;AAAC,WAAOC;AAAA,EAAC;AAAA,EAAC,qBAAoB;AAAC,QAAIA,IAAE,KAAK,cAAe;AAAC,WAAYA,MAAP,QAAU;AAAC,UAAGgK,EAAEhK,CAAC,GAAE;AAAC,YAAIE,IAAEF,EAAE,cAAe;AAAC,YAAUE,MAAP,MAAS;AAAC,UAAAF,IAAEE;AAAE;AAAA,QAAQ;AAAA,MAAC;AAAC;AAAA,IAAK;AAAC,WAAOF;AAAA,EAAC;AAAA,EAAC,oBAAmB;AAAC,QAAIA,IAC1f,KAAK,aAAY;AAAG,WAAYA,MAAP,QAAU;AAAC,UAAGgK,EAAEhK,CAAC,GAAE;AAAC,YAAIE,IAAEF,EAAE,aAAY;AAAG,YAAUE,MAAP,MAAS;AAAC,UAAAF,IAAEE;AAAE;AAAA,QAAQ;AAAA,MAAC;AAAC;AAAA,IAAK;AAAC,WAAOF;AAAA,EAAC;AAAA,EAAC,qBAAqBA,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAa,GAACH,IAAEG,EAAE;AAAO,WAAGF,KAAGD,KAASC,IAAEE,EAAEH,IAAE,IAAGiK,EAAEhK,CAAC,KAAGA,EAAE,kBAAiB,KAAIA,KAAG,SAAKA,IAAEE,EAAEF,IAAUgK,EAAEhK,CAAC,KAAGA,EAAE,mBAAoB,KAAEA,KAAG;AAAA,EAAI;AAAA,EAAC,gBAAe;AAAC,QAAIA,IAAE,KAAK,UAAW,EAAC;AAAW,WAAWA,EAAE,WAAN,IAAa,OAAKuL,EAAEvL,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,uBAAsB;AAAC,QAAIA,IAAE,KAAK,cAAa;AAAG,WAAOA,MAAP,QAAUwH,EAAE,EAAE,GAASxH;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,QAAIA,IAAE,KAAK,UAAW,EAAC,YAAWE,IAAEF,EAAE;AAC9e,WAAWE,MAAJ,IAAM,OAAKqL,EAAEvL,EAAEE,IAAE,EAAE;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,QAAIF,IAAE,KAAK,aAAc;AAAC,WAAOA,MAAP,QAAUwH,EAAE,EAAE,GAASxH;AAAA,EAAC;AAAA,EAAC,gBAAgBA,GAAE;AAAC,WAAAA,IAAE,KAAK,UAAW,EAAC,WAAWA,IAAmBA,MAAT,SAAW,OAAKuL,EAAEvL,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIA,IAAE,IAAGE,IAAE,KAAK,YAAW,GAAGH,IAAEG,EAAE;AAAO,aAAQC,IAAE,GAAEA,IAAEJ,GAAEI,KAAI;AAAC,UAAIC,IAAEF,EAAEC;AAAG,MAAAH,KAAGI,EAAE,kBAAiB4J,EAAE5J,CAAC,KAAGD,MAAIJ,IAAE,KAAG,CAACK,EAAE,SAAU,MAAGJ,KAAG;AAAA;AAAA;AAAA,IAAO;AAAC,WAAOA;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAK;AAAA,EAAC,UAAUA,GAAE;AAAC,WAAWA,MAAL,MAAQA,IAAEsI,GAAGtI,KAAQ,KAAK,UAAW,IAACA,OAAtB,KAA0B;AAAA,EAAE;AAAA,EAAC,OAAOA,GAAEE,GAAE;AAACoL,IAAAA,GAAC;AAAG,QAAIvL,IAAEgJ,EAAG;AAAC,QAAI5I,IAAE,KAAK,gBAAe;AACxc,QAAxCH,MAAT,WAAaA,IAAEG,IAAYD,MAAT,WAAaA,IAAEC,IAAGA,IAAE,KAAK,OAASqJ,EAAEzJ,CAAC;AAAE,MAAAA,EAAE,OAAO,IAAII,GAAEH,GAAE,SAAS,GAAED,EAAE,MAAM,IAAII,GAAED,GAAE,SAAS,GAAEH,EAAE,QAAM;AAAA;AAAQ,aAAO2S,GAAGvS,GAAEH,GAAEG,GAAED,GAAE,WAAU,SAAS;AAAE,WAAOH;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,QAAIC,IAAE,KAAK,mBAAkB;AAAG,WAAOgK,EAAEhK,CAAC,KAAGsJ,EAAEtJ,CAAC,IAAEA,EAAE,OAAO,GAAE,CAAC,IAASA,MAAP,OAASA,EAAE,eAAgB,IAAC,KAAK,OAAO,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIA,IAAE,KAAK;AAAoB,WAAOgK,EAAEhK,CAAC,KAAGsJ,EAAEtJ,CAAC,IAAEA,EAAE,OAAM,IAAUA,MAAP,OAASA,EAAE,WAAU,IAAG,KAAK,OAAM;AAAA,EAAE;AAAA,EAAC,QAAO;AAAC,QAAIA,IAAE,KAAK,YAAW;AAAG,gBAAK,YAAW,EAAG,QAAQ,CAAAE,MAAGA,EAAE,OAAM,CAAE,GAASF;AAAA,EAAC;AAAA,EAAC,UAAUA,GAAE;AAAC,WAAO,KAAK;AAAA,MAAO,KAAK,gBAAiB;AAAA,MACniB;AAAA,MAAEA;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,aAAaA,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAa;AAAC,WAAAA,EAAE,QAAMF,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,gBAAK,cAAc,WAAcA,MAAL,KAAOsI,GAAGtI,KAAG,GAAS;AAAA,EAAI;AAAA,EAAC,UAAUA,GAAE;AAAC,gBAAK,YAAW,EAAG,WAASA,GAAS;AAAA,EAAI;AAAA,EAAC,OAAOA,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK,YAAW;AAAG,QAAIC,IAAED,EAAE;AAAM,QAAIZ,IAAEY,EAAE,YAAWF,IAAEF,EAAE;AAAO,QAAIM,IAAE,CAAA;AAAG,aAAQZ,IAAE,GAAEA,IAAEQ,GAAER,KAAI;AAAC,UAAIE,IAAEI,EAAEN,IAAGC,IAAEC,EAAE,YAAW;AAAG,MAAAA,EAAE,UAAQS,KAAGoH,EAAE,EAAE,GAAEuD,GAAGrL,CAAC,GAAEA,EAAE,WAASU,GAAEC,EAAE,KAAKX,EAAE,KAAK;AAAA,IAAC;AACvX,SADyXK,IAAE,KAAK,gBAAgBC,IAAE,CAAC,MAAIiL,GAAGlL,CAAC,IAAGK,IAAE,KAAK,gBAAgBJ,IAAEE,CAAC,MAAI+K,GAAG7K,CAAC,GAAEJ,MAAIT,EAAE,UAAQA,EAAE,KAAK,GAAGc,CAAC,GAAEL,IAAE,CAAE,KAAEA,IAAET,EAAE;AAAA,MAAOS;AAAA,MACtfE;AAAA,MAAE,GAAGG;AAAA,IAAC,GAAKL,EAAE,WAASE,IAAE6I,KAAIS,EAAEtJ,CAAC,IAAG;AAAC,UAAIT,IAAE,IAAI,IAAIO,CAAC,GAAEL,IAAE,IAAI,IAAIU,CAAC;AAAE,MAAAA,IAAE,CAAAP,MAAG;AAAC,aAAIA,IAAEA,EAAE,QAAO,GAAGA,KAAG;AAAC,gBAAMoJ,IAAEpJ,EAAE;AAAM,cAAGL,EAAE,IAAIyJ,CAAC,KAAG,CAACvJ,EAAE,IAAIuJ,CAAC;AAAE,mBAAM;AAAG,UAAApJ,IAAEA,EAAE,UAAS;AAAA,QAAE;AAAC,eAAM;AAAA,MAAE;AAAE,UAAI,EAAC,QAAOJ,GAAE,OAAME,EAAC,IAAEM;AAA+E,WAA7EG,EAAEX,CAAC,KAAGqT,GAAGrT,GAAEA,EAAE,QAAS,GAAC,MAAKK,GAAEK,CAAC,GAAEC,EAAET,CAAC,KAAGmT,GAAGnT,GAAEA,EAAE,QAAS,GAAC,MAAKG,GAAEK,CAAC,GAAEC,IAAEL,EAAE,QAAWE,IAAE,GAAEA,IAAEG,GAAEH;AAAI,QAAAH,IAAEwL,EAAEvL,EAAEE,EAAE,GAAQH,KAAN,SAAUA,EAAE,YAAa,EAAC,WAAS;AAAM,MAAIR,EAAE,WAAN,KAAc,KAAK,WAAY,KAAE0N,GAAG,IAAI,KAAG,KAAK,OAAQ;AAAA,IAAA;AAAC,WAAO9M;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,MAAC,UAAS,CAAA;AAAA,MAAG,WAAU,KAAK,aAAc;AAAA,MAAC,QAAO,KAAK,cAAa;AAAA,MAAG,QAAO,KAAK,UAAW;AAAA,MACngB,MAAK;AAAA,MAAU,SAAQ;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,eAAc;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,mBAAkB;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,SAAS6J,EAAEhK,GAAE;AAAC,SAAOA,aAAauV;AAAE;AACpc,MAAMC,WAAWD,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,QAAO;AAAC,WAAO,IAAIC;AAAA,EAAE;AAAA,EAAC,cAAa;AAAC,UAAM,MAAM,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,4BAA2B;AAAChO,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIxH,IAAE,KAAK;AAAa,WAAM,CAACyL,MAAOL,GAAG,EAAC,eAAR,KAA2BpL,MAAP,OAAS,MAAM,mBAAiBA;AAAA,EAAC;AAAA,EAAC,SAAQ;AAACwH,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,UAAS;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,eAAc;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,UAAUxH,GAAE;AAAC,aAAQE,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,UAAIH,IAAEC,EAAEE;AAAG8J,MAAAA,EAAEjK,CAAC,KAAGsJ,GAAEtJ,CAAC,KAAGyH,EAAE,EAAE;AAAA,IAAC;AAAC,WAAO,MAAM,OAAO,GAAGxH,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWA,GAAE;AAAC,QAAIE,IAAE0L;AAAK,WAAA1L,EAAE,UAAUF,EAAE,MAAM,GAC9fE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,UAAS,CAAE,GAAC,WAAU,KAAK,gBAAe,QAAO,KAAK,cAAe,GAAC,QAAO,KAAK,aAAY,MAAK,QAAO,SAAQ,EAAC;AAAA,EAAC;AAAC;AAAC,SAAS0M,GAAE5M,GAAE;AAAC,SAAOA,aAAawV;AAAE;AAAC,SAASN,GAAGlV,GAAEE,GAAE;AAAgD,MAA/CA,IAAEA,EAAE,eAAc,EAAG,YAAWF,IAAEA,EAAE,YAAqBA,MAAP;AAAU,QAAGA,EAAE,SAAO,CAACA,EAAE,GAAGE,CAAC;AAAE,aAAM;AAAA,aAAkBA,MAAP;AAAS,WAAM;AAAG,SAAM;AAAE;AAAC,SAASuV,KAAI;AAAC,SAAO,IAAIR,GAAG,oBAAI,IAAI,CAAC,CAAC,QAAO,IAAIO,IAAE,CAAC,CAAC,CAAC;AAAC;AAC/a,SAASE,GAAG1V,GAAE;AAAC,MAAIE,IAAEF,EAAE,WAAY;AAAC,EAAAE,EAAE,SAAOF,EAAE,YAAY,QAAO,KAAIwH,EAAE,EAAE;AAAE,MAAIzH,IAAEG,EAAE;AAAS,MAAG8J,EAAEhK,CAAC,GAAE;AAAC,UAAM,QAAQD,CAAC,KAAGyH,EAAE,EAAE,GAAExH,IAAEA,EAAE,YAAa;AAAC,aAAQG,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,UAAIC,IAAEsV,GAAG1V,EAAEG,EAAE;AAAE,MAAAJ,EAAE,KAAKK,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAOF;AAAC;AAC9M,MAAM+U,GAAE;AAAA,EAAC,YAAYjV,GAAEE,GAAE;AAAC,SAAK,WAASF,GAAE,KAAK,aAAWE,KAAG,MAAK,KAAK,YAAU,KAAK,aAAW;AAAA,EAAE;AAAA,EAAC,UAAS;AAAC,WAAW,KAAK,SAAS,SAAlB,KAA+B,KAAK,eAAZ;AAAA,EAAsB;AAAA,EAAC,KAAKF,GAAE;AAAC,WAAOwT,GAAG,MAAKxT,CAAC;AAAA,EAAC;AAAA,EAAC,MAAMA,GAAE;AAAC,WAAAA,IAAE,IAAIiV,GAAG,KAAK,UAAkBjV,MAAT,SAAW,KAAK,aAAWA,CAAC,GAAEA,EAAE,YAAU,IAAUA;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAOwT,GAAG,MAAK,OAAK,EAAC,MAAKkC,GAAG9J,GAAI,CAAA,EAAC,EAAE;AAAA,EAAC;AAAC;AACnU,MAAM+J,WAAWN,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAW;AAAA,EAAC,OAAO,MAAMrV,GAAE;AAAC,WAAO,IAAI2V,GAAG3V,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAE;AAAC,UAAMA,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA;AAAA,EAAI;AAAA,EAAC,YAAW;AAAC,WAAO,SAAS,cAAc,IAAI;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,CAAAA,MAAG;AAAC,UAAIE,IAAEF,EAAE;AAAc,aAAaE,KAAN,QAASA,EAAE,eAAaF,KAAGE,EAAE,cAAYF,IAAE,OAAK,EAAC,YAAW4V,IAAG,UAAS,EAAC;AAAA,IAAC,EAAC;AAAA,EAAC;AAAA,EAAC,OAAO,aAAY;AAAC,WAAO1D,GAAE;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,MAAK,aAAY,SAAQ,EAAC;AAAA,EAAC;AAAC;AAAC,SAAS0D,KAAI;AAAC,SAAM,EAAC,MAAK1D,GAAI,EAAA;AAAC;AAAC,SAASA,KAAI;AAAC,SAAO,IAAIyD;AAAE;AAC9e,SAAS7K,GAAG9K,GAAE;AAAC,SAAOA,aAAa2V;AAAE;AAAC,SAASE,GAAG7V,GAAEE,GAAE;AAAC,SAAOA,IAAE,KAAG,SAAOA,IAAE,KAAG,QAAMA,IAAE,KAAG,QAAM;AAAI;AAAC,SAAS4V,GAAG9V,GAAEE,GAAE;AAAC,SAAOA,IAAE,IAAE,WAASA,IAAE,IAAE,OAAK;AAAM;AACzJ,SAAS6V,GAAG/V,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,EAAAJ,IAAEG,EAAE,WAAUA,IAAEoM,GAAGnM,GAAE,MAAM,GAAWD,MAAT,UAAYH,EAAE,IAAI,GAAGG,CAAC,GAAEA,IAAEoM,GAAGnM,GAAE,wBAAwB;AAAE,MAAIb,IAAE,IAAGU,IAAEC,IAAE,KAAGA,IAAE;AAAE,MAAIG,IAAEN,IAAE,KAAGA,IAAE;AAAE,EAASI,MAAT,WAAaE,KAAGd,IAAE,IAAGU,KAAGD,EAAE,IAAI,GAAGG,CAAC,KAAGF,KAAGD,EAAE,OAAO,GAAGG,CAAC;AAAG,WAAQV,KAAK2I;AAAG,IAAA/H,IAAE+H,GAAG3I,IAAGU,IAAEoM,GAAGnM,GAAEX,CAAC,GAAWU,MAAT,WAAaJ,IAAEM,IAAE,CAACd,KAAiBE,MAAd,eAAmCA,MAAlB,oBAA0BS,IAAEG,OAAP,KAAWJ,KAAiBR,MAAd,eAAmCA,MAAlB,oBAAsBO,EAAE,IAAI,GAAGG,CAAC,IAAED,IAAEG,KAAGL,EAAE,OAAO,GAAGG,CAAC,IAAED,IAAEG,KAAGL,EAAE,OAAO,GAAGG,CAAC;AAAE;AAC9Y,SAAS6V,GAAGhW,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAED,EAAE;AAAwC,MAA7BH,IAAEA,EAAE,YAAa,GAACC,KAAGD,IAAEiI,KAAG,IAAY7H,KAAN;AAAQ,IAAAD,EAAE,cAAYF;AAAA,WAAUE,IAAEC,EAAE,WAAUD,MAAIF;AAAE,QAAGD,KAAG6H,IAAG;AAAC,MAAA7H,IAAEG,EAAE;AAAO,UAAIE,IAAEJ,EAAE,QAAOT,IAAE,GAAEU,IAAE;AAAE,aAAKV,IAAEQ,KAAGR,IAAEa,KAAGF,EAAEX,OAAKS,EAAET;AAAI,QAAAA;AAAI,aAAKU,IAAEV,IAAEQ,KAAGE,IAAEV,IAAEa,KAAGF,EAAEH,IAAEE,IAAE,OAAKD,EAAEI,IAAEH,IAAE;AAAI,QAAAA;AAAI,MAAAD,IAAE,CAACT,GAAEQ,IAAER,IAAEU,GAAED,EAAE,MAAMT,GAAEa,IAAEH,CAAC,CAAC;AAAE,UAAI,CAACI,GAAEZ,GAAEE,CAAC,IAAEK;AAAE,MAAIP,MAAJ,KAAOU,EAAE,WAAWE,GAAEZ,CAAC,GAAEU,EAAE,WAAWE,GAAEV,CAAC;AAAA,IAAC;AAAM,MAAAQ,EAAE,YAAUH;AAAC;AACxV,MAAMiW,WAAWZ,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,MAAMrV,GAAE;AAAC,WAAO,IAAIiW,GAAGjW,EAAE,QAAOA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,SAAOF,GAAE,KAAK,WAAS,GAAE,KAAK,UAAQ,IAAG,KAAK,WAAS,KAAK,SAAO;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,UAAS,EAAG;AAAA,EAAQ;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,YAAY;AAAA,EAAQ;AAAA,EAAC,UAAS;AAAC,QAAIA,IAAE,KAAK,UAAS;AAAG,WAAOyI,GAAGzI,EAAE;AAAA,EAAO;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAO;AAAA,EAAC,UAAS;AAAC,WAAW,KAAK,UAAW,EAAC,WAArB;AAAA,EAA2B;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK,UAAQwL,GAAI;AAAA,EAAA;AAAA,EAAC,cAAa;AAAC,WAAW,KAAK,UAAS,EAAG,WAArB;AAAA,EAA2B;AAAA,EAAC,kBAAiB;AAAC,YACthB,KAAK,UAAS,EAAG,WAAS,OADmgB;AAAA,EACjgB;AAAA,EAAC,gBAAe;AAAC,YAAY,KAAK,YAAY,WAAS,OAA/B;AAAA,EAAiC;AAAA,EAAC,UAAUxL,GAAE;AAAC,WAAAA,IAAEoI,GAAGpI,KAAe,KAAK,UAAW,IAACA,OAAtB;AAAA,EAAwB;AAAA,EAAC,eAAc;AAAC,WAAe,KAAK,WAAd,UAA0B,KAAK,WAAT;AAAA,EAAe;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK,UAAS,EAAG;AAAA,EAAM;AAAA,EAAC,eAAeA,GAAEE,GAAE;AAAC,QAAIH,IAAE,KAAK,UAAW,EAAC;AAAS,WAAO6K,GAAG7K,GAAEC,GAAEE,CAAC;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,KAAK,UAASH,IAAE8V,GAAG,MAAK3V,CAAC;AAAE,QAAIC,IAAE2V,GAAG,MAAK5V,CAAC,GAAEE,IAAE,SAAS,cAAqBL,MAAP,OAASI,IAAEJ,CAAC,GAAER,IAAEa;AAAE,WAAOL,MAAP,SAAWR,IAAE,SAAS,cAAcY,CAAC,GAAEC,EAAE,YAAYb,CAAC,IAAGQ,IAAER,GAAEyW,GAAG,KAAK,QAAOjW,GAAE,IAAI,GACxfC,IAAEA,EAAE,MAAM,MAAcA,MAAT,UAAY+V,GAAG5V,GAAE,GAAED,GAAEH,GAAEC,CAAC,GAAEE,IAAE,KAAK,SAAaA,MAAL,OAASE,EAAE,MAAM,UAAQF,IAAUE;AAAA,EAAC;AAAA,EAAC,UAAUJ,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK;AAAO,QAAIC,IAAEJ,EAAE,UAAST,IAAE,KAAK,UAASU,IAAE4V,GAAG,MAAKzV,CAAC;AAAE,QAAIC,IAAEwV,GAAG,MAAKtW,CAAC;AAAE,QAAIE,IAAEqW,GAAG,MAAK1V,CAAC;AAAE,QAAIT,IAAEmW,GAAG,MAAKvW,CAAC;AAAE,YAAWU,MAAP,OAASR,IAAEQ,QAAaI,MAAP,OAASV,IAAEU,KAAS,KAAMJ,MAAII,KAAGZ,MAAIE,KAASS,IAAEF,EAAE,YAAiBE,KAAN,QAASoH,EAAE,EAAE,GAAExH,IAAEC,IAAE,SAAS,cAAcN,CAAC,GAAEqW,GAAG7V,GAAEH,GAAE,IAAI,GAAED,IAAEA,EAAE,MAAM,MAAcA,MAAT,UAAYgW,GAAGpW,GAAE,GAAEJ,GAAES,GAAED,CAAC,GAAEG,EAAE,aAAaD,GAAEG,CAAC,GAAE,OAAGX,IAAES,GAASG,MAAP,QAAiBJ,MAAP,SAAWR,IAAES,EAAE,YAAiBT,KAAN,QAAS+H,EAAE,EAAE,IAAGwO,GAAG7V,GAAEV,GAAE,IAAI,GAAEM,IAAEA,EAAE,MAAM,MACnfA,MAAT,UAAYK,MAAIb,KAAGwW,GAAGpW,GAAES,GAAEb,GAAEE,GAAEM,CAAC,GAAER,IAAE,KAAK,SAAQS,EAAE,YAAUT,MAAIW,EAAE,MAAM,UAAQX,IAAS;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,SAAQ,OAAK,EAAC,YAAW2W,IAAG,UAAS,EAAC,IAAG,GAAE,OAAK,EAAC,YAAWC,IAAG,UAAS,EAAC,IAAG,MAAK,OAAK,EAAC,YAAWC,IAAG,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAG,UAAS,EAAC,IAAG,GAAE,OAAK,EAAC,YAAWA,IAAG,UAAS,EAAC,IAAG,MAAK,OAAK,EAAC,YAAWC,IAAG,UAAS,EAAC,IAAG,QAAO,OAAK,EAAC,YAAWD,IAAG,UAAS,EAAC,IAAG,GAAE,OAAK,EAAC,YAAWA,IAAG,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWpW,GAAE;AAAC,QAAIE,IAAEkM,GAAEpM,EAAE,IAAI;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,QAAQF,EAAE,IAAI,GAClgBE,EAAE,SAASF,EAAE,KAAK,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,QAAO,KAAK,aAAY,QAAO,KAAK,UAAW,GAAC,MAAK,KAAK,WAAU,OAAM,KAAK,SAAQ,GAAG,MAAK,KAAK,eAAgB,GAAC,MAAK,QAAO,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,qBAAoB;AAAA,EAAE;AAAA,EAAA,UAAUF,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAW;AAAG,WAAAA,EAAE,WAAoB,OAAOF,KAAlB,WAAoBoI,GAAGpI,KAAGA,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAW;AAAG,WAAAA,EAAE,WAAoB,OAAOF,KAAlB,WAAoBqI,GAAGrI,KAAGA,GAASE;AAAA,EAAC;AAAA,EAAC,SAASF,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAa;AAAC,WAAAA,EAAE,UAAQF,GAASE;AAAA,EAAC;AAAA,EAAC,aAAaF,GAAE;AAAC,WAAAA,IAAEoI,GAAGpI,IAAU,KAAK,UAAU,KAAK,UAAW,IACvfA,CAAC;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,QAAIA,IAAE,KAAK;AAAc,WAAAA,EAAE,YAAU,GAASA;AAAA,EAAC;AAAA,EAAC,oBAAmB;AAAC,QAAIA,IAAE,KAAK,YAAa;AAAC,WAAAA,EAAE,YAAU,GAASA;AAAA,EAAC;AAAA,EAAC,QAAQA,GAAE;AAAC,IAAAA,IAAEwI,GAAGxI;AAAG,QAAIE,IAAE,KAAK,YAAW;AAAG,WAAAA,EAAE,SAAOF,GAASE;AAAA,EAAC;AAAA,EAAC,eAAeF,GAAE;AAAC,QAAIE,IAAE,KAAK;AAAc,WAAAA,EAAE,SAAOF,GAASE;AAAA,EAAC;AAAA,EAAC,OAAOF,GAAEE,GAAE;AAACoL,IAAAA,GAAC;AAAG,QAAIvL,IAAEgJ,EAAC;AAAG,QAAI5I,IAAE,KAAK;AAAiB,QAAIC,IAAE,KAAK;AAAiF,QAAhE,OAAOD,KAAlB,YAAqBA,IAAEA,EAAE,QAAgBH,MAAT,WAAaA,IAAEG,IAAYD,MAAT,WAAaA,IAAEC,MAAID,IAAEF,IAAE,GAAKwJ,EAAEzJ,CAAC;AAAE,MAAAI,IAAEqL,MAAKrL,MAAIJ,EAAE,OAAO,OAAKI,MAAIJ,EAAE,MAAM,OAAKsL,GAAEjL,CAAC,GAAEL,EAAE,iBAAiB,MAAKC,GAAE,MAAKE,CAAC;AAAA;AAChf,aAAOwS,GAAGtS,GAAEJ,GAAEI,GAAEF,GAAE,QAAO,MAAM;AAAE,WAAOH;AAAA,EAAC;AAAA,EAAC,WAAWC,GAAEE,GAAEH,GAAEI,GAAE;AAAC,QAAIC,IAAE,KAAK,YAAW,GAAGb,IAAEa,EAAE,QAAOH,IAAEF,EAAE,QAAOM,IAAEL;AAAE,QAAEK,MAAIA,IAAEJ,IAAEI,GAAE,IAAEA,MAAIA,IAAE;AAAI,QAAIZ,IAAEsJ,EAAG;AAAC,WAAA5I,KAAGqJ,EAAE/J,CAAC,MAAIO,KAAGC,GAAER,EAAE,iBAAiBW,GAAEJ,GAAEI,GAAEJ,CAAC,IAAGE,IAAEX,EAAE,MAAM,GAAEc,CAAC,IAAEN,IAAER,EAAE,MAAMc,IAAEH,CAAC,GAAEE,EAAE,SAAOF,GAASE;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAaJ,GAAE;AAACsL,IAAAA,GAAC;AAAG,QAAIpL,IAAE,KAAK,UAAW,GAACH,IAAEG,EAAE,eAAc,GAAGC,IAAED,EAAE,OAAME,IAAEoL,GAAI,GAACjM,IAAE,IAAI,IAAIS,CAAC;AAAE,IAAAA,IAAE,CAAA;AAAuB,aAAhBC,IAAEF,EAAE,QAAOM,IAAE,IAAWZ,IAAE,GAAEA,IAAEQ,GAAER;AAAI,MAAKY,MAAL,MAAQd,EAAE,IAAIE,CAAC,MAAIO,EAAE,KAAKK,CAAC,GAAEA,IAAE,KAAIA,KAAGN,EAAEN;AAC3d,QADmeY,MAAL,MAAQL,EAAE,KAAKK,CAAC,GACzfd,IAAES,EAAE,QAAcT,MAAJ;AAAM,aAAM,CAAA;AAAG,QAAGS,EAAE,OAAKD;AAAE,aAAM,CAACG,CAAC;AAAE,QAAIP,IAAEK,EAAE;AAAG,IAAAD,IAAEG,EAAE,iBAAkB,GAACT,IAAEM,EAAE;AAAM,QAAIL,IAAEQ,EAAE,UAAW,GAACN,IAAEM,EAAE,SAAQ,GAAGJ,IAAEI,EAAE;AAAS,IAAAD,IAAE,IAAGC,EAAE,YAAa,KAAEG,IAAE+L,GAAEzM,CAAC,GAAEU,EAAE,WAASZ,GAAEY,EAAE,WAASX,GAAEW,EAAE,UAAQT,GAAES,EAAE,WAASP,GAAEG,IAAE,OAAKI,IAAEH,EAAE,YAAW,GAAGG,EAAE,SAAOV,IAAGO,IAAE6I,EAAG,GAAC1I,IAAE,CAACA,CAAC,GAAEV,IAAEA,EAAE;AAAO,aAAQ4J,IAAE,GAAEA,IAAEhK,GAAEgK,KAAI;AAAC,UAAIL,IAAElJ,EAAEuJ,IAAGJ,IAAED,EAAE;AAAO,MAAAA,IAAEkD,GAAElD,CAAC,EAAE,YAAW,GAAGA,EAAE,WAASxJ,GAAEwJ,EAAE,UAAQtJ,GAAEsJ,EAAE,WAASpJ;AAAE,UAAI2J,IAAEP,EAAE;AAAY,UAANC,IAAExJ,IAAEwJ,GAAKK,EAAEtJ,CAAC,GAAE;AAAC,YAAIyJ,IAAEzJ,EAAE,QAAO2J,IAAE3J,EAAE;AAAM,QAAAyJ,EAAE,QAAMxJ,KAAYwJ,EAAE,SAAX,UAAiBA,EAAE,SAAOhK,KAAGgK,EAAE,UAAQR,MAAIQ,EAAE,MAAIF,GACnfE,EAAE,UAAQhK,GAAEO,EAAE,QAAM,KAAI2J,EAAE,QAAM1J,KAAY0J,EAAE,SAAX,UAAiBA,EAAE,SAAOlK,KAAGkK,EAAE,UAAQV,MAAIU,EAAE,MAAIJ,GAAEI,EAAE,UAAQlK,GAAEO,EAAE,QAAM;AAAA,MAAG;AAAC,MAAAE,MAAID,KAAGkL,GAAE5B,CAAC,GAAE9J,IAAEwJ,GAAED,EAAE,WAASzJ,GAAEY,EAAE,KAAK6I,CAAC;AAAA,IAAC;AAAC,WAAA8B,GAAG,IAAI,GAAE5K,IAAEL,EAAE,YAAW,EAAG,YAAWI,IAAEC,EAAE,QAAQD,CAAC,GAAEH,IAAEK,EAAE,IAAI,CAAAkJ,MAAGA,EAAE,KAAK,GAAEtJ,KAAGG,EAAE,OAAOD,GAAE,GAAE,GAAGH,CAAC,GAAE,KAAK,OAAM,KAAII,EAAE,OAAOD,GAAE,GAAE,GAAGH,CAAC,GAAEwJ,EAAEtJ,CAAC,KAAG0S,GAAG1S,GAAEH,GAAEI,GAAEZ,IAAE,CAAC,GAASc;AAAA,EAAC;AAAA,EAAC,iBAAiBL,GAAE;AAAC,QAAIE,IAAEF,MAAI,KAAK,mBAAkB;AAAG,IAAAE,KAAGF,MAAI,KAAK,eAAgB,KAAEwH,EAAE,EAAE;AAAE,QAAIzH,IAAE,KAAK;AAAM,QAAII,IAAEH,EAAE,OAAMI,IAAE,KAAK,QAAOb,IAAEa,EAAE;AAAO,IAAAoL,GAAI,MAAGrL,KAAGkL,GAAEtL,CAAC;AAAE,QAAIE,IAAE8I,EAAC;AAAG,QAAGS,EAAEvJ,CAAC,GAAE;AAAC,UAAII,IAAEJ,EAAE,QACjfR,IAAEQ,EAAE;AAAM,MAAOI,MAAP,QAAUA,EAAE,QAAMF,MAAI6S,GAAG3S,GAAEH,GAAEH,GAAEC,GAAET,CAAC,GAAEU,EAAE,QAAM,KAAWR,MAAP,QAAUA,EAAE,QAAMU,MAAI6S,GAAGvT,GAAES,GAAEH,GAAEC,GAAET,CAAC,GAAEU,EAAE,QAAM;AAAA,IAAG;AAAC,WAAAF,IAAEC,EAAE,QAAO,KAAK,eAAeE,IAAEH,IAAEK,IAAEA,IAAEL,CAAC,GAAEG,IAAE,KAAK,YAAa,GAACF,EAAE,OAAQ,GAAQE;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,WAAM;AAAA,EAAE;AAAC;AACrN,SAASmW,GAAGrW,GAAE;AAAC,MAAIE,IAAUF,EAAE,MAAM,eAAhB,OAA2BD,IAAmBC,EAAE,MAAM,mBAAzB,gBAAwCG,IAAaH,EAAE,MAAM,cAAnB,UAA6BI,IAAgBJ,EAAE,MAAM,mBAAtB,aAAqCT,IAAES,EAAE,MAAM;AAAc,SAAM,EAAC,UAAS,CAAAC,OAAQqJ,EAAErJ,CAAC,MAAWC,KAAGD,EAAE,aAAa,MAAM,GAAEF,KAAGE,EAAE,aAAa,eAAe,GAAEE,KAAGF,EAAE,aAAa,QAAQ,GAAEG,KAAGH,EAAE,aAAa,WAAW,GAAUV,MAAR,SAAWU,EAAE,aAAa,WAAW,GAAYV,MAAV,WAAaU,EAAE,aAAa,aAAa,IAASA,IAAG,MAAK,KAAI;AAAC;AAC5b,SAASkW,GAAGnW,GAAE;AAAC,MAAIE,IAAaF,EAAE,MAAM,eAAnB;AAA8B,SAAM,EAAC,UAAS,CAAAD,OAAIuJ,EAAEvJ,CAAC,KAAG,CAACG,KAAGH,EAAE,aAAa,MAAM,GAASA,IAAG,MAAK,KAAI;AAAC;AAAC,SAASmW,GAAGlW,GAAEE,GAAEH,GAAE;AAAC,SAAAC,IAAEA,EAAE,eAAa,IAAS,CAACD,KAAG,KAAK,KAAKC,CAAC,MAAIA,IAAEA,EAAE,QAAQ,WAAU,GAAG,GAAMA,EAAE,KAAI,EAAG,WAAb,KAAqB,EAAC,MAAK,KAAI,IAAE,EAAC,MAAKoM,GAAEpM,CAAC,EAAC;AAAC;AAAC,IAAIsW,KAAG,EAAC,MAAK,QAAO,IAAG,UAAS,GAAE,UAAS,QAAO,QAAO,GAAE,YAAW;AAAE,SAASF,GAAGpW,GAAE;AAAC,MAAIE,IAAEoW,GAAGtW,EAAE,SAAS,YAAa;AAAE,SAAgBE,MAAT,SAAW,EAAC,MAAK,KAAI,IAAE,EAAC,UAAS,CAAAH,OAAIuJ,EAAEvJ,CAAC,KAAGA,EAAE,aAAaG,CAAC,GAASH,IAAG,MAAK,KAAI;AAAC;AACvd,SAASqM,GAAEpM,IAAE,IAAG;AAAC,SAAO,IAAIiW,GAAGjW,CAAC;AAAC;AAAC,SAASsJ,EAAEtJ,GAAE;AAAC,SAAOA,aAAaiW;AAAE;AACtE,MAAMM,WAAWhB,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAW;AAAA,EAAC,OAAO,MAAMvV,GAAE;AAAC,WAAO,IAAIuW,GAAGvW,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,GAAG;AAAE,WAAAF,IAAEuM,GAAGvM,EAAE,OAAM,WAAW,GAAWA,MAAT,UAAYE,EAAE,UAAU,IAAI,GAAGF,CAAC,GAASE;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,GAAE,OAAK,EAAC,YAAWsW,IAAG,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,UAAUxW,GAAE;AAA4F,QAA1F,EAAC,SAAQA,EAAC,IAAE,MAAM,UAAUA,CAAC,GAAGA,KAAG,KAAK,QAAS,KAAEA,EAAE,OAAO,SAAS,cAAc,IAAI,CAAC,GAAKA,GAAE;AAAC,UAAIE,IAAE,KAAK;AAAgB,MAAAF,EAAE,MAAM,YAAUE,IAAKA,IAAE,KAAK,aAAY,OAAGF,EAAE,MAAIE,IAAEA,IAAE,KAAK,aAC1e,IAAEA,MAAIF,EAAE,MAAM,aAAW,GAAG,KAAGE;AAAA,IAAM;AAAC,WAAM,EAAC,SAAQF,EAAC;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWA,GAAE;AAAC,QAAIE,IAAEqR,GAAE;AAAG,WAAArR,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,cAAa,MAAK,aAAY,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIF,IAAEuR,GAAI,GAACrR,IAAE,KAAK;AAAe,WAAAF,EAAE,aAAaE,CAAC,GAAE,KAAK,YAAYF,CAAC,GAASA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAE,KAAK,YAAW;AAAG,QAAOA,EAAE,WAAN,KAAcsJ,EAAEtJ,EAAE,EAAE,KAAQA,EAAE,GAAG,eAAgB,EAAC,KAAI,MAA/B,IAAkC;AAAC,UAAU,KAAK,eAAc,MAA1B;AAA6B,eAAO,KAAK,WAAU,GAAG,KAAK,OAAQ,GAC9f;AAAG,UAAU,KAAK,mBAAkB,MAA9B;AAAiC,eAAO,KAAK,kBAAiB,KAAK,OAAM,GAAG;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,SAASwW,KAAI;AAAC,SAAM,EAAC,MAAKjF,GAAI,EAAA;AAAC;AAAC,SAASA,KAAI;AAAC,SAAO,IAAIgF;AAAE;AAC1J,SAAS5C,GAAG3T,GAAEE,GAAEH,GAAEI,GAAE;AAAC,MAAIC,IAAEJ,EAAE;AAAa,EAAAI,EAAE,MAAK,GAAGJ,EAAE,eAAayV,GAAE,GAAGzV,EAAE,sBAAoBG,GAAEH,EAAE,kBAAgB,MAAKA,EAAE,aAAW,GAAEA,EAAE,gBAAgB,MAAK,GAAGA,EAAE,eAAa,oBAAI,OAAIA,EAAE,eAAe,SAAQA,EAAE,mBAAiB,oBAAI,OAAIA,EAAE,cAAY,oBAAI,OAAIA,EAAE,WAAS,CAAA,GAAGG,IAAEH,EAAE,WAAiBG,MAAP,SAAWA,EAAE,WAAU,GAAGH,EAAE,YAAU,OAAaE,MAAP,SAAWA,EAAE,cAAY,KAAWH,MAAP,SAAWA,EAAE,cAAY,IAAGK,EAAE,IAAI,QAAOL,CAAC;AAAE;AAClZ,SAAS0W,GAAGzW,GAAE;AAAC,MAAIE,IAAE,oBAAI,OAAIH,IAAE,oBAAI;AAAI,SAAAC,EAAE,QAAQ,CAAAG,MAAG;AAAgE,QAA/DA,IAAQA,EAAE,MAAM,aAAd,OAAwBA,EAAE,MAAM,UAAU,KAAKA,EAAE,KAAK,IAAE,MAAcA,KAAN,QAAS,CAACJ,EAAE,IAAII,CAAC,GAAE;AAAC,MAAAJ,EAAE,IAAII,CAAC;AAAE,UAAIC,IAAED,EAAC;AAAG,MAAOC,MAAP,QAAU,OAAO,KAAKA,CAAC,EAAE,QAAQ,CAAAb,MAAG;AAAC,YAAIU,IAAEC,EAAE,IAAIX,CAAC;AAAE,QAASU,MAAT,WAAaA,IAAE,CAAA,GAAGC,EAAE,IAAIX,GAAEU,CAAC,IAAGA,EAAE,KAAKG,EAAEb,EAAE;AAAA,MAAC,CAAC;AAAA,IAAC;AAAA,EAAC,CAAC,GAASW;AAAC;AAC1Q,MAAMwW,GAAE;AAAA,EAAC,YAAY1W,GAAEE,GAAEH,GAAEI,GAAEC,GAAEb,GAAE;AAAC,SAAK,gBAAcW,GAAE,KAAK,eAAa,MAAK,KAAK,eAAaF,GAAE,KAAK,kBAAgB,KAAK,sBAAoB,MAAK,KAAK,YAAU,CAAE,GAAC,KAAK,eAAa,oBAAI,OAAI,KAAK,WAAS,CAAA,GAAG,KAAK,YAAU,IAAG,KAAK,aAAW,EAAC,WAAU,oBAAI,OAAI,UAAS,oBAAI,OAAI,UAAS,oBAAI,OAAI,MAAK,oBAAI,OAAI,aAAY,oBAAI,OAAI,QAAO,oBAAI,MAAG,GAAE,KAAK,YAAU,oBAAI,OAAI,KAAK,UAAQG,GAAE,KAAK,SAAOJ,GAAE,KAAK,cAAY,CAAE,GAAC,KAAK,qBAAmB,MAAK,KAAK,aAAW,GAAE,KAAK,kBAAgB,oBAAI,OAAI,KAAK,eACnf,oBAAI,OAAI,KAAK,iBAAe,oBAAI,OAAI,KAAK,mBAAiB,oBAAI,OAAI,KAAK,cAAY,oBAAI,OAAI,KAAK,YAAU,MAAK,KAAK,OAAKkM,MAAK,KAAK,WAAS7L,GAAE,KAAK,mBAAiBb,GAAE,KAAK,YAAU,IAAG,KAAK,YAAU,IAAG,KAAK,UAAQ;AAAA,EAAI;AAAA,EAAC,cAAa;AAAC,WAAa,KAAK,mBAAX;AAAA,EAA0B;AAAA,EAAC,uBAAuBS,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AAAO,WAAAA,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,yBAAyBA,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AAAS,WAAAA,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,0BAA0BA,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AACnf,WAAAA,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,4BAA4BA,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AAAY,WAAAA,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,qBAAqBA,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AAAK,WAAAF,EAAE,KAAK,cAAa,IAAI,GAAEE,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAA,EAAE,MAAK,KAAK,YAAY,GAAEE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,gBAAgBA,GAAEE,GAAEH,GAAE;AAAC,IAASA,MAAT,UAAYyH,EAAE,EAAE;AAAE,QAAIrH,IAAE,KAAK;AAAU,IAAAA,EAAE,IAAIH,CAAC,KAAGG,EAAE,IAAIH,GAAE,CAAC,oBAAI,OAAI,oBAAI,OAAI,oBAAI,OAAI,oBAAI,OAAI,oBAAI,KAAG,CAAC;AAAE,QAAII,IAAED,EAAE,IAAIH,CAAC;AAAE,IAASI,MAAT,UAAYoH,EAAE,EAAE;AAAE,QAAIjI,IAAEa,EAAEL;AAAG,WAAAR,EAAE,IAAIW,CAAC,GAAQ,MAAI;AAAC,MAAAX,EAAE,OAAOW,CAAC,GAAEE,EAAE,MAAM,CAAAH,MAAOA,EAAE,SAAN,CAAU,KAAGE,EAAE,OAAOH,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,yBAAyBA,GAChhBE,GAAE;AAAC,IAAS,KAAK,OAAO,IAAIF,EAAE,QAAS,CAAA,MAApC,UAAuCwH,EAAE,EAAE;AAAE,QAAIzH,IAAE,KAAK,WAAW;AAAS,WAAAA,EAAE,IAAIG,GAAEF,CAAC,GAAQ,MAAI;AAAC,MAAAD,EAAE,OAAOG,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,sBAAsBF,GAAEE,GAAE;AAAC,IAAAF,IAAEA,EAAE,QAAO;AAAG,QAAID,IAAE,KAAK,OAAO,IAAIC,CAAC;AAAE,IAASD,MAAT,UAAYyH,EAAE,EAAE;AAAE,QAAIrH,IAAEJ,EAAE;AAAW,WAAAI,EAAE,IAAID,CAAC,GAAE2L,GAAG,MAAK7L,CAAC,GAAQ,MAAI;AAAC,MAAAG,EAAE,OAAOD,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,SAASF,GAAE;AAAC,aAAQE,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,UAAIH,IAAEC,EAAEE,GAAG;AAAU,UAAG,CAAC,KAAK,OAAO,IAAIH,CAAC;AAAE,eAAM;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,gBAAgBC,GAAEE,GAAE;AAAC,WAAOuQ,EAAE,MAAKzQ,GAAEE,CAAC;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,WAAO,KAAK;AAAA,EAAW;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK;AAAA,EAAY;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAI;AAAA,EAAC,eAAeF,GAAE;AAAC,QAAIE,IACrhB,KAAK;AAAa,QAAGF,MAAIE,GAAE;AAAC,UAAIE,IAAEmM,GAAG,KAAK,QAAQ,OAAM,MAAM;AAAE,UAAIxM,IAAE,KAAK,uBAAqB,KAAK;AAAgD,UAAnC,KAAK,eAAaC,GAAE2T,GAAG,MAAKzT,GAAEF,GAAED,CAAC,GAAYG,MAAP,MAAS;AAAC,YAAG,CAAC,KAAK,QAAQ,eAAc;AAAsG,cAAjG+P,OAAJ,MAASA,MAASA,OAAJ,KAAQ/P,EAAE,cAAc,oBAAoB,mBAAkB8Q,EAAE,IAAGjR,IAAEG,EAAE,iBAA0BH,KAAP,MAAqB;AAAC,gBAAUA,EAAE,kBAAT,MAAuB;AAAC,kBAAII,IAAE6L,GAAGjM,CAAC;AAAE,cAAAI,IAAEA,EAAEA,EAAE,SAAO,GAAG,MAAK4Q,GAAG,IAAI5Q,CAAC,MAAIJ,KAAGgR,GAAG,OAAO5Q,CAAC;AAAA,YAAC;AAAM,cAAA4Q,GAAG,OAAOhR,EAAE,IAAI;AAAE,YAAAG,EAAE,kBAAgB;AAAA,UAAI;AAAS,eAARH,IAAE+Q,GAAG5Q,CAAC,GAAMC,IAAE,GAAEA,IAAEJ,EAAE,QAAOI;AAAI,YAAAJ,EAAEI,GAAI;AAAC,UAAAD,EAAE,wBAC9e,CAAA;AAAA,QAAE;AAAC,QAAME,KAAN,QAASF,EAAE,UAAU,OAAO,GAAGE,CAAC;AAAA,MAAC;AAAC,MAAOJ,MAAP,QAAUD,KAAGA,IAAEC,EAAE,kBAAgBD,EAAE,eAAa,MAAKI,IAAEH,EAAE,OAAMG,EAAE,aAAW,QAAOA,EAAE,aAAW,YAAWA,EAAE,YAAU,cAAaH,EAAE,aAAa,uBAAsB,MAAM,GAAE,KAAK,UAAQD,GAAE,KAAK,aAAW,GAAEqK,GAAG,IAAI,GAAE,KAAK,YAAY,IAAI,eAAe,GAAEqJ,GAAG,IAAI,GAAE,KAAK,QAAQ,iBAAevC,GAAGlR,GAAE,IAAI,GAAQI,KAAN,QAASJ,EAAE,UAAU,IAAI,GAAGI,CAAC,KAAG,KAAK,UAAQ,MAAK0U,GAAG,QAAO,MAAK,IAAG9U,GAAEE,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,gBAAgBF,GAAE;AAAC,WAAO,KAAK,aAAa,IAAIA,CAAC,KAAG;AAAA,EAAI;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK;AAAA,EAAY;AAAA,EAAC,eAAeA,GAClhBE,GAAE;AAAC,IAAAF,EAAE,QAAS,KAAEwH,EAAE,EAAE,GAAE2C,GAAG,IAAI;AAAE,QAAIpK,IAAE,KAAK,qBAAoBI,IAAE,KAAK;AAAY,IAAAD,IAAWA,MAAT,SAAWA,EAAE,MAAI,MAAYH,MAAP,QAAUA,EAAE,QAAS,MAASG,KAAN,QAASC,EAAE,IAAID,CAAC,GAAEuT,GAAG,IAAI,IAAG,KAAK,sBAAoBzT,GAAE,KAAK,aAAW,GAAE,KAAK,eAAe,IAAI,QAAO,EAAE,GAAE,KAAK,kBAAgB,MAAWE,KAAN,QAASC,EAAE,IAAID,CAAC,GAAEuT,GAAG,IAAI;AAAA,EAAC;AAAA,EAAC,iBAAiBzT,GAAEE,GAAE;AAAC,IAAAF,IAAa,OAAOA,KAAlB,WAAoB,KAAK,MAAMA,CAAC,IAAEA;AAAE,QAAID,IAAE0V,MAAKtV,IAAE8S,IAAE7S,IAAEqL,IAAElM,IAAE2T,IAAEjT,IAAE,KAAK,gBAAeI,IAAE,KAAK,cAAaZ,IAAE,KAAK,iBAAgBE,IAAE,KAAK;AAAW,SAAK,iBAAe,oBAAI,OAAI,KAAK,eACze,oBAAI,OAAI,KAAK,kBAAgB,oBAAI,OAAI,KAAK,aAAW,GAAEsT,KAAElT,GAAE0L,KAAE,IAAGyH,KAAE;AAAK,QAAG;AAAC,MAAAK,GAAGvT,EAAE,MAAK,KAAK,MAAM,GAAEE,KAAGA,EAAC,GAAGH,EAAE,YAAU;AAAA,IAAE,UAAC;AAAQ,WAAK,iBAAeE,GAAE,KAAK,eAAaI,GAAE,KAAK,kBAAgBZ,GAAE,KAAK,aAAWE,GAAEsT,KAAE9S,GAAEsL,KAAErL,GAAE8S,KAAE3T;AAAA,IAAC;AAAC,WAAOQ;AAAA,EAAC;AAAA,EAAC,OAAOC,GAAEE,GAAE;AAAC+I,IAAAA,GAAE,MAAKjJ,GAAEE,CAAC;AAAA,EAAC;AAAA,EAAC,MAAMF,GAAEE,IAAE,CAAA,GAAG;AAAC,QAAIH,IAAE,KAAK;AAAa,IAAOA,MAAP,SAAWA,EAAE,aAAa,kBAAiB,KAAK,GAAEkJ,GAAE,MAAK,MAAI;AAAC,UAAI9I,IAAE4I,EAAG,GAAC3I,IAAEwL,GAAI;AAAC,MAAOzL,MAAP,OAASA,EAAE,QAAM,KAAOC,EAAE,sBAAN,MAAwCF,EAAE,qBAAhB,cAAiCE,EAAE,YAAa,IAACA,EAAE,UAAW;AAAA,IAAC,GAAE,EAAC,UAAS,MAAI;AAAC,MAAAL,EAAE,gBAAgB,gBAAgB,GACrhBC,KAAGA,EAAG;AAAA,IAAA,EAAC,CAAC,GAAS,KAAK,wBAAZ,QAAiCD,EAAE,gBAAgB,gBAAgB;AAAA,EAAE;AAAA,EAAC,OAAM;AAAC,QAAIC,IAAE,KAAK;AAAa,IAAOA,MAAP,QAAUA,EAAE,KAAI,GAAGA,IAAEyH,KAAE,OAAO,aAAc,IAAC,MAAYzH,MAAP,QAAUA,EAAE,gBAAe;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK;AAAA,EAAS;AAAA,EAAC,YAAYA,GAAE;AAAC,SAAK,cAAYA,MAAI,KAAK,YAAUA,GAAE8U,GAAG,YAAW,MAAK,IAAG9U,CAAC;AAAA,EAAE;AAAA,EAAC,SAAQ;AAAC,WAAM,EAAC,aAAY,KAAK,aAAa,OAAQ,EAAA;AAAA,EAAC;AAAC;AAAC,MAAM2W,WAAWpB,GAAE;AAAA,EAAC,YAAYvV,GAAEE,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,YAAUF;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAU,GAAG,SAAQ,KAAK,UAAS;AAAA,EAAC;AAAC;AAC3e,SAASgS,GAAGhS,GAAE;AAAC,SAAOA,aAAa2W;AAAE;AAAC,MAAMC,WAAWrB,GAAE;AAAE;AAAA,SAASzD,GAAG9R,GAAE;AAAC,SAAOA,aAAa4W;AAAE;AAAC,MAAMC,WAAWtB,GAAE;AAAA;AAAE,SAASxD,GAAG/R,GAAE;AAAC,SAAOA,aAAa6W;AAAE;AAACC,EAAA,gBAAsB,SAAS9W,GAAE;AAACsL,EAAAA,GAAG,GAACF,GAAC,EAAG,YAAY,IAAIpL,CAAC;AAAC;AAA8B8W,EAAA,uBAAC5E;AAA+B4E,EAAA,uBAACzE;AAA+ByE,EAAA,uBAACvF;AAAgCuF,EAAA,wBAAC,WAAU;AAAC,MAAI9W,IAAE,IAAImR,GAAE,QAAO,GAAE,SAAS,GAAEjR,IAAE,IAAIiR,GAAE,QAAO,GAAE,SAAS;AAAE,SAAO,IAAIO,GAAG1R,GAAEE,GAAE,CAAC;AAAC;AAAE4W,EAAA,kBAAwB1K;AAAE0K,EAAA,oBAA0BpK;AACvcoK,EAAA,6BAAC1N;AAAG0N,EAAA,8BAAoC9J;kBAAyBzB;AAA+BuL,EAAA,wBAAC3K;AAAG2K,EAAA,WAAiBlL;kBAAyB7C;AAAyB+N,EAAA,kBAAC,WAAU;AAAC,MAAI9W,IAAE+I;AAAI,SAAc/I,MAAP,OAAS,KAAGA,EAAE,eAAgB;AAAA;AAAE8W,EAAA,eAAqB/J;iBAAwB,SAAS/M,GAAEE,GAAE;AAAC,MAAIH,IAAEgJ,EAAC;AAAG,SAAOhJ,MAAP,SAAWA,IAAE6L,GAAI,EAAC,UAAS,IAAW7L,EAAE,YAAYC,GAAEE,CAAC;AAAC;AAA0B4W,EAAA,mBAACzN;AAAEyN,EAAA,iBAAuB9M;AACvb8M,EAAA,kCAAwC,SAAS9W,GAAE;AAAC,SAAOgK,EAAEhK,CAAC,KAAGA,EAAE,SAAQ,KAAIqJ,GAAErJ,CAAC,KAAGA,EAAE,SAAQ;AAAE;AAAE8W,EAAA,cAAoBjM;AAA2BiM,EAAA,mBAAChM;AAA2BgM,EAAA,mBAACjG;AAA2BiG,EAAA,mBAAC,SAAS9W,GAAE;AAAC,SAAOA,aAAauW;AAAE;AAAEO,EAAA,oBAA0BtN;AAAEsN,EAAA,cAAoBlK;AAA6BkK,EAAA,sBAAC7J;AAAsB6J,EAAA,cAACxN;AAChUwN,EAAA,eAAC,SAAS9W,GAAE;AAAC,MAAIE,IAAEiL,GAAC;AAAG,MAAIpL,IAAEG,EAAE,WAAUC,IAAEH,EAAE,QAAS;AAAC,EAAAE,IAAEA,EAAE;AAAS,MAAIE,IAAE,CAAE;AAAC,WAAQ,CAAE,EAAAb,CAAC,KAAIW;AAAE,IAAAX,aAAaS,KAAGT,EAAE,WAASY,MAAIJ,KAAGR,EAAE,WAAY,MAAGa,EAAE,KAAKb,CAAC;AAAE,SAAOa;AAAC;AAAE0W,EAAA,oCAA0CvJ;AAAGuJ,EAAA,uBAA6B,SAAS9W,GAAE;AAAC,SAAOuT,GAAGvT,GAAEoL,GAAG,EAAC,MAAM;AAAC;AAAE0L,EAAA,qBAA2BzL;AAAEyL,EAAA,gBAAsB7M;AAAG6M,EAAA,eAAqBxP;AAAGwP,EAAA,mBAAyB,CAAG;AAAAA,EAAA,mBAAyB,CAAA;AAAGA,EAAA,uBAA6B,CAAG;AAAAA,EAAA,wBAA8B,CAAG;AAC1dA,EAAA,gBAACtR;AAAGsR,EAAA,4BAAkC;4BAAkC;AAA+BA,EAAA,wBAAC;AAAEA,EAAA,uBAA6B;AAAiCA,EAAA,0BAAC;sCAA4ClR;AAAuBkR,EAAA,eAAC3P;AAAG2P,EAAA,cAAoB1P;6BAAoC3B;AAA8BqR,EAAA,sBAAC9Q;AAAG8Q,EAAA,sBAA4B/Q;AAC3X+Q,EAAA,kCAAwC,WAAU;AAAC,MAAI9W,IAAE,IAAImR,GAAE,QAAO,GAAE,SAAS,GAAEjR,IAAE,IAAIiR,GAAE,QAAO,GAAE,SAAS;AAAE,SAAO,IAAIQ,GAAG,QAAO3R,GAAEE,CAAC;AAAC;AAAE4W,EAAA,6BAAmC9E;AAAiC8E,EAAA,yBAAChF;AAAGgF,EAAA,4BAAkC/E;AAAsC+E,EAAA,8BAAClF;AAAGkF,EAAA,0BAAgCH;wBAA+BC;AAAGE,EAAA,yBAA+BD;oBAA2B3P;AAA2B4P,EAAA,mBAAC7P;sBAA6BD;AAAuB8P,EAAA,eAAC/P;AAC3e+P,EAAA,gBAAsBxB;AAAGwB,EAAA,cAAoBvB;AAAGuB,EAAA,gBAAsBzP;AAAGyP,EAAA,yBAA+B,CAAG;AAAAA,EAAA,sBAA4BjX;AAAEiX,EAAA,yBAA+B,CAAG;AAAAA,EAAA,4BAAkCpR;AAAGoR,EAAA,2BAAiCnR;AAAiCmR,EAAA,yBAACtQ;AAAiCsQ,EAAA,yBAACzQ;AAAkCyQ,EAAA,0BAAC3Q;AAA+B2Q,EAAA,uBAACvQ;AAAgCuQ,EAAA,wBAACnQ;AAA6BmQ,EAAA,qBAACjQ;AAA4BiQ,EAAA,oBAACrQ;AAA6BqQ,EAAA,qBAAClQ;AAClfkQ,EAAA,uBAA6BvP;AAAGuP,EAAA,oBAA0BpQ;AAA0BoQ,EAAA,kBAAChQ;AAAwBgQ,EAAA,gBAACnB;AAAGmB,EAAA,cAAoB1Q;AAAG0Q,EAAA,gBAAsBxQ;AAAkCwQ,EAAA,0BAAC,CAAA;kBAAyBjR;AAAGiR,EAAA,gBAAsBP;AAAuBO,EAAA,eAAC5Q;AAA8B4Q,EAAA,sBAAChR;AAAGgR,EAAA,WAAiBtB;AAAGsB,EAAA,2BAAiCvR;AAAmBuR,EAAA,WAACb;AAAuBa,EAAA,eAAC7Q;YAAmB;AAAQ6Q,EAAA,gBAAsB,WAAU;AAAC,SAAM;AAAE;AAC9bA,EAAA,eAAC,SAAS9W,GAAE;AAAC,MAAIE,IAAEF,KAAG,CAAA,GAAGD,IAAEmT,IAAE/S,IAAED,EAAE,SAAO,CAAE;AAAC,MAAIE,IAAWJ,MAAT,SAAWD,IAAEG,EAAE,gBAAc,MAAKX,IAAEW,EAAE,iBAAe,IAAGD,IAAEwV,GAAI,GAACpV,IAAEH,EAAE,cAAmBE,MAAP,OAASA,EAAE,QAAQ,YAAU6L,OAAMxM,IAAES,EAAE,aAAYP,IAAE,CAAC6V,IAAGS,IAAGN,IAAGY,IAAG,GAAIrW,EAAE,SAAO,CAAA,CAAG,GAAER,IAAEQ,EAAE;AAA4C,MAApCA,IAAWA,EAAE,aAAX,SAAoBA,EAAE,WAAS,IAAeF,MAAT,UAAmBD,MAAP;AAAS,IAAAC,IAAED,EAAE;AAAA;AAAY,SAAIC,IAAE,oBAAI,OAAID,IAAE,GAAEA,IAAEJ,EAAE,QAAOI,KAAI;AAAC,UAAIH,IAAED,EAAEI,IAAGD,IAAEF,EAAE,QAAS;AAAC,MAAAI,EAAE,IAAIF,GAAE,EAAC,OAAMF,GAAE,YAAW,oBAAI,MAAG,CAAC;AAAA,IAAC;AAAC,SAAAO,IAAE,IAAIuW,GAAGzW,GAAEG,GAAEJ,GAAE,EAAC,eAAcT,GAAE,WAAUc,GAAE,OAAMF,EAAC,GAAET,KAAI,QAAQ,OAAM+W,GAAGzW,CAAC,GAAEE,CAAC,GAC/eT,MADif,WAC7eU,EAAE,sBAAoBV,GAAEU,EAAE,aAAW,IAAUA;AAAC;ACrLpD,MAAM4W,KAAiFvX;AACvF,IAAAwX,IAAiBD,ICFA3W,KAAEZ,IAAiDD,KAAE0X,GAAmBhX,KAAEiX,GAAiBvX,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,MAAmDM,GAAE,kBAAgBA,GAAE;AAAU,IAAIL,KAAE,EAAC,KAAI,gBAAe;AAC5R,SAASC,GAAEG,GAAED,GAAE;AAAC,MAAUA,MAAP;AAAS,QAAYA,MAAT;AAAW,MAAAC,EAAE,OAAO,MAAI;AAAC,YAAIE,IAAEX,GAAE;AAAW,YAAGW,EAAE,WAAU;AAAC,cAAIC,IAAEZ,GAAE,qBAAoB;AAAG,UAAAW,EAAE,OAAOC,CAAC,GAAED,IAAE,SAAS,gBAAsBX,GAAE,oBAAT,QAAiCW,MAAP,QAAUA,MAAIF,EAAE,qBAAmBG,EAAE;QAAQ;AAAA,MAAC,GAAEP,EAAC;AAAA,aAAiBG,MAAP;AAAS,cAAO,OAAOA;AAAA,aAAQ;AAAS,cAAIG,IAAEF,EAAE,iBAAiBD,CAAC;AAAE,UAAAC,EAAE,eAAeE,GAAEN,EAAC;AAAE;AAAA,aAAW;AAAS,UAAAI,EAAE,eAAeD,GAAEH,EAAC;AAAE;AAAA,aAAW;AAAW,UAAAI,EAAE,OAAO,MAAI;AAACT,YAAAA,GAAE,SAAU,EAAC,QAAS,KAAEQ,EAAEC,CAAC;AAAA,UAAC,GAAEJ,EAAC;AAAA;AAAA;AAAE;AACvauX,GAAA,kBAAC,SAAS,EAAC,eAAcnX,GAAE,UAASD,EAAC,GAAE;AAAC,MAAIG,IAAED,GAAE,QAAQ,MAAI;AAAC,UAAM,EAAC,OAAME,GAAE,WAAUE,GAAE,oBAAmBP,GAAE,OAAM0H,GAAE,SAAQC,GAAE,aAAYE,EAAC,IAAE3H,GAAEkJ,IAAE9I,GAAE,6BAA6B,MAAKD,CAAC;AAAE,QAAIV,IAAEK,KAAG;AAAK,QAAUL,MAAP,MAAS;AAAC,YAAMC,IAAEH,GAAE,aAAa,EAAC,UAAS,IAAG,WAAUc,GAAE,OAAMmH,GAAE,SAAQ,CAAA2B,MAAG1B,EAAE0B,GAAEzJ,CAAC,GAAE,OAAMS,EAAC,CAAC;AAAEN,MAAAA,GAAEH,GAAEiI,CAAC,GAAElI,IAAEC;AAAA,IAAC;AAAC,WAAM,CAACD,GAAEyJ,CAAC;AAAA,EAAC,GAAE,EAAE;AAAEvJ,SAAAA,GAAE,MAAI;AAAC,QAAIQ,IAAEH,EAAE,UAAS,CAACK,CAAC,IAAEH;AAAE,IAAAG,EAAE,YAAqBF,MAAT,SAAWA,IAAE,EAAE;AAAA,EAAC,GAAE,CAAA,CAAE,GAASF,GAAE,cAAcG,GAAE,uBAAuB,UAAS,EAAC,OAAMF,EAAC,GAAEH,CAAC;AAAC;ACDle,MAAMqX,KAAiG5X;AACvG,IAAA6X,KAAiBD,sBCFA1X,KAAEF;AAAmB,SAASI,GAAEI,GAAE;AAAC,QAAM,MAAM,2BAA2BA,gDAAgDA,iHAAoH;AAAE;AAAC,SAASH,GAAEG,GAAEE,GAAE;AAAC,SAAKF,MAAIN,GAAE,SAAU,KAAQM,KAAN,QAAS;AAAC,QAAGE,EAAEF,CAAC;AAAE,aAAOA;AAAE,IAAAA,IAAEA,EAAE,UAAS;AAAA,EAAE;AAAC,SAAO;AAAI;AAC/V,SAASF,GAAEE,GAAEE,GAAEC,GAAEZ,GAAEa,GAAE;AAAC,MAAIL,IAAEI,EAAE,OAAO,IAAIH,EAAE,MAAM;AAAE,EAASD,MAAT,UAAYH,GAAE,CAAC;AAAE,WAAQS,KAAKL,GAAE;AAAC,QAAIP,IAAEO,EAAEK;AAAG,QAASZ,KAAN,QAAoB,OAAOA,KAAlB,aAAsBA,IAAEA,EAAE,aAAkBA,KAAN,OAAS;AAAC,UAAIQ,IAAEP,GAAE,aAAa,EAAC,WAAUD,EAAE,UAAS,CAAC;AAAE,MAAAQ,EAAE,SAAOE,EAAE,QAAOF,EAAE,gBAAcE,EAAE,eAAcF,EAAE,sBAAoBuH,GAAEvH,GAAER,CAAC,GAAEO,EAAEK,KAAGJ;AAAA,IAAC;AAAA,EAAC;AAAsG,MAArGF,IAAEA,EAAE,OAAMM,IAAEL,EAAE,OAAMA,EAAE,QAAM,QAAOD,IAAEA,EAAE,MAAMC,CAAC,GAAEA,EAAE,QAAMK,GAAEA,IAAEN,EAAE,OAAMK,EAAE,SAAS,IAAIC,GAAEN,CAAC,GAAEA,EAAE,WAASR,GAAKG,GAAE,eAAeK,CAAC,GAAE;AAAgB,SAAfR,IAAES,EAAE,YAAeP,IAAE,GAAEA,IAAEF,EAAE,QAAOE;AAAI,MAAAQ,IAAEC,EAAE,IAAIX,EAAEE,EAAE,GAAWQ,MAAT,WAAaA,IAAEH,GAAEG,GAAEC,GAAEC,GAAEE,GAAED,CAAC,EAAE,OAAML,EAAE,WAAW,KAAKE,CAAC;AACtgB,IAAAF,EAAE,WAASC,EAAE,UAASD,EAAE,WAASC,EAAE,UAASD,EAAE,QAAMC,EAAE;AAAA,EAAK;AAAMN,IAAAA,GAAE,YAAYK,CAAC,MAAIA,EAAE,WAASC,EAAE,UAASD,EAAE,UAAQC,EAAE,SAAQD,EAAE,SAAOC,EAAE,QAAOD,EAAE,WAASC,EAAE;AAAU,SAAOD;AAAC;AAC/K,SAAS0H,GAAEzH,GAAEE,GAAE;AAAC,MAAIC,IAAED,EAAE,aAAa,aAAYX,IAAE,oBAAI,OAAIa,IAAE,IAAID,EAAEZ,CAAC,GAAEQ,IAAE,IAAI,IAAIC,EAAE,QAAQ,GAAEK,IAAEN,EAAE,IAAI,MAAM;AAAE,EAAAC,IAAEE,EAAE;AAAU,MAAG;AAAC,IAAAA,EAAE,YAAU,IAAGA,EAAE,OAAO,MAAI;AAAC,UAAIT,IAAES,EAAE,gBAAeD,IAAEC,EAAE,cAAaP,IAAEO,EAAE;AAAW,MAAAA,EAAE,iBAAe,oBAAI,OAAIA,EAAE,eAAa,oBAAI,OAAIA,EAAE,aAAW;AAAE,UAAG;AAACJ,QAAAA,GAAEO,GAAEN,GAAEG,GAAE,MAAKE,CAAC;AAAA,MAAC,UAAC;AAAQ,QAAAF,EAAE,iBAAeT,GAAES,EAAE,eAAaD,GAAEC,EAAE,aAAWP;AAAA,MAAC;AAAA,IAAC,CAAC;AAAA,EAAC,UAAC;AAAQ,IAAAO,EAAE,YAAUF;AAAA,EAAC;AAAC,SAAAI,EAAE,YAAU,IAAUA;AAAC;AAAC,SAASoH,GAAExH,GAAEE,GAAE;AAAC,SAAAA,IAAa,OAAOA,KAAlB,WAAoB,KAAK,MAAMA,CAAC,IAAEA,GAASuH,GAAEvH,GAAEF,CAAC;AAAC;AACxcsX,GAAA,OAAC,SAAStX,GAAEE,GAAE;AAAC,MAAIC,IAAE,CAAA;AAAG,EAAAH,KAAGA,KAAGN,GAAE,SAAQ,GAAI,UAAS,GAAGQ,IAAEA,MAAIR,GAAE,eAAeM,CAAC,IAAEA,EAAE,sBAAoBA;AAAG,WAAQT,IAAES,GAAEI,IAAE,IAAUb,IAAEA,EAAE,iBAAZ;AAA0B,IAAAa;AAAI,OAAIb,IAAEa,GAASJ,MAAP,QAAU,CAACA,EAAE,GAAGE,CAAC;AAAG,QAAGC,EAAE,KAAK,EAAC,OAAMZ,GAAE,MAAKS,EAAC,CAAC,GAAEN,GAAE,eAAeM,CAAC,KAAG,IAAEA,EAAE;AAAkB,MAAAA,IAAEA,EAAE,cAAa,GAAGT;AAAA;AAAS,WAAIa,IAAE,MAAYA,MAAP,QAAiBJ,MAAP;AAAU,QAAAI,IAAEJ,EAAE,eAAgB,GAAQI,MAAP,QAAUJ,IAAEA,EAAE,UAAW,GAACT,OAAKS,IAAEI;AAAE,SAAOJ,MAAP,QAAUA,EAAE,GAAGE,CAAC,KAAGC,EAAE,KAAK,EAAC,OAAMZ,GAAE,MAAKS,EAAC,CAAC,GAASG;AAAC;AAAEmX,GAAA,sBAA4BzX;AAC9cyX,GAAA,yCAA+C,SAAStX,GAAE;AAAC,SAAAA,IAAEH,GAAEG,GAAE,CAAAE,MAAGR,GAAE,eAAeQ,CAAC,KAAG,CAACA,EAAE,SAAU,CAAA,GAAER,GAAE,eAAeM,CAAC,KAAGJ,GAAE,CAAC,GAASI;AAAC;AAAEsX,GAAA,wBAA8B,SAAStX,GAAEE,GAAE;AAAC,SAAWF,KAAN,QAAS;AAAC,QAAGA,aAAaE;AAAE,aAAOF;AAAE,IAAAA,IAAEA,EAAE;EAAW;AAAC,SAAO;AAAI;AAC7NsX,GAAA,2BAAC,SAAStX,GAAE;AAAC,MAAIE,IAAER,GAAE,cAAe;AAACA,SAAAA,GAAE,kBAAkBQ,CAAC,IAAEA,EAAE,MAAM,QAAS,EAAC,0BAAyB,EAAG,YAAYF,CAAC,IAAEN,GAAE,iBAAiBQ,CAAC,KAAGR,GAAE,4BAA4BQ,CAAC,KAAGA,IAAEA,EAAE,SAAQ,GAAGA,EAAEA,EAAE,SAAO,GAAG,4BAA4B,YAAYF,CAAC,KAAGN,GAAE,SAAU,EAAC,OAAOM,CAAC,GAAEE,IAAER,GAAE,qBAAsB,GAACM,EAAE,YAAYE,CAAC,GAAEA,EAAE,OAAM,GAAUF,EAAE,UAAS;AAAE;AAC7XsX,GAAA,sBAA4B,SAAStX,GAAEE,GAAE;AAAC,MAAIC,IAAE,IAAI,IAAID,EAAE,QAAQ,GAAEX,IAAES,EAAE;AAAoB,EAAAT,MAAIA,EAAE,WAASY,IAAGH,EAAE,aAAW,GAAEA,IAAEE,EAAE,YAAWR,GAAE,cAAqBM,MAAP,OAAS,OAAKA,EAAE,OAAO;AAAC;AAAEsX,GAAA,qBAA2B,SAAStX,GAAEE,GAAE;AAAC,SAAAA,IAAEA,KAAIF,EAAE,QAAQE,CAAC,GAAEA,EAAE,OAAOF,CAAC,GAASE;AAAC;AAAgCoX,GAAA,yBAAC,SAAStX,MAAKE,GAAE;AAAC,EAAAA,EAAE,QAAQ,CAAAC,MAAG;AAAC,IAAW,OAAOA,KAAlB,aAAsBA,IAAEA,EAAE,MAAM,GAAG,EAAE,OAAO,CAAAZ,MAAQA,MAAL,EAAM,GAAES,EAAE,UAAU,IAAI,GAAGG,CAAC;AAAA,EAAE,CAAC;AAAC;AAAEmX,GAAA,gBAAsB,YAAYtX,GAAE;AAAC,SAAM,MAAI;AAAC,IAAAA,EAAE,QAAQ,CAAAE,MAAGA,EAAG,CAAA;AAAA,EAAC;AAAC;AACpboX,GAAA,gCAAC,SAAStX,GAAEE,GAAEC,GAAEZ,GAAE;AAAC,SAAOS,EAAE,sBAAsBE,GAAE,CAAAE,MAAG;AAAC,IAAAJ,GAAE;AAAuB,eAAlBD,IAAEK,EAAE,YAAa,GAASC,IAAE,GAAEA,IAAEN,EAAE,QAAOM;AAAI,YAAGN,EAAEM,cAAaH,GAAE;AAAC,UAAAH,IAAE;AAAK,gBAAMC;AAAA,QAAC;AAAC,WAAID,IAAEK,GAASL,MAAP;AAAU,YAAGM,IAAEN,GAAEA,IAAEA,EAAE,UAAS,GAAGA,aAAaG,GAAE;AAAC,UAAAH,IAAE,EAAC,OAAMM,GAAE,QAAON,EAAC;AAAE,gBAAMC;AAAA,QAAC;AAAC,MAAAD,IAAE;AAAA,IAAI;AAAC,QAAUA,MAAP,MAAS;AAAC,YAAM,EAAC,OAAMN,GAAE,QAAOQ,EAAC,IAAEF;AAAE,UAAGN,EAAE,GAAGW,CAAC,GAAE;AAA0D,YAAzDb,EAAEU,GAAEG,CAAC,GAAEA,IAAEX,EAAE,mBAAkBM,IAAEK,EAAE,QAAOH,EAAE,YAAYR,CAAC,GAASM,MAAJ,GAAM;AAAC,UAAAM,IAAEF,EAAEF,CAAC,GAAER,EAAE,YAAYY,CAAC;AAAE,mBAAQV,IAAE,GAAEA,IAAEI,GAAEJ;AAAI,YAAAU,EAAE,OAAOD,EAAET,EAAE;AAAA,QAAC;AAAC,QAAAM,EAAE,WAAY,KAAMA,EAAE,gBAAiB,MAAvB,KAAyBA,EAAE,OAAM;AAAA,MAAE;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAC3fqX,GAAA,8BAAoC,SAAStX,MAAKE,GAAE;AAAC,EAAAA,EAAE,QAAQ,CAAAC,MAAG;AAAC,IAAW,OAAOA,KAAlB,YAAqBH,EAAE,UAAU,OAAO,GAAGG,EAAE,MAAM,GAAG,CAAC;AAAA,EAAC,CAAC;AAAC;2CAAgDqH;ACR7K,MAAM+P,KAA2F/X;AACjG,IAAAgY,KAAiBD,ICFAlX,IAAEb,GAAmBC,KAAEwX;AAA0B,SAAStX,GAAEK,GAAE;AAAC,QAAM,MAAM,2BAA2BA,gDAAgDA,iHAAoH;AAAE;AAAC,SAASJ,GAAEI,GAAE;AAAC,MAAIE,IAAE;AAAE,OAAIF,IAAEA,EAAE,UAAW,GAAOA,KAAN,QAAS;AAAC,QAAGH,EAAEG,CAAC,GAAE;AAAiB,UAAhBA,IAAEA,EAAE,UAAW,GAAIF,EAAEE,CAAC,GAAE;AAAC,QAAAE,KAAIF,IAAEA,EAAE,UAAW;AAAC;AAAA,MAAQ;AAACL,MAAAA,GAAE,EAAE;AAAA,IAAC;AAAC;AAAA,EAAK;AAAC,SAAOO;AAAC;AACra,SAASsH,GAAExH,GAAE;AAAC,EAAAA,IAAEA,EAAE,UAAW,GAACF,EAAEE,CAAC,KAAGL,GAAE,EAAE;AAAE,MAAIO,IAAEF;AAAE,SAAYE,MAAP;AAAU,IAAAA,IAAEA,EAAE,UAAS,GAAGJ,EAAEI,CAAC,MAAIF,IAAEE;AAAG,SAAOF;AAAC;AAAC,SAASyH,GAAEzH,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,EAAAF,IAAEA,EAAE,YAAW,EAAG,OAAOH,CAAC;AAAE,WAAQE,IAAE,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,QAAII,IAAEH,EAAED,IAAGK,IAAED,EAAE,cAAe;AAACL,IAAAA,EAAEM,CAAC,IAAEF,IAAEA,EAAE,OAAOuH,GAAErH,CAAC,CAAC,IAAEF,EAAE,KAAKC,CAAC;AAAA,EAAC;AAAC,SAAOD;AAAC;AAAC,SAASyH,GAAE3H,GAAE;AAAC,SAAOH,EAAEG,CAAC,KAAGF,EAAEE,EAAE,cAAe,CAAA;AAAC;AAAC,SAASkJ,GAAElJ,GAAE;AAAC,SAAWA,EAAE,eAAgB,KAAxB,QAAgCA,EAAE,mBAAoB,KAA5B,QAA8B;AAAC,QAAIE,IAAEF,EAAE,UAAW;AAAC,QAASE,KAAN,QAAS,CAACL,EAAEG,CAAC,KAAG,CAACF,EAAEE,CAAC;AAAE;AAAM,IAAAA,IAAEE;AAAA,EAAC;AAAC,EAAAF,EAAE,OAAM;AAAE;AAAC,SAASmJ,GAAEnJ,GAAE;AAAC,SAAOyJ,GAAG,EAAC,OAAOzJ,CAAC;AAAC;AAC7d,SAASiJ,GAAEjJ,GAAEE,GAAE;AAAC,SAAOL,EAAEG,CAAC,MAAQE,EAAE,WAAN,KAAkBA,EAAE,WAAN,KAAcF,EAAE,GAAGE,EAAE,EAAE,KAAOF,EAAE,gBAAiB,MAAvB;AAAwB;AAAC,SAASqJ,GAAErJ,GAAEE,GAAE;AAAC,EAAAF,EAAE,OAAOA,EAAE,gBAAe,GAAG,GAAEE,CAAC;AAAC;AAChJ,SAASoJ,GAAEtJ,GAAEE,GAAE;AAAC,MAAGJ,EAAEE,CAAC;AAAE,WAAOA;AAAE,MAAID,IAAEC,EAAE,mBAAkB,GAAGG,IAAEH,EAAE,kBAAiBI,IAAEqJ,GAAC;AAAkF,SAA/ErJ,EAAE,UAAUJ,EAAE,cAAa,CAAE,GAAEI,EAAE,UAAUJ,EAAE,UAAW,CAAA,GAAEqJ,GAAEjJ,GAAEJ,EAAE,YAAW,CAAE,GAAKF,EAAEC,CAAC,KAAGG,MAAIH,EAAE,YAAW,KAAUA,EAAE,OAAOK,CAAC,GAAEJ,EAAE,OAAQ,GAACF,EAAEK,CAAC,KAAGD,MAAIC,EAAE,YAAa,MAAGkJ,GAAEtJ,GAAEI,EAAE,YAAa,CAAA,GAAEA,EAAE,OAAM,IAAIJ,KAAKD,EAAEK,CAAC,KAAGD,MAAIC,EAAE,iBAAqBA,EAAE,qBAAsB,EAAC,aAAaC,CAAC,GAAEJ,EAAE,OAAM,GAAGG,MAAED,IAAE2J,GAAE3J,CAAC,GAAEA,EAAE,OAAOE,CAAC,GAAEJ,EAAE,QAAQE,CAAC,GAAEsJ,GAAEtJ,CAAC,GAASA;AAAC;AACza,SAASsJ,GAAExJ,GAAEE,GAAE;AAAsB,MAArBF,IAAEE,KAAGF,EAAE,YAAW,GAAeA,MAAT;AAAW,SAAIE,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,UAAIX,IAAES,EAAEE;AAAG,UAAGL,EAAEN,CAAC,GAAE;AAAC,YAAIU,IAAEV,EAAE,SAAU;AAAC,YAAIQ,IAAER,GAAEY,IAAEJ,EAAE,aAAYK,IAAE;AAAiE,aAAzDD,KAAN,SAAUL,EAAEK,CAAC,IAAEC,IAAED,EAAE,aAAWR,GAAE,EAAE,IAAGI,IAAEA,EAAE,oBAAqB,GAAKI,IAAE,GAAEA,IAAEJ,EAAE,QAAOI,KAAI;AAAC,cAAIT,IAAEK,EAAEI;AAAGN,UAAAA,EAAEH,CAAC,KAAG,CAACI,EAAEJ,EAAE,cAAa,CAAE,KAAGU;AAAA,QAAG;AAAC,QAAAH,MAAIG,KAAGb,EAAE,SAASa,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC;AACvS,SAAS4J,GAAEhK,GAAE;AAAC,MAAIE,IAAE,oBAAI;AAAI,EAAAF,EAAE,QAAQ,CAAAD,MAAG;AAAC,QAAG,CAAC4H,GAAE5H,CAAC,KAAG,CAACG,EAAE,IAAIH,EAAE,OAAQ,CAAA,GAAE;AAAC,UAAII,IAAEJ,EAAE,UAAW,GAACK,IAAEL,EAAE,eAAc,GAAGR,IAAEQ,EAAE,mBAAoB;AAAC,UAAG4H,GAAEvH,CAAC,KAAGuH,GAAEpI,CAAC;AAAE,QAAAA,IAAEA,EAAE,cAAe,GAACO,EAAEP,CAAC,MAAIA,EAAE,OAAOQ,CAAC,GAAEA,IAAEK,EAAE,cAAa,GAAGN,EAAEC,CAAC,MAAIA,IAAEA,EAAE,YAAW,GAAGsJ,GAAE9J,GAAEQ,CAAC,GAAEK,EAAE,OAAM,GAAGF,EAAE,IAAIE,EAAE,OAAM,CAAE,IAAGoJ,GAAEjK,CAAC;AAAA,eAAWoI,GAAEvH,CAAC;AAAE,QAAAA,IAAEA,EAAE,cAAa,GAAGN,EAAEM,CAAC,MAAIb,IAAEa,EAAE,cAAa,GAAUb,MAAP,QAAUA,EAAE,aAAaQ,CAAC,GAAEyJ,GAAEpJ,CAAC;AAAA,eAAWuH,GAAEpI,CAAC;AAAE,QAAAa,IAAEb,EAAE,cAAe,GAACO,EAAEM,CAAC,MAAIA,EAAE,OAAOL,CAAC,GAAEyJ,GAAEpJ,CAAC;AAAA,eAAWN,EAAEK,CAAC,GAAE;AAAC,YAAIF,IAAEwJ,GAAG,GAAC/J,IAAEmK,GAAE1J,EAAE,YAAW,CAAE;AAAE,QAAAF,EAAE,OAAOP,CAAC,GAAEA,EAAE,OAAOK,CAAC,GAAER,IACpfA,EAAE,YAAYU,CAAC,IAAEG,IAAEA,EAAE,aAAaH,CAAC,IAAEE,EAAE,OAAOF,CAAC;AAAA,MAAC;AAACH,MAAAA,EAAEK,CAAC,KAAGqJ,GAAErJ,CAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAC9D,SAASgL,GAAEnL,GAAE;AAAC,EAAAA,EAAE,QAAQ,CAAAE,MAAG;AAAC,QAAG,CAACyH,GAAEzH,CAAC,GAAE;AAAC,UAAIH,IAAEG,EAAE,UAAS,GAAGC,IAAEJ,IAAEA,EAAE,UAAS,IAAG,QAAOK,IAAED,IAAEA,EAAE,UAAS,IAAG;AAAO,UAAGL,EAAEM,CAAC,KAAGP,EAAEM,CAAC,KAAGL,EAAEC,CAAC,GAAE;AAAC,YAAIR,IAAEQ,IAAEA,EAAE,cAAe,IAAC,QAAOE,IAAEF,IAAEA,EAAE,aAAc,IAAC;AAAO,YAAGG,EAAE,GAAGX,CAAC;AAAE,UAAAY,EAAE,aAAaD,CAAC,GAAEH,EAAE,QAAO,KAAII,EAAE,OAAQ;AAAA,iBAASD,EAAE,GAAGD,CAAC;AAAE,UAAAE,EAAE,YAAYD,CAAC,GAAEH,EAAE,QAAS,KAAEI,EAAE,OAAM;AAAA,aAAO;AAAC,cAAIT,IAAEK,EAAE,YAAW;AAAG,UAAAR,IAAEkK,GAAC;AAAG,cAAIV,IAAEc,GAAEnK,CAAC;AAAE,UAAAH,EAAE,OAAOwJ,CAAC,GAAE7I,EAAE,oBAAmB,EAAG,QAAQ,CAAAqJ,MAAGR,EAAE,OAAOQ,CAAC,CAAC,GAAEtJ,IAAEwJ,GAAC,GAAG/J,IAAEmK,GAAEnK,CAAC,GAAEO,EAAE,OAAOP,CAAC,GAAE2J,GAAE3J,GAAEQ,EAAE,gBAAiB,CAAA,GAAEC,EAAE,aAAaZ,CAAC,GAAEY,EAAE,YAAYF,CAAC,GAAEE,EAAE,QAAQD,CAAC;AAAA,QAAC;AAACsJ,QAAAA,GAAEzJ,CAAC,GACzfyJ,GAAEpJ,CAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAAC,SAASgL,GAAEpL,GAAE;AAAC,MAAIE,IAAEG,EAAE,cAAe;AAAC,MAAGA,EAAE,kBAAkBH,CAAC,GAAE;AAAC,QAAIH,IAAEG,EAAE,YAAWC,IAAE,CAAE;AAA0C,QAArCJ,EAAE,WAAN,KAAcA,EAAE,KAAKG,EAAE,OAAO,SAAS,GAASH,EAAE,WAAN,GAAa;AAAC,MAAAC,GAAE;AAAC,aAAID,IAAEA,EAAE,IAAUA,MAAP,QAAU;AAAC,cAAGF,EAAEE,CAAC;AAAE,kBAAMC;AAAE,UAAAD,IAAEA,EAAE,UAAS;AAAA,QAAE;AAAC,QAAAA,IAAE;AAAA,MAAI;AAAC,MAAOA,MAAP,SAAWI,IAAE,CAACJ,CAAC;AAAA,IAAE,OAAK;AAAW,WAAVI,IAAE,oBAAI,OAAQD,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,YAAIE,IAAEL,EAAEG;AAAGL,QAAAA,EAAEO,CAAC,KAAGD,EAAE,IAAIC,CAAC;AAAA,MAAC;AAAC,MAAAD,IAAE,MAAM,KAAKA,CAAC;AAAA,IAAC;AAAC,QAAEA,EAAE,WAAoBH,MAAX,WAAagK,GAAE7J,CAAC,IAAEgL,GAAEhL,CAAC;AAAA,EAAE;AAAC;AACpW,MAAMkL,WAAUhL,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAU;AAAA,EAAC,OAAO,MAAML,GAAE;AAAC,WAAO,IAAIqL,GAAErL,EAAE,SAAQA,EAAE,WAAUA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,GAAEH,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,UAAiBC,MAAT,SAAW,IAAEA,GAAE,KAAK,YAAUE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,IAAI,GAAEH,IAAE,KAAK,UAAS;AAAGD,WAAAA,EAAEC,CAAC,MAAIyJ,GAAEzJ,CAAC,GAAEuL,GAAEpL,GAAE,MAAK,MAAKH,CAAC,IAAGG,EAAE,QAAM,KAAK,SAAQqL,GAAErL,GAAEF,EAAE,OAAM,IAAI,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK;AAAYL,WAAAA,EAAEK,CAAC,MAAIqJ,GAAErJ,CAAC,GAAEmL,GAAEpL,GAAE,MAAKF,GAAEG,CAAC,IAAGD,EAAE,QAAM,KAAK,SAAQqL,GAAErL,GAAEH,EAAE,OAAM,IAAI,GAAQ;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,OAAK;AAAA,MAAC,YAAW0L;AAAAA,MACvf,UAAS;AAAA,IAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWzL,GAAE;AAAC,QAAIE,IAAE,IAAImL,GAAErL,EAAE,OAAMA,EAAE,OAAO;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,SAAQ,KAAK,WAAY,GAAC,MAAK,YAAW,OAAM,KAAK,YAAW,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,aAAQE,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,UAAIH,IAAEC,EAAEE;AAAG,UAAGG,EAAE,eAAeN,CAAC,KAAG,KAAK,aAAaA,CAAC,GAAE;AAAC,YAAII,IAAEJ,EAAE,YAAa;AAAC,aAAK,OAAO,GAAGI,CAAC,GAAEJ,EAAE;MAAQ;AAAM,cAAM,OAAOA,CAAC;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,QAAQC,GAAE;AAAC,QAAGH,EAAEG,CAAC;AAAE,aAAO,MAAM,QAAQA,CAAC;AAAE,QAAIE,IAAE,KAAK,iBAAgB;AACpgB,QAAGJ,EAAEI,CAAC,GAAE;AAAC,UAAIH,IAAEG,EAAE;AAAW,UAAIE,IAAEL,EAAE;AAAO,UAAII,IAAEJ,EAAE,QAAQ,KAAK,KAAK;AAAE,UAAOI,MAAJ;AAAM,QAAAD,EAAE,aAAaF,CAAC;AAAA,eAAUG,MAAIC,IAAE;AAAE,QAAAF,EAAE,YAAYF,CAAC;AAAA,WAAM;AAAC,QAAAD,IAAE8J,GAAE3J,EAAE,YAAW,CAAE;AAAE,YAAIX,IAAEW,EAAE,YAAa;AAAC,aAAIC,KAAG,GAAEA,IAAEC,GAAED;AAAI,UAAAJ,EAAE,OAAOR,EAAEY,EAAE;AAAE,QAAAD,EAAE,YAAYF,CAAC,GAAEA,EAAE,YAAYD,CAAC;AAAA,MAAC;AAAC,WAAK,OAAM,GAAOK,MAAJ,KAAOF,EAAE,OAAQ;AAAA,IAAA;AAAC,WAAOF;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAE;AAAC,QAAIE,IAAE,KAAK,iBAAkB;AAACJ,IAAAA,EAAEI,CAAC,KAAGP,GAAE,EAAE;AAAE,QAAII,IAAE,KAAK,gBAAiB;AAAC,QAAGF,EAAEG,CAAC;AAAE,aAAOE,IAAE,MAAM,YAAYF,CAAC,GAAEA,IAAEA,EAAE,iBAAkB,GAACF,EAAEE,CAAC,KAAGwJ,GAAExJ,CAAC,GAAEE;AAAE,QAAGJ,EAAEE,CAAC,KAAGA,EAAE,YAAW,MAAKE,EAAE,eAAc;AACze,WAD0eA,IAAEF,GAAEA,IAAEA,EAAE,YAAW,GACzfD,IAAEC,EAAE,SAAO,GAAE,KAAGD,GAAEA;AAAI,QAAAG,IAAEF,EAAED,IAAG,KAAK,YAAYG,CAAC;AAAE,aAAOA;AAAA,IAAC;AAAkB,QAAjBA,EAAE,YAAYF,CAAC,GAASD,EAAE,WAAN,GAAa;AAAC,UAAII,IAAE0J,GAAE3J,EAAE,aAAa;AAAE,MAAAH,EAAE,QAAQ,CAAAK,MAAGD,EAAE,OAAOC,CAAC,CAAC,GAAEJ,EAAE,YAAYG,CAAC;AAAA,IAAC;AAAC,WAAOH;AAAA,EAAC;AAAA,EAAC,OAAOA,GAAE;AAAC,QAAIE,IAAE,KAAK;AAAiB,UAAM,OAAOF,CAAC,GAASE,MAAP,SAAWF,IAAEE,EAAE,UAAS,GAAGJ,EAAEE,CAAC,KAAGwJ,GAAExJ,CAAC;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,QAAIA,IAAEyJ,GAAQ,KAAK,aAAX,OAAqB,SAAO,EAAE;AAAE,gBAAK,YAAYzJ,CAAC,GAASA;AAAA,EAAC;AAAA,EAAC,gBAAgBA,GAAE;AAAC,QAAIE,IAAEG,EAAE,qBAAoB;AAAG,SAAK,YAAa,EAAC,QAAQ,CAAAd,MAAGW,EAAE,OAAOX,CAAC,CAAC;AAAE,QAAIQ,IAAE,KAAK,iBAAkB,GAACI,IAAEJ,EAAE,iBAAgB;AAAG,QAAIK,IACtfP,EAAEM,CAAC;AAAE,WAAIJ,EAAE,gBAAe,MAArB,IAAwBK,KAAGL,EAAE,UAASI,EAAE,OAAM,MAAKJ,EAAE,QAAQG,CAAC,GAAEH,IAAEC,EAAE,QAAOA,IAAEA,EAAE,OAAMG,IAAED,EAAE,UAAqBH,EAAE,SAAd,aAAoBA,EAAE,QAAO,EAAG,GAAG,IAAI,KAAGA,EAAE,IAAII,GAAEJ,EAAE,QAAO,SAAS,GAAcC,EAAE,SAAd,aAAoBA,EAAE,QAAS,EAAC,GAAG,IAAI,KAAGA,EAAE,IAAIG,GAAEH,EAAE,QAAO,SAAS,MAAID,EAAE,aAAaG,CAAC,GAAE,KAAK,OAAQ,IAAQ;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,YAAY;AAAA,EAAO;AAAA,EAAC,SAASF,GAAE;AAAC,SAAK,YAAW,EAAG,UAAQA;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK,YAAY;AAAA,EAAS;AAAA,EAAC,WAAWA,GAAE;AAAC,SAAK,cAAc,YAAUA;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,SAAK,WAAW,CAAC,KAAK,SAAS;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIA,IAChhB,KAAK,UAAW;AAAC,QAAUA,MAAP;AAAS,aAAO,KAAK,YAAY;AAAS,IAAAA,IAAEA,EAAE;AAAmB,QAAIE,IAAE;AAAE,WAAKL,EAAEG,CAAC;AAAG,MAAAA,IAAEA,EAAE,mBAAmB,oBAAmBE;AAAI,WAAOA;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,KAAK,UAAW;AAAC,WAAKA,MAAIF;AAAG,MAAAE,IAAEF,KAAGgK,GAAE,CAAC,IAAI,CAAC,GAAE9J,QAAMiL,GAAE,CAAC,IAAI,CAAC,GAAEjL;AAAK,WAAO;AAAA,EAAI;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAaF,GAAE;AAAC,QAAGH,EAAEG,CAAC,GAAE;AAAC,UAAIE,IAAE,KAAK,iBAAkB;AAAC,UAAGJ,EAAEI,CAAC,GAAE;AAAC,YAAIH,IAAE,KAAK,gBAAiB;AAACyJ,QAAAA,GAAEtJ,GAAEH,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAO,MAAM,aAAaC,CAAC;AAAA,EAAC;AAAA,EAAC,eAAeA,GAAE;AAAC,WAAOH,EAAEG,CAAC;AAAA,EAAC;AAAA,EAAC,eAAeA,GAAE;AAAC,WAAOH,EAAEG,CAAC;AAAA,EAAC;AAAA,EAAC,aAAaA,GAAE;AAAC,WAAOK,EAAE,iBAAiBL,CAAC,KAC7fH,EAAEG,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAiBA,GAAEE,GAAE;AAAC,QAAG,CAACG,EAAE,kBAAkBH,CAAC;AAAE,aAAM;AAAG,IAAAF,IAAEE,EAAE,OAAO,QAAS;AAAC,QAAIH,IAAEG,EAAE,MAAM,QAAO;AAAG,WAAO,KAAK,WAAWF,CAAC,KAAG,KAAK,WAAWD,CAAC,KAAG,KAAK,iBAAiB,WAASG,EAAE,eAAc,EAAG;AAAA,EAAM;AAAC;AACpN,SAASqL,GAAEvL,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAE,IAAGC,IAAE,CAAA;AAAG,MAAIb,KAAGW,IAAEA,EAAE,QAAMA,EAAE,WAAS;AAAO,MAAGA,KAAGA,EAAE;AAAO,QAAID,IAAEC,EAAE,OAAO;AAAmD,MAAjCX,MAAT,WAAaA,IAAEA,EAAE,MAAM,GAAG,GAAEY,EAAE,KAAK,GAAGZ,CAAC,IAAMW,GAAE;AAAC,IAAAX,IAAEQ,EAAE,UAAW,GAACR,IAAEO,EAAEP,CAAC,KAAaA,EAAE,YAAa,MAAzB;AAA0B,QAAIG,IAAEK,EAAE,WAAY;AAAC,IAAAR,KAAG,CAACG,KAAGU,EAAE,KAAKF,EAAE,iBAAiB,GAAEX,KAAGG,KAAGU,EAAE,KAAKF,EAAE,eAAe,GAAEX,KAAGY,EAAE,KAAKT,IAAEQ,EAAE,kBAAgBA,EAAE,iBAAiB;AAAA,EAAC;AAAC,EAASD,MAAT,WAAaA,IAAEA,EAAE,MAAM,GAAG,GAAEF,EAAE,cAAc,KAAK,CAAAL,MAAGI,EAAEJ,CAAC,CAAC,IAAES,EAAE,KAAK,GAAGF,CAAC,IAAEG,EAAE,KAAK,GAAGH,CAAC,IAAG,IAAEG,EAAE,UAAQX,GAAE,4BAA4BO,GAAE,GAAGI,CAAC,GAAE,IAAED,EAAE,UAAQV,GAAE;AAAA,IAAuBO;AAAA,IACngB,GAAGG;AAAA,EAAC;AAAC;AAAC,SAASmL,GAAEtL,GAAEE,GAAEH,GAAEI,GAAE;AAAC,EAAUA,EAAE,YAAW,MAAvB,UAA0BL,EAAEI,EAAE,cAAa,CAAE,KAAGF,EAAE,gBAAgB,MAAM,GAAEA,EAAE,gBAAgB,UAAU,GAAEA,EAAE,gBAAgB,cAAc,MAAIA,EAAE,aAAa,QAAO,UAAU,GAAEA,EAAE,aAAa,YAAW,IAAI,GAAED,KAAGG,EAAE,cAAYH,EAAE,aAAWC,EAAE,aAAa,gBAAeE,EAAE,WAAY,IAAC,SAAO,OAAO,KAASA,EAAE,WAAU,KAAlB,QAAsBA,EAAE,WAAW,MAAM;AAAC;AAAC,SAASuL,KAAG;AAAC,SAAM,EAAC,MAAKhC,GAAC,EAAE;AAAC;AAAC,SAASA,GAAEzJ,GAAE;AAAC,SAAO,IAAIqL,GAAE,QAAOrL,CAAC;AAAC;AAAC,SAASH,EAAEG,GAAE;AAAC,SAAOA,aAAaqL;AAAC;AACrd,MAAMe,WAAU/L,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,MAAML,GAAE;AAAC,WAAO,IAAIoM,GAAEpM,EAAE,cAAY4M,GAAE5M,EAAE,QAAOA,EAAE,SAAQA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,GAAEH,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,aAAWC,IAAE4M,GAAE5M,MAAIA,GAAE,KAAK,QAAiBA,MAAX,WAAa,OAAK,MAAK,KAAK,UAAQE;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAK;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK;AAAA,EAAU;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK;AAAA,EAAO;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,KAAK,KAAK;AAAE,WAAI,KAAK,YAAT,KAAkBA,EAAE,aAAa,SAAQ,OAAO,KAAK,OAAO,CAAC,GAAEA,EAAE,oBAAkB,KAAK,YAAWuN,GAAEvN,GAAEF,EAAE,OAAM,IAAI,GAC7eE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAEH,GAAE;AAAC,WAAGC,EAAE,UAAQ,KAAK,QAAY,MAAGyN,GAAEvN,GAAEH,EAAE,OAAM,IAAI,GAAQ;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,OAAK,EAAC,YAAW2N,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAW1N,GAAE;AAAC,QAAIE,IAAE2J,GAAE7J,EAAE,UAASA,EAAE,KAAK;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,UAAS,KAAK,YAAW,GAAG,OAAM,KAAK,YAAW,KAAI,KAAK,OAAQ,GAAC,MAAK,QAAO,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,UAAUF,GAAE;AAAC,aAAQD,IAC9f,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,UAAIG,IAAEF,EAAED;AAAG,UAAGF,EAAEK,CAAC;AAAE,cAAM,OAAOA,CAAC;AAAA,WAAM;AAAC,YAAIC,IAAEsJ,GAAC;AAAG3J,QAAAA,EAAEI,CAAC,KAAcG,EAAE,eAAeH,CAAC,MAAGA,IAAEG,EAAE,gBAAgBH,EAAE,eAAgB,CAAA,IAAEC,EAAE,OAAOD,CAAC,GAAe,MAAM,OAAOC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,iBAAiBH,GAAE;AAAC,WAAOH,EAAEG,CAAC;AAAA,EAAC;AAAC;AACxO,SAASyN,GAAEzN,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAE,CAAA,GAAGC,IAAE,CAAE;AAAC,MAAIb,IAAEW,EAAE;AAAK,MAAYX,MAAT,QAAW;AAAC,QAAIG,IAAEH,EAAE,GAAGQ,EAAE,iBAAe,CAAA;AAAG,IAAAG,IAAEN,GAAEG,CAAC,IAAE;AAAE,QAAIgJ,IAAE7I,IAAER,EAAE;AAAO,QAAIO,IAAEP,EAAEqJ;AAAG,QAAIQ,IAAEhK,EAAEQ,EAAE,QAAO4J;AAAkE,QAAhEpK,IAAEA,EAAE,QAAgBA,MAAT,UAAYA,EAAE,SAAOoK,IAAEpK,EAAE,OAAegK,MAAT,UAAYpJ,EAAE,KAAKoJ,CAAC,GAActJ,MAAT;AAAW,WAAIA,IAAEA,EAAE,MAAM,GAAG,GAAEE,EAAE,KAAK,GAAGF,CAAC,GAAEA,IAAE,GAAEA,IAAEP,EAAE,QAAOO;AAAI,QAAAA,MAAI8I,KAAG3I,EAAE,KAAKL,EAAE,QAAME,CAAC;AAAE,IAAS0J,MAAT,WAAa5J,IAAE4J,EAAE,MAAM,GAAG,GAAE,IAAEzJ,IAAEC,EAAE,KAAK,GAAGJ,CAAC,IAAEK,EAAE,KAAK,GAAGL,CAAC;AAAA,EAAE;AAAC,MAAEK,EAAE,UAAQX,GAAE,4BAA4BO,GAAE,GAAGI,CAAC,GAAE,IAAED,EAAE,UAAQV,GAAE,uBAAuBO,GAAE,GAAGG,CAAC;AAAC;AACtc,SAAS2J,GAAE9J,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,WAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,QAAII,IAAEH,EAAED;AAAGF,IAAAA,EAAEM,CAAC,KAAGD,EAAE,KAAKC,CAAC,GAAEA,EAAE,cAAc,QAAQ,CAAAC,MAAG;AAACN,MAAAA,EAAEM,CAAC,KAAGF,EAAE,KAAKiJ,GAAE/I,CAAC,CAAC;AAAA,IAAC,CAAC,KAAGF,EAAE,KAAKiJ,GAAEhJ,CAAC,CAAC;AAAA,EAAC;AAAC,SAAOD;AAAC;AAAC,SAASwN,GAAE1N,GAAE;AAAC,EAAAA,IAAEA,EAAE,SAAS;AAAc,MAAIE,IAAE;AAAK,SAAOF,MAAP,OAASE,IAAE2J,GAAE,QAAQ,IAAS7J,MAAP,SAAWE,IAAE2J,GAAE,QAAQ,IAAS,EAAC,OAAMC,IAAE,MAAK5J,EAAC;AAAC;AAAC,IAAI0M,KAAE,EAAC,IAAG,UAAS,IAAG,SAAQ;AAAE,SAAS/C,GAAE7J,GAAEE,IAAE,GAAE;AAAC,SAAO,IAAIkM,GAAEpM,GAAEE,CAAC;AAAC;AAAC,SAASJ,EAAEE,GAAE;AAAC,SAAOA,aAAaoM;AAAC;AACzX,IAAIuB,KAAEtN,EAAE,cAAc,+BAA+B,GAAEwN,KAAExN,EAAE,cAAc,6BAA6B,GAAEiP,KAAEjP,EAAE,cAAc,2BAA2B,GAAEoQ,KAAEpQ,EAAE,cAAc,qBAAqB;yBAA8BoJ;AAAyBgO,GAAA,kBAAC5N;AAAE4N,GAAA,gBAAsB7X;AAC5O6X,GAAA,6BAAC,WAAU;AAAC,MAAIzX,IAAEK,EAAE,cAAe;AAA4E,MAAxE,CAACA,EAAE,kBAAkBL,CAAC,KAAG,CAACA,EAAE,YAAa,MAAUA,IAAEA,EAAE,OAAO,QAAO,GAAM,CAACH,EAAEG,CAAC,KAAQA,EAAE,qBAAP;AAAwB,WAAM;AAAG,MAAIE,IAAEsH,GAAExH,CAAC,GAAED,IAAEC,EAAE;AAAYF,EAAAA,EAAEC,CAAC,KAAGJ,GAAE,EAAE;AAAE,MAAIQ,IAAEJ,EAAE,aAAYK;AAAE,MAAGC,EAAE,oBAAoBF,CAAC;AAAE,IAAAC,IAAEC,EAAE,qBAAsB,GAACH,EAAE,YAAYE,CAAC;AAAA,WAAUP,EAAEM,CAAC;AAAE,IAAAC,IAAEqJ,GAAG,GAACtJ,EAAE,YAAYC,CAAC;AAAA;AAAO,WAAM;AAAoC,MAAjCA,EAAE,OAAQ,GAACF,IAAEF,EAAE,mBAAqB,IAAEE,EAAE,QAAO;AAAC,QAAIX,IAAEsK,GAAE9J,EAAE,YAAa,CAAA;AAAEM,IAAAA,EAAE,iBAAiBD,CAAC,IAAEA,EAAE,YAAYb,CAAC,KAAGQ,IAAE0J,GAAG,GAAC1J,EAAE,OAAOR,CAAC,GACpfa,EAAE,YAAYL,CAAC,IAAGG,EAAE,QAAQ,CAAAD,MAAG;AAAC,MAAAA,EAAE,UAASV,EAAE,OAAOU,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAACiJ,SAAAA,GAAElJ,CAAC,GAAQ;AAAE;AAAEyX,GAAA,kBAAwB5X;AAAqB4X,GAAA,cAAC3X;+BAAoCwP;AAAEmI,GAAA,8BAAoC5J;mCAAwCF;AAAsB8J,GAAA,eAACpM;cAAmBe;AAAEqL,GAAA,sBAA4BhH;AAAoBgH,GAAA,aAAC,WAAU;AAACrM,EAAAA,GAAE,QAAQ;AAAC;AACzUqM,GAAA,aAAC,SAASzX,GAAEE,GAAE;AAAC,EAAAF,EAAE,OAAO,MAAI;AAAC,QAAID,IAAEM,EAAE,cAAe;AAAC,QAAGA,EAAE,kBAAkBN,CAAC,KAAGM,EAAE,4BAA4BN,CAAC,GAAE;AAAC,UAAII,IAAEJ,EAAE,SAAQ;AAAG,MAAAA,IAAEA,EAAE,OAAO,QAAS;AAAC,UAAIK,IAAEL,EAAE,UAAS;AAAG,UAAGkJ,GAAElJ,GAAEI,CAAC;AAAE,QAAAA,IAAE0J,GAAE3J,CAAC,GAAEG,EAAE,oBAAoBD,CAAC,KAAGL,EAAE,QAAQI,CAAC,GAAEC,IAAEqJ,GAAG,GAACpJ,EAAE,eAAeN,CAAC,MAAIK,EAAE,UAAUL,EAAE,eAAe,GAAEK,EAAE,UAAUL,EAAE,WAAW,IAAGI,EAAE,OAAOC,CAAC,KAAGP,EAAEE,CAAC,MAAIA,IAAEA,EAAE,oBAAmBsJ,GAAElJ,GAAEJ,EAAE,YAAW,CAAE,GAAEA,EAAE,QAAQI,CAAC;AAAA;AAAQ,aAAIJ,IAAE,oBAAI,OAAIK,IAAE,GAAEA,IAAED,EAAE,QAAOC,KAAI;AAAC,cAAIb,IAAEY,EAAEC;AAAG,cAAGC,EAAE,eAAed,CAAC,KAAGA,EAAE,QAAO,KAAI,CAACQ,EAAE,IAAIR,EAAE,QAAQ;AAAE+J,YAAAA;AAAAA,cAAE/J;AAAA,cACzgBW;AAAA,YAAC;AAAA,mBAAUG,EAAE,YAAYd,CAAC;AAAE,iBAAIA,IAAEA,EAAE,UAAW,GAAOA,KAAN,QAAS;AAAC,kBAAIG,IAAEH,EAAE,OAAM;AAAG,kBAAGO,EAAEP,CAAC,GAAE;AAAC,oBAAG,CAACQ,EAAE,IAAIL,CAAC,GAAE;AAAC,sBAAIO,IAAE4J,GAAE3J,CAAC;AAAEmJ,kBAAAA,GAAEpJ,GAAEV,EAAE,YAAW,CAAE,GAAEA,EAAE,QAAQU,CAAC,GAAEuJ,GAAEvJ,CAAC,GAAEF,EAAE,IAAIL,CAAC;AAAA,gBAAC;AAAC;AAAA,cAAK,OAAK;AAAiB,oBAAhBO,IAAEV,EAAE,UAAS,GAAMc,EAAE,oBAAoBJ,CAAC,KAAG,CAACF,EAAE,IAAIL,CAAC,GAAE;AAAC,kBAAAK,EAAE,IAAIL,CAAC,GAAE4J,GAAE/J,GAAEW,CAAC;AAAE;AAAA,gBAAK;AAAC,gBAAAX,IAAEU;AAAA,cAAC;AAAA,YAAC;AAAA,QAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAAEwX,GAAA,cAAoB,WAAU;AAACrM,EAAAA,GAAE,SAAS;AAAC;AAC1RqM,GAAA,aAAC,SAASzX,GAAE;AAAC,EAAAA,EAAE,OAAO,MAAI;AAAC,QAAIE,IAAEG,EAAE,cAAe;AAAC,QAAGA,EAAE,kBAAkBH,CAAC,GAAE;AAAC,UAAIH,IAAE,oBAAI,OAAII,IAAED,EAAE,YAAWE,IAAEF,EAAE,OAAO,QAAS;AAAC,UAAG+I,GAAE7I,GAAED,CAAC;AAAE,QAAAJ,EAAE,IAAIyH,GAAEpH,CAAC,CAAC;AAAA;AAAO,aAAIA,IAAE,GAAEA,IAAED,EAAE,QAAOC,KAAI;AAAC,cAAIb,IAAEY,EAAEC;AAAGC,UAAAA,EAAE,YAAYd,CAAC,MAAIA,IAAEE,GAAE,sBAAsBF,GAAE8L,EAAC,GAAQ9L,KAAN,QAASQ,EAAE,IAAIyH,GAAEjI,CAAC,CAAC;AAAA,QAAE;AAAC,eAAQU,KAAKF,GAAE;AAAC,QAAAA,IAAEE,GAAEE,IAAEsH,GAAExH,CAAC;AAAE,iBAAQP,KAAKS;AAAE,UAAAA,IAAEE,EAAE,qBAAoB,GAAGgJ,GAAElJ,GAAET,EAAE,YAAW,CAAE,GAAEK,EAAE,YAAYI,CAAC,GAAEJ,IAAEI,GAAET,EAAE,UAAQQ,EAAE,OAAO,OAAKA,EAAE,OAAO,IAAIC,EAAE,OAAM,GAAG,GAAE,SAAS,GAAET,EAAE,UAAQQ,EAAE,MAAM,OAAKA,EAAE,MAAM,IAAIC,EAAE,OAAM,GAAG,GAAE,SAAS,GAC7fT,EAAE,OAAM;AAAG,QAAAO,EAAE,OAAQ;AAAA,MAAA;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AC5BzB,MAAMyX,KAAyFlY;AAC/F,IAAAmY,KAAiBD,wCCFAhY,IAAEF;AAAmB,IAAImI,KAAE,oBAAI;AAAI,SAASuB,GAAElJ,GAAE;AAAC,SAAM,EAAC,SAAQA,EAAE,SAAQ,EAAG,IAAI,CAAAE,MAAG;AAAC,UAAMH,IAAEG,EAAE,OAAM;AAAG,WAAAA,IAAEiJ,GAAEjJ,CAAC,GAAQ,CAACH,GAAEG,CAAC;AAAA,EAAC,CAAC,GAAE,OAAM,CAACF,EAAE,OAAO,EAAC;AAAC;AAAC,SAAS+I,GAAE/I,GAAE;AAAC,SAAWA,KAAN,QAAS;AAAC,QAAGA,EAAE,aAAW,KAAK;AAAU,aAAOA;AAAE,IAAAA,IAAEA,EAAE;AAAA,EAAU;AAAC,SAAO;AAAI;AAAC,SAASuJ,GAAEvJ,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAW,MAASE,KAAN;AAAQ,UAAM,MAAM,qBAAqB;AAAE,SAAM,CAACA,GAAE,MAAM,KAAKA,EAAE,UAAU,EAAE,QAAQF,CAAC,CAAC;AAAC;AAC7X,SAASyJ,GAAEzJ,GAAE;AAAC,MAAIE,IAAE,CAAE;AAAC,EAAAF,IAAEA,EAAE,MAAM,GAAG;AAAE,WAAQD,KAAKC;AAAE,QAAQD,MAAL,IAAO;AAAC,UAAI,CAACR,GAAEY,CAAC,IAAEJ,EAAE,MAAM,SAAS;AAAE,MAAAG,EAAEX,EAAE,KAAI,KAAIY,EAAE,KAAI;AAAA,IAAE;AAAC,SAAOD;AAAC;AAAC,SAAS+I,GAAEjJ,GAAE;AAAC,MAAIE,IAAEyH,GAAE,IAAI3H,CAAC;AAAE,SAASE,MAAT,WAAaA,IAAEuJ,GAAEzJ,CAAC,GAAE2H,GAAE,IAAI3H,GAAEE,CAAC,IAAUA;AAAC;AAAC,SAASyJ,GAAE3J,GAAE;AAAC,MAAIE,IAAE;AAAG,WAAQH,KAAKC;AAAE,IAAAD,MAAIG,KAAG,GAAGH,MAAMC,EAAED;AAAO,SAAOG;AAAC;AAAC,SAASoJ,GAAEtJ,GAAE;AAAC,SAAYA,MAAP,QAAU,CAACN,EAAE,oBAAoBM,CAAC,KAAG;AAAC,QAAIE,IAAEF,EAAE,UAAW,GAACD,IAAEC,EAAE,UAAW;AAAC,IAAIE,EAAE,WAAW,WAAjB,KAAyBF,EAAE,OAAO,EAAE,GAAEA,IAAED;AAAA,EAAC;AAAC;AAChZ,SAAS8J,GAAE7J,GAAEE,GAAEH,GAAER,GAAEY,IAAE,MAAK;AAAC,MAAOD,EAAE,WAAN,GAAa;AAAC,QAAIE,IAAEF,EAAE,IAAGG,IAAE,oBAAI,OAAIJ,IAAE,CAAE;AAAC,IAAAG,IAAEV,EAAE,eAAeU,CAAC,IAAEA,IAAEA,EAAE,iBAAgB,GAAGA,EAAE,SAAQ,MAAKA,IAAEA,EAAE,iBAAgB;AAAI,aAAQX,IAAE,IAAUW,MAAP,QAAU;AAAC,UAAIR,IAAEQ,EAAE,mBAAoB;AAAC,UAAUR,MAAP,MAAS;AAAC,QAAAQ,IAAER,GAAEH,IAAE;AAAG;AAAA,MAAK;AAAwB,UAAvBW,IAAEA,EAAE,iBAAkB,GAAIV,EAAE,oBAAoBU,CAAC;AAAE;AAAA,IAAK;AAAC,IAAAR,IAAE,oBAAI;AAAI,aAAQE,IAAE,GAAEA,IAAEC,GAAED,KAAI;AAAC,UAAIH,IAAEO,EAAEJ;AAAGJ,MAAAA,EAAE,eAAeC,CAAC,KAAOA,EAAE,gBAAiB,MAAvB,KAAyBC,EAAE,IAAID,EAAE,OAAQ,CAAA;AAAA,IAAC;AAAC,QAAIE,IAAE,oBAAI;AAAI,SAAIC,IAAE,GAAEA,IAAEC,GAAED,KAAI;AAAC,MAAAH,IAAEO,EAAEJ;AAAG,UAAI0H,IAAE7H,EAAE;AAAsD,UAAnC6H,MAAP,QAAUA,EAAE,SAAQ,MAAKA,IAAEA,EAAE,UAAW,IAChfA,MADqf,QAClf9H,EAAE,YAAYC,CAAC,KAAG,CAACE,EAAE,IAAIF,EAAE,OAAM,CAAE;AAAG,YAAGA,IAAE6H,EAAE,OAAM,GAAYnH,EAAE,IAAIV,CAAC,MAAhB,QAAkB;AAAC,cAAI8H,IAAElI,EAAC;AAAG,UAAAkI,EAAE,UAAUD,EAAE,cAAe,CAAA,GAAEC,EAAE,UAAUD,EAAE,UAAS,CAAE,GAAEvH,EAAE,KAAKwH,CAAC,GAAEpH,EAAE,IAAIV,GAAE8H,CAAC,GAAED,EAAE,YAAW,EAAG,QAAQ,OAAG;AAAC,YAAAC,EAAE,OAAO,CAAC,GAAE5H,EAAE,IAAI,EAAE,OAAQ,CAAA;AAAA,UAAC,CAAC,GAAEyJ,GAAE9B,CAAC;AAAA,QAAC;AAAA;AAAO,QAAA5H,EAAE,IAAID,EAAE,OAAQ,CAAA,MAAI6H,IAAEjI,EAAG,GAACiI,EAAE,UAAU7H,EAAE,cAAa,CAAE,GAAE6H,EAAE,UAAU7H,EAAE,UAAS,CAAE,GAAEM,EAAE,KAAKuH,CAAC,GAAE7H,EAAE,OAAO,EAAE;AAAA,IAAE;AAAC,QAAUQ,MAAP;AAAS,WAAID,IAAE,GAAEA,IAAED,EAAE,QAAOC;AAAI,QAAAC,EAAE,OAAOF,EAAEC,EAAE;AAAE,QAAGR,EAAE,oBAAoBU,CAAC;AAAE,UAAGX;AAAE,YAAUU,MAAP;AAAS,UAAAC,EAAE,YAAYD,CAAC;AAAA;AAAO,eAAIA,IAAEF,EAAE,SAAO,GAAE,KAAGE,GAAEA;AAAI,YAAAC,EAAE,YAAYH,EAAEE,EAAE;AAAA,eACjfD,IAAEE,EAAE,cAAa,GAAGV,EAAE,eAAeQ,CAAC,MAAIE,IAAEF,IAAUA,MAAP;AAAS,YAAGC;AAAE,UAAAC,EAAE,OAAOD,CAAC;AAAA;AAAO,eAAIA,IAAE,GAAEA,IAAEF,EAAE,QAAOE;AAAI,YAAAC,EAAE,OAAOH,EAAEE,EAAE;AAAA,eAAiBA,MAAP;AAAS,QAAAD,EAAE,aAAaC,CAAC;AAAA;AAAO,aAAIC,IAAE,GAAEA,IAAEH,EAAE,QAAOG;AAAI,UAAAF,EAAE,aAAaD,EAAEG,EAAE;AAAA,aAAUD;AAAE,MAAAC,EAAE,YAAYD,CAAC;AAAA;AAAO,WAAIA,IAAEF,EAAE,SAAO,GAAE,KAAGE,GAAEA;AAAI,QAAAC,EAAE,YAAYH,EAAEE,EAAE;AAAE,IAAAF,IAAEP,EAAE,sBAAuB,GAACA,EAAE,kBAAkBO,CAAC,KAAGA,EAAE,OAAO,QAAS,EAAC,WAAU,KAAIA,EAAE,MAAM,QAAS,EAAC,WAAY,IAACP,EAAE,cAAcO,EAAE,MAAO,CAAA,IAAED,EAAE,QAAM;AAAA,EAAE;AAAC;AAAC,SAASwJ,GAAExJ,GAAEE,GAAEH,GAAER,GAAE;AAAC,EAAAS,EAAE,OAAOE,IAAE,WAAS,QAAOH,GAAER,CAAC;AAAC;AAC5e,SAASyK,GAAEhK,GAAE;AAAC,SAAAA,IAAEA,EAAE,OAAO,QAAS,IAAgBN,EAAE,YAAYM,CAAC,IAAEA,IAAEA,EAAE,iBAAgB,GAAI,mBAAlD;AAAgE;AACzG,SAASmL,GAAEnL,GAAEE,GAAEH,GAAER,GAAEY,GAAEC,GAAE;AAAC,WAAQC,IAAEH,GAASF,MAAP,QAAU;AAAC,SAAIE,IAAEF,EAAE,UAAS,GAAUE,MAAP,QAAUA,EAAE,gBAAgB,OAAO;AAAG,MAAAA,IAAEA,EAAE,UAAW;AAAC,QAAUA,MAAP;AAAS;AAAM,QAAG,CAACR,EAAE,eAAeM,CAAC,KAAG,CAACA,EAAE,gBAAgB,OAAO,GAAE;AAAC,UAAIC,IAAED,EAAE,OAAQ,GAACP,IAAEW,EAAE,IAAIH,CAAC,GAAEL,IAAWH,MAAT;AAAuM,UAA5LG,MAAIH,IAAE0J,GAAEnJ,CAAC,GAAEI,EAAE,IAAIH,GAAER,CAAC,IAAG,CAACC,EAAE,YAAYD,CAAC,KAAGA,EAAE,YAAW,KAAIA,EAAE,QAAO,IAAGC,EAAE,eAAeD,CAAC,MAAIA,EAAE,aAAWA,EAAE,WAAW,MAAMF,IAAEc,IAAE,GAAEd,IAAE,UAAQc,KAAG,KAAG,CAAC,KAAGZ,EAAE,SAAOA,EAAE,OAAO,MAAMF,IAAEc,IAAE,GAAEd,IAAEQ,IAAEM,CAAC,GAAKX,EAAE,YAAYQ,CAAC,GAAE;AAAC,QAAAN,KAAGO,EAAE,KAAKF,CAAC;AAAE;AAAA,MAAK;AAAA,IAAC;AAAC,IAAAI,IAAED,EAAE,IAAIF,EAAE,OAAQ,CAAA,GAAEG,IAAEX,EAAE,eAAeW,CAAC,IACvfA,EAAE,WAAW,QAAQL,EAAE,OAAQ,CAAA,IAAEA,EAAE,qBAAoB,GAAGA,IAAEE;AAAA,EAAC;AAAC;AAAC,SAASiJ,GAAEnJ,GAAE;AAAC,EAAAA,IAAEA,EAAE,UAAS;AAAG,MAAIE,IAAEF,EAAE,YAAY,MAAMA,CAAC;AAAwB,SAAtBE,EAAE,WAASF,EAAE,UAAYN,EAAE,eAAeM,CAAC,KAAGN,EAAE,eAAeQ,CAAC,KAASA,EAAE,aAAW,MAAM,KAAKF,EAAE,UAAU,GAAEE,EAAE,WAASF,EAAE,UAASE,EAAE,WAASF,EAAE,UAASE,EAAE,QAAMF,EAAE,OAAME,MAAER,EAAE,YAAYM,CAAC,KAAGN,EAAE,YAAYQ,CAAC,MAAIA,EAAE,WAASF,EAAE,UAASE,EAAE,UAAQF,EAAE,SAAQE,EAAE,SAAOF,EAAE,QAAOE,EAAE,WAASF,EAAE,WAAiBE;AAAC;AACva,SAASkL,GAAEpL,GAAEE,GAAE;AAAC,MAAIH,IAAEkJ,GAAEjJ,EAAE,SAAU,CAAA;AAAE,EAAAE,IAAE,OAAO,QAAQA,CAAC,EAAE,OAAO,CAACX,GAAE,CAACY,GAAEC,CAAC,OAAYA,MAAP,OAAS,OAAOb,EAAEY,KAAGZ,EAAEY,KAAGC,GAASb,IAAG,EAAC,GAAGQ,EAAC,CAAC,GAAEA,IAAE4J,GAAEzJ,CAAC,GAAEF,EAAE,SAASD,CAAC,GAAE4H,GAAE,IAAI5H,GAAEG,CAAC;AAAC;AAAC0X,GAAA,gBAAsB,SAAS5X,GAAE;AAAC,EAAAA,IAAEA,EAAE,SAAU;AAAC,MAAIE,IAAEuJ,GAAEzJ,CAAC;AAAE2H,EAAAA,GAAE,IAAI3H,GAAEE,CAAC;AAAC;AAC3M0X,GAAA,iBAAC,SAAS5X,GAAE;AAAC,MAAIE,IAAE,EAAC,SAAQ,CAAE,GAAC,OAAM,CAAE,EAAA;AAAE,MAAGR,EAAE,kBAAkBM,CAAC,GAAG;AAAC,QAAID,IAAEC,EAAE,QAAOT,IAAES,EAAE;AAAM,QAAI,CAACJ,GAAEE,CAAC,IAAEE,EAAE,oBAAmB;AAAkB,QAAfE,IAAEF,EAAE,SAAQ,GAAUE,EAAE,WAAN,KAAkBA,EAAE,WAAN,KAAcR,EAAE,eAAeQ,EAAE,EAAE,KAAGA,EAAE,GAAG,gBAAgB,OAAO;AAAE,MAAAA,IAAE,EAAC,SAAQ,CAAE,GAAC,OAAM,CAAE,EAAA;AAAA,SAAM;AAAC,MAAAF,IAAEE,EAAE;AAAO,UAAIC,IAAED,EAAE,IAAGE,IAAED,EAAE;AAAY,UAAUC,MAAP,SAAW,CAACA,EAAE,WAAY,KAAEV,EAAE,YAAYU,CAAC,IAAG;AAAC,YAAIC,IAAED,EAAE;AAAW,YAAGC,EAAE,WAASL,GAAE;AAAU,mBAALC,IAAE,IAAWR,IAAE,GAAEA,IAAEY,EAAE,QAAOZ;AAAI,gBAAGY,EAAEZ,OAAKS,EAAET,GAAG,OAAM;AAAC,cAAAQ,IAAE;AAAG;AAAA,YAAK;AAAC,UAAAA,MAAID,KAAIE,EAAE,KAAKE,CAAC;AAAA,QAAE;AAAA,MAAC;AACjZ,WADkZA,IAAEF,EAAEF,IAAE,IAClfD,IAAEA,EAAE,SAASR,CAAC,GAAEA,IAAE,oBAAI,OAAIc,IAAE,CAAE,GAACJ,IAAEP,EAAE,YAAYS,CAAC,KAAOH,MAAJ,GAAMmL,GAAEhL,GAAEJ,IAAEH,IAAEE,GAAEG,IAAEF,IAAED,IAAEF,IAAE,QAAO,IAAGS,GAAEd,CAAC,GAAMY,IAAE,GAAEA,IAAEH,GAAEG,KAAI;AAAC,QAAAV,IAAES,EAAEC;AAAG,YAAIR,IAAEF,EAAE,OAAM;AAAG,YAAG,EAAEF,EAAE,IAAII,CAAC,KAAGD,EAAE,eAAeD,CAAC,KAAGA,EAAE,gBAAgB,OAAO,IAAG;AAAC,cAAII,IAAEsJ,GAAE1J,CAAC;AAAEC,UAAAA,EAAE,YAAYD,EAAE,UAAS,CAAE,KAAGY,EAAE,KAAKZ,EAAE,OAAQ,CAAA,GAAWE,MAAT,UAAYJ,EAAE,IAAII,GAAEE,CAAC;AAAA,QAAC;AAAA,MAAC;AAACsL,MAAAA,GAAE/K,GAAEH,IAAE,SAAOF,IAAED,IAAEF,GAAE,QAAO,IAAGS,GAAEd,CAAC,GAAEW,IAAE,EAAC,SAAQ,MAAM,KAAKX,EAAE,QAAS,CAAA,GAAE,OAAMc,EAAC;AAAA,IAAC;AAAA,EAAC,WAAUX,EAAE,4BAA4BM,CAAC;AAAE,IAAAE,IAAEgJ,GAAElJ,CAAC;AAAA,WAAUN,EAAE,iBAAiBM,CAAC;AAAE,UAAM,MAAM,sLAAsL;AACxnB,SAAOE;AAAC;AAAE0X,GAAA,uBAA6BzO;wCAA6C,SAASnJ,GAAEE,GAAEH,IAAE,IAAG;AAAC,MAAIR,IAAE,MAAKY,IAAEH,EAAE,SAAQ;AAAG,MAAII,IAAEJ,EAAE,QAAOK,IAAEL,EAAE,OAAMC,IAAED,EAAE;AAA+D,OAAlDA,IAAEC,IAAEI,EAAE,SAAOD,EAAE,QAAOA,IAAEH,IAAEI,EAAE,QAAO,IAAGD,EAAE,QAAS,GAAKC,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,QAAIZ,IAAEU,EAAEE;AAAG,SAAQA,MAAJ,KAAWL,MAAJ,KAAO,CAACP,EAAE,GAAGW,CAAC,MAAIV,EAAE,YAAYD,CAAC,GAAE;AAAC,MAAAQ,IAAEC;AAAE,UAAIN,IAAEG;AAA6C,UAA3CN,IAAEA,EAAE,YAAWA,IAAEwJ,GAAExJ,CAAC,GAAEQ,IAASR,MAAP,QAASA,EAAEQ,MAAIL,GAAcL,MAAP;AAAS,QAAAA,IAAEU;AAAA,eAAUV,MAAIU,GAAE;AAAC,QAAAV,IAAE;AAAG;AAAA,MAAK;AAAA,IAAC;AAAA,EAAC;AAAC,SAAcA,MAAP,OAASQ,IAAER;AAAC;AACraqY,GAAA,eAAqB,SAAS5X,GAAE;AAAC,SAAeA,EAAE,SAAX,SAAgBA,EAAE,WAASA,EAAE,UAAU,uBAAqBA,EAAE,WAASA,EAAE,QAAS,EAAC,gBAAiB;AAAA;AAA6B4X,GAAA,sBAAC5N;yBAA8BR;AAAEoO,GAAA,iBAAuB,SAAS5X,GAAEE,GAAEH,GAAE;AAAC,MAAIR,IAAEyK,GAAEhK,CAAC;AAAEwJ,EAAAA,GAAExJ,GAAEE,GAAEH,IAAE,CAACR,IAAEA,GAAE,WAAW;AAAC;AACpRqY,GAAA,kBAAwB,SAAS5X,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,SAAU;AAAC,MAAIT,IAAEQ,EAAE,SAAO,GAAEI,IAAEJ,EAAE,IAAGK,IAAEL,EAAER;AAAG,MAAG,CAACS,EAAE,YAAW,GAAG;AAAC,QAAIK,IAAEL,EAAE,QAAOC,IAAED,EAAE,OAAMP,IAAEU,EAAE,eAAgB,EAAC,QAAOP,IAAEK,EAAE,QAAOH,IAAEO,EAAE,QAAOV,IAAEU,EAAE,SAASJ,CAAC,GAAEJ,IAAEF,IAAEG,IAAEF;AAAE,IAAAI,IAAEL,IAAEC,IAAEE;AAAE,QAAI0H,IAAE7H,IAAEU,EAAE,OAAKJ,EAAE,MAAKwH,IAAE9H,IAAEM,EAAE,OAAKI,EAAE;AAAmG,QAA9FA,IAAEV,IAAEM,EAAE,MAAII,EAAE,KAAIX,EAAE,YAAYS,CAAC,KAAGN,MAAIJ,MAAIQ,IAAEE,EAAE,eAAc,GAAGT,EAAE,YAAYO,CAAC,MAAIJ,IAAEC,IAAE,GAAEK,IAAEF,KAAOE,EAAE,GAAGC,CAAC;AAAEV,MAAAA,EAAE,YAAYS,CAAC,MAAIN,IAAc2H,MAAZ,YAAc,IAAE1H,IAAEF,IAAEA,IAAEE,GAAEE,IAAcyH,MAAZ,YAAchI,IAAEK,IAAEF,IAAEE,IAAEF,GAAEC,MAAIG,MAAQH,MAAJ,KAAOG,MAAIP,KAAG2L,GAAEjL,GAAED,CAAC,GAAEC,EAAE,OAAON,GAAEG,CAAC,MAAID,IAAEI,EAAE,UAAUN,GAAEG,CAAC,GAAED,IAChfF,MADkf,IAChfE,EAAE,KAAGA,EAAE,IAAGqL,GAAErL,GAAEG,CAAC,GAAEH,EAAE,OAAO,GAAEC,IAAEH,CAAC;AAAA;AAAU,WAAIH,EAAE,YAAYS,CAAC,KAAGN,IAAEM,EAAE,yBAA2BN,MAAJ,MAAQM,IAAEA,EAAE,UAAUN,CAAC,EAAE,KAAIuL,GAAEjL,GAAED,CAAC,IAAGR,EAAE,YAAYU,CAAC,MAAIP,IAAEO,EAAE,iBAAiB,QAAOA,EAAE,UAAQC,KAAOL,MAAJ,MAAQA,IAAEH,IAAGG,MAAIH,MAAI,CAACO,CAAC,IAAEA,EAAE,UAAUJ,CAAC,IAAOA,MAAJ,KAAOoL,GAAEhL,GAAEF,CAAC,IAAGF,IAAE,GAAEA,IAAET,GAAES;AAAI,QAAAH,IAAEE,EAAEC,IAAGP,IAAEI,EAAE,OAAM,GAAGH,EAAE,YAAYG,CAAC,KAAGJ,MAAIU,EAAE,OAAQ,KAAEV,MAAIW,EAAE,OAAM,KAAI,CAACP,EAAE,QAAO,KAAIuL,GAAEvL,GAAEK,CAAC;AAAA,EAAC;AAAC;AAC5V0X,GAAA,aAAmB,SAAS5X,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAO,EAAAA,IAAEA,EAAE;AAAM,MAAID,IAAEG,EAAE,QAAS,EAAC,0BAAyB,EAAG,iBAAgB;AAAG,MAAIX,IAAEQ,EAAE,mBAAkB;AAAG,EAAAA,IAAEA,EAAE,kBAAmB;AAAC,MAAII,IAAE,WAAUC,IAAE,WAAUC,IAAE;AAAEX,EAAAA,EAAE,YAAYH,CAAC,IAAEY,IAAE,SAAOT,EAAE,eAAeH,CAAC,KAAUA,MAAP,SAAWA,IAAEA,EAAE,iBAAgB,IAAIG,EAAE,YAAYK,CAAC,KAAGK,IAAE,QAAOC,IAAEN,EAAE,mBAAoB,KAAEL,EAAE,eAAeK,CAAC,KAAUA,MAAP,SAAWA,IAAEA,EAAE,iBAAkB,IAAER,KAAGQ,MAAIG,EAAE,IAAIX,EAAE,OAAQ,GAAC,GAAEY,CAAC,GAAEH,EAAE,IAAID,EAAE,UAASM,GAAED,CAAC;AAAE;AAChcwX,GAAA,2CAAiD,SAAS5X,GAAEE,GAAE;AAAC,SAAAF,IAAEN,EAAE,kBAAkBM,EAAE,OAAME,CAAC,GAASR,EAAE,iBAAiBM,CAAC,KAAG,CAACA,EAAE;AAAY;AACxG4X,GAAA,gCAAC,SAAS5X,GAAEE,GAAE;AAAC,MAAGA,EAAE,WAAY,KAAE,CAACA,EAAE,iBAAe,CAACA,EAAE,QAAO,MAAKR,EAAE,kBAAkBM,CAAC,KAAGN,EAAE,4BAA4BM,CAAC,IAAG;AAAC,QAAID,IAAEC,EAAE,OAAO,QAAS,GAACT,IAAES,EAAE,MAAM,QAAS,GAACG,IAAED,EAAE,GAAGH,CAAC,GAAEK,IAAEF,EAAE,GAAGX,CAAC;AAAE,QAAGY,KAAGC,GAAE;AAAC,MAAAD,IAAEH,EAAE,WAAY;AAAC,UAAI,CAACK,GAAEJ,CAAC,IAAED,EAAE,oBAAmB;AAAG,MAAAA,IAAED,EAAE,GAAGR,CAAC,GAAEa,IAAEF,EAAE,GAAGC,IAAEZ,IAAEQ,CAAC,GAAER,IAAEW,EAAE,GAAGC,IAAEJ,IAAER,CAAC,GAAEQ,IAAE;AAAE,UAAIN;AAAS,MAAAO,KAAGD,IAAEM,IAAEJ,IAAEA,IAAEI,GAAEZ,IAAEY,IAAEJ,IAAEI,IAAEJ,KAAGG,KAAGL,IAAEI,IAAEF,IAAEI,GAAEZ,IAAE,UAAQF,MAAIY,IAAEA,IAAEE,IAAEJ,GAAEF,IAAE,GAAEN,IAAEU,IAAGD,EAAE,SAAOA,EAAE,OAAO,MAAMH,GAAEN,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAOS;AAAC;AAC7a0X,GAAA,aAAC,SAAS5X,GAAEE,GAAEH,IAAE,MAAK;AAAC,MAAIR,IAAES,EAAE;AAAW,MAAIG,IAAEZ,EAAE;AAAO,MAAIa,IAAEJ,EAAE;AAAO,MAAOG,MAAJ,KAAWA,MAAJ,KAAmBC,EAAE,SAAd,aAAwBA,EAAE,QAAS,EAAC,gBAAe,MAA/B,GAAkC;AAAC,IAAAJ,IAAWI,EAAE,SAAX,SAAgBA,EAAE,QAAO,EAAG,qBAAmBA,EAAE,QAAS,GAACb,IAAES,EAAE,YAAa;AAAC,QAAIC,IAAEC,EAAC;AAAG,IAAAD,EAAE,UAAUD,EAAE,cAAa,CAAE,GAAEC,EAAE,UAAUD,EAAE,UAAW,CAAA,GAAET,EAAE,QAAQ,CAAAE,MAAGQ,EAAE,OAAOR,CAAC,CAAC,GAAEM,MAAIE,IAAEF,EAAE,OAAOE,CAAC,IAAGD,EAAE,QAAQC,CAAC;AAAA,EAAC,OAAK;AAAC,IAAAG,IAAE;AAAK,QAAIC,IAAE,CAAA;AAAG,aAAQJ,IAAE,GAAEA,IAAEE,GAAEF,KAAI;AAAC,UAAIR,IAAEF,EAAEU;AAAGP,MAAAA,EAAE,oBAAoBD,CAAC,KAAGoK,GAAE7J,GAAEK,GAAEA,EAAE,QAAOH,GAAEH,CAAC,GAAEM,IAAE,CAAA,GAAGD,IAAEX,KAAUW,MAAP,QAAiBA,MAAP,QAAUV,EAAE;AAAA,QAAaD;AAAA,QAC9fW;AAAA,MAAC,IAAEC,EAAE,KAAKZ,CAAC,KAAGoK,GAAE7J,GAAEK,GAAEA,EAAE,QAAOH,GAAEH,CAAC,GAAEM,IAAE,CAACZ,CAAC;AAAA,IAAE;AAACoK,IAAAA,GAAE7J,GAAEK,GAAEA,EAAE,QAAOH,GAAEH,CAAC;AAAA,EAAC;AAAC;AAAE6X,GAAA,iBAAuB/N;AAChE+N,GAAA,iBAAC,SAAS5X,GAAEE,GAAEH,GAAER,GAAEY,GAAE;AAAC,MAAIC,IAAEF,EAAE,OAAQ,GAACG,IAAEd,EAAE,OAAQ,GAACU,IAAE,SAAS,YAAa,GAACR,IAAEO,EAAE,gBAAgBI,CAAC;AAA+E,MAA7EJ,IAAEA,EAAE,gBAAgBK,CAAC,GAAEX,EAAE,YAAYQ,CAAC,MAAIT,IAAEsJ,GAAEtJ,CAAC,IAAGC,EAAE,YAAYH,CAAC,MAAIS,IAAE+I,GAAE/I,CAAC,IAAeE,MAAT,UAAqBX,MAAT,UAAmBE,MAAP,QAAiBO,MAAP;AAAS,WAAO;AAAK,EAAOP,EAAE,aAAT,SAAoB,CAACA,GAAEM,CAAC,IAAEwJ,GAAE9J,CAAC,IAAUO,EAAE,aAAT,SAAoB,CAACA,GAAEG,CAAC,IAAEoJ,GAAEvJ,CAAC,IAAGE,IAAET,EAAE,YAAWA,MAAIO,KAASE,KAAN,QAAgBA,EAAE,aAAT,QAAuBH,MAAJ,KAAWI,MAAJ,MAAQA,IAAE;AAAG,MAAG;AAAC,IAAAF,EAAE,SAASR,GAAEM,CAAC,GAAEE,EAAE,OAAOD,GAAEG,CAAC;AAAA,EAAC,QAAC;AAAS,WAAO;AAAA,EAAI;AAAC,UAACF,EAAE,aAAWF,MAAII,KAAGC,MAAIC,MAAIJ,EAAE,SAASD,GAAEG,CAAC,GAAEF,EAAE;AAAA,IAAOR;AAAA,IACnfM;AAAA,EAAC,IAAUE;AAAC;AAAiC2X,GAAA,0BAAC,SAAS5X,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAiB,MAAUD,MAAP;AAAS,WAAM,CAAA;AAAG,EAAAC,IAAED,EAAE,yBAAwBA,IAAE,iBAAiBA,CAAC,GAAEA,IAAE,WAAWA,EAAE,WAAW,IAAE,WAAWA,EAAE,YAAY,GAAEG,IAAE,MAAM,KAAKA,EAAE,eAAgB,CAAA;AAAE,MAAIX,IAAEW,EAAE,QAAOC;AAAE,WAAQC,IAAE,GAAEA,IAAEb,GAAEa,KAAI;AAAC,QAAIC,IAAEH,EAAEE,IAAGH,IAAEI,EAAE,QAAMN,MAAIC,EAAE;AAAM,IAAAG,KAAGA,EAAE,QAAME,EAAE,OAAKF,EAAE,SAAOE,EAAE,QAAMF,EAAE,UAAQE,EAAE,SAAOF,EAAE,WAASE,EAAE,UAAQJ,KAAGC,EAAE,OAAOE,KAAI,CAAC,GAAEb,OAAKY,IAAEE;AAAA,EAAC;AAAC,SAAOH;AAAC;AAA+B0X,GAAA,wBAAC3O;AAC1c2O,GAAA,4BAAkC,SAAS5X,GAAEE,GAAEH,GAAE;AAAC,MAAIR,IAAEW,EAAE,QAAO;AAAG,MAAGR,EAAE,eAAeH,CAAC,GAAE;AAAC,QAAIY,IAAEZ,EAAE,qBAAqBW,EAAE,MAAM;AAAE,IAAOC,MAAP,SAAWZ,IAAEY;AAAA,EAAE;AAAC,SAAK,IAAEJ,KAAUR,MAAP,QAAU;AAAC,QAAIa,IAAEb,EAAE,sBAAqBc,IAAE;AAAE,QAAUD,MAAP,MAAS;AAAC,MAAAD,IAAEZ,EAAE,iBAAgB;AAAG,eAAQU,IAAEE,EAAE,mBAAkB,GAAUF,MAAP,QAAU;AAAiB,YAAhBE,IAAEA,EAAE,aAAsBA,MAAP,MAAS;AAAC,UAAAC,IAAE;AAAK;AAAA,QAAK;AAAC,QAAAH,IAAEE,EAAE,mBAAoB;AAAA,MAAA;AAAC,MAAOA,MAAP,SAAWE,IAAEF,EAAE,aAAW,IAAE,GAAEC,IAAEV,EAAE,eAAeO,CAAC,IAAEA,EAAE,sBAAoBA;AAAA,IAAE;AAAC,QAAIR,IAAEF,EAAE,eAAc;AAAG,IAAKE,MAAL,MAAQC,EAAE,eAAeH,CAAC,KAAG,CAACA,EAAE,SAAU,MAAGE,IAAE;AAAA;AAAA,IACjfU,IAAEV,EAAE,QAAOQ,IAAEE,IAAEJ;AAAE,QAAIH,IAAEH,EAAE,MAAM,GAAEQ,CAAC;AAAE,QAAG,CAACP,EAAE,YAAYH,CAAC,KAAGQ,KAAGI;AAAE,MAAAF,IAAEV,EAAE,UAAS,GAAGA,EAAE,OAAM,GAASU,KAAN,QAAaA,EAAE,sBAAN,KAAyBA,EAAE,OAAQ,GAACF,KAAGI,IAAEE,GAAEd,IAAEa;AAAA,SAAM;AAAC,UAAIN,IAAEP,EAAE,OAAM;AAAG,MAAAa,IAAEJ,EAAE,eAAc,EAAG,KAAK,MAAI;AAAC,cAAML,IAAED,EAAE,cAAcI,CAAC;AAAE,eAAOJ,EAAE,YAAYC,CAAC,KAAGA,EAAE,aAAY,IAAGA,EAAE,eAAgB,IAAC;AAAA,MAAI,CAAC,GAASS,MAAP,QAAUA,MAAIX,KAAGM,IAAEL,EAAE,sBAAqB,GAAGS,IAAEZ,GAAEA,EAAE,aAAY,IAAGA,EAAE,eAAea,CAAC,KAAGD,IAAET,EAAE,gBAAgBU,CAAC,GAAEb,EAAE,QAAQY,CAAC,IAAGT,EAAE,kBAAkBK,CAAC,KAAGA,EAAE,YAAW,MAAKA,IAAEA,EAAE,OAAO,QAAOI,EAAE,OAAOJ,GAAEA,CAAC,MAAIR,EAAE,aAAc,KAC7fa,IAAEF,EAAE,QAAMJ,GAAEO,IAAEH,EAAE,QAAOG,IAAEN,MAAIM,IAAEF,IAAGJ,IAAEK,IAAEC,IAAEN,IAAE,GAAEI,IAAEC,IAAEC,IAAEJ,GAAEG,KAAOL,MAAJ,KAAO,CAACA,CAAC,IAAER,EAAE,UAAUQ,GAAEI,CAAC,GAAEJ,EAAE,OAAQ,MAAG,GAAEA,CAAC,IAAER,EAAE,UAAUQ,GAAEI,CAAC,GAAEJ,EAAE,OAAM,OAAMA,IAAEL,EAAE,gBAAgBE,CAAC,GAAEL,EAAE,QAAQQ,CAAC,IAAGA,IAAE;AAAA,IAAC;AAAA,EAAC;AAAC;ACvB/K,MAAM8X,KAAmGrY;AACzG,IAAAsY,KAAiBD,ICFAjY,KAAEJ,IAA8BM,KAAEmX;AACnD,SAASzP,GAAEzH,GAAEI,GAAEE,GAAEH,IAAE,MAAK;AAAC,MAAIE,IAAQF,KAAN,OAAQC,EAAE,WAAY,IAAC,IAAGT,IAAEI,GAAE,eAAeK,CAAC,KAAGA,EAAE,gBAAgB,MAAM;AAAE,MAAIH,IAAEG;AAAE,EAAOD,MAAP,SAAWF,IAAEJ,GAAE,qBAAqBO,CAAC,GAAEH,IAAEF,GAAE,YAAYE,CAAC,KAASE,KAAN,OAAQN,GAAE,8BAA8BM,GAAEF,CAAC,IAAEA;AAAG,MAAIT,IAAEO,GAAE,eAAeE,CAAC,IAAEA,EAAE,YAAa,IAAC,CAAE,GAAC,EAAC,SAAQP,GAAE,OAAMQ,EAAC,IAAED,EAAE,UAAUD,CAAC;AAAE,MAAG,CAACN;AAAE,WAAM;AAAG,MAAIE,IAAE,IAAI;AAAiB,WAAQE,IAAE,GAAEA,IAAEN,EAAE,QAAOM,KAAI;AAAC,QAAI4H,IAAElI,EAAEM,IAAGsJ,IAAE3B,GAAEzH,GAAE0H,GAAE9H,GAAEO,CAAC;AAAE,KAACE,KAAGN,GAAE,eAAeK,CAAC,KAAGgJ,KAAGhJ,EAAE,iBAAiBsH,GAAEvH,GAAE,MAAM,MAAIE,IAAE;AAAA,EAAG;AAAC,SAAAA,KAAG,CAACV,KAAGD,EAAE,OAAOE,CAAC,GAAEU,EAAE,OAAOZ,CAAC,GAAEQ,MAAIF,IAAEE,EAAE;AAAA,IAAKD;AAAA,IAC1fP;AAAA,EAAC,MAAIA,EAAE,YAAYM,CAAC,KAAGM,EAAE,OAAOV,CAAC,GAASS;AAAC;AAAC,IAAIuH,KAAE,oBAAI,IAAI,CAAC,OAAO,CAAC;AACnE,SAASuB,GAAEnJ,GAAEI,GAAEE,IAAE,oBAAI,OAAIH,GAAEE,IAAE,IAAG;AAAC,MAAIV,IAAE,CAAA;AAAG,MAAGiI,GAAE,IAAI5H,EAAE,QAAQ;AAAE,WAAOL;AAAE,MAAIM,IAAE;AAAK,MAAI,EAAC,UAAST,EAAC,IAAEQ,GAAEN,IAAEU,EAAE,iBAAiB,IAAIZ,EAAE,YAAW,CAAE;AAAS,MAAPA,IAAE,MAAiBE,MAAT;AAAW,SAAIQ,KAAKR;AAAE,MAAAA,IAAEQ,EAAEF,CAAC,GAASN,MAAP,SAAkBF,MAAP,QAAUA,EAAE,WAASE,EAAE,cAAYF,IAAEE;AAAG,MAAIQ,KAAGA,IAASV,MAAP,OAASA,EAAE,aAAW,QAAMU,EAAEF,GAAE,QAAOK,CAAC,IAAE;AAAY,MAAPb,IAAE,MAAeU,MAAP,MAAS;AAAoB,QAAnBV,IAAEU,EAAE,OAAMD,IAAEC,EAAE,MAAeD,MAAP,MAAS;AAAC,eAAQ,CAAE,EAAAL,CAAC,KAAIU;AAAE,YAAGL,IAAEL,EAAEK,GAAEE,CAAC,GAAE,CAACF;AAAE;AAAM,MAAAA,KAAGN,EAAE,KAAKM,CAAC;AAAA,IAAC;AAAC,IAAMC,EAAE,YAAR,QAAkBI,EAAE,IAAIN,EAAE,UAASE,EAAE,QAAQ;AAAA,EAAC;AAAqB,OAApBF,IAAEA,EAAE,YAAWG,IAAE,CAAE,GAAKP,IAAE,GAAEA,IAAEI,EAAE,QAAOJ;AAAI,IAAAO,EAAE,KAAK,GAAGgJ;AAAAA,MAAEnJ,EAAEJ;AAAA,MAAGQ;AAAA,MACpf,IAAI,IAAIE,CAAC;AAAA,MAAEL;AAAA,MAAEI,MAASH,KAAGA,EAAE,kBAAX;AAAA,IAAwB,CAAC;AAAE,SAAMV,KAAN,SAAUW,IAAEX,EAAEW,CAAC,IAASF,KAAN,OAAQN,IAAEA,EAAE,OAAOQ,CAAC,IAAEJ,GAAE,eAAeE,CAAC,KAAGA,EAAE,OAAO,GAAGE,CAAC,GAASR;AAAC;AAA+BqY,GAAA,yBAAC,SAAShY,GAAEI,GAAE;AAAC,MAAiB,OAAO,WAArB,OAA6C,OAAO,SAArB;AAA4B,UAAM,MAAM,gJAAgJ;AAAE,MAAIE,IAAE,SAAS,cAAc,KAAK,GAAEH,IAAEJ,GAAE,WAAW,YAAa;AAAC,WAAQM,IAAE,GAAEA,IAAEF,EAAE,QAAOE;AAAIoH,IAAAA,GAAEzH,GAAEG,EAAEE,IAAGC,GAAEF,CAAC;AAAE,SAAOE,EAAE;AAAS;AACxe0X,GAAA,wBAAC,SAAShY,GAAEI,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,EAAAF,IAAEA,EAAE,OAAK,MAAM,KAAKA,EAAE,KAAK,UAAU,IAAE,CAAA;AAAG,MAAID,IAAEC,EAAE;AAAO,WAAQT,IAAE,GAAEA,IAAEQ,GAAER,KAAI;AAAC,QAAIU,IAAED,EAAET;AAAGiI,IAAAA,GAAE,IAAIvH,EAAE,QAAQ,MAAIA,IAAE8I,GAAE9I,GAAEL,CAAC,GAASK,MAAP,SAAWC,IAAEA,EAAE,OAAOD,CAAC;AAAA,EAAG;AAAC,SAAOC;AAAC;ACJ9M,MAAM2X,KAAyFxY;AAC/F,IAAAyY,KAAiBD,ICFA7X,KAAEX,IAAyBI,KAAEqX,IAAyBzP,KAAE0P,IAA8BzP,KAAEyQ,IAA0BzO,IAAE0O;AAAmB,SAASlP,GAAEjJ,GAAE;AAAC,QAAM,MAAM,2BAA2BA,gDAAgDA,iHAAoH;AAAE;AACnX,SAAS2J,GAAE3J,GAAE;AAAC,MAAIE,IAAEuJ,EAAE,cAAe;AAAC,MAASvJ,KAAN;AAAQ,UAAM,MAAM,iCAAiC;AAAE,SAAOuJ,EAAE,kBAAkBvJ,CAAC,KAAGA,EAAE,YAAa,KAAMA,EAAE,SAAQ,EAAG,WAAjB,IAAwB,KAAGC,GAAE,uBAAuBH,GAAEE,CAAC;AAAC;AAAC,SAASmJ,GAAErJ,GAAE;AAAC,MAAIE,IAAEuJ,EAAE,cAAe;AAAC,MAASvJ,KAAN;AAAQ,UAAM,MAAM,iCAAiC;AAAE,SAAOuJ,EAAE,kBAAkBvJ,CAAC,KAAGA,EAAE,YAAa,KAAMA,EAAE,SAAQ,EAAG,WAAjB,IAAwB,OAAK,KAAK,UAAUoJ,GAAEtJ,GAAEE,CAAC,CAAC;AAAC;AAC5Y,SAAS2J,GAAE7J,GAAEE,GAAEH,GAAE;AAAC,GAAC0J,EAAE,4BAA4B1J,CAAC,KAAU0H,GAAE,oBAAoB1H,EAAE,OAAO,QAAO,GAAG,CAAAE,MAAGwJ,EAAE,2BAA2BxJ,CAAC,CAAC,MAAlF,QAA4FwH,GAAE,oBAAoB1H,EAAE,MAAM,WAAU,CAAAE,MAAGwJ,EAAE,2BAA2BxJ,CAAC,CAAC,MAAjF,SAAyFC,EAAE,WAAN,KAAcuJ,EAAE,uBAAuBvJ,EAAE,EAAE,IAAEsJ,GAAEtJ,GAAEH,GAAE,IAAGC,CAAC,IAAEoL,GAAElL,GAAEH,CAAC;AAAC;AAC9R,SAASqL,GAAEpL,GAAEE,GAAE;AAAC,MAAIH,IAAE,IAAGE,IAAE,MAAKG,IAAE;AAAK,WAAQX,IAAE,GAAEA,IAAEO,EAAE,QAAOP,KAAI;AAAC,QAAIF,IAAES,EAAEP;AAAG,QAAGG,GAAE,gBAAgBL,CAAC,GAAE;AAAC,MAAMa,KAAN,SAAUA,IAAER,GAAE,gBAAgB,QAAQ,GAAEG,EAAE,KAAKK,CAAC,IAAGA,EAAE,OAAOb,CAAC;AAAE;AAAA,IAAQ;AAAM,MAAMa,KAAN,SAAUA,IAAE;AAAM,QAAIC,IAAEoJ,EAAE,iBAAiBlK,CAAC;AAAE,QAAGc,KAAGoJ,EAAE,iBAAiBlK,CAAC,KAAGA,EAAE,SAAQ,KAAIkK,EAAE,eAAelK,CAAC,KAAGA,EAAE,SAAU,KAAEkK,EAAE,YAAYlK,CAAC,GAAE;AAAC,UAAUU,MAAP,SAAWA,IAAEwJ,EAAE,qBAAoB,GAAG1J,EAAE,KAAKE,CAAC,GAAEI;AAAG;AAAS,MAAOJ,MAAP,QAAUA,EAAE,OAAOV,CAAC;AAAA,IAAC;AAAM,MAAAQ,EAAE,KAAKR,CAAC,GAAEU,IAAE;AAAA,EAAI;AAACwJ,EAAAA,EAAE,kBAAkBvJ,CAAC,IAAEA,EAAE,YAAYH,CAAC,IAAE0J,EAAE,4BAA4BvJ,CAAC,MACnfF,IAAEE,EAAE,OAAO,QAAO,GAAGuJ,EAAE,2BAA2BzJ,CAAC,KAAGiJ,GAAE,EAAE,GAAEjJ,EAAE,OAAO,GAAGD,CAAC;AAAE;AAC5E,SAASyJ,GAAExJ,GAAEE,GAAEH,GAAEE,GAAE;AAAC,EAAID,EAAE,WAAN,KAAcyJ,EAAE,uBAAuBzJ,EAAE,EAAE,KAAGiJ,GAAE,EAAE;AAAE,MAAI7I,IAAEJ,EAAE;AAAG,EAAAA,IAAEI,EAAE,eAAcL,IAAEK,EAAE,qBAAoB,EAAG;AAAkB,MAAIX,IAAEW,EAAE,gBAAiB,GAACb,IAAEkI,GAAE,oBAAoBvH,EAAE,OAAO,WAAU,CAAAR,MAAG+J,EAAE,2BAA2B/J,CAAC,CAAC;AAAE,EAAAQ,KAAGE,IAAEb,KAAGkI,GAAE,oBAAoBlI,GAAE,CAAAG,MAAG+J,EAAE,0BAA0B/J,CAAC,CAAC,MAAI+H,GAAE,oBAAoBrH,GAAE,CAAAV,MAAG+J,EAAE,uBAAuB/J,CAAC,CAAC,GAAE+J,EAAE,2BAA2BlK,CAAC,KAAGkK,EAAE,0BAA0BrJ,CAAC,KAAGqJ,EAAE,uBAAuBvJ,CAAC,KAAG+I,GAAE,EAAE;AAAE,MAAI5I,IAAED,EAAE,qBAAsB,GAC1fP,IAAE,KAAK,IAAIK,EAAE,gBAAe,IAAG,GAAEG,IAAEZ,IAAE,CAAC;AAAE,EAAAA,IAAEF,EAAE,qBAAsB,GAACA,IAAE,KAAK,IAAIa,EAAE,gBAAiB,IAAC,GAAEX,IAAEM,IAAE,CAAC,GAAEA,IAAE,KAAK,IAAIN,GAAEF,CAAC,GAAEa,IAAE,KAAK,IAAIC,GAAER,CAAC,GAAEJ,IAAE,KAAK,IAAIA,GAAEF,CAAC,GAAEc,IAAE,KAAK,IAAIA,GAAER,CAAC,GAAEA,IAAEK,EAAE,YAAW,GAAGX,IAAE;AAAE,MAAII,GAAEG;AAAE,WAAQJ,IAAEU,GAAEV,KAAGW,GAAEX,KAAI;AAAC,QAAIqJ,IAAElJ,EAAEH;AAAG+J,IAAAA,EAAE,0BAA0BV,CAAC,KAAGE,GAAE,EAAE;AAAE,QAAIM,IAAEvJ,EAAET;AAAGkK,IAAAA,EAAE,0BAA0BF,CAAC,KAAGN,GAAE,EAAE,GAAEF,IAAEA,EAAE,YAAa,GAACQ,IAAEA,EAAE,YAAW;AAAG,QAAIS,IAAE;AAAE,aAAQrC,IAAE5H,GAAE4H,KAAGlI,GAAEkI,KAAI;AAAC,UAAIuB,IAAEH,EAAEpB;AAAG8B,MAAAA,EAAE,2BAA2BP,CAAC,KAAGD,GAAE,EAAE;AAAE,UAAIkC,IAAE5B,EAAES;AAAGP,MAAAA,EAAE,2BAA2B0B,CAAC,KAAGlC,GAAE,EAAE,GAAEvJ,MAAIU,KAAGuH,MAAI5H,IAAEJ,IACpfuJ,EAAE,OAAQ,IAACxJ,MAAIW,KAAGsH,MAAIlI,MAAIK,IAAEoJ,EAAE,OAAM;AAAI,UAAIkD,IAAElD,EAAE,YAAa;AAAC,MAAAiC,EAAE,YAAW,EAAG,QAAQ,CAAAhC,MAAG;AAACM,QAAAA,EAAE,YAAYN,CAAC,KAAGM,EAAE,qBAAsB,EAAC,OAAON,CAAC,GAAED,EAAE,OAAOC,CAAC;AAAA,MAAC,CAAC,GAAEiD,EAAE,QAAQ,CAAAjD,MAAGA,EAAE,OAAQ,CAAA,GAAEa;AAAA,IAAG;AAAC,IAAAzK;AAAA,EAAG;AAAC,EAAAI,KAAGG,MAAIE,IAAEyJ,EAAE,gCAAiC,GAACzJ,EAAE,IAAIE,EAAE,OAAM,GAAGP,GAAEG,CAAC,GAAE2J,EAAE,cAAczJ,CAAC,GAAEC,EAAE,gBAAgBwJ,EAAE,0BAAyB,MAAM;AAAE;AACzU,SAAS4B,GAAErL,GAAEE,GAAEH,GAAEE,IAAE,CAAE,GAAC;AAAC,MAAIG,IAAQF,KAAN,OAAQH,EAAE,WAAU,IAAG,IAAGN,IAAEgK,EAAE,eAAe1J,CAAC,KAAGA,EAAE,gBAAgB,MAAM;AAAE,MAAIR,IAAEQ;AAAE,MAAUG,MAAP,MAAS;AAAC,QAAIG,IAAEmH,GAAE,qBAAqBzH,CAAC;AAAE,IAAAR,IAAEc,IAAEoJ,EAAE,YAAYpJ,CAAC,KAASH,KAAN,OAAQsH,GAAE,8BAA8BtH,GAAEG,CAAC,IAAEA;AAAA,EAAC;AAAC,MAAIR,IAAE4J,EAAE,eAAelK,CAAC,IAAEA,EAAE,YAAW,IAAG,CAAA;AAAG,MAAII,IAAEJ;AAAE,EAAAc,IAAEV,EAAE,cAAaU,EAAE,SAAOV,EAAE,YAAY,QAAO,KAAIsJ,GAAE,EAAE;AAAE,MAAInJ,IAAEO,EAAE;AAA4F,OAAnFoJ,EAAE,eAAe9J,CAAC,MAAI,MAAM,QAAQG,CAAC,KAAGmJ,GAAE,EAAE,IAAGQ,EAAE,YAAYlK,CAAC,MAAIc,EAAE,OAAKd,EAAE,SAAYA,IAAE,GAAEA,IAAEM,EAAE,QAAON;AAAI,IAAAI,IAAEE,EAAEN,IAAGO,IAAEuL,GAAErL,GAAEE,GAAEP,GAAEU,EAAE,QAAQ,GAAE,CAACD,KAAGqJ,EAAE,eAAe1J,CAAC,KAC9fD,KAAGC,EAAE,iBAAiBJ,GAAEO,GAAE,OAAO,MAAIE,IAAE;AAAI,MAAGA,KAAG,CAACX;AAAE,IAAAQ,EAAE,KAAKI,CAAC;AAAA,WAAU,MAAM,QAAQA,EAAE,QAAQ;AAAE,SAAIL,IAAE,GAAEA,IAAEK,EAAE,SAAS,QAAOL;AAAI,MAAAC,EAAE,KAAKI,EAAE,SAASL,EAAE;AAAE,SAAOI;AAAC;AAAC,SAASkJ,GAAEtJ,GAAEE,GAAE;AAAC,MAAIH,IAAE,CAAE,GAACE,IAAEwJ,EAAE,SAAU,EAAC,YAAW;AAAG,WAAQrJ,IAAE,GAAEA,IAAEH,EAAE,QAAOG;AAAIiL,IAAAA,GAAErL,GAAEE,GAAED,EAAEG,IAAGL,CAAC;AAAE,SAAM,EAAC,WAAUC,EAAE,QAAQ,WAAU,OAAMD,EAAC;AAAC;AAAC,SAASuL,GAAEtL,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,WAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,QAAIE,IAAEwJ,EAAE,qBAAqBzJ,EAAED,EAAE;AAAE0J,IAAAA,EAAE,YAAYxJ,CAAC,KAAGuH,GAAE,cAAcvH,CAAC,GAAEC,EAAE,KAAKD,CAAC;AAAA,EAAC;AAAC,SAAOC;AAAC;AAAC,IAAIqL,KAAE;AAChc,SAASE,GAAEzL,GAAEE,GAAE;AAAsC,MAArCA,EAAE,eAAgB,GAACA,IAAEA,EAAE,eAAwBA,MAAP;AAAS,WAAM;AAAG,MAAIH,IAAE0J,EAAE,cAAa,GAAGxJ,IAAE0J,GAAE3J,CAAC;AAAE,EAAAA,IAAEqJ,GAAErJ,CAAC;AAAE,MAAII,IAAE;AAAG,SAAOL,MAAP,SAAWK,IAAEL,EAAE,eAAc,IAAWE,MAAP,QAAUC,EAAE,QAAQ,aAAYD,CAAC,GAASD,MAAP,QAAUE,EAAE,QAAQ,gCAA+BF,CAAC,GAAEE,EAAE,QAAQ,cAAaE,CAAC,GAAQ;AAAE;AAACgY,GAAA,iCAAuC9O;AAAE8O,GAAA,oCAA0C9M;AAAE8M,GAAA,kBAAwBzO;AAAEyO,GAAA,qBAA2B/O;AACzX+O,GAAA,kCAAC,SAASpY,GAAEE,GAAE;AAAC,EAAAF,IAAEA,EAAE,QAAQ,YAAY,GAAQA,KAAN,QAASE,EAAE,cAAcF,CAAC;AAAC;AAC3GoY,GAAA,iCAAuC,SAASpY,GAAEE,GAAEH,GAAE;AAAC,MAAIE,IAAED,EAAE,QAAQ,8BAA8B;AAAE,MAAGC;AAAE,QAAG;AAAC,UAAIR,IAAE,KAAK,MAAMQ,CAAC;AAAE,UAAGR,EAAE,cAAYM,EAAE,QAAQ,aAAW,MAAM,QAAQN,EAAE,KAAK,GAAE;AAAC,YAAIF,IAAE+L,GAAE7L,EAAE,KAAK;AAAE,eAAOoK,GAAE9J,GAAER,GAAEW,CAAC;AAAA,MAAC;AAAA,IAAC,QAAC;AAAA,IAAO;AAAA,MAAGD,IAAED,EAAE,QAAQ,WAAW;AAAE,QAAG;AAAC,UAAII,IAAG,IAAI,YAAW,gBAAgBH,GAAE,WAAW;AAAE,UAAIR,IAAEU,GAAE,sBAAsBJ,GAAEK,CAAC;AAAE,aAAOyJ,GAAE9J,GAAEN,GAAES,CAAC;AAAA,IAAC,QAAC;AAAA;AAAiC,MAA1BF,IAAEA,EAAE,QAAQ,YAAY,GAAWA,KAAN;AAAQ,QAAGyJ,EAAE,kBAAkBvJ,CAAC;AAAE,WAAIF,IAAEA,EAAE,MAAM,OAAO,GAAED,IAAEC,EAAE,QAAOI,IAAE,GAAEA,IAAEL,GAAEK;AAAI,QAAAF,EAAE,WAAWF,EAAEI,EAAE,GACxfA,IAAEL,IAAE,KAAGG,EAAE,gBAAe;AAAA;AAAQ,MAAAA,EAAE,cAAcF,CAAC;AAAC;AAAEoY,GAAA,wBAA8BvO;AAClFuO,GAAA,gCAAsC,eAAepY,GAAEE,GAAE;AAAC,MAAUqL,OAAP;AAAS,WAAM;AAAG,MAAUrL,MAAP;AAAS,WAAO,IAAI,QAAQ,CAAAT,MAAG;AAAC,MAAAO,EAAE,OAAO,MAAI;AAAC,QAAAP,EAAEgM,GAAEzL,GAAEE,CAAC,CAAC;AAAA,MAAC,CAAC;AAAA,IAAC,CAAC;AAAE,MAAIH,IAAEC,EAAE,eAAgB;AAAC,MAAIC,IAAE,SAAS,aAAc;AAAC,MAAUF,MAAP,QAAiBE,MAAP;AAAS,WAAM;AAAG,MAAIG,IAAE,SAAS,cAAc,MAAM;AAAE,SAAAA,EAAE,MAAM,UAAQ,kCAAiCA,EAAE,OAAO,SAAS,eAAe,GAAG,CAAC,GAAEL,EAAE,OAAOK,CAAC,GAAEL,IAAE,IAAI,SAAMA,EAAE,SAASK,GAAE,CAAC,GAAEL,EAAE,OAAOK,GAAE,CAAC,GAAEH,EAAE,gBAAiB,GAACA,EAAE,SAASF,CAAC,GAAS,IAAI,QAAQ,CAAAN,MAAG;AAAC,QAAIF,IAAES,EAAE;AAAA,MAAgByJ,EAAE;AAAA,MAC1e,CAAApJ,OAAIA,aAAa,mBAAiBd,EAAC,GAAUgM,OAAP,SAAW,OAAO,aAAaA,EAAC,GAAEA,KAAE,OAAM9L,EAAEgM,GAAEzL,GAAEK,CAAC,CAAC,IAAS;AAAA,MAAIoJ,EAAE;AAAA,IAAyB;AAAE8B,IAAAA,KAAE,OAAO,WAAW,MAAI;AAAC,MAAAhM,EAAG,GAACgM,KAAE,MAAK9L,EAAE,EAAE;AAAA,IAAC,GAAE,EAAE,GAAE,SAAS,YAAY,MAAM,GAAEW,EAAE,OAAM;AAAA,EAAE,CAAC;AAAC;ACd1N,MAAMiY,KAAmG7Y;AACzG,IAAA8Y,KAAiBD,ICFArY,KAAER,IAA8BS,KAAEgX,IAA8B5W,KAAE6W,IAA0BzX,IAAEyY;AAAmB,IAAIxY,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,KAAmDI,KAAEJ,MAAG,kBAAiB,WAAS,SAAS,eAAa;AAAKA,MAAG,uBAAuB,KAAK,UAAU,QAAQ;AAAEA,MAAG,mCAAmC,KAAK,UAAU,SAAS;AACza,IAAI8H,KAAE9H,MAAG,gBAAe,UAAQ,CAACI,KAAE,qBAAoB,IAAI,OAAO,WAAW,OAAO,IAAE,IAAG2H,KAAE/H,MAAG,0BAA0B,KAAK,UAAU,SAAS,GAAEiI,KAAEjI,MAAG,mBAAmB,KAAK,UAAU,SAAS,KAAG,CAAC,OAAO,UAASwJ,KAAEzJ,EAAE,cAAc,sBAAsB;AAC9P,MAAM0J,WAAU1J,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAO;AAAA,EAAC,OAAO,MAAMM,GAAE;AAAC,WAAO,IAAIoJ,GAAEpJ,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAE;AAAC,UAAMA,CAAC;AAAA,EAAC;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAIG,IAAE,SAAS,cAAc,YAAY;AAAEG,WAAAA,GAAE,uBAAuBH,GAAEH,EAAE,MAAM,KAAK,GAASG;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,YAAW,OAAK,EAAC,YAAW6I,IAAE,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWhJ,GAAE;AAAC,QAAIG,IAAEqJ,GAAG;AAAC,WAAArJ,EAAE,UAAUH,EAAE,MAAM,GAAEG,EAAE,UAAUH,EAAE,MAAM,GAAEG,EAAE,aAAaH,EAAE,SAAS,GAASG;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,MAAK,QAAO;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIH,IAC9fN,EAAE,qBAAsB,GAACS,IAAE,KAAK;AAAe,WAAAH,EAAE,aAAaG,CAAC,GAAE,KAAK,YAAYH,CAAC,GAASA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAEN,EAAE,qBAAsB;AAAC,gBAAK,YAAa,EAAC,QAAQ,CAAAS,MAAGH,EAAE,OAAOG,CAAC,CAAC,GAAE,KAAK,QAAQH,CAAC,GAAQ;AAAA,EAAE;AAAC;AAAC,SAASwJ,KAAG;AAAC,SAAO,IAAIJ;AAAC;AAC7O,MAAMM,WAAUhK,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAS;AAAA,EAAC,OAAO,MAAMM,GAAE;AAAC,WAAO,IAAI0J,GAAE1J,EAAE,OAAMA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEG,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,QAAMH;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAK;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAIG,IAAE,KAAK,OAAMC,IAAE,SAAS,cAAcD,CAAC;AAAE,WAAAH,IAAEA,EAAE,MAAM,SAAiBA,MAAT,UAAYM,GAAE,uBAAuBF,GAAEJ,EAAEG,EAAE,GAASC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,OAAK,EAAC,YAAW8I,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK;AAAA,MAAC,YAAWA;AAAAA,MAChgB,UAAS;AAAA,IAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,IAAG,GAAE,CAAAlJ,OAAIA,IAAEA,EAAE,YAAyBA,MAAP,QAAU4J,GAAE5J,CAAC,IAAE,EAAC,YAAW,OAAK,EAAC,MAAK,KAAI,IAAG,UAAS,EAAC,IAAE,OAAM,MAAK,CAAAA,MAAG4J,GAAE5J,CAAC,IAAE,EAAC,YAAW,OAAK,EAAC,MAAKsJ,GAAE,IAAI,EAAC,IAAG,UAAS,EAAC,IAAE,KAAI;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWtJ,GAAE;AAAC,QAAIG,IAAEmJ,GAAEtJ,EAAE,GAAG;AAAE,WAAAG,EAAE,UAAUH,EAAE,MAAM,GAAEG,EAAE,UAAUH,EAAE,MAAM,GAAEG,EAAE,aAAaH,EAAE,SAAS,GAASG;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAU,GAAG,KAAI,KAAK,UAAS,MAAK,WAAU,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIH,IAAEN,EAAE,qBAAsB,GAACS,IAAE,KAAK,aAAY;AAAG,WAAAH,EAAE,aAAaG,CAAC,GAAE,KAAK,YAAYH,CAAC,GACzfA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAEN,EAAE,qBAAsB;AAAC,gBAAK,YAAa,EAAC,QAAQ,CAAAS,MAAGH,EAAE,OAAOG,CAAC,CAAC,GAAE,KAAK,QAAQH,CAAC,GAAQ;AAAA,EAAE;AAAA,EAAC,mBAAkB;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,SAAS4J,GAAE5J,GAAE;AAAC,SAAeA,EAAE,SAAS,YAAa,MAAjC,SAA2CA,EAAE,MAAM,aAAjB,SAA0B;AAAE;AAAC,SAASkJ,GAAElJ,GAAE;AAAC,EAAAA,IAAEA,EAAE,SAAS,YAAa;AAAC,MAAIG,IAAE;AAAK,UAAUH,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,UAASG,IAAEmJ,GAAEtJ,CAAC,IAAQ,EAAC,MAAKG,EAAC;AAAC;AAAC,SAAS6I,KAAG;AAAC,SAAM,EAAC,MAAKQ,GAAC,EAAE;AAAC;AAAC,SAASF,GAAEtJ,GAAE;AAAC,SAAO,IAAI0J,GAAE1J,CAAC;AAAC;AACjb,SAASuJ,GAAEvJ,GAAEG,GAAE;AAAC,EAAAH,EAAE,kBAAiBG,EAAE,OAAO,MAAI;AAAC,QAAIC,IAAEV,EAAE,cAAa,GAAGW,IAAEL,aAAa,cAAYA,aAAa,gBAAc,OAAKA,EAAE;AAAc,IAAMK,KAAN,SAAUX,EAAE,kBAAkBU,CAAC,KAAGV,EAAE,4BAA4BU,CAAC,MAAIH,GAAE,+BAA+BI,GAAED,GAAED,CAAC;AAAA,EAAC,GAAE,EAAC,KAAI,QAAO,CAAC;AAAC;AAChR,eAAe2J,GAAE9J,GAAEG,GAAE;AAAC,EAAMA,EAAE,eAAgB,EAAC,KAAK,MAAIT,EAAE,cAAe,CAAA,KAAnD,SAAuD,MAAMO,GAAE,8BAA8BE,GAAEH,aAAa,iBAAeA,IAAE,IAAI,GAAEG,EAAE,OAAO,MAAI;AAAC,QAAIC,IAAEV,EAAE,cAAe;AAACA,IAAAA,EAAE,kBAAkBU,CAAC,IAAEA,EAAE,eAAaV,EAAE,iBAAiBU,CAAC,KAAGA,EAAE,SAAQ,EAAG,QAAQ,CAAAC,MAAGA,EAAE,OAAM,CAAE;AAAA,EAAC,CAAC;AAAE;AAAC,SAASoJ,GAAEzJ,GAAE;AAAC,MAAIG,IAAE;AAAK,SAAAH,aAAa,YAAUG,IAAEH,EAAE,eAAaA,aAAa,mBAAiBG,IAAEH,EAAE,gBAA6BG,MAAP,OAAS,CAAC,IAAG,CAAA,CAAE,IAAE,CAACA,EAAE,MAAM,SAAS,OAAO,GAAE,MAAM,KAAKA,EAAE,KAAK,CAAC;AAAC;AAC5d,SAAS8J,GAAEjK,GAAEG,GAAE;AAAC,MAAIC,IAAEV,EAAE,cAAe;AAAC,MAAGA,EAAE,kBAAkBU,CAAC,GAAE;AAAC,QAAIC,IAAE,oBAAI;AAAI,IAAAD,IAAEA,EAAE,SAAQ;AAAG,aAAQR,IAAE,GAAEA,IAAEQ,EAAE,QAAOR,KAAI;AAAC,UAAIC,IAAEO,EAAER;AAAG,UAAIJ,IAAEK,EAAE,OAAQ;AAAC,MAAAQ,EAAE,IAAIb,CAAC,MAAIa,EAAE,IAAIb,CAAC,GAAEA,IAAEc,GAAE,uCAAuCT,CAAC,GAAEL,EAAE,aAAc,IAACQ,EAAEH,CAAC,IAAEL,EAAE,UAAW,KAAEW,EAAEX,CAAC;AAAA,IAAE;AAAA,EAAC;AAAC;AAAC,SAAS4L,GAAEpL,GAAE;AAAC,SAAAA,IAAEN,EAAE,2BAA2BM,CAAC,GAASN,EAAE,iBAAiBM,CAAC;AAAC;AAA2BwY,GAAA,qBAAClP;AAAEkP,GAAA,mBAAyBhP;AAAwBgP,GAAA,iBAAC,SAASxY,GAAE;AAAC,SAAOA,aAAa0J;AAAC;AAChb8O,GAAA,eAAC,SAASxY,GAAE;AAAC,SAAOA,aAAaoJ;AAAC;AAAyBoP,GAAA,kBAACrP;AAAEqP,GAAA,cAAoB9O;AAAE8O,GAAA,YAAkBpP;AAAEoP,GAAA,aAAmB/O;AAC/I+O,GAAA,mBAAyB,SAASxY,GAAE;AAAC,SAAOM,GAAE;AAAA,IAAcN,EAAE,gBAAgBN,EAAE,eAAc,MAAI;AAAC,YAAMS,IAAET,EAAE;AAAgB,aAAOA,EAAE,iBAAiBS,CAAC,KAAGA,EAAE,MAAK,GAAG,MAAI;AAAA,IAAE,GAAE,CAAC;AAAA,IAAEH,EAAE,gBAAgBN,EAAE,0BAAyB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAa;AAAG,aAAIA,EAAE,kBAAkBU,CAAC,KAAWA,EAAE,gBAAgBD,CAAC,GAAQ,MAA9B;AAAA,IAAgC,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,qBAAoB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBU,CAAC,KAAWA,EAAE,WAAWD,CAAC,GAAQ,MAAzB;AAAA,IAA2B,GAAET,EAAE,uBAAuB;AAAA,IACtfM,EAAE,gBAAgBN,EAAE,qBAAoB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBU,CAAC,KAAWA,EAAE,WAAWD,CAAC,GAAQ,MAAzB;AAAA,IAA2B,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,mCAAkC,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAe;AAAC,UAAc,OAAOS,KAAlB;AAAoBT,QAAAA,EAAE,kBAAkBU,CAAC,IAAEA,EAAE,WAAWD,CAAC,IAAET,EAAE,4BAA4BU,CAAC;AAAA,WAAM;AAAC,YAAG,CAACV,EAAE,kBAAkBU,CAAC,KAAG,CAACV,EAAE,4BAA4BU,CAAC;AAAE,iBAAM;AAAG,cAAMC,IAAEF,EAAE;AAAa,QAAME,KAAN,OAAQJ,GAAE,+BAA+BI,GAAED,GAAEJ,CAAC,IAAEN,EAAE,kBAAkBU,CAAC,MACzfD,IAAEA,EAAE,SAAOC,EAAE,WAAWD,CAAC;AAAA,MAAC;AAAC,aAAM;AAAA,IAAE,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,qBAAoB,MAAI;AAAC,YAAMS,IAAET,EAAE;AAAgB,aAAIA,EAAE,kBAAkBS,CAAC,KAAWA,EAAE,WAAY,GAAO,MAAxB;AAAA,IAA0B,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,qBAAoB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBU,CAAC,KAAWA,EAAE,WAAWD,CAAC,GAAQ,MAAzB;AAAA,IAA2B,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,wBAAuB,CAAAS,MAAG;AAAC,UAAIC,IAAEV,EAAE;AAAgB,UAAG,CAACA,EAAE,kBAAkBU,CAAC,KAAG,CAACV,EAAE,iBAAiBU,CAAC;AAAE,eAAM;AAC/f,MAAAA,IAAEA,EAAE,SAAU;AAAC,iBAAUC,KAAKD;AAAEE,QAAAA,GAAE,uCAAuCD,CAAC,EAAE,UAAUF,CAAC;AAAE,aAAM;AAAA,IAAE,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,2BAA0B,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBU,CAAC,KAAWA,EAAE,gBAAgBD,CAAC,GAAQ,MAA9B;AAAA,IAAgC,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,0BAAyB,MAAI;AAAC,YAAMS,IAAET,EAAE;AAAgB,aAAIA,EAAE,kBAAkBS,CAAC,KAAWA,EAAE,gBAAiB,GAAO,MAA7B;AAAA,IAA+B,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE;AAAA,MAAgBN,EAAE;AAAA,MACre,OAAKuK,GAAE,MAAI;AAAC,QAAAjK,EAAE,gBAAgBN,EAAE,mCAAkC,GAAI;AAAA,MAAC,GAAE,CAAAS,MAAG;AAAC,cAAMC,IAAED,EAAE,UAAS;AAAG,QAAKC,MAAL,MAAQD,EAAE,UAAUC,IAAE,CAAC;AAAA,MAAC,CAAC,GAAQ;AAAA,MAAIV,EAAE;AAAA,IAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,yBAAwB,OAAKuK,GAAE,CAAA9J,MAAG;AAACT,MAAAA,EAAE,YAAYS,CAAC,MAAIA,IAAEA,EAAE,eAAc,GAAUA,EAAEA,EAAE,SAAO,OAAlB,OAAsBH,EAAE,gBAAgBN,EAAE,0BAAyB,EAAE;AAAA,IAAE,GAAE,CAAAS,MAAG;AAAC,YAAMC,IAAED,EAAE,UAAW;AAAC,MAAIC,MAAJ,KAAOD,EAAE,UAAUC,IAAE,CAAC;AAAA,IAAC,CAAC,GAAQ,KAAIV,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,sBAAqB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAa;AAAG,aAAOA,EAAE,iBAAiBU,CAAC,KACtgB,CAACgL,GAAEjL,EAAE,MAAM,MAAIA,IAAEC,EAAE,SAAU,GAAC,IAAED,EAAE,WAASA,EAAE,GAAG,eAAc,GAAG,MAAI;AAAA,IAAE,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,wBAAuB,MAAI;AAAC,UAAIS,IAAET,EAAE,cAAe;AAAC,aAAOA,EAAE,iBAAiBS,CAAC,MAAIA,IAAEA,EAAE,SAAQ,GAAG,IAAEA,EAAE,WAASA,EAAE,GAAG,WAAW,GAAE,CAAC,GAAE,MAAI;AAAA,IAAE,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,wBAAuB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAe;AAAC,UAAGA,EAAE,iBAAiBU,CAAC,GAAE;AAAC,YAAIC,IAAED,EAAE,SAAU;AAAC,YAAG,IAAEC,EAAE;AAAO,iBAAOF,EAAE,eAAc,GAAGE,EAAE,GAAG,eAAc,GAAG;AAAA,MAAE;AAAC,aAAOX,EAAE,kBAAkBU,CAAC,KAAEF,GAAE;AAAA,QAAyCE;AAAA,QAC/hB;AAAA,MAAE,KAAGC,IAAEF,EAAE,UAASA,EAAE,eAAgB,GAACD,GAAE,eAAeE,GAAEC,GAAE,EAAE,GAAE,MAAO;AAAA,IAAE,GAAEX,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,yBAAwB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAe;AAAC,UAAGA,EAAE,iBAAiBU,CAAC,KAAG,CAACgL,GAAEjL,EAAE,MAAM,GAAE;AAAC,YAAIE,IAAED,EAAE;AAAW,YAAG,IAAEC,EAAE;AAAO,iBAAOF,EAAE,eAAc,GAAGE,EAAE,GAAG,WAAW,GAAE,CAAC,GAAE;AAAA,MAAE;AAAC,aAAIX,EAAE,kBAAkBU,CAAC,KAAWC,IAAEF,EAAE,UAAgBD,GAAE,yCAAyCE,GAAE,EAAE,KAAGD,EAAE,eAAgB,GAACD,GAAE,eAAeE,GAAEC,GAAE,EAAE,GAAE,MAAI,MAAzH;AAAA,IAA2H,GAAEX,EAAE,uBAAuB;AAAA,IAAEM,EAAE;AAAA,MAAgBN,EAAE;AAAA,MACtf,CAAAS,MAAG;AAAC,YAAGiL,GAAEjL,EAAE,MAAM;AAAE,iBAAM;AAAG,cAAMC,IAAEV,EAAE;AAAgB,YAAG,CAACA,EAAE,kBAAkBU,CAAC;AAAE,iBAAM;AAAG,QAAAD,EAAE,eAAc,GAAI,EAAC,QAAOA,EAAC,IAAEC;AAAG,cAAMC,IAAEF,EAAE,QAAS;AAAC,eAAOC,EAAE,YAAW,KAAQD,EAAE,WAAN,KAAc,CAACT,EAAE,YAAYW,CAAC,KAAG,IAAEC,GAAE,uCAAuCD,CAAC,EAAE,UAAS,IAAGL,EAAE,gBAAgBN,EAAE,yBAAwB,MAAM,IAAEM,EAAE,gBAAgBN,EAAE,0BAAyB,EAAE;AAAA,MAAC;AAAA,MAAEA,EAAE;AAAA,IAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,oBAAmB,CAAAS,MAAG;AAAC,UAAGiL,GAAEjL,EAAE,MAAM;AAAE,eAAM;AAAG,YAAMC,IAAEV,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBU,CAAC,KAC1fD,EAAE,eAAgB,GAAQH,EAAE,gBAAgBN,EAAE,0BAAyB,EAAE,KADyb;AAAA,IACxb,GAAEA,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,mBAAkB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAa;AAAG,UAAG,CAACA,EAAE,kBAAkBU,CAAC;AAAE,eAAM;AAAG,UAAUD,MAAP,MAAS;AAAC,aAAIyH,MAAGF,OAAID;AAAE,iBAAM;AAAsB,YAAnBtH,EAAE,eAAc,GAAMA,EAAE;AAAS,iBAAOH,EAAE,gBAAgBN,EAAE,2BAA0B,EAAE;AAAA,MAAC;AAAC,aAAOM,EAAE,gBAAgBN,EAAE,0BAAyB,MAAM;AAAA,IAAC,GAAEA,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,iBAAgB,CAAAS,MAAG;AAAC,YAAMC,IAAEV,EAAE,cAAa;AAAG,aAAIA,EAAE,kBAAkBU,CAAC,KAC/fD,EAAE,eAAgB,GAAQH,EAAE,gBAAgBG,EAAE,WAAST,EAAE,0BAAwBA,EAAE,wBAAuB,MAAM,KADuZ;AAAA,IACtZ,GAAEA,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,oBAAmB,MAAI;AAAC,YAAMS,IAAET,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBS,CAAC,KAAWH,EAAE,KAAI,GAAS,MAAlB;AAAA,IAAoB,GAAEN,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,cAAa,CAAAS,MAAG;AAAC,YAAM,CAAE,EAAAC,CAAC,IAAEqJ,GAAEtJ,CAAC;AAAE,UAAG,IAAEC,EAAE,QAAO;AAAC,YAAIC,IAAEF,EAAE,SAAYX,IAAEW,EAAE;AACxV,YADgWE,IAAgB,OAAO,SAAS,sBAA9B,MAAkD,SAAS,oBAAoBA,GAAEb,CAAC,IAAgB,SAAS,2BAAvB,cAChe,SAAS,uBAAuBa,GAAEb,CAAC,IAAE,MAAea,MAAP,MAAS;AAAC,gBAAM,EAAC,aAAYT,GAAE,WAAUC,GAAE,gBAAewL,GAAE,cAAaC,EAAC,IAAEjL;AAAsE,cAApEA,IAAEX,EAAE,2BAA2B2L,CAAC,GAAE7L,IAAEE,EAAE,2BAA2B4L,CAAC,GAAYjL,MAAP,QAAiBb,MAAP,MAAS;AAAC,kBAAMM,IAAEJ,EAAE,sBAAqB;AAAGA,YAAAA,EAAE,YAAYW,CAAC,IAAEP,EAAE,OAAO,IAAIO,EAAE,OAAM,GAAGT,GAAE,MAAM,IAAEE,EAAE,OAAO,IAAIO,EAAE,iBAAgB,EAAG,OAAM,GAAGA,EAAE,qBAAoB,IAAG,GAAE,SAAS,GAAEX,EAAE,YAAYF,CAAC,IAAEM,EAAE,MAAM,IAAIN,EAAE,OAAM,GAAGK,GAAE,MAAM,IAAEC,EAAE,MAAM,IAAIN,EAAE,iBAAkB,EAAC,OAAQ,GAACA,EAAE,qBAAsB,IAAC,GAAE,SAAS,GAC5fa,IAAEX,EAAE,kCAAkCI,CAAC,GAAEJ,EAAE,cAAcW,CAAC;AAAA,UAAC;AAAC,UAAAL,EAAE,gBAAgBmJ,IAAE/I,CAAC;AAAA,QAAC;AAAC,eAAAD,EAAE,eAAgB,GAAO;AAAA,MAAE;AAAC,aAAAA,IAAET,EAAE,cAAe,GAAQA,EAAAA,EAAE,kBAAkBS,CAAC;AAAA,IAAO,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,mBAAkB,CAAAS,MAAG;AAAC,YAAM,CAACC,CAAC,IAAEqJ,GAAEtJ,CAAC,GAAEE,IAAEX,EAAE,cAAa;AAAG,aAAGU,KAAG,CAACV,EAAE,kBAAkBW,CAAC,IAAQ,MAAGF,EAAE,eAAgB,GAAO;AAAA,IAAE,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,kBAAiB,CAAAS,MAAG;AAAC,YAAM,CAACC,CAAC,IAAEqJ,GAAEtJ,CAAC,GAAEE,IAAEX,EAAE,cAAa;AAAG,aAAGU,KAAG,CAACV,EAAE,kBAAkBW,CAAC,IAAQ,MAAGF,EAAE,kBAC9d;AAAA,IAAE,GAAET,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,cAAa,CAAAS,OAAIF,GAAE,8BAA8BD,GAAEG,aAAa,iBAAeA,IAAE,IAAI,GAAQ,KAAIT,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,aAAY,CAAAS,OAAI2J,GAAE3J,GAAEH,CAAC,GAAQ,KAAIN,EAAE,uBAAuB;AAAA,IAAEM,EAAE,gBAAgBN,EAAE,eAAc,CAAAS,MAAG;AAAC,UAAI,CAAA,EAAEC,CAAC,IAAEqJ,GAAEtJ,CAAC;AAAE,aAAUC,MAAP,QAAU,IAAEA,EAAE,UAAcJ,EAAE,gBAAgBmJ,IAAE/I,CAAC,GAAE,OAAGA,IAAEV,EAAE,cAAa,GAAUA,EAAE,kBAAkBU,CAAC,KAAGV,EAAE,4BAA4BU,CAAC,KAAGmJ,GAAEpJ,GAAEH,CAAC,GAAE,MAAI;AAAA,IAAE,GAAEN,EAAE,uBAAuB;AAAA,EAAC;AAAC;ACtBjf,MAAM+Y,KAAiGhZ;AACvG,IAAAiZ,KAAiBD,aCFA9Y,KAAEF,IAA0BG,KAAEsX;AAC/C,MAAMrX,WAAUD,GAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,MAAMK,GAAE;AAAC,WAAO,IAAIJ,GAAEI,EAAE,OAAM,EAAC,KAAIA,EAAE,OAAM,QAAOA,EAAE,SAAQ,GAAEA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,IAAE,IAAGH,GAAE;AAAC,UAAMA,CAAC;AAAE,QAAI,EAAC,QAAOM,IAAE,MAAK,KAAID,IAAE,KAAI,IAAEF;AAAE,SAAK,QAAMF,GAAE,KAAK,WAASK,GAAE,KAAK,QAAMD;AAAA,EAAC;AAAA,EAAC,UAAUJ,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,GAAG;AAAE,WAAAA,EAAE,OAAK,KAAK,OAAa,KAAK,aAAZ,SAAuBA,EAAE,SAAO,KAAK,WAAiB,KAAK,UAAZ,SAAoBA,EAAE,MAAI,KAAK,QAAOR,GAAE,uBAAuBQ,GAAEF,EAAE,MAAM,IAAI,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAE;AAAC,QAAIH,IAAE,KAAK,OAAMM,IAAE,KAAK,UAASD,IAAE,KAAK;AACnf,WAAAL,MAAIC,EAAE,UAAQE,EAAE,OAAKH,IAAGM,MAAIL,EAAE,aAAWK,IAAEH,EAAE,SAAOG,IAAEH,EAAE,gBAAgB,QAAQ,IAAGE,MAAIJ,EAAE,UAAQI,IAAEF,EAAE,MAAIE,IAAEF,EAAE,gBAAgB,KAAK,IAAS;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,GAAE,OAAK,EAAC,YAAWL,IAAE,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWG,GAAE;AAAC,QAAIE,IAAEJ,GAAEE,EAAE,KAAI,EAAC,KAAIA,EAAE,KAAI,QAAOA,EAAE,OAAM,CAAC;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAU,GAAG,KAAI,KAAK,OAAQ,GAAC,QAAO,KAAK,UAAW,GAAC,MAAK,QAAO,KAAI,KAAK,OAAQ,GAAC,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK,UAAS,EAAG;AAAA,EAAK;AAAA,EAAC,OAAOF,GAAE;AAAC,SAAK,YAAa,EAAC,QAC7hBA;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAQ;AAAA,EAAC,UAAUA,GAAE;AAAC,SAAK,cAAc,WAASA;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK,YAAY;AAAA,EAAK;AAAA,EAAC,OAAOA,GAAE;AAAC,SAAK,YAAW,EAAG,QAAMA;AAAA,EAAC;AAAA,EAAC,eAAeA,GAAE;AAA6C,QAA5CA,IAAE,KAAK,mBAAmB,eAAeA,CAAC,GAAKL,GAAE,eAAeK,CAAC,GAAE;AAAC,UAAIE,IAAEJ,GAAE,KAAK,OAAM,EAAC,KAAI,KAAK,OAAM,QAAO,KAAK,SAAQ,CAAC;AAAE,aAAAE,EAAE,OAAOE,CAAC,GAASA;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,sBAAqB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,iBAAiBF,GAAEE,GAAE;AAAC,QAAG,CAACP,GAAE,kBAAkBO,CAAC;AAAE,aAAM;AACrf,IAAAF,IAAEE,EAAE,OAAO,QAAO;AAAG,QAAIH,IAAEG,EAAE,MAAM,QAAS;AAAC,WAAO,KAAK,WAAWF,CAAC,KAAG,KAAK,WAAWD,CAAC,KAAG,IAAEG,EAAE,eAAc,EAAG;AAAA,EAAM;AAAC;AAAC,SAASL,GAAEG,GAAE;AAAC,MAAIE,IAAE;AAAK,MAAGF,aAAa,mBAAkB;AAAC,QAAID,IAAEC,EAAE;AAAY,IAAOD,MAAP,QAAeA,MAAL,OAASG,IAAEJ,GAAEE,EAAE,aAAa,MAAM,KAAG,IAAG,EAAC,KAAIA,EAAE,aAAa,KAAK,GAAE,QAAOA,EAAE,aAAa,QAAQ,EAAC,CAAC;AAAA,EAAE;AAAC,SAAM,EAAC,MAAKE,EAAC;AAAC;AAAC,SAASJ,GAAEE,GAAEE,GAAE;AAAC,SAAO,IAAIN,GAAEI,GAAEE,CAAC;AAAC;AAAC,SAASsH,GAAExH,GAAE;AAAC,SAAOA,aAAaJ;AAAC;AAC7Y,MAAM+H,WAAU/H,GAAC;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAU;AAAA,EAAC,OAAO,MAAMI,GAAE;AAAC,WAAO,IAAI2H,GAAE3H,EAAE,OAAM,EAAC,KAAIA,EAAE,OAAM,QAAOA,EAAE,SAAQ,GAAEA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWA,GAAE;AAAC,QAAIE,IAAEgJ,GAAElJ,EAAE,KAAI,EAAC,KAAIA,EAAE,KAAI,QAAOA,EAAE,OAAM,CAAC;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,OAAO,YAAW;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAU,GAAG,MAAK,YAAW,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,eAAeF,GAAE;AAA6C,QAA5CA,IAAE,KAAK,mBAAmB,eAAeA,CAAC,GAAKL,GAAE,eAAeK,CAAC,GAAE;AAAC,UAAIE,IAAEgJ,GAAE,KAAK,OAAM,EAAC,KAAI,KAAK,MAAK,QAAO,KAAK,SAAQ,CAAC;AACpgB,aAAAlJ,EAAE,OAAOE,CAAC,GAASA;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAC;AAAC,SAASgJ,GAAElJ,GAAEE,GAAE;AAAC,SAAO,IAAIyH,GAAE3H,GAAEE,CAAC;AAAC;AAAC,IAAIiJ,KAAExJ,GAAE,cAAc,qBAAqB;AAAE,SAASoJ,GAAE/I,GAAE;AAAC,SAAOuJ,GAAEvJ,GAAE,CAAAE,MAAGsH,GAAEtH,CAAC,CAAC;AAAC;AAAC,SAASqJ,GAAEvJ,GAAEE,GAAE;AAAC,SAAYF,MAAP,SAAkBA,IAAEA,EAAE,UAAW,OAAvB,QAA0B,CAACE,EAAEF,CAAC;AAAG;AAAC,SAAOA;AAAC;AAAC0Y,GAAA,sBAA4BxP;AAAyBwP,GAAA,kBAAC5Y;AAAyB4Y,GAAA,kBAAC,SAAS1Y,GAAE;AAAC,SAAOA,aAAa2H;AAAC;AAAqB+Q,GAAA,cAAClR;AAAsBkR,GAAA,eAAC/Q;AAAkB+Q,GAAA,WAAC9Y;AAA6B8Y,GAAA,sBAACvP;AAC1ZuP,GAAA,aAAC,SAAS1Y,GAAEE,IAAE,CAAA,GAAG;AAAC,MAAI,EAAC,QAAOH,GAAE,KAAIM,EAAC,IAAEH;AAAsB,MAApBA,IAAEP,GAAE,cAAe,GAAIA,GAAE,kBAAkBO,CAAC;AAAE,QAAGA,IAAEA,EAAE,QAAO,GAAUF,MAAP;AAAS,MAAAE,EAAE,QAAQ,CAAAT,MAAG;AAAiB,YAAhBA,IAAEA,EAAE,UAAW,GAAI+H,GAAE/H,CAAC,GAAE;AAAC,cAAIF,IAAEE,EAAE,YAAa;AAAC,mBAAQQ,IAAE,GAAEA,IAAEV,EAAE,QAAOU;AAAI,YAAAR,EAAE,aAAaF,EAAEU,EAAE;AAAE,UAAAR,EAAE,OAAM;AAAA,QAAE;AAAA,MAAC,CAAC;AAAA,SAAM;AAAC,UAAOS,EAAE,WAAN,GAAa;AAAC,YAAIE,IAAEF,EAAE;AAAiB,YAAdE,IAAEoH,GAAEpH,CAAC,IAAEA,IAAE2I,GAAE3I,CAAC,GAAYA,MAAP,MAAS;AAAC,UAAAA,EAAE,OAAOJ,CAAC,GAAWD,MAAT,UAAYK,EAAE,UAAUL,CAAC,GAAWM,MAAT,UAAYD,EAAE,OAAOC,CAAC;AAAE;AAAA,QAAM;AAAA,MAAC;AAAC,UAAIZ,IAAE,MAAKF,IAAE;AAAK,MAAAW,EAAE,QAAQ,CAAAD,MAAG;AAAC,YAAIE,IAAEF,EAAE,UAAW;AAAC,YAAGE,MAAIZ,KAAUY,MAAP,SAAW,CAACR,GAAE,eAAeM,CAAC,KAAGA,EAAE,SAAQ;AAAI,cAAGuH,GAAErH,CAAC;AAAE,YAAAZ,IACtfY,GAAEA,EAAE,OAAOH,CAAC,GAAWD,MAAT,UAAYI,EAAE,UAAUJ,CAAC,GAAWM,MAAT,UAAYF,EAAE,OAAOE,CAAC;AAAA,mBAAUF,EAAE,GAAGV,CAAC,MAAIA,IAAEU,GAAEZ,IAAEO,GAAEE,GAAE,EAAC,KAAIK,GAAE,QAAON,EAAC,CAAC,GAAEyH,GAAErH,CAAC,IAASF,EAAE,mBAAkB,MAA3B,OAA8BE,EAAE,aAAaZ,CAAC,IAAEY,EAAE,YAAYZ,CAAC,IAAEU,EAAE,aAAaV,CAAC,IAAGiI,GAAEvH,CAAC;AAAG,gBAAG,CAACA,EAAE,GAAGV,CAAC,GAAE;AAAC,kBAAUA,MAAP,MAAS;AAAC,gBAAAY,IAAEF,EAAE,YAAW;AAAG,yBAAQwH,IAAE,GAAEA,IAAEtH,EAAE,QAAOsH;AAAI,kBAAAlI,EAAE,OAAOY,EAAEsH,EAAE;AAAA,cAAC;AAAC,cAAAxH,EAAE,OAAM;AAAA,YAAE;AAAA;AAAO,YAAOV,MAAP,QAAUA,EAAE,OAAOU,CAAC;AAAA,MAAC,CAAC;AAAA,IAAC;AAAC;ACP7U,MAAM0Y,KAAyFnZ;AAC/F,IAAAoZ,KAAiBD;ACAV,MAAME,WAAkBC,EAAAA,YAAY;AAAA,EACvC,OAAO,UAAU;AACb,WAAO;AAAA,EACV;AAAA,EAED,OAAO,MAAMC,GAAM;AACf,WAAO,IAAIF,GAAUE,EAAK,KAAK;AAAA,EAClC;AAAA,EAID,UAAUC,GAAQ;AACd,UAAMC,IAAU,SAAS,cAAc,OAAO;AAC9CC,WAAAA,GAAAA,uBAAuBD,GAASD,EAAO,MAAM,KAAK,GAC3CC;AAAA,EACV;AAAA,EACD,UAAUE,GAAUC,GAAK;AACrB,WAAO;AAAA,EACV;AAAA,EAED,OAAO,YAAY;AACf,WAAO;AAAA,MACH,OAAO,CAAAL,OAAS;AAAA,QACZ,YAAYM;AAAA,QACZ,UAAU;AAAA,MAC1B;AAAA,IACA;AAAA,EACK;AAAA,EAED,OAAO,WAAWC,GAAgB;AAC9B,UAAMP,IAAOQ;AACb,WAAAR,EAAK,UAAUO,EAAe,MAAM,GACpCP,EAAK,UAAUO,EAAe,MAAM,GACpCP,EAAK,aAAaO,EAAe,SAAS,GACnCP;AAAA,EACV;AAAA,EAED,aAAa;AACT,WAAO;AAAA,MACH,GAAG,MAAM,WAAY;AAAA,MACrB,MAAM;AAAA,IAClB;AAAA,EACK;AAAA,EAID,iBAAiB;AACb,UAAMS,IAAWC,EAAAA,wBACXC,IAAY,KAAK;AACvB,WAAAF,EAAS,aAAaE,CAAS,GAC/B,KAAK,eAAeF,CAAQ,GACrBA;AAAA,EACV;AAAA,EAED,kBAAkB;AACd,UAAMG,IAAYF,EAAAA;AAElB,WADiB,KAAK,cACb,QAAQ,CAAAG,MAASD,EAAU,OAAOC,CAAK,CAAC,GACjD,KAAK,QAAQD,CAAS,GACf;AAAA,EACV;AACL;AAEA,SAASN,KAAsB;AAE3B,SAAO,EAAC,MADKE,GACD;AAChB;AAEO,SAASA,KAAmB;AAC/B,SAAO,IAAIV,GAAS;AACxB;aCxEiB9Y,KAAEP,IAAiDY,KAAE6W,GAAmB5W,KAAE6W;AAAiB,SAASzX,GAAES,GAAEF,GAAE;AAAC,SAAOE,EAAE,eAAc,EAAG,KAAK,MAAI;AAAC,QAAIX,IAAEa,GAAE,cAAcJ,CAAC;AAAE,WAAcT,MAAP,OAAS,KAAGA,EAAE,WAAU;AAAA,EAAE,CAAC;AAAC;AAC5Nsa,GAAA,0BAAgC,SAAS3Z,GAAE;AAAC,MAAI,CAACF,CAAC,IAAED,GAAE,6BAA4B,CAACR,GAAEG,CAAC,IAAEW,GAAE,SAAS,MAAIZ,GAAEO,GAAEE,CAAC,CAAC;AAAEG,EAAAA,GAAE,UAAU,MAAIL,EAAE,uBAAuB,MAAI;AAAC,IAAAN,EAAED,GAAEO,GAAEE,CAAC,CAAC;AAAA,EAAC,CAAC,GAAE,CAACF,GAAEE,CAAC,CAAC;AAAE,MAAIP,IAAEU,GAAE,YAAY,CAAAJ,MAAG;AAAC,IAAAD,EAAE,OAAO,MAAI;AAAC,UAAIG,IAAEC,GAAE,cAAe;AAACA,MAAAA,GAAE,iBAAiBD,CAAC,MAAIA,IAAEC,GAAE,wBAAuBA,GAAE,cAAcD,CAAC,IAAGF,IAAEE,EAAE,IAAID,CAAC,IAAEC,EAAE,OAAOD,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC,GAAE,CAACF,GAAEE,CAAC,CAAC,GAAEN,IAAES,GAAE,YAAY,MAAI;AAAC,IAAAL,EAAE,OAAO,MAAI;AAAC,YAAMC,IAAEG,GAAE,cAAa;AAAGA,MAAAA,GAAE,iBAAiBH,CAAC,KAAGA,EAAE,MAAK;AAAA,IAAE,CAAC;AAAA,EAAC,GAAE,CAACD,CAAC,CAAC;AAAE,SAAM,CAACT,GAAEI,GAAEC,CAAC;AAAC;ACAzc,MAAMka,KAAiHta;AACvH,IAAAua,KAAiBD;ACNjB,MAAME,KAAcpd,EAAMqd,cAAc,EAAE;0BCOtCC,KAAuB,gDAE3BC,KAAiBD,ICFbA,KAAuB1a;AAE3B,SAAS4a,KAAgB;AAAE;AAC3B,SAASC,KAAyB;AAAE;AACpCA,GAAuB,oBAAoBD;AAE3C,IAAAE,KAAiB,WAAW;AAC1B,WAASC,EAAK5d,GAAO6d,GAAUC,GAAeC,GAAUC,GAAcC,GAAQ;AAC5E,QAAIA,MAAWV,IAIf;AAAA,UAAIW,IAAM,IAAI;AAAA,QACZ;AAAA,MAGN;AACI,YAAAA,EAAI,OAAO,uBACLA;AAAA;AAAA,EACV;AACE,EAAAN,EAAK,aAAaA;AAClB,WAASO,IAAU;AACjB,WAAOP;AAAA,EAEX;AAEE,MAAIQ,IAAiB;AAAA,IACnB,OAAOR;AAAA,IACP,QAAQA;AAAA,IACR,MAAMA;AAAA,IACN,MAAMA;AAAA,IACN,QAAQA;AAAA,IACR,QAAQA;AAAA,IACR,QAAQA;AAAA,IACR,QAAQA;AAAA,IAER,KAAKA;AAAA,IACL,SAASO;AAAA,IACT,SAASP;AAAA,IACT,aAAaA;AAAA,IACb,YAAYO;AAAA,IACZ,MAAMP;AAAA,IACN,UAAUO;AAAA,IACV,OAAOA;AAAA,IACP,WAAWA;AAAA,IACX,OAAOA;AAAA,IACP,OAAOA;AAAA,IAEP,gBAAgBT;AAAA,IAChB,mBAAmBD;AAAA,EACvB;AAEE,SAAAW,EAAe,YAAYA,GAEpBA;AACT;AC/CEC,GAAc,UAAGxb;ACdNyb,MAAAA,KAAcre,EAAMse,WAAW,CAAC;AAAA,EAACC,YAAAA;AAAAA,EAAYC,WAAAA;AAAAA,EAAWC,UAAAA;AAAAA,EAAUC,UAAAA;AAAAA,KAAa3e;AAAK,GAAG4e,wBAE5F,OAAA;AAAA,EACI,WAAY,qDAAoDJ,IAAa,oCAAoC,iDAAkDC,MAAc,SAAU,kQAAmQA,MAAc,SAAU,8GAA8G;AAAA,EACpkB,KAAAG;AAAA,EACA,gBAAcF;AAAAA,EACd,yBAAuBF;AAAAA,EAAW,GAC9Bxe;AAAAA,EAAK,UAAA2e;AAAA,CAGP,CAEb;AAEDL,GAAYO,YAAY;AAAA,EACpBL,YAAYM,GAAUC,QAAAA;AAAAA,EACtBN,WAAWK,GAAUE,QAAAA,MAAM,CAAC,WAAW,QAAQ,MAAM,CAAC;AAC1D;AAEAV,GAAYW,eAAe;AAAA,EACvBR,WAAW;AACf;ACFA,MAAMS,KAA6B,CAAC;AAAA,EAACC,SAAAA;AAAAA,EAASR,UAAAA;AAAAA,EAAUS,OAAAA;AAAK,MAAM;AACzD,QAAA,CAACC,CAAM,IAAIC,GAAAA,6BACX,CAACd,GAAYe,GAAaC,CAAa,IAAIrC,GAAAA,wBAAwBgC,CAAO,GAC1E,CAACM,GAAWC,CAAY,IAAIzf,EAAM8H,SAAS,IAAI,GAC/C,CAAC2W,GAAUiB,CAAW,IAAI1f,EAAM8H,SAAS,IAAI,GAC7C,CAAC0W,GAAWmB,CAAY,IAAI3f,EAAM8H,SAASqX,KAAS,SAAS,GAC7DS,IAAe5f,EAAM6f,OAAO,IAAI;AAEtC7f,SAAAA,EAAM8f,gBAAgB,MAAM;AACjBC,IAAAA,EAAAA,iBAAiBC,KAAK,MAAM;AACzBC,YAAAA,IAAWC,gBAAchB,CAAO;AAC1Be,MAAAA,EAAAA,EAASE,SAAS;AAAA,IAAA,CACjC;AAAA,EAIL,GAAG,CAAE,CAAA,GAELngB,EAAMogB,UAAU,MACLC,GAAAA,cACHjB,EAAOkB,uBAAuB,CAAC;AAAA,IAACC,aAAAA;AAAAA,EAAAA,MAAiB;AAC7Cd,IAAAA,EAAac,EAAYP,KAAK,MAAMQ,EAAAA,cAAAA,CAAe,CAAC;AAAA,EACvD,CAAA,GACDpB,EAAOqB,gBACHC,iBACCC,CAAUA,OACHf,EAAagB,QAAQC,SAASF,EAAMG,MAAM,KAC3BvB,KACfD,EAAY,EAAI,KACTf,KACPe,EAAY,EAAK,GAEd,KAEXyB,EAAAA,oBAAoB,GAExB3B,EAAOqB,gBACHO,qBACCL,CAAUA,MAAA;AAOP,UAAMM,IAAkBT,EAAAA;AACpBjC,QAAAA,KAAc2C,mBAAiBD,CAAe,KAAKA,EAAgBE,SAAU,EAACC,WAAW,GAAG;AAC5FT,MAAAA,EAAMU,eAAgB;AAChBpB,YAAAA,IAAWC,gBAAchB,CAAO,GAChCoC,IAAgBzE,EAAAA;AACb0E,aAAAA,EAAAA,0BAAAA,EAA4BC,YAAYF,CAAa,GAC9DA,EAAcG,OAAQ,GACf;AAAA,IACX;AACO,WAAA;AAAA,EAAA,GAEXC,EAAAA,uBAAuB,GAE3BtC,EAAOqB,gBACHkB,yBACChB,CAAUA,MAAA;AACP,UAAMM,IAAkBT,EAAAA;AACpBjC,QAAAA,KAAc2C,mBAAiBD,CAAe,KAAKA,EAAgBE,SAAU,EAACC,WAAW,GAAG;AAC5FT,MAAAA,EAAMU,eAAgB;AAChBpB,YAAAA,IAAWC,gBAAchB,CAAO;AAElCe,UAAAA,EAASE,cAAc,WAAWQ,EAAMG,OAAOc,QAAQ,OAAO;AAC9DxC,eAAAA,EAAOyC,OAAO,MAAM;AACVC,gBAAAA,IAAU7B,EAAS8B;AACzB9B,UAAAA,EAAS+B,WAAWF,EAAQG,MAAM,GAAG,EAAE,CAAC;AAAA,QAAA,CAC3C,GACM;AAELC,YAAAA,IAAkBjC,EAASkC,sBAC3BC,IAAcnC,EAASoC;AAE7B,UAAIH;AACA,YAAIA,EAAgBI;AAChBJ,UAAAA,EAAgBI,UAAW;AAAA,iBACpBC,EAAAA,iBAAiBL,CAAe,GAAG;AAC1C,gBAAMM,IAAgBC,EAAAA;AACRC,UAAAA,EAAAA,IAAIR,EAAgBS,OAAQ,CAAA,GAC1CC,EAAAA,cAAcJ,CAAa;AAAA,QAAA;AAE3BvC,UAAAA,EAAS4C,eAAgB;AAAA,eAEtBT;AACP,YAAIA,EAAYU;AACZV,UAAAA,EAAYU,YAAa;AAAA,iBAClBP,EAAAA,iBAAiBH,CAAW,GAAG;AACtC,gBAAMI,IAAgBC,EAAAA;AACRC,UAAAA,EAAAA,IAAIN,EAAYO,OAAQ,CAAA,GACtCC,EAAAA,cAAcJ,CAAa;AAAA,QAAA;AAE3BvC,UAAAA,EAAS8C,WAAY;AAI7B9C,aAAAA,EAAS+C,OAAQ,GAEV;AAAA,IACX;AACO,WAAA;AAAA,EAAA,GAEXtB,EAAAA,uBAAuB,GAE3BtC,EAAOqB,gBACHwC,sBACCtC,CAAUA,MAAA;AACP,UAAMM,IAAkBT,EAAAA;AACpBjC,QAAAA,KAAc2C,mBAAiBD,CAAe,KAAKA,EAAgBE,SAAU,EAACC,WAAW,GAAG;AAC5FT,MAAAA,EAAMU,eAAgB;AAChBpB,YAAAA,IAAWC,gBAAchB,CAAO,GAChCkD,IAAcnC,EAASoC;AAE7B,UAAID;AACA,YAAIA,EAAYU;AACZV,UAAAA,EAAYU,YAAa;AAAA,iBAClBP,EAAAA,iBAAiBH,CAAW,GAAG;AACtC,gBAAMI,IAAgBC,EAAAA;AACRC,UAAAA,EAAAA,IAAIN,EAAYO,OAAQ,CAAA,GACtCC,EAAAA,cAAcJ,CAAa;AAAA,QAAA;AAE3BvC,UAAAA,EAAS8C,WAAY;AAAA,WAEtB;AACH,cAAMzB,IAAgBzE,EAAAA;AACb0E,QAAAA,EAAAA,0BAAAA,EAA4BC,YAAYF,CAAa,GAC9DA,EAAcG,OAAQ;AAAA,MAC1B;AAEAxB,aAAAA,EAAS+C,OAAQ,GAEV;AAAA,IACX;AACO,WAAA;AAAA,EAAA,GAEXtB,EAAAA,uBAAuB,CAC1B,GAEN,CAACtC,GAAQb,GAAYe,GAAaC,GAAeL,CAAO,CAAC,GAGxDrb,gBAAAA,EAACqf,GAAe,UAAQ;AAAA,IAAC,OAAO;AAAA,MAAC3E,YAAAA;AAAAA,MAAYC,WAAAA;AAAAA,MAAWmB,cAAAA;AAAAA,MAAcH,WAAAA;AAAAA,MAAW2D,kBAAkBvD;AAAAA,IAAY;AAAA,IAAE,4BAC5GvB,IAAW;AAAA,MACR,YAAAE;AAAA,MACA,UAAAE;AAAA,MACA,KAAKmB;AAAAA,MACL,WAAApB;AAAA,MAAqB,UAAAE;AAAA,IAAA,CAEZ;AAAA,EAAA,CAES;AAElC;AChLO,SAAS0E,KAAqB;AACjC,2BACI,MAAA;AAAA,IAAI,WAAU;AAAA,EAAA,CAAoD;AAE1E;ACEO,MAAMC,KAAiCC,EAAe,cAAA,GAEhDC,KAAN,cAAiCC,EAAAA,cAAc;AAAA,EAClD,OAAOrD,UAAU;AACN,WAAA;AAAA,EACX;AAAA,EAEA,OAAOsD,MAAMtH,GAAM;AACR,WAAA,IAAIoH,GAAmBpH,EAAKuH,KAAK;AAAA,EAC5C;AAAA,EAEA,OAAOC,WAAWjH,GAAgB;AAC9B,WAAOkH,GAA2B;AAAA,EACtC;AAAA,EAUAC,aAAa;AACF,WAAA;AAAA,MACHC,MAAM;AAAA,MACNC,SAAS;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEAC,YAAY;AAEDC,WADKC,SAASC,cAAc,KAAK;AAAA,EAE5C;AAAA,EAEAC,iBAAiB;AACN,WAAA;AAAA;AAAA,EACX;AAAA,EAEAC,WAAW;AACA,WAAA;AAAA,EACX;AAAA,EAEAC,YAAY;AACD,WAAA;AAAA,EACX;AAAA,EAEAC,WAAW;AACP,6BACKC,IAAiB;AAAA,MAAC,SAAS,KAAK7B,OAAS;AAAA,MAAC,WAAU;AAAA,MAAc,UAC/D9e,gBAAAA,EAACuf,IAAkB,EAAA;AAAA,IAAA,CACH;AAAA,EAE5B;AACJ;AApDO,IAAMG,KAANkB;AAaHC,GAbSnB,IAaFoB,UAAS;AAAA,EACZngB,OAAO;AAAA,EACPiD,MAAM;AAAA,EACNlC,MAAMQ;AAAAA,EACN6e,eAAevB;AAAAA,EACfzB,SAAS,CAAC,WAAW,mBAAmB,IAAI;AAAA;AAoC7C,SAASgC,KAA4B;AACxC,SAAO,IAAIL,GAAoB;AACnC;AAEO,SAASsB,GAAsB1I,GAAM;AACxC,SAAOA,aAAgBoH;AAC3B;AClEA,MAAMuB,KAAwB,CAAC,EAAC,IAAAC,GAAI,OAAAC,EAAK,MAAM;AAC3C,EAAA5E,GAAU,MAAM;AACZ,UAAM/D,IAAU0I,EAAG;AACnB,QAAI1I,GAAS;AACT,MAAAA,EAAQ,MAAM,SAAS;AACvB,YAAM4I,IAAS5I,EAAQ;AACvB,MAAAA,EAAQ,MAAM,SAAS,GAAG4I;AAAA,IAC7B;AAAA,EACT,GAAO,CAACF,GAAIC,CAAK,CAAC;AAClB;ACPO,SAASE,GAAc;AAAA,EAACC,MAAAA;AAAAA,EAAMC,UAAAA;AAAAA,EAAUC,YAAAA;AAAAA,EAAYC,gBAAAA;AAAc,GAAG;AAClEC,QAAAA,IAAcvlB,EAAM6f,OAAO,IAAI;AAEf,SAAAiF,GAAA;AAAA,IAACC,IAAIQ;AAAAA,IAAaP,OAAOG;AAAAA,EAAAA,CAAK,qBAGhD,QAAA;AAAA,IAAA,4BACI,YAAA;AAAA,MACI,KAAKI;AAAAA,MACL,aAAY;AAAA,MACZ,gBAAe;AAAA,MACf,YAAW;AAAA,MACX,UAAS;AAAA,MACT,WAAS;AAAA,MACT,WAAU;AAAA,MACV,OAAOJ;AAAAA,MACP,UAAUE;AAAAA,IAAAA,CAAW;AAAA,EAAA,CAEtB;AAEf;AAEAH,GAActG,YAAY;AAAA,EACtBuG,MAAMtG,GAAU2G,QAAAA;AACpB;ACnBkClC,EAAAA,cAAe;AAEjD,SAASmC,GAAmB;AAAA,EAACN,MAAAA;AAAAA,EAAMC,UAAAA;AAAAA,EAAUlG,SAAAA;AAAAA,EAASE,QAAAA;AAAM,GAAG;AAe3D,2BACK8F,IAAa;AAAA,IACV,MAAAC;AAAA,IACA,YAjBYxE,CAAUA,MAAA;AAC1BvB,MAAAA,EAAOyC,OAAO,MAAM;AAEX6D,QADQxF,gBAAchB,CAAO,EAC7BwG,QAAQ/E,EAAMG,OAAOkE,KAAK;AAAA,MAAA,CAClC;AAAA,IAAA;AAAA,IAcG,UAAAI;AAAA,IACA,gBAZgBzE,CAAUA,MAAA;AAC9BvB,MAAAA,EAAOyC,OAAO,MAAM;AAEX8D,QADQzF,gBAAchB,CAAO,EAC7ByG,YAAYhF,EAAMG,OAAOkE,KAAK;AAAA,MAAA,CACtC;AAAA,IAAA;AAAA,EAQG,CACF;AAEV;AAEO,MAAMY,WAAsBpC,EAAAA,cAAc;AAAA,EAyB7CqC,YAAYT,GAAUU,GAAUC,GAAK;AACjC,UAAMA,CAAG;AAzBbC,IAAAA,GAAAA,gBAAS;AACTC,IAAAA,GAAAA,oBAAa;AAyBT,SAAKA,aAAab,GAClB,KAAKY,SAASF;AAAAA,EAClB;AAAA,EAzBA,OAAO3F,UAAU;AACN,WAAA;AAAA,EACX;AAAA,EAEA,OAAOsD,MAAMtH,GAAM;AACf,WAAO,IAAIyJ,GAAczJ,EAAKuH,OAAOvH,EAAK6J,MAAM;AAAA,EACpD;AAAA,EAEA,OAAOrC,WAAWjH,GAAgB;AAC9B,WAAOwJ,GAAsB;AAAA,EACjC;AAAA,EAEArC,aAAa;AACF,WAAA;AAAA,MACHC,MAAM;AAAA,MACNC,SAAS;AAAA,MACToB,MAAM,KAAKa;AAAAA,MACXZ,UAAU,KAAKa;AAAAA,IAAAA;AAAAA,EAEvB;AAAA,EAQAjC,UAAU5H,GAAQ;AACP8H,WAAAA,SAASC,cAAc,KAAK;AAAA,EACvC;AAAA,EAEAG,YAAY;AACD,WAAA;AAAA,EACX;AAAA,EAEA6B,UAAU;AAEN,WADa,KAAKC,YACNJ;AAAAA,EAChB;AAAA,EAEAN,QAAQP,GAAM;AACJkB,UAAAA,IAAO,KAAKC;AAClBD,IAAAA,EAAKL,SAASb;AAAAA,EAClB;AAAA,EAEAoB,cAAc;AAEV,WADa,KAAKH,YACNH;AAAAA,EAChB;AAAA,EAEAN,YAAYP,GAAU;AACZiB,UAAAA,IAAO,KAAKC;AAClBD,IAAAA,EAAKJ,aAAab;AAAAA,EACtB;AAAA,EAEAhB,iBAAiB;AAEb,WADa,KAAKgC,YACNJ;AAAAA,EAChB;AAAA,EAEAzB,SAASnF,GAAQhD,GAAQ;AACrB,6BACKoI,IAAiB;AAAA,MAAC,SAAS,KAAK7B,OAAS;AAAA,MAAA,4BACrC8C,IAAkB;AAAA,QACf,MAAM,KAAKO;AAAAA,QACX,UAAU,KAAKC;AAAAA,QACf,SAAS,KAAKtD,OAAS;AAAA,QACvB,QAAAvD;AAAA,MAAA,CAAe;AAAA,IAAA,CAEH;AAAA,EAE5B;AAAA,EAEAiF,WAAW;AACA,WAAA;AAAA,EACX;AACJ;AAEgB6B,SAAAA,GAAqBd,GAAUU,GAAU;AAC9C,SAAA,IAAIF,GAAcR,GAAUU,CAAQ;AAC/C;AAEO,SAASU,GAAiBrK,GAAM;AACnC,SAAOA,aAAgByJ;AAC3B;AC1HA,MAAMa,KAAwBzmB,EAAMqd,cAAc,EAAE;ACApD,SAASqJ,GAAa;AAAA,EAAC1B,OAAAA;AAAAA,EAAO1c,aAAAA;AAAAA,EAAaqe,UAAAA;AAAQ,GAAG;AAKlD,2BACI,SAAA;AAAA,IACI,UANgBnjB,CAAMA,MAAA;AACjBA,MAAAA,EAAAA,EAAEsd,OAAOkE,KAAK;AAAA,IAAA;AAAA,IAMnB,WAAU;AAAA,IACV,aAAA1c;AAAA,IACA,OAAA0c;AAAA,EAAA,CACF;AAEV;AAEA,SAAS4B,GAAa;AAAA,EAAC5B,OAAAA;AAAAA,EAAO1c,aAAAA;AAAAA,EAAaqe,UAAAA;AAAQ,GAAG;AAKlD,2BACI,SAAA;AAAA,IACI,UANgBnjB,CAAMA,MAAA;AACjBA,MAAAA,EAAAA,EAAEsd,OAAOkE,KAAK;AAAA,IAAA;AAAA,IAMnB,WAAU;AAAA,IACV,aAAA1c;AAAA,IACA,OAAA0c;AAAA,EAAA,CACF;AAEV;AAEA,SAAS6B,GAAgB;AAAA,EAACC,cAAAA;AAAAA,EAAcC,SAAAA;AAAO,GAAG;AAC9C,2BACI,UAAA;AAAA,IACI,MAAK;AAAA,IACL,WAAY,4JAA2JD,IAAe,qCAAqC;AAAA,IAC3N,SAAAC;AAAA,IAAiB,UAAA;AAAA,EAAA,CAGZ;AAEjB;AAEO,SAASC,GAAkB;AAAA,EAC9Bjf,SAAAA;AAAAA,EACAkf,oBAAAA;AAAAA,EACAjf,YAAAA;AAAAA,EACA8Z,SAAAA;AAAAA,EACAoF,oBAAAA;AAAAA,EACAlF,YAAAA;AAAAA,EACAzD,YAAAA;AACJ,GAAG;AACC,QAAM,CAACuI,GAAcK,CAAe,IAAInnB,EAAM8H,SAAS,EAAK,GAEtDsf,IAAsB5jB,CAAMA,MAAA;AAC9BA,IAAAA,EAAE2E,gBAAiB,GACnBgf,EAAgB,CAACL,CAAY;AAAA,EAAA;AAUjC,MANA9mB,EAAMogB,UAAU,MAAM;AAClB,IAAK7B,KACD4I,EAAgB,EAAK;AAAA,EACzB,GACD,CAAC5I,GAAY4I,CAAe,CAAC,GAE5B5I,KAAcuD;AACd,6BACI,cAAA;AAAA,MAAY,WAAU;AAAA,MAAiB,UAClCgF,CAAAA,IACKjjB,gBAAAA,EAAC+iB,IAAY;AAAA,QAAC,OAAO7e;AAAAA,QAAS,aAAakf;AAAAA,QAAoB,UAAUjf;AAAAA,MAAAA,CAAc,IACvFnE,gBAAAA,EAAC6iB,IAAY;AAAA,QAAC,OAAO5E;AAAAA,QAAS,aAAaoF;AAAAA,QAAoB,UAAUlF;AAAAA,MAAAA,CAAW,GACzFha,KAAcnE,gBAAAA,EAACgjB,IAAe;AAAA,QAAC,cAAAC;AAAA,QAA4B,SAASM;AAAAA,MAAAA,CAAsB,CAAA;AAAA,IAAA,CAClF;AAGzB;AC7EA,MAAMC,KAAW,CAAC;AAAA,EAACC,MAAAA;AAAI,wBAEf,QAAA;AAAA,EAAM,0BAAsB;AAAA,EAAC,WAAU;AAAA,EAAoF,UAAEA;AAAAA,CAAY;AAI1I,SAASlf,GAAiB;AAAA,EAACX,MAAAA;AAAAA,EAAMlC,MAAAA;AAAAA,EAAMgiB,YAAAA;AAAAA,EAAYC,MAAAA;AAAAA,EAAMC,YAAAA;AAAAA,EAAYC,YAAAA;AAAAA,EAAYC,eAAAA;AAAAA,KAAkB5nB;AAAK,GAAG;AAC9G,2BACI,OAAA;AAAA,IACI,aAAa0nB;AAAAA,IACb,aAAaA;AAAAA,IACb,YAAYA;AAAAA,IACZ,QAAQC;AAAAA,IACR,WAAU;AAAA,IAA2B,GAAK3nB;AAAAA,IAAK,4BAC/C,OAAA;AAAA,MAAK,WAAY,oFAAmFynB,MAAS,WAAW,sBAAsB;AAAA,MAAsB,UAE5JG,IACI9jB,gBAAAA,EAACwjB,IAAQ;AAAA,QAAC,MAAK;AAAA,MAAA,CAA0B,IAEzC3f,gBAAAA,EAAA,UAAA;AAAA,QAAQ,SAAS6f;AAAAA,QAAY,MAAK;AAAA,QAAqB,WAAY,yDAAwDC,MAAS,WAAW,QAAQ;AAAA,QAAkB,UAAA,CACrK3jB,gBAAAA,EAAC0B,GAAI;AAAA,UAAC,WAAY,uFAAsFiiB,MAAS,UAAU,wBAAwBA,MAAS,UAAU,wBAAwBA,MAAS,WAAW,+BAA+B;AAAA,QAAA,CAAwB,GACzQ3jB,gBAAAA,EAAA,KAAA;AAAA,UAAG,WAAY,wFAAuF2jB,MAAS,WAAW,KAAK;AAAA,UAAS,UAAE/f;AAAAA,QAAAA,CAAS,CAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAC9I;AAAA,EAAA,CAGnB;AAEd;ACzBO,SAASmgB,GAAkB,EAAC,cAAAC,EAAY,GAAG;AAC9C,EAAAA,EAAa,QAAQ;AACzB;ACJO,SAASC,GAAgB;AAAA,EAACC,cAAAA;AAAAA,EAAcF,cAAAA;AAAY,GAAG;AAC1D,2BACI,QAAA;AAAA,IAAM,UAAUE;AAAAA,IAAa,4BACzB,SAAA;AAAA,MACI,MAAK;AAAA,MACL,MAAK;AAAA,MACL,QAAO;AAAA,MACP,KAAKF;AAAAA,MACL,QAAQ;AAAA,IAAA,CAAK;AAAA,EAAA,CAEd;AAEf;ACJA,SAASG,GAAmB;AAAA,EAACC,KAAAA;AAAAA,EAAKC,KAAAA;AAAG,GAAG;AACpC,2BACI,OAAA;AAAA,IAAK,KAAAD;AAAA,IAAU,KAAAC;AAAA,EAAA,CAAY;AAEnC;AAEA,SAASC,GAAkB;AAAA,EAACC,YAAAA;AAAAA,EAAYC,UAAAA;AAAQ,GAAG;AAC/C,QAAMC,IAAgB;AAAA,IAClBnJ,OAAQ,GAAEkJ,EAASE,QAAQ,CAAC;AAAA,EAAA;AAEhC,2BACI,OAAA;AAAA,IAAA,UACI,CAAA1kB,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAa,KAAKukB;AAAAA,MAAY,KAAM,uBAAsBC;AAAAA,IAAAA,CAAY,GACrFxkB,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAA0F,4BACrG,OAAA;AAAA,QAAK,WAAU;AAAA,QAAsD,4BACjE,OAAA;AAAA,UAAK,WAAU;AAAA,UAAyE,OAAOykB;AAAAA,QAAAA,CAAc;AAAA,MAAA,CAAO;AAAA,IAAA,CAEtH,CAAA;AAAA,EAAA,CACJ;AAEd;AAEA,SAASE,GAAe;AAAA,EAACT,cAAAA;AAAAA,EAAcU,iBAAAA;AAAAA,EAAiBhB,YAAAA;AAAAA,EAAYC,YAAAA;AAAAA,EAAYC,eAAAA;AAAa,GAAG;AACtFE,QAAAA,IAAe7nB,EAAM6f,OAAO,IAAI;AAOtC,2BACI6I,IAAA;AAAA,IAAA,UAAA,CACI7kB,gBAAAA,EAACuE,IAAgB;AAAA,MACb,YAAAqf;AAAA,MACA,YAAAC;AAAA,MACA,YAAY,MAAME,GAAkB;AAAA,QAACC,cAAAA;AAAAA,MAAAA,CAAa;AAAA,MAClD,MAAK;AAAA,MACL,MAAMxf;AAAAA,MACN,eAAAsf;AAAA,IAAA,CACF,GACF9jB,gBAAAA,EAACikB,IAAe;AAAA,MACZ,YAAY,MAAMF,GAAkB;AAAA,QAACC,cAAAA;AAAAA,MAAAA,CAAa;AAAA,MAClD,cAAAE;AAAA,MACA,cAlBY1L,CAAYA,MAAA;AAChCwL,QAAAA,EAAajH,UAAUvE,GACvBoM,EAAgBZ,CAAY;AAAA,MAAA;AAAA,IAgBNc,CAChB,CAAA;AAAA,EAAA,CACH;AAEX;AAEA,MAAMC,KAAc,CAAC;AAAA,EACjBX,KAAAA;AAAAA,EACAlgB,SAAAA;AAAAA,EACAqgB,YAAAA;AAAAA,EACAS,gBAAAA;AAAAA,EACAd,cAAAA;AAAAA,EACAU,iBAAAA;AAAAA,EACAhB,YAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,eAAAA;AACJ,MACQS,KAAc,CAACH,KAAOY,IAAiB,sBAElCV,IAAiB;AAAA,EACd,YAAAC;AAAA,EACA,UAAUS;AAAAA,CACZ,IAECZ,KAAO,CAACG,sBAEVJ,IAAkB;AAAA,EACf,KAAAC;AAAA,EACA,KAAKlgB;AAAAA,CACP,sBAIDygB,IAAc;AAAA,EACX,YAAAf;AAAA,EACA,cAAAM;AAAA,EACA,iBAAAU;AAAA,EACA,YAAAf;AAAA,EACA,eAAAC;AAAA,CACF;AAKP,SAASrjB,GAAU;AAAA,EACtBia,YAAAA;AAAAA,EACA0J,KAAAA;AAAAA,EACAF,cAAAA;AAAAA,EACAjG,SAAAA;AAAAA,EACAE,YAAAA;AAAAA,EACAja,SAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACA8gB,cAAAA;AAAAA,EACAjB,cAAAA;AAAAA,EACAJ,YAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAnJ,WAAAA;AAAAA,EACA4J,YAAAA;AAAAA,EACAS,gBAAAA;AACJ,GAAG;AACOE,QAAAA,IAAY/oB,EAAM6f,OAAO,IAAI;AAEnC7f,SAAAA,EAAMogB,UAAU,MAAM;AAClB,IAAI0I,KACAA,EAAaC,CAAS;AAAA,EAC1B,GACD,CAACA,GAAWD,CAAY,CAAC,qBAQxBJ,IAAA;AAAA,IAAA,4BACI,UAAA;AAAA,MAAQ,sBAAoBlK;AAAAA,MAAW,KAAKuK;AAAAA,MAAU,UAAA,CAClDllB,gBAAAA,EAAC+kB,IAAW;AAAA,QACR,KAAAX;AAAA,QACA,SAAAlgB;AAAA,QACA,YAAAqgB;AAAA,QACA,gBAAAS;AAAA,QACA,cAAAd;AAAA,QACA,iBAdSpJ,CAAQA,MAAA;AAC7B,UAAIkJ,MACAA,EAAajH,UAAUjC,EAAIiC;AAAAA,QAC/B;AAAA,QAYY,YAAA6G;AAAA,QACA,YAAAC;AAAA,QACA,eAAAC;AAAA,MAAA,CACF,GACF9jB,gBAAAA,EAACmjB,IAAiB;AAAA,QACd,SAASjf,KAAW;AAAA,QACpB,YAAAC;AAAA,QACA,oBAAmB;AAAA,QACnB,SAAS8Z,KAAW;AAAA,QACpB,YAAAE;AAAA,QACA,oBAAmB;AAAA,QACnB,YAAAzD;AAAA,MAAA,CACF,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAEP;AAEX;AAEAja,GAAUsa,YAAY;AAAA,EAClBL,YAAYM,GAAUC,QAAAA;AAAAA,EACtB9W,YAAY6W,GAAUmK,QAAAA;AAAAA,EACtBlH,SAASjD,GAAU2G,QAAAA;AAAAA,EACnBzd,SAAS8W,GAAU2G,QAAAA;AAAAA,EACnBxD,YAAYnD,GAAUmK,QAAAA;AAAAA,EACtBf,KAAKpJ,GAAU2G,QAAAA;AAAAA,EACfmC,eAAe9I,GAAUC,QAAAA;AAAAA,EACzBsJ,YAAYvJ,GAAU2G,QAAAA;AAAAA,EACtBqD,gBAAgBhK,GAAUoK,QAAAA;AAC9B;AClKA,MAAMC,KAAc,CAACnpB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACxE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,CAAC,CAAC,GCVImpB,KAAc,CAACppB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACxE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,CAAC,CAAC,GCXIopB,KAAY,CAACrpB,MAA0B,gBAAAC,EAAM,cAAc,OAAO;AAAA,EACtE,OAAO;AAAA,EACP,SAAS;AAAA,EACT,GAAGD;AACL,GAAmB,gBAAAC,EAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AACL,CAAC,CAAC,GCSWqpB,KAAgB;AAAA,EACzBC,MAAM5kB;AAAAA,EACN6kB,QAAQ5kB;AAAAA,EACR6kB,YAAY5kB;AAAAA,EACZ6kB,YAAY5kB;AAAAA,EACZ6kB,OAAO3kB;AAAAA,EACP4kB,UAAUC;AAAAA,EACVC,UAAUC;AAAAA,EACVC,MAAM/kB;AAAAA,EACNglB,cAAcC;AAAAA,EACdC,WAAWC;AAAAA,EACXC,WAAWC;AAAAA,EACXC,cAAcC;AAAAA,EACd7H,KAAKpd;AAAAA,EACLklB,MAAMC;AAAAA,EACNC,SAASzlB;AACb;AAEO,SAAS0lB,GAAY;AAAA,EAACjM,UAAAA;AAAAA,KAAa3e;AAAK,GAAG;AAC9C,2BACI,MAAA;AAAA,IAAI,WAAU;AAAA,IAA0Q,GAAKA;AAAAA,IAAK,UAAA2e;AAAA,EAAA,CAE7R;AAEb;AAEO,SAASkM,GAAgB;AAAA,EAACpmB,OAAAA;AAAAA,EAAOoD,UAAAA;AAAAA,EAAUmf,SAAAA;AAAAA,EAAS8D,MAAAA;AAAAA,KAAS9qB;AAAK,GAAG;AACxE,QAAMwF,IAAO8jB,GAAcwB;AAE3B,2BACI,MAAA;AAAA,IAAI,WAAU;AAAA,IAAwB,GAAK9qB;AAAAA,IAAK,4BAC5C,UAAA;AAAA,MACI,MAAK;AAAA,MACL,WAAU;AAAA,MACV,SAAAgnB;AAAA,MACA,cAAYviB;AAAAA,MACZ,kBAAgBoD;AAAAA,MAAS,4BAExBrC,GAAI;AAAA,QAAC,WAAWqC,IAAW,eAAe;AAAA,MAAA,CAAa;AAAA,IAAA,CAAG;AAAA,EAAA,CAE9D;AAEb;AAEO,SAASkjB,KAAuB;AACnC,2BACI,MAAA;AAAA,IAAI,WAAU;AAAA,EAAA,CAAqC;AAE3D;AC9DO,SAASC,GAAc;AAAA,EAACC,WAAAA;AAAAA,EAAWtM,UAAAA;AAAAA,KAAa3e;AAAK,GAAG;AAC3D,MAAIirB;AACA,6BACI,OAAA;AAAA,MAAK,WAAU;AAAA,MAAsE,GAAKjrB;AAAAA,MAAK,UAAA2e;AAAA,IAAA,CAEzF;AAGlB;ACRO,eAAeuM,GAAmBC,GAAK;AAC1C,QAAMC,IAAM,IAAI;AAChB,SAAAA,EAAI,MAAMD,GACH,IAAI,QAAQ,CAACE,GAASC,MAAW;AACpC,IAAAF,EAAI,SAAS,MAAM;AACf,MAAAC,EAAQ,EAAC,OAAOD,EAAI,cAAc,QAAQA,EAAI,cAAa,CAAC;AAAA,IACxE,GACQA,EAAI,UAAUE;AAAA,EACtB,CAAK;AACL;ACRO,MAAMC,KAAqB,OAAOC,GAAOrM,GAASE,GAAQoM,MAAkB;AAC/E,MAAI,CAACD;AACD;AAEJ,MAAIL,IAAM,IAAI,gBAAgBK,EAAM,EAAE;AACtC,EAAIL,KACA,MAAM9L,EAAO,OAAO,MAAM;AAEtB,IADac,gBAAchB,CAAO,EAC7B,cAAcgM,CAAG;AAAA,EAClC,CAAS;AAEL,QAAM,EAAC,OAAA/L,GAAO,QAAA8F,EAAM,IAAI,MAAMgG,GAAmBC,CAAG,GAC9CO,IAAU,MAAMD,EAAc,cAAcD,CAAK;AACvD,QAAMnM,EAAO,OAAO,MAAM;AACtB,UAAMjD,IAAO+D,gBAAchB,CAAO;AAClC,IAAA/C,EAAK,YAAYgD,CAAK,GACtBhD,EAAK,aAAa8I,CAAM,GACxB9I,EAAK,OAAOsP,EAAQ,GAAG;AAAA,EAC/B,CAAK;AAEL;ACXO,SAASC,GAAmB;AAAA,EAACxM,SAAAA;AAAAA,EAAS+I,KAAAA;AAAAA,EAAKlgB,SAAAA;AAAAA,EAAS+Z,SAAAA;AAAAA,EAAS6J,mBAAAA;AAAAA,EAAmBvD,YAAAA;AAAU,GAAG;AAC1F,QAAA,CAAChJ,CAAM,IAAIC,GAAAA,6BACX,CAACuM,GAAUC,CAAW,IAAI7rB,EAAM8H,SAAS,EAAK,GAC9C;AAAA,IAAC0jB,eAAAA;AAAAA,EAAAA,IAAiBxrB,EAAM8rB,WAAWrF,EAAqB,GACxD;AAAA,IAAClI,YAAAA;AAAAA,IAAYC,WAAAA;AAAAA,IAAWmB,cAAAA;AAAAA,EAAAA,IAAgB3f,EAAM8rB,WAAW1O,EAAW,GACpEyK,IAAe7nB,EAAM6f,UACrBkM,IAAsB/rB,EAAM6f,UAE5BkI,IAAe,OAAOvkB,MAAM;AACxBwoB,UAAAA,IAAMxoB,EAAEsd,OAAOyK;AACrB,WAAO,MAAMD,GAAmBU,GAAK9M,GAASE,GAAQoM,CAAa;AAAA,EAAA,GAGjExJ,IAAciK,CAAeA,MAAA;AAC/B7M,IAAAA,EAAOyC,OAAO,MAAM;AAEhB1F,MADa+D,gBAAchB,CAAO,EAC7B8C,WAAWiK,CAAU;AAAA,IAAA,CAC7B;AAAA,EAAA,GAGCjkB,IAAckkB,CAAeA,MAAA;AAC/B9M,IAAAA,EAAOyC,OAAO,MAAM;AAEhB1F,MADa+D,gBAAchB,CAAO,EAC7BlX,WAAWkkB,CAAU;AAAA,IAAA,CAC7B;AAAA,EAAA;AAKLlsB,EAAAA,EAAMogB,UAAU,MAAM;AAClB,QAAI,CAACuL;AACD;AAGEQ,UAAAA,IAAgBC,WAAW,MAAM;AAEjB,MAAAxE,GAAA;AAAA,QAACC,cAAAA;AAAAA,MAAAA,CAAa,GAGhCzI,EAAOyC,OAAO,MAAM;AAEhB1F,QADa+D,gBAAchB,CAAO,EAC7BmN,qBAAqB,EAAK;AAAA,MAAA,CAClC;AAAA,IAAA,CACJ;AAED,WAAQ,MAAM;AACVC,mBAAaH,CAAa;AAAA,IAAA;AAAA,EAC9B,CACH;AAED,QAAMI,IAAyBC,CAAaA,MAAA;AACxCpN,IAAAA,EAAOyC,OAAO,MAAM;AAEhB1F,MADa+D,gBAAchB,CAAO,EAC7BS,aAAa6M,CAAQ,GAC1B7M,EAAa6M,CAAQ;AAAA,IAAA,CACxB;AAAA,EAAA,GAGC/E,IAAcjkB,CAAMA,MAAA;AACtBA,IAAAA,EAAE6d,eAAgB,GAClB7d,EAAE2E,gBAAiB,GACf3E,EAAEsgB,SAAS,eAAetgB,EAAEsgB,SAAS,aACrC+H,EAAY,EAAI,IACTroB,EAAEsgB,SAAS,eAClB+H,EAAY,EAAK;AAAA,EAErB,GAGEnE,IAAa,OAAOlkB,MAAM;AAG5B,QAFAA,EAAE6d,eAAgB,GAClB7d,EAAE2E,gBAAiB,GACf3E,EAAEipB,aAAalB,SAAS/nB,EAAEipB,aAAalB,MAAM,IAAI;AAC3CS,YAAAA,IAAMxoB,EAAEipB,aAAalB;AAC3B,MAAIS,MACAH,EAAY,EAAK,GACjB,MAAMP,GAAmBU,GAAK9M,GAASE,GAAQoM,CAAa;AAAA,IAEpE;AAAA,EAAA,GAGE3C,KAAiB2C,KAAAA,gBAAAA,EAAe3C,mBAAkB;AAExD,2BACIH,IAAA;AAAA,IAAA,UAAA,CACI7kB,gBAAAA,EAACS,IAAS;AAAA,MACN,YAAAia;AAAA,MACA,cAAAsJ;AAAA,MACA,cAAAE;AAAA,MACA,KAAAE;AAAA,MACA,SAAAlgB;AAAA,MACA,YAAAC;AAAA,MACA,SAAA8Z;AAAA,MACA,YAAAE;AAAA,MACA,YAAAyF;AAAA,MACA,YAAAC;AAAA,MACA,eAAekE;AAAAA,MACf,WAAApN;AAAA,MACA,YAAA4J;AAAA,MACA,gBAAAS;AAAA,IAAA,CACF,GACFnhB,gBAAAA,EAACqjB,IAAa;AAAA,MACV,WAAW9C,KAAO1J;AAAAA,MAClB,wBAAqB;AAAA,MAAO,UAAA,CAE5B1a,gBAAAA,EAACikB,IAAe;AAAA,QACZ,cAAAC;AAAA,QACA,cAAcgE;AAAAA,MAAAA,CAChB,GACFrkB,gBAAAA,EAACijB,IAAW;AAAA,QAAA,UAAA,CACR9mB,gBAAAA,EAAC+mB,IAAe;AAAA,UAAC,OAAM;AAAA,UAAU,MAAK;AAAA,UAAe,UAAUpM,MAAc;AAAA,UAA0B,SAAS,MAAM+N,EAAsB,SAAS;AAAA,QAAA,CAAK,GAC1J1oB,gBAAAA,EAAC+mB,IAAe;AAAA,UAAC,OAAM;AAAA,UAAO,MAAK;AAAA,UAAY,UAAUpM,MAAc;AAAA,UAAuB,SAAS,MAAM+N,EAAsB,MAAM;AAAA,QAAA,CAAI,GAC7I1oB,gBAAAA,EAAC+mB,IAAe;AAAA,UAAC,OAAM;AAAA,UAAO,MAAK;AAAA,UAAY,UAAUpM,MAAc;AAAA,UAAuB,SAAS,MAAM+N,EAAsB,MAAM;AAAA,QAAA,CAAE,GAC1I1oB,gBAAAA,EAAAinB,IAAuB,CAAA,CAAA,qBACvBF,IAAe;AAAA,UAAC,OAAM;AAAA,UAAO,MAAK;AAAA,UAAO,UAAU;AAAA,QAAA,CAAS,GAC7D/mB,gBAAAA,EAAC+mB,IAAe;AAAA,UAAC,OAAM;AAAA,UAAU,MAAK;AAAA,UAAe,UAAU;AAAA,UAAO,SAAS,MAAMhD,GAAkB;AAAA,YAACC,cAAckE;AAAAA,UAAAA,CAAoB;AAAA,QAAA,CAAE,GAC3IloB,gBAAAA,EAAAinB,IAAuB,CAAA,CAAA,qBACvBF,IAAe;AAAA,UAAC,OAAM;AAAA,UAAU,MAAK;AAAA,UAAU,UAAU;AAAA,QAAA,CAAS,CAAA;AAAA,MAAA,CACzD,CAAA;AAAA,IAAA,CACF,CAAA;AAAA,EAAA,CACjB;AAEX;AChIO,MAAM8B,KAAuBpJ,EAAe,cAAA;AACfA,EAAAA,cAAe;AAEnD,SAASqJ,GAAoBC,GAAS;AAClC,MAAIA,aAAmBC,kBAAkB;AAC/B,UAAA;AAAA,MAAC3E,KAAKngB;AAAAA,MAASkgB,KAAAA;AAAAA,IAAO2E,IAAAA;AAErB,WAAA;AAAA,MAACzQ,MADK2Q,GAAiB;AAAA,QAAC/kB,SAAAA;AAAAA,QAASkgB,KAAAA;AAAAA,MAAAA,CAAI;AAAA,IACpC9L;AAAAA,EACZ;AAEO,SAAA;AACX;AAEO,MAAM4Q,KAAN,cAAwBvJ,EAAAA,cAAc;AAAA,EAqFzCqC,YAAY;AAAA,IAACoC,KAAAA;AAAAA,IAAKnG,SAAAA;AAAAA,IAAS/Z,SAAAA;AAAAA,IAASyW,WAAAA;AAAAA,IAAWmN,mBAAAA;AAAAA,IAAmBxM,OAAAA;AAAAA,IAAO8F,QAAAA;AAAAA,IAAQmD,YAAAA;AAAAA,EAAAA,IAAc,CAAA,GAAIrC,GAAK;AACpG,UAAMA,CAAG;AApFbiH,IAAAA,GAAAA;AACAC,IAAAA,GAAAA;AACAC,IAAAA,GAAAA;AACAC,IAAAA,GAAAA;AACAC,IAAAA,GAAAA;AACAC,IAAAA,GAAAA;AAQAC,IAAAA,GAAAA,6BAAsB;AACtBC,IAAAA,GAAAA,sBAAe;AAuEX,SAAKN,YAAYnL,KAAW,IAC5B,KAAKoL,YAAYnlB,KAAW,IAC5B,KAAKilB,QAAQ/E,KAAO,IACpB,KAAKsF,eAAenF,KAAc,IAClC,KAAK+E,cAAc3O,KAAa,WAChC,KAAK8O,sBAAsB3B,KAAqB,IAChD,KAAKyB,UAAUjO,KAAS,MACxB,KAAKkO,WAAWpI,KAAU;AAAA,EAC9B;AAAA,EA7EA,OAAO9E,UAAU;AACN,WAAA;AAAA,EACX;AAAA,EAcA,OAAOsD,MAAMtH,GAAM;AACf,WAAO,IAAI4Q,GACP;AAAA,MACI9E,KAAK9L,EAAK6Q;AAAAA,MACVlL,SAAS3F,EAAK8Q;AAAAA,MACdllB,SAASoU,EAAK+Q;AAAAA,MACd1O,WAAWrC,EAAKgR;AAAAA,MAChBhO,OAAOhD,EAAKiR;AAAAA,MACZnI,QAAQ9I,EAAKkR;AAAAA,IAAAA,GAEjBlR,EAAKuH,KAAK;AAAA,EAElB;AAAA,EAMA,OAAOC,WAAWjH,GAAgB;AACxB,UAAA;AAAA,MAACoF,SAAAA;AAAAA,MAAS/Z,SAAAA;AAAAA,MAASkgB,KAAAA;AAAAA,MAAKzJ,WAAAA;AAAAA,MAAWW,OAAAA;AAAAA,MAAO8F,QAAAA;AAAAA,IAAUvI,IAAAA;AASnDP,WARM2Q,GAAiB;AAAA,MAC1B/kB,SAAAA;AAAAA,MACA+Z,SAAAA;AAAAA,MACAmG,KAAAA;AAAAA,MACAzJ,WAAAA;AAAAA,MACAW,OAAAA;AAAAA,MACA8F,QAAAA;AAAAA,IAAAA,CACH;AAAA,EAEL;AAAA,EAEAuI,YAAW;AACDnR,UAAAA,IAAU6H,SAASC,cAAc,QAAQ,GACzCgH,IAAMjH,SAASC,cAAc,KAAK,GAClCsJ,IAAavJ,SAASC,cAAc,YAAY;AAClD8D,WAAAA,EAAAA,MAAM,KAAKyF,UACJC,EAAAA,YAAY,KAAK5L,cAC5B1F,EAAQuR,YAAYzC,CAAG,GACvB9O,EAAQuR,YAAYH,CAAU,GACvB;AAAA,MAACpR,SAAAA;AAAAA,IAAAA;AAAAA,EACZ;AAAA,EAEA,OAAOwR,YAAY;AACR,WAAA;AAAA,MACH1C,KAAK,CAAChP,IAAO2R,UAAU;AAAA,QACnBC,YAAYpB;AAAAA,QACZqB,UAAU;AAAA,MAAA;AAAA,IACd;AAAA,EAER;AAAA,EAcAnK,aAAa;AAGHoK,UAAAA,IADM,KAAKP,SACEQ,WAAW,OAAO;AAU9BC,WATS;AAAA,MACZpmB,SAAS,KAAKqmB,WAAY;AAAA,MAC1BtM,SAAS,KAAKC,WAAY;AAAA,MAC1BkG,KAAKgG,IAAS,mBAAmB,KAAKP,OAAQ;AAAA,MAC9C5J,MAAM;AAAA,MACNtF,WAAW,KAAK6P,aAAc;AAAA,MAC9BlP,OAAO,KAAKmP,YAAa;AAAA,MACzBrJ,QAAQ,KAAKsJ,aAAY;AAAA,IAAA;AAAA,EAGjC;AAAA,EAEAvK,YAAY;AAED3H,WADS6H,SAASC,cAAc,KAAK;AAAA,EAEhD;AAAA,EAEAG,YAAY;AACD,WAAA;AAAA,EACX;AAAA,EAEAD,WAAW;AACA,WAAA;AAAA,EACX;AAAA,EAEAqJ,SAAS;AACL,WAAO,KAAKV;AAAAA,EAChB;AAAA,EAEAwB,OAAOvG,GAAK;AACFwG,UAAAA,IAAW,KAAKnI;AACtB,WAAOmI,EAASzB,QAAQ/E;AAAAA,EAC5B;AAAA,EAEAyG,gBAAgB;AACZ,WAAO,KAAKnB;AAAAA,EAChB;AAAA,EAEAoB,cAAcvG,GAAY;AAChBqG,UAAAA,IAAW,KAAKnI;AACtB,WAAOmI,EAASlB,eAAenF;AAAAA,EACnC;AAAA,EAEAzI,aAAanB,GAAW;AACdiQ,UAAAA,IAAW,KAAKnI;AACtB,WAAOmI,EAAStB,cAAc3O;AAAAA,EAClC;AAAA,EAEA6P,eAAe;AACX,WAAO,KAAKlB;AAAAA,EAChB;AAAA,EAEAmB,cAAc;AACV,WAAO,KAAKlB;AAAAA,EAChB;AAAA,EAEAwB,YAAYzP,GAAO;AACTsP,UAAAA,IAAW,KAAKnI;AACtB,WAAOmI,EAASrB,UAAUjO;AAAAA,EAC9B;AAAA,EAEAoP,eAAe;AACX,WAAO,KAAKlB;AAAAA,EAChB;AAAA,EAEAwB,aAAa5J,GAAQ;AACXwJ,UAAAA,IAAW,KAAKnI;AACtB,WAAOmI,EAASpB,WAAWpI;AAAAA,EAC/B;AAAA,EAEAlD,aAAa;AACT,WAAO,KAAKkL;AAAAA,EAChB;AAAA,EAEAjL,WAAWF,GAAS;AACV2M,UAAAA,IAAW,KAAKnI;AACtB,WAAOmI,EAASxB,YAAYnL;AAAAA,EAChC;AAAA,EAEAsM,aAAa;AACT,WAAO,KAAKlB;AAAAA,EAChB;AAAA,EAEAllB,WAAWD,GAAS;AACV0mB,UAAAA,IAAW,KAAKnI;AACtB,WAAOmI,EAASvB,YAAYnlB;AAAAA,EAChC;AAAA,EAEAskB,qBAAqByC,GAAe;AAC1BL,UAAAA,IAAW,KAAKnI;AACtB,WAAOmI,EAASnB,sBAAsBwB;AAAAA,EAC1C;AAAA,EAEAvK,WAAW;AACP,6BACKC,IAAiB;AAAA,MAAC,SAAS,KAAK7B,OAAS;AAAA,MAAC,OAAO,KAAKwK;AAAAA,MAAY,4BAC9DzB,IAAkB;AAAA,QACf,SAAS,KAAK/I,OAAS;AAAA,QACvB,KAAK,KAAKqK;AAAAA,QACV,SAAS,KAAKE;AAAAA,QACd,SAAS,KAAKD;AAAAA,QACd,mBAAmB,KAAKK;AAAAA,QACxB,YAAY,KAAKoB,cAAa;AAAA,MAAA,CAAG;AAAA,IAAA,CAErB;AAAA,EAE5B;AACJ;AAhNO,IAAM3B,KAANgC;AAsBHrK,GAtBSqI,IAsBFpI,UAAS;AAAA,EACZngB,OAAO;AAAA,EACPiD,MAAM;AAAA,EACNlC,MAAMI;AAAAA,EACNif,eAAe8H;AAAAA,EACfsC,cAAc;AAAA,IACVrD,mBAAmB;AAAA,EACvB;AAAA,EACA/J,SAAS,CAAC,SAAS,KAAK;AAAA,EACxBqN,aAAa,CAAC,KAAK;AAAA,IAkBvBvK,GAjDSqI,IAiDFmC,kBAAiB,CAAC,OAAO,OAAO,QAAQ,OAAO,OAAO,QAAQ,MAAM,IAC3ExK,GAlDSqI,IAkDFoC,aAAY,CAAC,aAAa,aAAa,cAAc,aAAa,iBAAiB,YAAY;AAgKnG,MAAMrC,KAAoBqB,CAAYA,OAErCA,EAAQlG,OACR,OAAOkG,EAAQxC,mBAGZ,IAAIoB,GAAUoB,CAAO;AAGzB,SAASiB,GAAajT,GAAM;AAC/B,SAAOA,aAAgB4Q;AAC3B;ACxOK,MAACsC,KAAgB;AAAA,EAClBC,GAAW;AAAA,EACXC,GAAQ;AAAA,EACRC,GAAY;AAAA,EACZC,GAAS;AAAA,EACTxT;AAAA,EACAyT,GAAQ;AAAA,EACR9J;AAAA,EACArC;AAAA,EACAwJ;AACJ,GClBM4C,KAAe;AAAA,EACjB,WAAW;AAAA,EACX,SAAS;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EACP;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,IACF,QAAQ;AAAA,MACJ,UAAU;AAAA,IACb;AAAA,IACD,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,EACb;AAAA,EACD,MAAM;AAAA,EACN,MAAM;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,WAAW;AAAA,IACX,eAAe;AAAA,IACf,wBAAwB;AAAA,IACxB,MAAM;AAAA,EACT;AAAA,EACD,MAAM;AACV;ACvBA,SAASC,GAAeC,GAAO;AAC3BC,UAAQD,MAAMA,CAAK;AACvB;AAEA,MAAME,KAAgB;AAAA,EAClBC,WAAW;AAAA,EACXC,OAAON;AACX,GAEMO,KAAiB,CAAC;AAAA,EACpBC,oBAAAA;AAAAA,EACAC,OAAAA,IAAQ,CAAC,GAAGf,EAAa;AAAA,EACzBgB,SAAAA,IAAUT;AAAAA,EACVU,qBAAAA;AAAAA,EACA5R,UAAAA;AACJ,MAAM;AACI6R,QAAAA,IAAgBvwB,EAAMwwB,QAAQ,MACzBC,OAAOC,OAAO,CAAC,GAAGX,IAAe;AAAA,IACpCK,OAAAA;AAAAA,IACA7P,aAAa4P;AAAAA,IACbE,SAAAA;AAAAA,EAAAA,CACH,GACF,CAACF,GAAoBC,GAAOC,CAAO,CAAC,GAEjCM,IAAqB3wB,EAAM6f,OAAO,IAAI,GAEtC2L,IAAgB8E,KAAuB,WAAY;AACrDR,YAAQD,MAAM,6HAA6H;AAAA,EAC3I;AAGJ,2BACKrV,GAAAA,iBAAe;AAAA,IAAC,eAAA+V;AAAA,IAA6B,UACzC1sB,gBAAAA,EAAA4iB,GAAsB,UAAQ;AAAA,MAAC,OAAO;AAAA,QAAC+E,eAAAA;AAAAA,QAAemF,oBAAAA;AAAAA,MAAkB;AAAA,MAAE,UAAAjS;AAAA,IAAA,CAC9D;AAAA,EAAA,CAEC;AAE1B;sBCzCiBjb,KAAEb;AAAmB,SAASgI,GAAEzH,GAAE,IAAE,IAAG;AAAC,SAAGA,IAAQ,MAAGA,IAAE0H,GAAG,GAAC,MAAI1H,IAAEA,EAAE,KAAI,IAAeA,MAAL;AAAM;AAAC,SAAS0H,KAAG;AAAC,SAAOpH,GAAE,WAAW;AAAgB;AAAC,SAASsH,GAAE5H,GAAE,GAAE;AAAkE,MAA9D,CAAC,KAAG,CAACyH,GAAEzH,GAAE,EAAE,MAAWA,IAAEM,GAAE,SAAU,EAAC,YAAW,GAAG,IAAEN,EAAE,QAAU,IAAE;AAAE,WAAM;AAAG,WAAQR,IAAE,GAAEA,IAAE,GAAEA,KAAI;AAAC,QAAIW,IAAEH,EAAER;AAAG,QAAGc,GAAE,eAAeH,CAAC,GAAE;AAAC,UAAiBA,EAAE,WAAhB,eAA4BA,EAAE,aAAN;AAAe,eAAM;AAAG,MAAAA,IAAEA,EAAE,YAAa;AAAC,UAAIN,IAAEM,EAAE;AAAO,eAAQL,IAAE,GAAEA,IAAED,GAAEC;AAAI,YAAG,CAACQ,GAAE,YAAYH,EAAEX,EAAE;AAAE,iBAAM;AAAA,IAAE;AAAA,EAAC;AAAC,SAAM;AAAE;AAACiuB,GAAA,sBAA4B7lB;AACpe6lB,GAAA,2BAAiC,SAASztB,GAAE,GAAE;AAAC,SAAM,MAAI4H,GAAE5H,GAAE,CAAC;AAAC;AAAEytB,GAAA,sCAA4C,SAASztB,GAAE,GAAE;AAAC,MAAIG,IAAEH,EAAE,cAAa;AAAG,EAAAA,IAAE;AAAE,EAAAC;AAAE,WAAYE,MAAP,QAAU;AAAC,UAAGG,GAAE,eAAeH,CAAC,GAAE;AAAC,YAAIX,IAAEW,EAAE,cAAa;AAAG,YAAUX,MAAP,MAAS;AAAC,UAAAW,IAAEX;AAAE;AAAA,QAAQ;AAAA,MAAC,WAASc,GAAE,YAAYH,CAAC,GAAE;AAA0B,YAAzBX,IAAEW,EAAE,sBAAwBH,IAAER,IAAE;AAAE,iBAAM,EAAC,MAAKW,GAAE,QAAO,IAAEH,EAAC;AAAE,QAAAA,KAAGR;AAAA,MAAC;AAAsB,UAArBA,IAAEW,EAAE,eAAc,GAAaX,MAAP;AAAS,QAAAW,IAAEX;AAAA,WAAM;AAAC,aAAIW,IAAEA,EAAE,UAAW,GAAQA,MAAP,QAAU;AAAsB,cAArBX,IAAEW,EAAE,eAAgB,GAAWX,MAAP,MAAS;AAAC,YAAAW,IAAEX;AAAE,qBAASS;AAAA,UAAC;AAAC,UAAAE,IAAEA,EAAE;QAAW;AAAC;AAAA,MAAK;AAAA,IAAC;AAAC,SAAO;AAAI;AAC5cstB,GAAA,0BAAChmB;AAAsCgmB,GAAA,+BAAC,SAASztB,GAAE,GAAE;AAAC,SAAM,MAAIyH,GAAEzH,GAAE,CAAC;AAAC;AAAEytB,GAAA,mBAAyB/lB;AAC/F+lB,GAAA,4BAAC,SAASztB,GAAE,GAAEG,GAAEX,GAAE;AAAC,MAAIK,IAAE,CAAAI,MAAG;AAAC,UAAMG,IAAEE,GAAE,gBAAgBL,EAAE,eAAc,CAAE;AAAE,IAAAG,EAAE,UAAUH,EAAE,UAAS,CAAE,GAAEA,EAAE,QAAQG,CAAC;AAAA,EAAC,GAAEN,IAAEE,EAAE,sBAAsBM,GAAE,UAAS,CAAAL,MAAG;AAAC,QAAGA,EAAE,aAAc,GAAC;AAAC,UAAIG,IAAEH,EAAE,sBAAqBN,IAAEM,EAAE,eAAgB,GAACL,IAAEK;AAAE,UAAGK,GAAE,YAAYF,CAAC,GAAE;AAAC,YAAIV,IAAEU,EAAE,eAAgB,GAACF,IAAE,EAAER,IAAEC,CAAC;AAAE,YAAGS,aAAaD,GAAE;AAAC,cAAUD,MAAP,QAAcE,EAAE,UAAS,EAAG,WAAlB,GAAyB;AAAC,YAAAP,EAAEO,CAAC;AAAE;AAAA,UAAM;AAAkB,cAAjBF,IAAEA,EAAE,MAAIR,EAAE,QAAU,IAAEQ,GAAE;AAAC,YAAAN,IAAED,EAAE,MAAM,GAAEO,CAAC,GAAEN,IAAEF,IAAEE,GAAEQ,EAAE,OAAQ,GAACA,EAAE,eAAeR,CAAC,GAAEM,MAAIP,EAAE,SAAOM,EAAE,OAAQ,KAAEG,IAAET,EAAE,MAAMO,CAAC,GACvfD,EAAE,eAAeG,CAAC;AAAG;AAAA,UAAM;AAAA,QAAC,WAAgBF,MAAP,QAAUA,EAAE,QAAMR,EAAE;AAAO;AAAA,MAAM;AAAC,iBAAO;AAAuC,YAAtCO,IAAE,EAAEN,CAAC,GAAEA,IAAEO,IAASD,MAAP,OAAS,KAAGN,EAAE,MAAMM,EAAE,GAAG,GAAUC,MAAL;AAAQ,cAAGR,IAAEE,EAAE,eAAgB,GAACU,GAAE,YAAYZ,CAAC;AAAE,gBAAGQ,IAAEN,EAAE,eAAgB,IAACF,EAAE,eAAgB,GAACQ,IAAE,EAAEA,CAAC,GAASA,MAAP,MAAS;AAAC,cAAAR,aAAaS,IAAEN,EAAEH,CAAC,IAAEA,EAAE,UAAW;AAAC;AAAA,YAAK,WAAaQ,EAAE,UAAN;AAAY;AAAA;AAAA,mBAAcR,IAAE,EAAEQ,CAAC,GAASR,MAAP,QAAcA,EAAE,UAAN;AAAY;AAAM,YAAUO,MAAP;AAAS;AAAM,YAAOA,EAAE,UAAN,KAAaK,GAAE,YAAYF,CAAC,KAAGA,EAAE,aAAY;AAAG;AAAS,YAAIL;AACpa,YAD0aE,EAAE,UAAN,IAAY,CAACF,GAAEH,CAAC,IAAEA,EAAE,UAAUK,EAAE,GAAG,IAAE,CAAA,EAAEF,GAAEH,CAAC,IAAEA,EAAE,UAAUK,EAAE,OAAMA,EAAE,GAAG,GAAEA,IAAET,EAAEO,CAAC,GAAEA,EAAE,QAAQE,CAAC,GACtfL,KAAN;AAAQ;AAAA,MAAK;AAAA,IAAC;AAAA,EAAC,CAAC;AAAE,SAAAI,IAAEA,EAAE,sBAAsBG,GAAE,CAAAF,MAAG;AAAC,QAAIG,IAAEH,EAAE,eAAgB;AAAC,UAAMN,IAAE,EAAES,CAAC;AAAE,IAAOT,MAAP,QAAcA,EAAE,UAAN,IAAYE,EAAEI,CAAC,IAAEG,EAAE,SAAOT,EAAE,MAAIM,EAAE,UAAUN,EAAE,GAAG,KAAGS,IAAEH,EAAE,mBAAoB,GAACK,GAAE,YAAYF,CAAC,KAAGA,EAAE,aAAc,MAAGP,EAAEO,CAAC,GAAEP,EAAEI,CAAC,IAAGG,IAAEH,EAAE,eAAgB,GAACK,GAAE,YAAYF,CAAC,KAAGA,EAAE,aAAY,MAAKP,EAAEO,CAAC,GAAEH,aAAaE,KAAGN,EAAEI,CAAC;AAAA,EAAG,CAAC,GAAQ,CAACH,GAAEE,CAAC;AAAC;ACJrU,MAAM0tB,KAAyFjuB;AAC/F,IAAAkuB,KAAiBD,aCFAxtB,KAAET;AACUmuB,GAAA,wBAAC,SAASjuB,GAAE;AAAC,MAAI8H,IAAE,CAAA7H,MAAG;AAAC,QAAIU,IAAEX,EAAE,eAAgB;AAAC,QAAG,SAAS,kBAAgBW,MAAIA,IAAEV,EAAE,MAAgB,OAAOU,KAAlB,WAAqB;AAAC,UAAG;AAAC,YAAIL,IAAE,KAAK,MAAMK,CAAC;AAAA,MAAC,QAAC;AAAS;AAAA,MAAM;AAAC,UAAGL,KAAyBA,EAAE,aAAxB,uBAA8CA,EAAE,SAAd,cAAqBA,IAAEA,EAAE,YAA0BA,EAAE,eAAlB,kBAA+BA,IAAEA,EAAE,OAAM;AAAC,cAAM,CAACP,GAAEG,GAAEC,GAAEC,GAAE2H,CAAC,IAAEzH;AAAE,QAAAN,EAAE,OAAO,MAAI;AAAC,gBAAMH,IAAEU,GAAE,cAAa;AAAG,cAAGA,GAAE,kBAAkBV,CAAC,GAAE;AAAC,gBAAIa,IAAEb,EAAE;AAAO,gBAAIW,IAAEE,EAAE,QAAS,GAACL,IAAE,GAAEI,IAAE;AAAEF,YAAAA,GAAE,YAAYC,CAAC,KAAG,KAAGT,KAAG,KAAGG,MAAIG,IAAEN,GAAEU,IAAEV,IAAEG,GAAEL,EAAE,iBAAiBW,GAAEH,GAAEG,GAAEC,CAAC,KAAMJ,MAClfI,KAAQN,MAAL,QAAON,EAAE,cAAcM,CAAC,GAAEK,IAAEE,EAAE,QAAS,IAACH,GAAE,YAAYC,CAAC,MAAIH,IAAED,GAAEK,IAAEL,IAAE2H,GAAErH,IAAEF,EAAE,mBAAkB,GAAGH,IAAEA,IAAEK,IAAEA,IAAEL,GAAEI,IAAEA,IAAEC,IAAEA,IAAED,GAAEZ,EAAE,iBAAiBW,GAAEH,GAAEG,GAAEC,CAAC,IAAGR,EAAE,yBAA0B;AAAA,UAAA;AAAA,QAAC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAE,gBAAO,iBAAiB,WAAU6H,GAAE,EAAE,GAAQ,MAAI;AAAC,WAAO,oBAAoB,WAAUA,GAAE,EAAE;AAAA,EAAC;AAAC;ACDnR,MAAMomB,KAA6FpuB;AACnG,IAAAquB,KAAiBD,ICFA1tB,KAAEV,IAAiDa,KAAE4W,GAAiBvX,KAAEwX,IAAyBvX,KAAEuY,IAA0BtY,KAAEuY,IAAqBrY,KAAEguB,IAA2BtmB,KAAEumB,IAA8BtmB,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,MAAmDpH,GAAE,kBAAgBA,GAAE;AAAU,SAASsH,GAAE3H,GAAE;AAAC,SAAOA,EAAE,iBAAiB,KAAKN,GAAE,yBAAyBM,EAAE,YAAW,GAAGA,EAAE,WAAY,CAAA,CAAC;AAAC;AAChe,SAASkJ,GAAElJ,GAAE;AAAC,MAAI,CAACT,GAAEY,CAAC,IAAEE,GAAE,SAAS,MAAIsH,GAAE3H,CAAC,CAAC;AAAEyH,SAAAA,GAAE,MAAI;AAAC,aAAS1H,IAAG;AAAC,UAAIK,IAAEuH,GAAE3H,CAAC;AAAE,MAAAG,EAAEC,CAAC;AAAA,IAAC;AAAC,WAAAL,EAAC,GAAUJ,GAAE,cAAcK,EAAE,uBAAuB,MAAI;AAAC,MAAAD,EAAC;AAAA,IAAE,CAAC,GAAEC,EAAE,yBAAyB,MAAI;AAAC,MAAAD,EAAC;AAAA,IAAE,CAAC,CAAC;AAAA,EAAC,GAAE,CAACC,CAAC,CAAC,GAAST;AAAC;AACrM,SAAS4J,GAAEnJ,GAAET,GAAE;AAAC,MAAI,CAACY,GAAEJ,CAAC,IAAEM,GAAE,SAAS,MAAIL,EAAE,cAAa,CAAE;AAAEyH,SAAAA,GAAE,MAAIzH,EAAE,0BAA0B,CAAAI,MAAG;AAACR,IAAAA,GAAE,UAAU,MAAI;AAAC,MAAAG,EAAEK,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC,CAAC,GAAE,CAACJ,CAAC,CAAC,GAAEK,GAAE,UAAU,MAAI;AAAC,IAAAN,EAAEC,EAAE,cAAe,CAAA;AAAA,EAAC,GAAE,CAACA,CAAC,CAAC,GAASK,GAAE,QAAQ,MAAI;AAAC,QAAID,IAAE,CAAA,GAAGP,IAAE,OAAO,KAAKM,CAAC;AAAE,aAAQV,IAAE,GAAEA,IAAEI,EAAE,QAAOJ,KAAI;AAAC,UAAIQ,IAAEJ,EAAEJ;AAAG,UAAI8J,IAAElJ,GAAE,cAAcd,GAAE,EAAC,SAAQ,CAAAwJ,MAAG/I,EAAE,SAAS+I,CAAC,EAAC,GAAE1I,GAAE,cAAcA,GAAE,UAAS,EAAC,UAAS,KAAI,GAAEF,EAAEF,EAAE,CAAC;AAAE,MAAAA,IAAED,EAAE,gBAAgBC,CAAC,GAASA,MAAP,QAAUG,EAAE,KAAKR,GAAE,aAAa2J,GAAEtJ,CAAC,CAAC;AAAA,IAAC;AAAC,WAAOG;AAAA,EAAC,GAAE,CAACb,GAAEY,GAAEH,CAAC,CAAC;AAAC;AACxb,SAASyJ,GAAEzJ,GAAE;AAACyH,EAAAA,GAAE,MAAI9H,GAAE,cAAc6H,GAAE,iBAAiBxH,CAAC,GAAEF,GAAE,sBAAsBE,CAAC,CAAC,GAAE,CAACA,CAAC,CAAC;AAAC;AAAuBguB,GAAA,iBAAC,SAAS,EAAC,iBAAgBhuB,GAAE,aAAYT,GAAE,eAAcY,EAAC,GAAE;AAAC,MAAI,CAACJ,CAAC,IAAEG,GAAE,0BAAyB,GAAGE,IAAE8I,GAAEnJ,CAAC;AAAE,SAAAI,IAAEgJ,GAAEpJ,GAAEI,CAAC,GAAEsJ,GAAE1J,CAAC,GAASM,GAAE,cAAcA,GAAE,UAAS,MAAKL,GAAEI,KAAGb,GAAEY,CAAC;AAAC;ACFzR,MAAM8tB,KAA6GzuB;AACnH,IAAA0uB,KAAiBD;;ACFJ,IAAAxtB,KAAAjB,GAAA,KAAIa,KAAE8tB;AAAiB,SAASxuB,GAAEO,GAAEH,GAAE;AAACJ,SAAAA,KAAE0tB,OAAOe,iBAAef,OAAOe,eAAeC,KAAM,IAAC,SAASpuB,GAAED,GAAE;AAACC,WAAAA,EAAEquB,YAAUtuB,GAASC;AAAAA,KAAUN,GAAEO,GAAEH,CAAC;AAAC;AAAC,SAASH,GAAEM,GAAEH,GAAE;AAACG,EAAAA,EAAEquB,YAAUlB,OAAOmB,OAAOzuB,EAAEwuB,SAAS,GAAEruB,EAAEquB,UAAU9L,cAAYviB,GAAEP,GAAEO,GAAEH,CAAC;AAAC;AAAC,SAASyH,GAAEtH,GAAEH,GAAE;AAAC,SAASG,MAAT,WAAaA,IAAE,CAAE,IAAWH,MAAT,WAAaA,IAAE,CAAE,IAASG,EAAE8d,WAASje,EAAEie,UAAQ9d,EAAEuuB,KAAK,SAASxuB,GAAED,GAAE;AAAC,WAAM,CAACqtB,OAAOqB,GAAGzuB,GAAEF,EAAEC,EAAE;AAAA,EAAC,CAAC;AAAC;AACtX,IAAIyH,KAAE;AAAA,EAACglB,OAAM;AAAK,GAAC9kB,KAAE,SAASzH,GAAE;AAAC,WAASH,IAAG;AAAC,aAAQC,GAAEG,IAAEwuB,UAAU3Q,QAAOze,IAAEqvB,MAAMzuB,CAAC,GAAEC,IAAE,GAAEA,IAAED,GAAEC;AAAIb,MAAAA,EAAEa,KAAGuuB,UAAUvuB;AAAGJ,WAAAA,IAAEE,EAAE2uB,KAAKC,MAAM5uB,GAAE,CAAC,IAAI,EAAE6uB,OAAOxvB,CAAC,CAAC,KAAG,MAAKS,EAAEgvB,QAAMvnB,IAAEzH,EAAEivB,qBAAmB,WAAU;AAAC,eAAQxvB,GAAEI,IAAE8uB,UAAU3Q,QAAOle,IAAE8uB,MAAM/uB,CAAC,GAAEH,IAAE,GAAEA,IAAEG,GAAEH;AAAII,QAAAA,EAAEJ,KAAGivB,UAAUjvB;AAAG,MAAMM,EAAErD,MAAMuyB,WAAd,SAA8BzvB,IAAEO,EAAErD,OAAOuyB,QAAQJ,MAAMrvB,GAAEK,CAAC,GAAEE,EAAEmvB,MAAK;AAAA,OAAWnvB;AAAAA,EAAC;AAACJ,EAAAA,GAAEG,GAAEG,CAAC,GAAEH,EAAEqvB,2BAAyB,SAASpvB,GAAE;AAAC,WAAM;AAAA,MAACysB,OAAMzsB;AAAAA;;AAAI,MAAIC,IAAEF,EAAEwuB;AAAUtuB,SAAAA,EAAEkvB,QAAM,WAAU;AAAC,SAAKE,SAAS5nB,EAAC;AAAA,KAAGxH,EAAEqvB,oBAAkB,SAAStvB,GAAEG,GAAE;AAAC,QAAIZ,GACzfa;AAAE,KAAOb,KAAGa,IAAE,KAAKzD,OAAOswB,YAAxB,QAAwC1tB,EAAEsvB,KAAKzuB,GAAEJ,GAAEG,CAAC;AAAA,KAAGF,EAAEsvB,qBAAmB,SAASvvB,GAAEG,GAAE;AAAC,QAAIZ,IAAE,KAAK5C,MAAM6yB;AAAU,QAAU,KAAKR,MAAMvC,UAAlB,QAAgCtsB,EAAEssB,UAAT,QAAgBjlB,GAAExH,EAAEwvB,WAAUjwB,CAAC,GAAE;AAAC,UAAIa,GAAEX;AAAE,OAAOW,KAAGX,IAAE,KAAK9C,OAAO8yB,sBAAxB,QAAkDrvB,EAAEyuB,KAAKpvB,GAAEO,EAAEwvB,WAAUjwB,CAAC,GAAE,KAAK4vB,MAAK;AAAA,IAAE;AAAA,KAAGlvB,EAAEyvB,SAAO,WAAU;AAAC,QAAI1vB,IAAE,KAAKgvB,MAAMvC,OAAMtsB,IAAE,KAAKxD,OAAM4C,IAAEY,EAAEwvB,gBAAevvB,IAAED,EAAEyvB;AAA+B,QAAbzvB,IAAEA,EAAE0vB,UAAmB7vB,MAAP,MAAS;AAAwD,UAAvDA,IAAE;AAAA,QAACysB,OAAMzsB;AAAAA,QAAEivB,oBAAmB,KAAKA;AAAAA,SAAuB5uB,GAAEyvB,eAAe3vB,CAAC;AAAE,eAAOA;AAAE,UACxe,OAAOZ,KADoe;AACle,eAAOA,EAAES,CAAC;AAAE,UAAGI;AAAE,eAAOC,GAAE0gB,cAAc3gB,GAAEJ,CAAC;AAAE,YAAM+vB,MAAM,4FAA4F;AAAA,IAAE;AAAC,WAAO,KAAKpzB,MAAM2e;AAAAA,KAAiBvb;AAAC,EAAEM,GAAE2vB,SAAS,GAAEzvB,KAAe,SAAS;AAAA,EAAC+a,UAASpb;AAAAA,EAAE+sB,SAAQltB;AAAC,GAAE;AAAC,SAAOM,GAAE0gB,cAAcpZ,IAAE;AAAA,IAACkoB,UAAQ,gBAAApvB,GAAA,OAAA;AAAA,MAAA,OAA8B;AAAA,QAACwvB,QAAO;AAAA,QAAiBC,OAAM;AAAA,QAAOC,SAAQ;AAAA,MAAM;AAAA,MAAA,UAAA;AAAA,KAAyB;AAAA,IAAClD,SAAQltB;AAAAA,EAAE,GAACG,CAAC;AAAC;ACF/Z,MAAMkwB,KAA2G5wB;AACjH,IAAA6wB,KAAiBD,aCFAlwB,KAAEV,IAAiDC,KAAEwX,GAAiBvX,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,MAAmDD,GAAE,kBAAgBA,GAAE;AACnO6wB,GAAA,kBAAwB,SAAS,EAAC,wBAAuB3wB,GAAE,kBAAiBC,GAAE,cAAaC,GAAE,iBAAgBC,GAAE,cAAa0H,GAAE,WAAUC,GAAE,gBAAeE,GAAE,eAAcuB,GAAE,aAAYC,GAAE,cAAaJ,GAAE,gBAAe3I,GAAE,cAAamJ,GAAE,aAAYhK,GAAE,WAAUkK,GAAE,IAAGR,GAAE,MAAKhJ,IAAE,WAAU,YAAW0J,IAAE,IAAG,OAAMN,GAAE,UAASC,GAAE,QAAOO,EAAC,GAAE;AAAC,MAAI,CAAC9J,CAAC,IAAEG,GAAE,6BAA4B,CAACF,GAAEK,CAAC,IAAEZ,GAAE,SAAS,EAAE,GAAE+J,IAAE/J,GAAE,YAAY,CAAAU,MAAG;AAAC,IAAAJ,EAAE,eAAeI,CAAC;AAAA,EAAC,GAAE,CAACJ,CAAC,CAAC;AAAEL,SAAAA;AAAAA,IAAE,OAAKW,EAAEN,EAAE,YAAY,GAASA,EAAE,yBAAyB,CAAAI,MAAG;AAAC,MAAAE,EAAEF,CAAC;AAAA,IAAC,CAAC;AAAA,IACnf,CAACJ,CAAC;AAAA,EAAC,GAASN,GAAE,cAAc,OAAM,EAAC,yBAAwBO,IAAEL,IAAE,MAAK,qBAAoBK,IAAEJ,IAAE,MAAK,iBAAgBI,IAAEH,IAAE,MAAK,oBAAmBC,GAAE,iBAAgBE,KAAeC,MAAb,aAAe,CAAC,CAACuH,IAAO,MAAK,cAAaC,GAAE,mBAAkBE,GAAE,kBAAiBuB,GAAE,aAAYlJ,IAAEmJ,IAAE,MAAK,iBAAgBJ,GAAE,gBAAwB3I,MAAT,SAAW,OAAOA,CAAC,IAAE,QAAO,cAAamJ,GAAE,aAAqBhK,MAAT,SAAW,OAAOA,CAAC,IAAE,QAAO,WAAUkK,GAAE,iBAAgBzJ,GAAE,eAAc6J,GAAE,IAAGZ,GAAE,KAAIO,GAAE,MAAKxJ,IAAEC,IAAE,QAAO,YAAW0J,GAAE,OAAMN,GAAE,UAASC,EAAC,CAAC;AAAC;ACDve,MAAMinB,KAA+G/wB;AACrH,IAAAgxB,KAAiBD,sBCFApwB,KAAEX,IAA0BmI,IAAEsP;AAC/C,SAAS/N,GAAEhJ,GAAEF,GAAEL,GAAEF,GAAEI,GAAE;AAAC,MAAUK,MAAP,QAAcP,EAAE,SAAN,KAAgBF,EAAE,SAAN,KAAY,CAACI;AAAE,WAAO;AAAE,MAAIN,IAAES,EAAE,YAAWD,IAAEG,EAAE;AAAW,MAAGL;AAAE,WAAO;AAAE,MAAG,EAAE8H,EAAE,kBAAkBpI,CAAC,KAAGoI,EAAE,kBAAkB5H,CAAC,KAAGA,EAAE,YAAW,KAAIR,EAAE,YAAa;AAAE,WAAO;AAAE,EAAAM,IAAEG,EAAE;AAAS,MAAII,IAAE,CAAE;AAAC,WAAQH,KAAKN;AAAE,IAAAA,IAAEE,EAAE,IAAII,CAAC,GAAWN,MAAT,UAAYS,EAAE,KAAKT,CAAC;AAAE,WAAQ,CAACM,GAAEL,CAAC,KAAIH;AAAE,IAAAG,MAAIH,IAAEI,EAAE,IAAII,CAAC,GAAWR,MAAT,UAAYkI,EAAE,YAAYlI,CAAC,KAAGW,EAAE,KAAKX,CAAC;AAAG,SAAOW,EAAE,WAAN,IAAoB,IAAK,IAAEA,EAAE,UAAcX,IAAEO,EAAE,UAASA,IAAEP,EAAE,IAAIF,EAAE,OAAO,GAAG,GAAEQ,IAAEN,EAAE,IAAIM,EAAE,OAAO,GAAG,GAAEC,KAAGD,KAAG,CAACG,EAAE,SAAS,IAAIF,EAAE,KAAK,KAAG2H,EAAE,YAAY3H,CAAC,KACzfA,EAAE,OAAO,WAAb,KAAyBT,EAAE,OAAO,WAAb,IAAoB,IAAE,MAAES,IAAEI,EAAE,IAAGF,IAAEA,EAAE,SAAS,IAAIF,EAAE,KAAK,GAAK,CAAC2H,EAAE,YAAYzH,CAAC,KAAG,CAACyH,EAAE,YAAY3H,CAAC,KAAGE,EAAE,WAASF,EAAE,WAAgBE,IAAEA,EAAE,QAAOF,IAAEA,EAAE,QAAUE,MAAIF,OAAWT,IAAEA,EAAE,QAAOQ,IAAEA,EAAE,QAAUR,EAAE,QAAMQ,EAAE,OAAcR,EAAE,SAAX,UAAuB,KAAEA,IAAEA,EAAE,QAAOQ,IAAEA,EAAE,QAAOG,IAAEF,EAAE,SAAOE,EAAE,QAAkBA,MAAJ,KAAOH,MAAIR,IAAE,IAAE,IAAOW,MAAL,MAAQH,MAAIR,IAAE,IAAE,IAAOW,MAAL,MAAQH,MAAIR,IAAE,IAAE;AAAC;AAClW,SAAS4J,GAAEjJ,GAAEF,GAAE;AAAC,MAAIL,IAAE,KAAK,IAAK,GAACF,IAAE;AAAE,SAAM,CAACI,GAAEN,GAAEQ,GAAEK,GAAEH,GAAEL,MAAI;AAAC,QAAI4H,IAAE,KAAK,IAAK;AAAC,QAAG5H,EAAE,IAAI,UAAU;AAAE,aAAOH,IAAE,GAAEE,IAAE6H,GAAE;AAAE,QAAI1H,IAAEoJ,GAAErJ,GAAEN,GAAEa,GAAEH,GAAEC,EAAE,YAAa,CAAA,GAAEuH,KAAG,MAAI;AAAC,UAAI/H,IAASK,MAAP,QAAUA,EAAE,WAASG,GAAE,IAAEN,EAAE,IAAI,cAAc;AAAE,UAAG,CAAC,KAAGF,KAAGE,EAAE,IAAI,eAAe;AAAE,eAAO;AAAE,UAAUC,MAAP;AAAS,eAAO;AAAE,YAAMkJ,IAAExJ,EAAE,YAAWgK,IAAE1J,EAAE;AAAW,aAAO,IAAEO,EAAE,QAAM,IAAEH,EAAE,OAAU,MAAL,MAAYH,MAAJ,KAAOA,MAAIL,KAAG+H,IAAE7H,IAAEK,KAAGN,KAAOU,EAAE,SAAN,MAAa,IAAE,MAAM,KAAKA,CAAC,EAAE,IAAGV,IAAEG,EAAE,SAAS,IAAI,CAAC,GAAE,IAAEN,EAAE,SAAS,IAAI,CAAC,GAAEG,IAAEiI,EAAE,YAAYjI,CAAC,KAAGiI,EAAE,YAAY,CAAC,IAAEjI,EAAE,WAAS,EAAE,UAAQA,EAAE,WACjf,EAAE,UAAQA,EAAE,WAAS,EAAE,UAAQA,EAAE,aAAW,EAAE,YAAUA,EAAE,YAAU,EAAE,WAASA,EAAE,aAAW,EAAE,YAAUA,EAAE,aAAW,EAAE,WAAS,IAAGA,KAAG,IAAE,IAAS6J,MAAP,QAAiBR,MAAP,OAAS,IAAE;AAAA,IAAC;AAAK,WAAApJ,IAAE6H,GAAE/H,IAAEK,GAAS2H;AAAA,EAAC;AAAC;AAACgpB,GAAA,0BAAgC,WAAU;AAAC,SAAM,EAAC,SAAQ,MAAK,WAAU,CAAA,GAAG,WAAU,CAAE,EAAA;AAAC;AACzPA,GAAA,kBAAC,SAASvwB,GAAEF,GAAEL,GAAE;AAAC,MAAIF,IAAE0J,GAAEjJ,GAAEP,CAAC;AAAE,EAAAA,IAAE,CAAC,EAAC,aAAYI,GAAE,iBAAgBK,GAAE,aAAYH,GAAE,eAAcL,GAAE,MAAK4H,EAAC,MAAI;AAAC,UAAM1H,IAAEE,EAAE,SAAQyH,IAAEzH,EAAE,WAAUN,IAAEM,EAAE,WAAU,IAASF,MAAP,OAAS,OAAKA,EAAE;AAAY,QAAUA,MAAP,QAAUC,MAAI,GAAE;AAAkB,UAAjBE,IAAER,EAAEW,GAAEL,GAAED,GAAEG,GAAEL,GAAE4H,CAAC,GAASvH,MAAJ;AAAM,QAAIwH,EAAE,WAAN,MAAezH,EAAE,YAAU,CAAA,IAAWF,MAAP,SAAWJ,EAAE,KAAK,EAAC,GAAGI,GAAE,eAAcM,EAAE,KAAKuH,EAAE,aAAa,EAAC,CAAC,GAAEzH,EAAE,gBAAgByH,EAAE,kBAAiB,EAAE;AAAA,eAAe1H,MAAJ;AAAM;AAAO,MAAAD,EAAE,UAAQ,EAAC,QAAOE,GAAE,aAAYH,EAAC;AAAA,IAAC;AAAA,EAAC;AAAE,MAAIF,IAAEM,GAAE;AAAA,IAAcD,EAAE;AAAA,MAAgByH,EAAE;AAAA,MACze,MAAI;AAAC,YAAI5H,IAAEC,EAAE,WAAUI,IAAEJ,EAAE;AAAU,YAAOI,EAAE,WAAN,GAAa;AAAC,cAAIH,IAAED,EAAE,SAAQJ,IAAEQ,EAAE,IAAK;AAAC,UAAOH,MAAP,SAAWF,EAAE,KAAKE,CAAC,GAAEC,EAAE,gBAAgByH,EAAE,kBAAiB,EAAE,IAAOvH,EAAE,WAAN,KAAcF,EAAE,gBAAgByH,EAAE,kBAAiB,EAAE,GAAE3H,EAAE,UAAQJ,KAAG,MAAKA,KAAGA,EAAE,OAAO,eAAeA,EAAE,YAAY,MAAMA,EAAE,aAAa,GAAE,EAAC,KAAI,WAAU,CAAC;AAAA,QAAC;AAAC,eAAM;AAAA,MAAE;AAAA,MAAE+H,EAAE;AAAA,IAAuB;AAAA,IAAEzH,EAAE,gBAAgByH,EAAE,cAAa,MAAI;AAAC,UAAI5H,IAAEC,EAAE;AAAU,UAAII,IAAEJ,EAAE;AAAU,UAAOD,EAAE,WAAN,GAAa;AAAC,YAAIE,IAAED,EAAE;AAAQ,QAAOC,MAAP,SAAWG,EAAE,KAAKH,CAAC,GAAEC,EAAE,gBAAgByH,EAAE,kBAAiB,EAAE,IACtfvH,IAAEL,EAAE,IAAG,GAAOA,EAAE,WAAN,KAAcG,EAAE,gBAAgByH,EAAE,kBAAiB,EAAE,GAAE3H,EAAE,UAAQI,KAAG,MAAKA,KAAGA,EAAE,OAAO,eAAeA,EAAE,aAAY,EAAC,KAAI,WAAU,CAAC;AAAA,MAAC;AAAC,aAAM;AAAA,IAAE,GAAEuH,EAAE,uBAAuB;AAAA,IAAEzH,EAAE,gBAAgByH,EAAE,sBAAqB,OAAK3H,EAAE,YAAU,CAAA,GAAGA,EAAE,YAAU,IAAGA,EAAE,UAAQ,MAAW,KAAI2H,EAAE,uBAAuB;AAAA,IAAEzH,EAAE,gBAAgByH,EAAE,uBAAsB,OAAK3H,EAAE,YAAU,CAAA,GAAGA,EAAE,YAAU,CAAA,GAAGA,EAAE,UAAQ,MAAKE,EAAE,gBAAgByH,EAAE,kBAAiB,EAAE,GAAEzH,EAAE,gBAAgByH,EAAE,kBAAiB,EAAE,GAAQ,KAAIA,EAAE,uBAAuB;AAAA,IACpgBzH,EAAE,uBAAuBP,CAAC;AAAA,EAAC,GAAEJ,IAAEW,EAAE,uBAAuBP,CAAC;AAAE,SAAM,MAAI;AAAC,IAAAE,EAAG,GAACN,EAAC;AAAA,EAAE;AAAC;ACP9E,MAAMmxB,KAA+FlxB;AACrG,IAAAmxB,KAAiBD,ICFA3wB,KAAEP,IAAiDoxB,KAAQ3Z,IAA4B1X,KAAE2X;AAAiB,SAASjX,GAAED,GAAEE,GAAEC,IAAE,KAAI;AAAC,MAAIC,IAAEb,GAAE,QAAQ,MAAIW,KAAG0wB,GAAQ,wBAAyB,GAAC,CAAC1wB,CAAC,CAAC;AAAEX,EAAAA,GAAE,UAAU,MAAIqxB,GAAQ,gBAAgB5wB,GAAEI,GAAED,CAAC,GAAE,CAACA,GAAEH,GAAEI,CAAC,CAAC;AAAC;AAACywB,GAAA,0BAAgCD,GAAQ;AAA6CC,GAAA,gBAAC,SAAS,EAAC,sBAAqB7wB,EAAC,GAAE;AAAC,MAAI,CAACE,CAAC,IAAEH,GAAE,0BAAyB;AAAGE,SAAAA,GAAEC,GAAEF,CAAC,GAAS;AAAI;ACCxb,MAAM8wB,KAA2GtxB;AACjH,IAAAuxB,KAAiBD,aCFA/wB,KAAEP,IAAiDD,KAAE0X,GAAiBhX,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,MAAmDV,GAAE,kBAAgBA,GAAE;AAC7MyxB,GAAA,iBAAC,SAAS,EAAC,6BAA4B7wB,IAAE,IAAG,uBAAsB,IAAE,IAAG,UAASH,EAAC,GAAE;AAAC,MAAI,CAACE,CAAC,IAAEH,GAAE,0BAAyB;AAAGE,SAAAA,GAAE,MAAI;AAAC,QAAGD;AAAE,aAAOE,EAAE,uBAAuB,CAAC,EAAC,aAAYG,GAAE,eAAcZ,GAAE,aAAY,GAAE,iBAAgBE,GAAE,MAAKC,EAAC,MAAI;AAAC,aAAOH,EAAE,SAAN,KAAgB,EAAE,SAAN,KAAYU,KAAGP,EAAE,IAAI,eAAe,KAAGD,EAAE,QAAS,KAAEK,EAAEK,GAAEH,CAAC;AAAA,MAAC,CAAC;AAAA,EAAC,GAAE,CAACA,GAAEC,GAAE,GAAEH,CAAC,CAAC,GAAS;AAAI;ACA1W,MAAMixB,KAA6GzxB;AACnH,IAAA0xB,KAAiBD,aCFA/wB,KAAEV,IAAyBO,KAAEkX,IAAiD9W,KAAE+W,GAAiB9W,KAAE8X,IAA0B3Y,KAAE4Y;AAChJ,SAASlY,GAAED,GAAE;AAACG,EAAAA,GAAE,UAAU,MAAIC,GAAE,cAAcJ,EAAE,gBAAgBT,GAAE,wBAAuB,OAAKW,GAAE,WAAU,GAAS,KAAIX,GAAE,oBAAoB,GAAES,EAAE,gBAAgBT,GAAE,yBAAwB,OAAKW,GAAE,YAAW,GAAS,KAAIX,GAAE,oBAAoB,GAAES,EAAE,gBAAgBE,GAAE,6BAA4B,OAAKA,GAAE,WAAWF,GAAE,QAAQ,GAAQ,KAAIT,GAAE,oBAAoB,GAAES,EAAE,gBAAgBE,GAAE,+BAA8B,OAAKA,GAAE,WAAWF,GAAE,QAAQ,GAAQ,KAAIT,GAAE,oBAAoB,GAAES,EAAE;AAAA,IAAgBE,GAAE;AAAA,IACxe,OAAKA,GAAE,WAAWF,CAAC,GAAQ;AAAA,IAAIT,GAAE;AAAA,EAAoB,GAAES,EAAE,gBAAgBT,GAAE,0BAAyB,MAAI,EAAAW,GAAE,2BAA4B,GAAOX,GAAE,oBAAoB,CAAC,GAAE,CAACS,CAAC,CAAC;AAAC;AAACmxB,GAAA,aAAmB,WAAU;AAAC,MAAI,CAACnxB,CAAC,IAAED,GAAE,0BAA2B;AAACI,SAAAA,GAAE,UAAU,MAAI;AAAC,QAAG,CAACH,EAAE,SAAS,CAACE,GAAE,UAASA,GAAE,YAAY,CAAC;AAAE,YAAM,MAAM,mEAAmE;AAAA,EAAE,GAAE,CAACF,CAAC,CAAC,GAAEC,GAAED,CAAC,GAAS;AAAI;ACDpZ,MAAMoxB,KAAqG5xB;AAC3G,IAAA6xB,KAAiBD;ACWjB,MAAME,KAAyC;AAE/C,SAASC,GAAqBxY,GAAM;AAChC,QAAMqG,IAAgBC,EAAAA;AACRC,EAAAA,EAAAA,IAAIvG,EAAKwG,OAAQ,CAAA,GAC/BC,EAAAA,cAAcJ,CAAa;AAC/B;AAEA,SAASoS,GAAyBzY,GAAM;AAChCA,EAAAA,EAAK0Y,aAAa/G,KAAKgH,cACvB3Y,IAAOA,EAAK4Y;AAGhB,QAAMC,IAAW;AACV7Y,SAAAA,EAAK8Y,QAAQD,CAAQ;AAChC;AAEA,SAASE,GAAmB;AAAA,EAAC9V,QAAAA;AAAAA,EAAQ+V,eAAAA;AAAa,GAAG;AAEjDn1B,SAAAA,EAAMogB,UAAU,MAAM;AAClB,UAAMgV,IAAezU,CAAUA,MAAA;AAC3B,MAAKwU,EAAcvU,QAAQC,SAASF,EAAMG,MAAM,KAC5C1B,EAAOyC,OAAO,MAAM;AAChB,cAAMrC,IAAYgB,EAAAA;AAEdU,QAAAA,EAAAA,iBAAiB1B,CAAS,KAC1BoD,EAAAA,cAAc,IAAI;AAAA,MACtB,CACH;AAAA,IACL;AAGGyS,kBAAAA,iBAAiB,aAAaD,CAAW,GAEzC,MAAM;AACFE,aAAAA,oBAAoB,aAAaF,CAAW;AAAA,IAAA;AAAA,EACvD,GACD,CAAChW,GAAQ+V,CAAa,CAAC,GAI1Bn1B,EAAMogB,UAAU,MACLC,iBACHjB,EAAOqB,gBACH8U,EAAAA,sBACA,MAAM;AACF,UAAM/V,IAAYgB,EAAAA;AAEdU,QAAAA,EAAAA,iBAAiB1B,CAAS,GAAG;AAEvB0C,YAAAA,IADc1C,EAAU2B,SAAW,EAAA,GACLgB;AAKpC,UAAI,CAACD;AACM,eAAA;AAGPK,UAAAA,EAAAA,iBAAiBL,CAAe;AAChCyS,eAAAA,GAAqBzS,CAAe,GAC7B;AAAA,IAEf;AAEIsT,QAAAA,EAAAA,kBAAkBhW,CAAS,KACvBA,EAAUiW,aAAa;AACvB,YAAMC,IAAkBlW,EAAUmW,OAAOC,UAAUC,mBAAoB,GACjEC,IAAkBC,OAAOC,gBAIzBC,KACFP,KAAAA,gBAAAA,EAAiBtR,iBAAiB8R,YAAW,MAC7C1W,EAAUmW,OAAOQ,WAAW,GAE1BC,IACF5W,EAAUmW,OAAOQ,WAAW,KAC5B3W,EAAU6W,MAAMF,WAAW;AAE/B,UAAIF,KAAeG,GAAkB;AAC3BlU,cAAAA,IAAkBwT,EAAgBvT;AACpCI,YAAAA,EAAAA,iBAAiBL,CAAe;AAChCyS,iBAAAA,GAAqBzS,CAAe,GAC7B;AAAA,MACX,OACG;AAEGoU,cAAAA,IADQR,EAAgBS,WAAW,CAAC,EAAEC,WAAY,EACpCC;AAEhBH,YAAAA,EAAMlV,SAAS,GAAG;AAIZsV,gBAAAA,IAAYJ,EAAM,MAAMA,EAAM,IAE9BK,IADwB/B,GAAyBkB,EAAgBc,UAAU,EAC1CC;AAIvC,cAFoBC,KAAKC,IAAIL,EAAUM,MAAML,EAASK,GAAG,KAAKtC,IAE7C;AACPxS,kBAAAA,IAAkBwT,EAAgBvT;AACpCI,gBAAAA,EAAAA,iBAAiBL,CAAe;AAChCyS,qBAAAA,GAAqBzS,CAAe,GAC7B;AAAA,UAEf;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAGG,WAAA;AAAA,KAEX+U,EAAqB,qBAAA,GAEzB7X,EAAOqB,gBACHyW,0BACA,MAAM;AACF,UAAM1X,IAAYgB,EAAAA;AAEdU,QAAAA,EAAAA,iBAAiB1B,CAAS,GAAG;AAEvB4C,YAAAA,IADc5C,EAAU2B,SAAW,EAAA,GACTkB;AAE5BE,UAAAA,EAAAA,iBAAiBH,CAAW;AAC5BuS,eAAAA,GAAqBvS,CAAW,GACzB;AAAA,IAEf;AAEIoT,QAAAA,EAAAA,kBAAkBhW,CAAS,KACvBA,EAAUiW,aAAa;AACvB,YAAMC,IAAkBlW,EAAUmW,OAAOC,UAAUC,mBAAoB,GACjEC,IAAkBC,OAAOC,gBACzBmB,IAAwBvC,GAAyBkB,EAAgBc,UAAU,GAI3EX,KACFP,KAAAA,gBAAAA,EAAiBtR,iBAAiB8R,YAAW,MAC7C1W,EAAUmW,OAAOQ,WAAW,GAE1BiB,IACFtB,EAAgBuB,eAAe,KAC/BvB,EAAgBc,eAAeO,KAC/BrB,EAAgBwB,iBAAiBH,EAAsBzY,SAAS0C,SAAS,KACzE0U,EAAgByB,gBAAgBJ,EAAsBzY,SAAS0C,SAAS;AAE5E,UAAI6U,KAAemB,GAAgB;AACzBhV,cAAAA,IAAcsT,EAAgBrT;AAChCE,YAAAA,EAAAA,iBAAiBH,CAAW;AAC5BuS,iBAAAA,GAAqBvS,CAAW,GACzB;AAAA,MACX,OACG;AAEGkU,cAAAA,IADQR,EAAgBS,WAAW,CAAC,EAAEC,WAAY,EACpCC;AAEhBH,YAAAA,EAAMlV,SAAS,GAAG;AAClB,gBAAMsV,IAAYJ,EAAM,IAClBK,IAAWQ,EAAsBN;AAEvC,cAAIC,KAAKC,IAAIL,EAAUc,SAASb,EAASa,MAAM,IAAI9C,IAAwC;AACjFtS,kBAAAA,IAAcsT,EAAgBrT;AAChCE,gBAAAA,EAAAA,iBAAiBH,CAAW;AAC5BuS,qBAAAA,GAAqBvS,CAAW,GACzB;AAAA,UAEf;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAGG,WAAA;AAAA,EAAA,GAEX6U,EAAAA,qBAAqB,GAEzB7X,EAAOqB,gBACHgX,iBACCC,CAAcA,MAAA;;AACX,UAAMC,KAAmBD,IAAAA,KAAAA,gBAAAA,EAAWE,kBAAXF,gBAAAA,EAA0BG,QAAQ,SACrDC,IAAYH,KAAAA,gBAAAA,EAAkBI,MAAM,0BACpCvY,IAAYgB,EAAAA,iBACZwX,IAAmBxY,EAAU4E;AAC/B0T,QAAAA,KAAaE,EAAiB5W,SAAS,GAAG;AAC1C,YAAM2I,IAAO+N,EAAU;AACnBtC,UAAAA,EAAAA,kBAAkBhW,CAAS,GAAG;AACxByY,cAAAA,IAAWzY,EAAU0Y,QAAU,EAAA,IAC/BC,IAAWC,mBAAgBrO,CAAI,GAC/BsO,IAAeC,kBAAgBN,CAAgB;AACxCO,QAAAA,EAAAA,UAAUN,EAASO,UAAW,CAAA,GAC3CL,EAASM,OAAOJ,CAAY,GAC5BJ,EAASS,QAAQP,CAAQ;AAAA,MAC7B;AACO,aAAA;AAAA,IACX;AAAA,EAAA,GAEJlB,EAAAA,qBAAqB,CACxB,CACR,GAEM;AACX;AAEA,SAAwB0B,GAAsB;AAAA,EAACxD,eAAAA,IAAgBjR,SAAS0U,cAAc,gBAAgB;AAAC,GAAG;AAChG,QAAA,CAACxZ,CAAM,IAAIC,GAAAA;AACjB,SAAO6V,GAAmB;AAAA,IAAC9V,QAAAA;AAAAA,IAAQ+V,eAAAA;AAAAA,EAAAA,CAAc;AACrD;;;AC7NA,MAAI0D,IAAS,OAAO,SAAW,MAC5B,SAEA,OAAO,oBAAsB,OAAe,gBAAgB,oBAC1D,OACA,CAAE;AAGP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,MAAIC,IAAS,SAAUD,GAAO;AAG7B,QAAIE,IAAO,2CACPC,IAAW,GAGXC,IAAmB,CAAA,GAGnBC,IAAI;AAAA,MAsBP,QAAQL,EAAM,SAASA,EAAM,MAAM;AAAA,MAsBnC,6BAA6BA,EAAM,SAASA,EAAM,MAAM;AAAA,MAWxD,MAAM;AAAA,QACL,QAAQ,SAASM,EAAOC,GAAQ;AAC/B,iBAAIA,aAAkBC,IACd,IAAIA,EAAMD,EAAO,MAAMD,EAAOC,EAAO,OAAO,GAAGA,EAAO,KAAK,IACxD,MAAM,QAAQA,CAAM,IACvBA,EAAO,IAAID,CAAM,IAEjBC,EAAO,QAAQ,MAAM,OAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,WAAW,GAAG;AAAA,QAElF;AAAA,QAkBD,MAAM,SAAUE,GAAG;AAClB,iBAAO,OAAO,UAAU,SAAS,KAAKA,CAAC,EAAE,MAAM,GAAG,EAAE;AAAA,QACpD;AAAA,QAQD,OAAO,SAAUC,GAAK;AACrB,iBAAKA,EAAI,QACR,OAAO,eAAeA,GAAK,QAAQ,EAAE,OAAO,EAAEP,EAAQ,CAAE,GAElDO,EAAI;AAAA,QACX;AAAA,QAYD,OAAO,SAASC,EAAUF,GAAGG,GAAS;AACrC,UAAAA,IAAUA,KAAW;AAErB,cAAIhW,GAAWnP;AACf,kBAAQ4kB,EAAE,KAAK,KAAKI,CAAC;AAAA,iBACf;AAEJ,kBADAhlB,IAAK4kB,EAAE,KAAK,MAAMI,CAAC,GACfG,EAAQnlB;AACX,uBAAOmlB,EAAQnlB;AAEhB,cAAAmP,IAA4C,CAAE,GAC9CgW,EAAQnlB,KAAMmP;AAEd,uBAASsC,KAAOuT;AACf,gBAAIA,EAAE,eAAevT,CAAG,MACvBtC,EAAMsC,KAAOyT,EAAUF,EAAEvT,IAAM0T,CAAO;AAIxC,qBAA2BhW;AAAA,iBAEvB;AAEJ,qBADAnP,IAAK4kB,EAAE,KAAK,MAAMI,CAAC,GACfG,EAAQnlB,KACJmlB,EAAQnlB,MAEhBmP,IAAQ,CAAA,GACRgW,EAAQnlB,KAAMmP,GAE2B6V,EAAK,QAAQ,SAAUhtB,GAAGotB,GAAG;AACrE,gBAAAjW,EAAMiW,KAAKF,EAAUltB,GAAGmtB,CAAO;AAAA,cACtC,CAAO,GAE0BhW;AAAA;AAG3B,qBAAO6V;AAAA;AAAA,QAET;AAAA,QAUD,aAAa,SAAUjd,GAAS;AAC/B,iBAAOA,KAAS;AACf,gBAAItZ,IAAIg2B,EAAK,KAAK1c,EAAQ,SAAS;AACnC,gBAAItZ;AACH,qBAAOA,EAAE,GAAG;AAEb,YAAAsZ,IAAUA,EAAQ;AAAA,UAClB;AACD,iBAAO;AAAA,QACP;AAAA,QASD,aAAa,SAAUA,GAAS+I,GAAU;AAGzC,UAAA/I,EAAQ,YAAYA,EAAQ,UAAU,QAAQ,OAAO0c,GAAM,IAAI,GAAG,EAAE,GAIpE1c,EAAQ,UAAU,IAAI,cAAc+I,CAAQ;AAAA,QAC5C;AAAA,QASD,eAAe,WAAY;AAC1B,cAAI,OAAO,WAAa;AACvB,mBAAO;AAER,cAAI,mBAAmB,YAAY,IAAI;AACtC,mBAA2B,SAAS;AAOrC,cAAI;AACH,kBAAM,IAAI,MAAK;AAAA,UACf,SAAQnH,GAAP;AAQD,gBAAIgK,KAAO,qCAAqC,KAAKhK,EAAI,KAAK,KAAK,IAAI;AACvE,gBAAIgK,GAAK;AACR,kBAAI0R,IAAU,SAAS,qBAAqB,QAAQ;AACpD,uBAASD,KAAKC;AACb,oBAAIA,EAAQD,GAAG,OAAOzR;AACrB,yBAAO0R,EAAQD;AAAA,YAGjB;AACD,mBAAO;AAAA,UACP;AAAA,QACD;AAAA,QAqBD,UAAU,SAAUrd,GAASud,GAAWC,GAAmB;AAG1D,mBAFIC,IAAK,QAAQF,GAEVvd,KAAS;AACf,gBAAI0d,IAAY1d,EAAQ;AACxB,gBAAI0d,EAAU,SAASH,CAAS;AAC/B,qBAAO;AAER,gBAAIG,EAAU,SAASD,CAAE;AACxB,qBAAO;AAER,YAAAzd,IAAUA,EAAQ;AAAA,UAClB;AACD,iBAAO,CAAC,CAACwd;AAAA,QACT;AAAA,MACD;AAAA,MASD,WAAW;AAAA,QAIV,OAAOZ;AAAA,QACP,WAAWA;AAAA,QACX,MAAMA;AAAA,QACN,KAAKA;AAAA,QA8BL,QAAQ,SAAU3kB,GAAI0lB,GAAO;AAC5B,cAAIjB,IAAOG,EAAE,KAAK,MAAMA,EAAE,UAAU5kB,EAAG;AAEvC,mBAASyR,KAAOiU;AACf,YAAAjB,EAAKhT,KAAOiU,EAAMjU;AAGnB,iBAAOgT;AAAA,QACP;AAAA,QA6ED,cAAc,SAAUkB,GAAQC,GAAQC,GAAQC,GAAM;AACrD,UAAAA,IAAOA,KAA4BlB,EAAE;AACrC,cAAImB,IAAUD,EAAKH,IAEfK,IAAM,CAAA;AAEV,mBAASC,KAASF;AACjB,gBAAIA,EAAQ,eAAeE,CAAK,GAAG;AAElC,kBAAIA,KAASL;AACZ,yBAASM,KAAYL;AACpB,kBAAIA,EAAO,eAAeK,CAAQ,MACjCF,EAAIE,KAAYL,EAAOK;AAM1B,cAAKL,EAAO,eAAeI,CAAK,MAC/BD,EAAIC,KAASF,EAAQE;AAAA,YAEtB;AAGF,cAAIE,IAAML,EAAKH;AACf,iBAAAG,EAAKH,KAAUK,GAGfpB,EAAE,UAAU,IAAIA,EAAE,WAAW,SAAUnT,GAAKf,GAAO;AAClD,YAAIA,MAAUyV,KAAO1U,KAAOkU,MAC3B,KAAKlU,KAAOuU;AAAA,UAElB,CAAK,GAEMA;AAAA,QACP;AAAA,QAGD,KAAK,SAASI,EAAIpB,GAAGqB,GAAU7W,GAAM2V,GAAS;AAC7C,UAAAA,IAAUA,KAAW;AAErB,cAAImB,IAAQ1B,EAAE,KAAK;AAEnB,mBAASQ,KAAKJ;AACb,gBAAIA,EAAE,eAAeI,CAAC,GAAG;AACxB,cAAAiB,EAAS,KAAKrB,GAAGI,GAAGJ,EAAEI,IAAI5V,KAAQ4V,CAAC;AAEnC,kBAAImB,IAAWvB,EAAEI,IACboB,IAAe5B,EAAE,KAAK,KAAK2B,CAAQ;AAEvC,cAAIC,MAAiB,YAAY,CAACrB,EAAQmB,EAAMC,CAAQ,MACvDpB,EAAQmB,EAAMC,CAAQ,KAAK,IAC3BH,EAAIG,GAAUF,GAAU,MAAMlB,CAAO,KAC3BqB,MAAiB,WAAW,CAACrB,EAAQmB,EAAMC,CAAQ,OAC7DpB,EAAQmB,EAAMC,CAAQ,KAAK,IAC3BH,EAAIG,GAAUF,GAAUjB,GAAGD,CAAO;AAAA,YAEnC;AAAA,QAEF;AAAA,MACD;AAAA,MAED,SAAS,CAAE;AAAA,MAcX,cAAc,SAAUsB,GAAOJ,GAAU;AACxC,QAAAzB,EAAE,kBAAkB,UAAU6B,GAAOJ,CAAQ;AAAA,MAC7C;AAAA,MAiBD,mBAAmB,SAAUK,GAAWD,GAAOJ,GAAU;AACxD,YAAIM,IAAM;AAAA,UACT,UAAUN;AAAA,UACV,WAAWK;AAAA,UACX,UAAU;AAAA,QACd;AAEG,QAAA9B,EAAE,MAAM,IAAI,uBAAuB+B,CAAG,GAEtCA,EAAI,WAAW,MAAM,UAAU,MAAM,MAAMA,EAAI,UAAU,iBAAiBA,EAAI,QAAQ,CAAC,GAEvF/B,EAAE,MAAM,IAAI,iCAAiC+B,CAAG;AAEhD,iBAASvB,IAAI,GAAGrd,GAAUA,IAAU4e,EAAI,SAASvB;AAChD,UAAAR,EAAE,iBAAiB7c,GAAS0e,MAAU,IAAME,EAAI,QAAQ;AAAA,MAEzD;AAAA,MA8BD,kBAAkB,SAAU5e,GAAS0e,GAAOJ,GAAU;AAErD,YAAIvV,IAAW8T,EAAE,KAAK,YAAY7c,CAAO,GACrCge,IAAUnB,EAAE,UAAU9T;AAG1B,QAAA8T,EAAE,KAAK,YAAY7c,GAAS+I,CAAQ;AAGpC,YAAI8V,IAAS7e,EAAQ;AACrB,QAAI6e,KAAUA,EAAO,SAAS,YAAW,MAAO,SAC/ChC,EAAE,KAAK,YAAYgC,GAAQ9V,CAAQ;AAGpC,YAAID,IAAO9I,EAAQ,aAEf4e,IAAM;AAAA,UACT,SAAS5e;AAAA,UACT,UAAU+I;AAAA,UACV,SAASiV;AAAA,UACT,MAAMlV;AAAA,QACV;AAEG,iBAASgW,EAAsBC,GAAiB;AAC/C,UAAAH,EAAI,kBAAkBG,GAEtBlC,EAAE,MAAM,IAAI,iBAAiB+B,CAAG,GAEhCA,EAAI,QAAQ,YAAYA,EAAI,iBAE5B/B,EAAE,MAAM,IAAI,mBAAmB+B,CAAG,GAClC/B,EAAE,MAAM,IAAI,YAAY+B,CAAG,GAC3BN,KAAYA,EAAS,KAAKM,EAAI,OAAO;AAAA,QACrC;AAUD,YARA/B,EAAE,MAAM,IAAI,uBAAuB+B,CAAG,GAGtCC,IAASD,EAAI,QAAQ,eACjBC,KAAUA,EAAO,SAAS,YAAW,MAAO,SAAS,CAACA,EAAO,aAAa,UAAU,KACvFA,EAAO,aAAa,YAAY,GAAG,GAGhC,CAACD,EAAI,MAAM;AACd,UAAA/B,EAAE,MAAM,IAAI,YAAY+B,CAAG,GAC3BN,KAAYA,EAAS,KAAKM,EAAI,OAAO;AACrC;AAAA,QACA;AAID,YAFA/B,EAAE,MAAM,IAAI,oBAAoB+B,CAAG,GAE/B,CAACA,EAAI,SAAS;AACjB,UAAAE,EAAsBjC,EAAE,KAAK,OAAO+B,EAAI,IAAI,CAAC;AAC7C;AAAA,QACA;AAED,YAAIF,KAASlC,EAAM,QAAQ;AAC1B,cAAIwC,IAAS,IAAI,OAAOnC,EAAE,QAAQ;AAElC,UAAAmC,EAAO,YAAY,SAAUC,GAAK;AACjC,YAAAH,EAAsBG,EAAI,IAAI;AAAA,UACnC,GAEID,EAAO,YAAY,KAAK,UAAU;AAAA,YACjC,UAAUJ,EAAI;AAAA,YACd,MAAMA,EAAI;AAAA,YACV,gBAAgB;AAAA,UAChB,CAAA,CAAC;AAAA,QACN;AACI,UAAAE,EAAsBjC,EAAE,UAAU+B,EAAI,MAAMA,EAAI,SAASA,EAAI,QAAQ,CAAC;AAAA,MAEvE;AAAA,MAsBD,WAAW,SAAU3T,GAAM+S,GAASjV,GAAU;AAC7C,YAAI6V,IAAM;AAAA,UACT,MAAM3T;AAAA,UACN,SAAS+S;AAAA,UACT,UAAUjV;AAAA,QACd;AAEG,YADA8T,EAAE,MAAM,IAAI,mBAAmB+B,CAAG,GAC9B,CAACA,EAAI;AACR,gBAAM,IAAI,MAAM,mBAAmBA,EAAI,WAAW,mBAAmB;AAEtE,eAAAA,EAAI,SAAS/B,EAAE,SAAS+B,EAAI,MAAMA,EAAI,OAAO,GAC7C/B,EAAE,MAAM,IAAI,kBAAkB+B,CAAG,GAC1B5B,EAAM,UAAUH,EAAE,KAAK,OAAO+B,EAAI,MAAM,GAAGA,EAAI,QAAQ;AAAA,MAC9D;AAAA,MA0BD,UAAU,SAAU3T,GAAM+S,GAAS;AAClC,YAAIkB,IAAOlB,EAAQ;AACnB,YAAIkB,GAAM;AACT,mBAAShB,KAASgB;AACjB,YAAAlB,EAAQE,KAASgB,EAAKhB;AAGvB,iBAAOF,EAAQ;AAAA,QACf;AAED,YAAImB,IAAY,IAAIC;AACpB,eAAAC,EAASF,GAAWA,EAAU,MAAMlU,CAAI,GAExCqU,EAAarU,GAAMkU,GAAWnB,GAASmB,EAAU,MAAM,CAAC,GAEjDI,EAAQJ,CAAS;AAAA,MACxB;AAAA,MAOD,OAAO;AAAA,QACN,KAAK,CAAE;AAAA,QAcP,KAAK,SAAUK,GAAMlB,GAAU;AAC9B,cAAImB,IAAQ5C,EAAE,MAAM;AAEpB,UAAA4C,EAAMD,KAAQC,EAAMD,MAAS,CAAA,GAE7BC,EAAMD,GAAM,KAAKlB,CAAQ;AAAA,QACzB;AAAA,QAWD,KAAK,SAAUkB,GAAMZ,GAAK;AACzB,cAAIc,IAAY7C,EAAE,MAAM,IAAI2C;AAE5B,cAAI,GAACE,KAAa,CAACA,EAAU;AAI7B,qBAASrC,IAAI,GAAGiB,GAAWA,IAAWoB,EAAUrC;AAC/C,cAAAiB,EAASM,CAAG;AAAA,QAEb;AAAA,MACD;AAAA,MAED,OAAO5B;AAAA,IACT;AACC,IAAAR,EAAM,QAAQK;AAmBd,aAASG,EAAMvV,GAAMkY,GAASC,GAAOC,GAAY;AAUhD,WAAK,OAAOpY,GASZ,KAAK,UAAUkY,GAQf,KAAK,QAAQC,GAEb,KAAK,UAAUC,KAAc,IAAI,SAAS;AAAA,IAC1C;AA8BD,IAAA7C,EAAM,YAAY,SAAS8C,EAAU7C,GAAGlU,GAAU;AACjD,UAAI,OAAOkU,KAAK;AACf,eAAOA;AAER,UAAI,MAAM,QAAQA,CAAC,GAAG;AACrB,YAAI8C,IAAI;AACR,eAAA9C,EAAE,QAAQ,SAAU91B,GAAG;AACtB,UAAA44B,KAAKD,EAAU34B,GAAG4hB,CAAQ;AAAA,QAC9B,CAAI,GACMgX;AAAA,MACP;AAED,UAAInB,IAAM;AAAA,QACT,MAAM3B,EAAE;AAAA,QACR,SAAS6C,EAAU7C,EAAE,SAASlU,CAAQ;AAAA,QACtC,KAAK;AAAA,QACL,SAAS,CAAC,SAASkU,EAAE,IAAI;AAAA,QACzB,YAAY,CAAE;AAAA,QACd,UAAUlU;AAAA,MACb,GAEMiX,IAAU/C,EAAE;AAChB,MAAI+C,MACC,MAAM,QAAQA,CAAO,IACxB,MAAM,UAAU,KAAK,MAAMpB,EAAI,SAASoB,CAAO,IAE/CpB,EAAI,QAAQ,KAAKoB,CAAO,IAI1BnD,EAAE,MAAM,IAAI,QAAQ+B,CAAG;AAEvB,UAAIqB,IAAa;AACjB,eAAST,KAAQZ,EAAI;AACpB,QAAAqB,KAAc,MAAMT,IAAO,QAAQZ,EAAI,WAAWY,MAAS,IAAI,QAAQ,MAAM,QAAQ,IAAI;AAG1F,aAAO,MAAMZ,EAAI,MAAM,aAAaA,EAAI,QAAQ,KAAK,GAAG,IAAI,MAAMqB,IAAa,MAAMrB,EAAI,UAAU,OAAOA,EAAI,MAAM;AAAA,IACtH;AASC,aAASsB,EAAaC,GAASC,GAAKnV,GAAMoV,GAAY;AACrD,MAAAF,EAAQ,YAAYC;AACpB,UAAI1E,IAAQyE,EAAQ,KAAKlV,CAAI;AAC7B,UAAIyQ,KAAS2E,KAAc3E,EAAM,IAAI;AAEpC,YAAI4E,IAAmB5E,EAAM,GAAG;AAChC,QAAAA,EAAM,SAAS4E,GACf5E,EAAM,KAAKA,EAAM,GAAG,MAAM4E,CAAgB;AAAA,MAC1C;AACD,aAAO5E;AAAA,IACP;AAgBD,aAAS4D,EAAarU,GAAMkU,GAAWnB,GAASuC,GAAWC,GAAUC,GAAS;AAC7E,eAASvC,KAASF;AACjB,YAAI,GAACA,EAAQ,eAAeE,CAAK,KAAK,CAACF,EAAQE,KAI/C;AAAA,cAAIwC,IAAW1C,EAAQE;AACvB,UAAAwC,IAAW,MAAM,QAAQA,CAAQ,IAAIA,IAAW,CAACA,CAAQ;AAEzD,mBAASC,IAAI,GAAGA,IAAID,EAAS,QAAQ,EAAEC,GAAG;AACzC,gBAAIF,KAAWA,EAAQ,SAASvC,IAAQ,MAAMyC;AAC7C;AAGD,gBAAIC,IAAaF,EAASC,IACtB/C,IAASgD,EAAW,QACpBP,KAAa,CAAC,CAACO,EAAW,YAC1BC,IAAS,CAAC,CAACD,EAAW,QACtBhB,IAAQgB,EAAW;AAEvB,gBAAIC,KAAU,CAACD,EAAW,QAAQ,QAAQ;AAEzC,kBAAIE,KAAQF,EAAW,QAAQ,SAAU,EAAC,MAAM,WAAW,EAAE;AAC7D,cAAAA,EAAW,UAAU,OAAOA,EAAW,QAAQ,QAAQE,KAAQ,GAAG;AAAA,YAClE;AAKD,qBAFIX,KAAUS,EAAW,WAAWA,GAG/BG,KAAcR,EAAU,MAAMH,KAAMI,GACxCO,OAAgB5B,EAAU,QAItB,EAAAsB,KAAWL,MAAOK,EAAQ,QAH9BL,MAAOW,GAAY,MAAM,QAAQA,KAAcA,GAAY,MAC1D;AAMD,kBAAIC,KAAMD,GAAY;AAEtB,kBAAI5B,EAAU,SAASlU,EAAK;AAE3B;AAGD,kBAAI,EAAA+V,cAAehE,IAInB;AAAA,oBAAIiE,KAAc,GACdvF;AAEJ,oBAAImF,GAAQ;AAEX,sBADAnF,KAAQwE,EAAaC,IAASC,IAAKnV,GAAMoV,EAAU,GAC/C,CAAC3E,MAASA,GAAM,SAASzQ,EAAK;AACjC;AAGD,sBAAIiW,KAAOxF,GAAM,OACbyF,KAAKzF,GAAM,QAAQA,GAAM,GAAG,QAC5B90B,KAAIw5B;AAIR,uBADAx5B,MAAKm6B,GAAY,MAAM,QAChBG,MAAQt6B;AACd,oBAAAm6B,KAAcA,GAAY,MAC1Bn6B,MAAKm6B,GAAY,MAAM;AAOxB,sBAJAn6B,MAAKm6B,GAAY,MAAM,QACvBX,KAAMx5B,IAGFm6B,GAAY,iBAAiB/D;AAChC;AAID,2BACKx2B,KAAIu6B,IACRv6B,OAAM24B,EAAU,SAASv4B,KAAIu6B,MAAM,OAAO36B,GAAE,SAAU,WACtDA,KAAIA,GAAE;AAEN,oBAAAy6B,MACAr6B,MAAKJ,GAAE,MAAM;AAEd,kBAAAy6B,MAGAD,KAAM/V,EAAK,MAAMmV,IAAKx5B,EAAC,GACvB80B,GAAM,SAAS0E;AAAA,gBACrB,WACM1E,KAAQwE,EAAaC,IAAS,GAAGa,IAAKX,EAAU,GAC5C,CAAC3E;AACJ;AAKF,oBAAIwF,KAAOxF,GAAM,OACb0F,KAAW1F,GAAM,IACjBmC,KAASmD,GAAI,MAAM,GAAGE,EAAI,GAC1BG,KAAQL,GAAI,MAAME,KAAOE,GAAS,MAAM,GAExCE,KAAQlB,KAAMY,GAAI;AACtB,gBAAIP,KAAWa,KAAQb,EAAQ,UAC9BA,EAAQ,QAAQa;AAGjB,oBAAIC,KAAaR,GAAY;AAE7B,gBAAIlD,OACH0D,KAAalC,EAASF,GAAWoC,IAAY1D,EAAM,GACnDuC,MAAOvC,GAAO,SAGf2D,EAAYrC,GAAWoC,IAAYN,EAAW;AAE9C,oBAAIQ,KAAU,IAAIzE,EAAMkB,GAAON,IAASf,EAAE,SAASuE,IAAUxD,CAAM,IAAIwD,IAAUxB,GAAOwB,EAAQ;AAOhG,oBANAL,KAAc1B,EAASF,GAAWoC,IAAYE,EAAO,GAEjDJ,MACHhC,EAASF,GAAW4B,IAAaM,EAAK,GAGnCJ,KAAc,GAAG;AAKpB,sBAAIS,KAAgB;AAAA,oBACnB,OAAOxD,IAAQ,MAAMyC;AAAA,oBACrB,OAAOW;AAAA,kBACd;AACM,kBAAAhC,EAAarU,GAAMkU,GAAWnB,GAAS+C,GAAY,MAAMX,IAAKsB,EAAa,GAGvEjB,KAAWiB,GAAc,QAAQjB,EAAQ,UAC5CA,EAAQ,QAAQiB,GAAc;AAAA,gBAE/B;AAAA;AAAA,YACD;AAAA,UACD;AAAA;AAAA,IAEF;AAeD,aAAStC,IAAa;AAErB,UAAIuC,IAAO,EAAE,OAAO,MAAM,MAAM,MAAM,MAAM,QAExCC,IAAO,EAAE,OAAO,MAAM,MAAMD,GAAM,MAAM;AAC5C,MAAAA,EAAK,OAAOC,GAGZ,KAAK,OAAOD,GAEZ,KAAK,OAAOC,GACZ,KAAK,SAAS;AAAA,IACd;AAWD,aAASvC,EAASwC,GAAM/hB,GAAM6I,GAAO;AAEpC,UAAImZ,IAAOhiB,EAAK,MAEZiiB,IAAU,EAAE,OAAOpZ,GAAO,MAAM7I,GAAM,MAAMgiB;AAChD,aAAAhiB,EAAK,OAAOiiB,GACZD,EAAK,OAAOC,GACZF,EAAK,UAEEE;AAAA,IACP;AASD,aAASP,EAAYK,GAAM/hB,GAAMkiB,GAAO;AAEvC,eADIF,IAAOhiB,EAAK,MACPud,IAAI,GAAGA,IAAI2E,KAASF,MAASD,EAAK,MAAMxE;AAChD,QAAAyE,IAAOA,EAAK;AAEb,MAAAhiB,EAAK,OAAOgiB,GACZA,EAAK,OAAOhiB,GACZ+hB,EAAK,UAAUxE;AAAA,IACf;AAMD,aAASkC,EAAQsC,GAAM;AAGtB,eAFII,IAAQ,CAAA,GACRniB,IAAO+hB,EAAK,KAAK,MACd/hB,MAAS+hB,EAAK;AACpB,QAAAI,EAAM,KAAKniB,EAAK,KAAK,GACrBA,IAAOA,EAAK;AAEb,aAAOmiB;AAAA,IACP;AAGD,QAAI,CAACzF,EAAM;AACV,aAAKA,EAAM,qBAKNK,EAAE,+BAENL,EAAM,iBAAiB,WAAW,SAAUyC,GAAK;AAChD,YAAIiD,IAAU,KAAK,MAAMjD,EAAI,IAAI,GAC7BvC,IAAOwF,EAAQ,UACfpZ,IAAOoZ,EAAQ,MACfC,IAAiBD,EAAQ;AAE7B,QAAA1F,EAAM,YAAYK,EAAE,UAAU/T,GAAM+T,EAAE,UAAUH,IAAOA,CAAI,CAAC,GACxDyF,KACH3F,EAAM,MAAK;AAAA,MAEZ,GAAE,EAAK,IAGFK;AAIR,QAAIuF,IAASvF,EAAE,KAAK,cAAa;AAEjC,IAAIuF,MACHvF,EAAE,WAAWuF,EAAO,KAEhBA,EAAO,aAAa,aAAa,MACpCvF,EAAE,SAAS;AAIb,aAASwF,IAAiC;AACzC,MAAKxF,EAAE,UACNA,EAAE,aAAY;AAAA,IAEf;AAED,QAAI,CAACA,EAAE,QAAQ;AAOd,UAAIyF,IAAa,SAAS;AAC1B,MAAIA,MAAe,aAAaA,MAAe,iBAAiBF,KAAUA,EAAO,QAChF,SAAS,iBAAiB,oBAAoBC,CAA8B,IAExE,OAAO,wBACV,OAAO,sBAAsBA,CAA8B,IAE3D,OAAO,WAAWA,GAAgC,EAAE;AAAA,IAGtD;AAED,WAAOxF;AAAA,EAER,EAAEL,CAAK;AAEP,EAAqCl1B,EAAO,YAC3CA,EAAA,UAAiBm1B,IAId,OAAO8F,KAAW,QACrBA,GAAO,QAAQ9F,IAyDhBA,EAAM,UAAU,SAAS;AAAA,IACxB,SAAW;AAAA,MACV,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,QAAU;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,SAAW;AAAA,MAEV,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,mBAAmB;AAAA,UAClB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,QAAQ;AAAA,QACR;AAAA,QACD,QAAU;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACR;AAAA,QACD,aAAe;AAAA,QACf,eAAe;AAAA,QACf,MAAQ;AAAA,MACR;AAAA,IACD;AAAA,IACD,OAAS;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,KAAO;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,KAAO;AAAA,UACN,SAAS;AAAA,UACT,QAAQ;AAAA,YACP,aAAe;AAAA,YACf,WAAa;AAAA,UACb;AAAA,QACD;AAAA,QACD,gBAAgB,CAAE;AAAA,QAClB,cAAc;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,YACP,aAAe;AAAA,cACd;AAAA,gBACC,SAAS;AAAA,gBACT,OAAO;AAAA,cACP;AAAA,cACD;AAAA,gBACC,SAAS;AAAA,gBACT,YAAY;AAAA,cACZ;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACD,aAAe;AAAA,QACf,aAAa;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,YACP,WAAa;AAAA,UACb;AAAA,QACD;AAAA,MAED;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MACT;AAAA,QACC,SAAS;AAAA,QACT,OAAO;AAAA,MACP;AAAA,MACD;AAAA,IACA;AAAA,EACF,GAEAA,EAAM,UAAU,OAAO,IAAO,OAAO,cAAc,OAAO,SACzDA,EAAM,UAAU,OAAO,QACxBA,EAAM,UAAU,OAAO,QAAW,OAAO,mBAAmB,SAASA,EAAM,UAAU,QAGrFA,EAAM,MAAM,IAAI,QAAQ,SAAUmC,GAAK;AAEtC,IAAIA,EAAI,SAAS,aAChBA,EAAI,WAAW,QAAWA,EAAI,QAAQ,QAAQ,SAAS,GAAG;AAAA,EAE5D,CAAC,GAED,OAAO,eAAenC,EAAM,UAAU,OAAO,KAAK,cAAc;AAAA,IAY/D,OAAO,SAAoB+F,GAAS9F,GAAM;AACzC,UAAI+F,IAAsB,CAAA;AAC1B,MAAAA,EAAoB,cAAc/F,KAAQ;AAAA,QACzC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQD,EAAM,UAAUC;AAAA,MAC3B,GACE+F,EAAoB,QAAW;AAE/B,UAAI7E,IAAS;AAAA,QACZ,kBAAkB;AAAA,UACjB,SAAS;AAAA,UACT,QAAQ6E;AAAA,QACR;AAAA,MACJ;AACE,MAAA7E,EAAO,cAAclB,KAAQ;AAAA,QAC5B,SAAS;AAAA,QACT,QAAQD,EAAM,UAAUC;AAAA,MAC3B;AAEE,UAAIgG,IAAM,CAAA;AACV,MAAAA,EAAIF,KAAW;AAAA,QACd,SAAS,OAAO,wFAAwF,OAAO,QAAQ,OAAO,WAAY;AAAE,iBAAOA;AAAA,QAAU,CAAA,GAAG,GAAG;AAAA,QACnK,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,QAAQ5E;AAAA,MACX,GAEEnB,EAAM,UAAU,aAAa,UAAU,SAASiG,CAAG;AAAA,IACnD;AAAA,EACF,CAAC,GACD,OAAO,eAAejG,EAAM,UAAU,OAAO,KAAK,gBAAgB;AAAA,IAYjE,OAAO,SAAUkG,GAAUjG,GAAM;AAChC,MAAAD,EAAM,UAAU,OAAO,IAAI,OAAO,gBAAgB,KAAK;AAAA,QACtD,SAAS;AAAA,UACR,aAAa,SAAS,QAAQkG,IAAW,MAAM,iDAAiD;AAAA,UAChG;AAAA,QACA;AAAA,QACD,YAAY;AAAA,QACZ,QAAQ;AAAA,UACP,aAAa;AAAA,UACb,cAAc;AAAA,YACb,SAAS;AAAA,YACT,QAAQ;AAAA,cACP,OAAS;AAAA,gBACR,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,OAAO,CAACjG,GAAM,cAAcA,CAAI;AAAA,gBAChC,QAAQD,EAAM,UAAUC;AAAA,cACxB;AAAA,cACD,aAAe;AAAA,gBACd;AAAA,kBACC,SAAS;AAAA,kBACT,OAAO;AAAA,gBACP;AAAA,gBACD;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACJ,CAAG;AAAA,IACD;AAAA,EACF,CAAC,GAEDD,EAAM,UAAU,OAAOA,EAAM,UAAU,QACvCA,EAAM,UAAU,SAASA,EAAM,UAAU,QACzCA,EAAM,UAAU,MAAMA,EAAM,UAAU,QAEtCA,EAAM,UAAU,MAAMA,EAAM,UAAU,OAAO,UAAU,CAAA,CAAE,GACzDA,EAAM,UAAU,OAAOA,EAAM,UAAU,KACvCA,EAAM,UAAU,OAAOA,EAAM,UAAU,KACvCA,EAAM,UAAU,MAAMA,EAAM,UAAU,KAOrC,SAAUA,GAAO;AAEjB,QAAItT,IAAS;AAEb,IAAAsT,EAAM,UAAU,MAAM;AAAA,MACrB,SAAW;AAAA,MACX,QAAU;AAAA,QACT,SAAS,OAAO,eAAe,sBAAsB,SAAS,MAAMtT,EAAO,SAAS,QAAQ,kBAAkB,MAAM;AAAA,QACpH,QAAQ;AAAA,UACP,MAAQ;AAAA,UACR,8BAA8B;AAAA,YAC7B,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,OAAO;AAAA,UACP;AAAA,UACD,SAAW;AAAA,YACV,SAAS;AAAA,YACT,YAAY;AAAA,UACZ;AAAA,QAED;AAAA,MACD;AAAA,MACD,KAAO;AAAA,QAEN,SAAS,OAAO,iBAAiBA,EAAO,SAAS,MAAM,8BAA8B,SAAS,QAAQ,GAAG;AAAA,QACzG,QAAQ;AAAA,QACR,QAAQ;AAAA,UACP,UAAY;AAAA,UACZ,aAAe;AAAA,UACf,QAAU;AAAA,YACT,SAAS,OAAO,MAAMA,EAAO,SAAS,GAAG;AAAA,YACzC,OAAO;AAAA,UACP;AAAA,QACD;AAAA,MACD;AAAA,MACD,UAAY;AAAA,QACX,SAAS,OAAO,sDAAuDA,EAAO,SAAS,eAAe;AAAA,QACtG,YAAY;AAAA,MACZ;AAAA,MACD,QAAU;AAAA,QACT,SAASA;AAAA,QACT,QAAQ;AAAA,MACR;AAAA,MACD,UAAY;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,MACD,WAAa;AAAA,MACb,UAAY;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,MACD,aAAe;AAAA,IACjB,GAECsT,EAAM,UAAU,IAAI,OAAU,OAAO,OAAOA,EAAM,UAAU;AAE5D,QAAImG,IAASnG,EAAM,UAAU;AAC7B,IAAImG,MACHA,EAAO,IAAI,WAAW,SAAS,KAAK,GACpCA,EAAO,IAAI,aAAa,SAAS,KAAK;AAAA,EAGvC,EAACnG,CAAK,GAOPA,EAAM,UAAU,QAAQ;AAAA,IACvB,SAAW;AAAA,MACV;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,MACR;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,MACR;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,cAAc;AAAA,MACb,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,QACP,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IACD,SAAW;AAAA,IACX,SAAW;AAAA,IACX,UAAY;AAAA,IACZ,QAAU;AAAA,IACV,UAAY;AAAA,IACZ,aAAe;AAAA,EAChB,GAOAA,EAAM,UAAU,aAAaA,EAAM,UAAU,OAAO,SAAS;AAAA,IAC5D,cAAc;AAAA,MACbA,EAAM,UAAU,MAAM;AAAA,MACtB;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,IACD;AAAA,IACD,SAAW;AAAA,MACV;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,IACD;AAAA,IAED,UAAY;AAAA,IACZ,QAAU;AAAA,MACT,SAAS;AAAA,QACR,aAAa,SACb,SAGC,eAAe,SACf,MAEA,0BAA0B,SAC1B,MAEA,4BAA4B,SAC5B,MAEA,sCAAsC,SACtC,MAEA,gBAAgB,SAChB,MAEA,oFAAoF,UAErF,MACA,YAAY;AAAA,MACZ;AAAA,MACD,YAAY;AAAA,IACZ;AAAA,IACD,UAAY;AAAA,EACb,CAAC,GAEDA,EAAM,UAAU,WAAW,cAAc,GAAG,UAAU,wEAEtDA,EAAM,UAAU,aAAa,cAAc,WAAW;AAAA,IACrD,OAAS;AAAA,MACR,SAAS;AAAA,QAGR,0DAA0D,SAK1D,KAAK,SACL,QACA,iEAAiE,SACjE,MAEA,qIAAqI,SACrI,MAEA,kEAAkE;AAAA,MAClE;AAAA,MACD,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,gBAAgB;AAAA,UACf,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,QAAQA,EAAM,UAAU;AAAA,QACxB;AAAA,QACD,mBAAmB;AAAA,QACnB,eAAe;AAAA,MACf;AAAA,IACD;AAAA,IAED,qBAAqB;AAAA,MACpB,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IACD,WAAa;AAAA,MACZ;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQA,EAAM,UAAU;AAAA,MACxB;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQA,EAAM,UAAU;AAAA,MACxB;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQA,EAAM,UAAU;AAAA,MACxB;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQA,EAAM,UAAU;AAAA,MACxB;AAAA,IACD;AAAA,IACD,UAAY;AAAA,EACb,CAAC,GAEDA,EAAM,UAAU,aAAa,cAAc,UAAU;AAAA,IACpD,UAAY;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,IACP;AAAA,IACD,mBAAmB;AAAA,MAClB,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,wBAAwB;AAAA,UACvB,SAAS;AAAA,UACT,OAAO;AAAA,QACP;AAAA,QACD,eAAiB;AAAA,UAChB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,YACP,6BAA6B;AAAA,cAC5B,SAAS;AAAA,cACT,OAAO;AAAA,YACP;AAAA,YACD,MAAMA,EAAM,UAAU;AAAA,UACtB;AAAA,QACD;AAAA,QACD,QAAU;AAAA,MACV;AAAA,IACD;AAAA,IACD,mBAAmB;AAAA,MAClB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO;AAAA,IACP;AAAA,EACF,CAAC,GAEDA,EAAM,UAAU,aAAa,cAAc,YAAY;AAAA,IACtD,oBAAoB;AAAA,MACnB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,EACF,CAAC,GAEGA,EAAM,UAAU,WACnBA,EAAM,UAAU,OAAO,IAAI,WAAW,UAAU,YAAY,GAI5DA,EAAM,UAAU,OAAO,IAAI;AAAA,IAC1B,yNAAyN;AAAA,IACzN;AAAA,EACF,IAGAA,EAAM,UAAU,KAAKA,EAAM,UAAU,YAOpC,WAAY;AAEZ,QAAI,OAAOA,IAAU,OAAe,OAAO,WAAa;AACvD;AAID,IAAK,QAAQ,UAAU,YACtB,QAAQ,UAAU,UAAU,QAAQ,UAAU,qBAAqB,QAAQ,UAAU;AAGtF,QAAIoG,IAAkB,iBAClBC,IAAkB,SAAUC,GAAQb,GAAS;AAChD,aAAO,kBAAaa,IAAS,2BAA2Bb;AAAA,IAC1D,GACKc,IAAwB,iDAExBC,IAAa;AAAA,MAChB,IAAM;AAAA,MACN,IAAM;AAAA,MACN,IAAM;AAAA,MACN,KAAO;AAAA,MACP,MAAQ;AAAA,MACR,IAAM;AAAA,MACN,KAAO;AAAA,MACP,GAAK;AAAA,MACL,KAAO;AAAA,IACT,GAEKC,IAAc,mBACdC,IAAiB,WACjBC,IAAgB,UAChBC,IAAgB,UAEhBC,IAAW,wBAAwBJ,IAAc,OAAOE,IAAgB,cAC9DF,IAAc,OAAOC,IAAiB;AASpD,aAASI,EAAS3X,GAAK4X,GAAShQ,GAAO;AACtC,UAAIiQ,IAAM,IAAI;AACd,MAAAA,EAAI,KAAK,OAAO7X,GAAK,EAAI,GACzB6X,EAAI,qBAAqB,WAAY;AACpC,QAAIA,EAAI,cAAc,MACjBA,EAAI,SAAS,OAAOA,EAAI,eAC3BD,EAAQC,EAAI,YAAY,IAEpBA,EAAI,UAAU,MACjBjQ,EAAMsP,EAAgBW,EAAI,QAAQA,EAAI,UAAU,CAAC,IAEjDjQ,EAAMwP,CAAqB;AAAA,MAIjC,GACES,EAAI,KAAK,IAAI;AAAA,IACb;AAUD,aAASC,EAAWC,GAAO;AAC1B,UAAIj9B,IAAI,wCAAwC,KAAKi9B,KAAS,EAAE;AAChE,UAAIj9B,GAAG;AACN,YAAIk9B,IAAQ,OAAOl9B,EAAE,EAAE,GACnBm9B,IAAQn9B,EAAE,IACVo9B,IAAMp9B,EAAE;AAEZ,eAAKm9B,IAGAC,IAGE,CAACF,GAAO,OAAOE,CAAG,CAAC,IAFlB,CAACF,GAAO,MAAS,IAHjB,CAACA,GAAOA,CAAK;AAAA,MAMrB;AAAA,IAED;AAED,IAAAnH,EAAM,MAAM,IAAI,uBAAuB,SAAUmC,GAAK;AACrD,MAAAA,EAAI,YAAY,OAAO0E;AAAA,IACzB,CAAE,GAED7G,EAAM,MAAM,IAAI,uBAAuB,SAAUmC,GAAK;AACrD,UAAImF,IAAqCnF,EAAI;AAC7C,UAAImF,EAAI,QAAQT,CAAQ,GAAG;AAC1B,QAAA1E,EAAI,OAAO,IAEXmF,EAAI,aAAab,GAAaC,CAAc;AAG5C,YAAIra,IAAOib,EAAI,YAAY,SAAS,cAAc,MAAM,CAAC;AACzD,QAAAjb,EAAK,cAAc+Z;AAEnB,YAAIjX,IAAMmY,EAAI,aAAa,UAAU,GAEjChb,IAAW6V,EAAI;AACnB,YAAI7V,MAAa,QAAQ;AAGxB,cAAIib,KAAa,WAAW,KAAKpY,CAAG,KAAK,CAAG,EAAA,MAAM,GAAG;AACrD,UAAA7C,IAAWka,EAAWe,MAAcA;AAAA,QACpC;AAGD,QAAAvH,EAAM,KAAK,YAAY3T,GAAMC,CAAQ,GACrC0T,EAAM,KAAK,YAAYsH,GAAKhb,CAAQ;AAGpC,YAAIkb,IAAaxH,EAAM,QAAQ;AAC/B,QAAIwH,KACHA,EAAW,cAAclb,CAAQ,GAIlCwa;AAAA,UACC3X;AAAA,UACA,SAAUX,GAAM;AAEf,YAAA8Y,EAAI,aAAab,GAAaE,CAAa;AAG3C,gBAAIO,IAAQD,EAAWK,EAAI,aAAa,YAAY,CAAC;AACrD,gBAAIJ,GAAO;AACV,kBAAIO,IAAQjZ,EAAK,MAAM,WAAW,GAG9B2Y,IAAQD,EAAM,IACdG,IAAMH,EAAM,MAAM,OAAOO,EAAM,SAASP,EAAM;AAElD,cAAIC,IAAQ,MAAKA,KAASM,EAAM,SAChCN,IAAQ,KAAK,IAAI,GAAG,KAAK,IAAIA,IAAQ,GAAGM,EAAM,MAAM,CAAC,GACjDJ,IAAM,MAAKA,KAAOI,EAAM,SAC5BJ,IAAM,KAAK,IAAI,GAAG,KAAK,IAAIA,GAAKI,EAAM,MAAM,CAAC,GAE7CjZ,IAAOiZ,EAAM,MAAMN,GAAOE,CAAG,EAAE,KAAK;AAAA,CAAI,GAGnCC,EAAI,aAAa,YAAY,KACjCA,EAAI,aAAa,cAAc,OAAOH,IAAQ,CAAC,CAAC;AAAA,YAEjD;AAGD,YAAA9a,EAAK,cAAcmC,GACnBwR,EAAM,iBAAiB3T,CAAI;AAAA,UAC3B;AAAA,UACD,SAAU0K,GAAO;AAEhB,YAAAuQ,EAAI,aAAab,GAAaG,CAAa,GAE3Cva,EAAK,cAAc0K;AAAA,UACnB;AAAA,QACL;AAAA,MACG;AAAA,IACH,CAAE,GAEDiJ,EAAM,QAAQ,gBAAgB;AAAA,MAQ7B,WAAW,SAAmBkC,GAAW;AAGxC,iBAFIwF,KAAYxF,KAAa,UAAU,iBAAiB2E,CAAQ,GAEvDjG,IAAI,GAAGrd,GAAUA,IAAUmkB,EAAS9G;AAC5C,UAAAZ,EAAM,iBAAiBzc,CAAO;AAAA,MAE/B;AAAA,IACH;AAEC,QAAIokB,IAAS;AAEb,IAAA3H,EAAM,gBAAgB,WAAY;AACjC,MAAK2H,MACJ,QAAQ,KAAK,yFAAyF,GACtGA,IAAS,KAEV3H,EAAM,QAAQ,cAAc,UAAU,MAAM,MAAM,SAAS;AAAA,IAC7D;AAAA,EAEA;;ACz5DA,MAAM,UAAU,QAAQ;AAAA,EACvB,SAAW;AAAA,IACV;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,IACR;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,IACR;AAAA,EACD;AAAA,EACD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,cAAc;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,MACP,aAAe;AAAA,IACf;AAAA,EACD;AAAA,EACD,SAAW;AAAA,EACX,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,QAAU;AAAA,EACV,UAAY;AAAA,EACZ,aAAe;AAChB;AC9BA,MAAM,UAAU,aAAa,MAAM,UAAU,OAAO,SAAS;AAAA,EAC5D,cAAc;AAAA,IACb,MAAM,UAAU,MAAM;AAAA,IACtB;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,EACD;AAAA,EACD,SAAW;AAAA,IACV;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,EACD;AAAA,EAED,UAAY;AAAA,EACZ,QAAU;AAAA,IACT,SAAS;AAAA,MACR,aAAa,SACb,SAGC,eAAe,SACf,MAEA,0BAA0B,SAC1B,MAEA,4BAA4B,SAC5B,MAEA,sCAAsC,SACtC,MAEA,gBAAgB,SAChB,MAEA,oFAAoF,UAErF,MACA,YAAY;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,EACZ;AAAA,EACD,UAAY;AACb,CAAC;AAED,MAAM,UAAU,WAAW,cAAc,GAAG,UAAU;AAEtD,MAAM,UAAU,aAAa,cAAc,WAAW;AAAA,EACrD,OAAS;AAAA,IACR,SAAS;AAAA,MAGR,0DAA0D,SAK1D,KAAK,SACL,QACA,iEAAiE,SACjE,MAEA,qIAAqI,SACrI,MAEA,kEAAkE;AAAA,IAClE;AAAA,IACD,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,gBAAgB;AAAA,QACf,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ,MAAM,UAAU;AAAA,MACxB;AAAA,MACD,mBAAmB;AAAA,MACnB,eAAe;AAAA,IACf;AAAA,EACD;AAAA,EAED,qBAAqB;AAAA,IACpB,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EACD,WAAa;AAAA,IACZ;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAU;AAAA,IACxB;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAU;AAAA,IACxB;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAU;AAAA,IACxB;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAU;AAAA,IACxB;AAAA,EACD;AAAA,EACD,UAAY;AACb,CAAC;AAED,MAAM,UAAU,aAAa,cAAc,UAAU;AAAA,EACpD,UAAY;AAAA,IACX,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,EACP;AAAA,EACD,mBAAmB;AAAA,IAClB,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,wBAAwB;AAAA,QACvB,SAAS;AAAA,QACT,OAAO;AAAA,MACP;AAAA,MACD,eAAiB;AAAA,QAChB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,UACP,6BAA6B;AAAA,YAC5B,SAAS;AAAA,YACT,OAAO;AAAA,UACP;AAAA,UACD,MAAM,MAAM,UAAU;AAAA,QACtB;AAAA,MACD;AAAA,MACD,QAAU;AAAA,IACV;AAAA,EACD;AAAA,EACD,mBAAmB;AAAA,IAClB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,OAAO;AAAA,EACP;AACF,CAAC;AAED,MAAM,UAAU,aAAa,cAAc,YAAY;AAAA,EACtD,oBAAoB;AAAA,IACnB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,EACP;AACF,CAAC;AAEG,MAAM,UAAU,WACnB,MAAM,UAAU,OAAO,IAAI,WAAW,UAAU,YAAY,GAI5D,MAAM,UAAU,OAAO,IAAI;AAAA,EAC1B,yNAAyN;AAAA,EACzN;AACF;AAGA,MAAM,UAAU,KAAK,MAAM,UAAU;AC3KrC,MAAM,UAAU,SAAS;AAAA,EACxB,SAAW;AAAA,IACV,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,SAAW;AAAA,IAEV,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,mBAAmB;AAAA,QAClB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,QAAQ;AAAA,MACR;AAAA,MACD,QAAU;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,MACR;AAAA,MACD,aAAe;AAAA,MACf,eAAe;AAAA,MACf,MAAQ;AAAA,IACR;AAAA,EACD;AAAA,EACD,OAAS;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,KAAO;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,KAAO;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,UACP,aAAe;AAAA,UACf,WAAa;AAAA,QACb;AAAA,MACD;AAAA,MACD,gBAAgB,CAAE;AAAA,MAClB,cAAc;AAAA,QACb,SAAS;AAAA,QACT,QAAQ;AAAA,UACP,aAAe;AAAA,YACd;AAAA,cACC,SAAS;AAAA,cACT,OAAO;AAAA,YACP;AAAA,YACD;AAAA,cACC,SAAS;AAAA,cACT,YAAY;AAAA,YACZ;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACD,aAAe;AAAA,MACf,aAAa;AAAA,QACZ,SAAS;AAAA,QACT,QAAQ;AAAA,UACP,WAAa;AAAA,QACb;AAAA,MACD;AAAA,IAED;AAAA,EACD;AAAA,EACD,QAAU;AAAA,IACT;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IACD;AAAA,EACA;AACF;AAEA,MAAM,UAAU,OAAO,IAAO,OAAO,cAAc,OAAO,SACzD,MAAM,UAAU,OAAO;AACxB,MAAM,UAAU,OAAO,QAAW,OAAO,mBAAmB,SAAS,MAAM,UAAU;AAGrF,MAAM,MAAM,IAAI,QAAQ,SAAUmC,GAAK;AAEtC,EAAIA,EAAI,SAAS,aAChBA,EAAI,WAAW,QAAWA,EAAI,QAAQ,QAAQ,SAAS,GAAG;AAE5D,CAAC;AAED,OAAO,eAAe,MAAM,UAAU,OAAO,KAAK,cAAc;AAAA,EAY/D,OAAO,SAAoB4D,GAAS9F,GAAM;AACzC,QAAI+F,IAAsB,CAAA;AAC1B,IAAAA,EAAoB,cAAc/F,KAAQ;AAAA,MACzC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAUA;AAAA,IAC3B,GACE+F,EAAoB,QAAW;AAE/B,QAAI7E,IAAS;AAAA,MACZ,kBAAkB;AAAA,QACjB,SAAS;AAAA,QACT,QAAQ6E;AAAA,MACR;AAAA,IACJ;AACE,IAAA7E,EAAO,cAAclB,KAAQ;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ,MAAM,UAAUA;AAAA,IAC3B;AAEE,QAAIgG,IAAM,CAAA;AACV,IAAAA,EAAIF,KAAW;AAAA,MACd,SAAS,OAAO,wFAAwF,OAAO,QAAQ,OAAO,WAAY;AAAE,eAAOA;AAAA,MAAU,CAAA,GAAG,GAAG;AAAA,MACnK,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ5E;AAAA,IACX,GAEE,MAAM,UAAU,aAAa,UAAU,SAAS8E,CAAG;AAAA,EACnD;AACF,CAAC;AACD,OAAO,eAAe,MAAM,UAAU,OAAO,KAAK,gBAAgB;AAAA,EAYjE,OAAO,SAAUC,GAAUjG,GAAM;AAChC,UAAM,UAAU,OAAO,IAAI,OAAO,gBAAgB,KAAK;AAAA,MACtD,SAAS;AAAA,QACR,aAAa,SAAS,QAAQiG,IAAW,MAAM,iDAAiD;AAAA,QAChG;AAAA,MACA;AAAA,MACD,YAAY;AAAA,MACZ,QAAQ;AAAA,QACP,aAAa;AAAA,QACb,cAAc;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,YACP,OAAS;AAAA,cACR,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,OAAO,CAACjG,GAAM,cAAcA,CAAI;AAAA,cAChC,QAAQ,MAAM,UAAUA;AAAA,YACxB;AAAA,YACD,aAAe;AAAA,cACd;AAAA,gBACC,SAAS;AAAA,gBACT,OAAO;AAAA,cACP;AAAA,cACD;AAAA,YACA;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACJ,CAAG;AAAA,EACD;AACF,CAAC;AAED,MAAM,UAAU,OAAO,MAAM,UAAU;AACvC,MAAM,UAAU,SAAS,MAAM,UAAU;AACzC,MAAM,UAAU,MAAM,MAAM,UAAU;AAEtC,MAAM,UAAU,MAAM,MAAM,UAAU,OAAO,UAAU,CAAA,CAAE;AACzD,MAAM,UAAU,OAAO,MAAM,UAAU;AACvC,MAAM,UAAU,OAAO,MAAM,UAAU;AACvC,MAAM,UAAU,MAAM,MAAM,UAAU;AAAA,CCzLrC,SAAUD,GAAO;AAGjB,MAAI4H,IAAQ,2CAA2C;AAYvD,WAASC,EAAanE,GAAS;AAC9B,WAAAA,IAAUA,EAAQ,QAAQ,YAAY,WAAY;AAAE,aAAOkE;AAAA,IAAM,CAAE,GAC5D,OAAO,0BAA0B,SAAS,QAAQlE,IAAU,GAAG;AAAA,EACtE;AAGD,MAAIoE,IAAY,4DAA4D,QACxEC,IAAW,+CAA+C,OAAO,QAAQ,OAAO,WAAY;AAAE,WAAOD;AAAA,EAAU,CAAE,GACjHE,IAAY,sEAAsE;AAGtF,EAAAhI,EAAM,UAAU,WAAWA,EAAM,UAAU,OAAO,UAAU,CAAA,CAAE,GAC9DA,EAAM,UAAU,aAAa,YAAY,UAAU;AAAA,IAClD,sBAAsB;AAAA,MACrB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,aAAe;AAAA,QACf,gBAAgB;AAAA,UACf,SAAS;AAAA,UACT,OAAO,CAAC,QAAQ,eAAe;AAAA,UAC/B,QAAQA,EAAM,UAAU;AAAA,QACxB;AAAA,MACD;AAAA,IACD;AAAA,IACD,YAAc;AAAA,MAEb,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IACD,OAAS;AAAA,MACR,SAAS,OAAO,MAAM+H,IAAWC,IAAY,QAAQD,IAAW,MAAM,GAAG;AAAA,MACzE,QAAQ;AAAA,QACP,mBAAmB;AAAA,UAClB,SAAS,OAAO,OAAOA,IAAWC,IAAY,SAASD,IAAW,KAAK;AAAA,UACvE,YAAY;AAAA,UACZ,QAAQ;AAAA,YACP,cAAc;AAAA,cACb,SAAS,OAAOD,CAAS;AAAA,cACzB,QAAQ9H,EAAM,UAAU;AAAA,YACxB;AAAA,YACD,aAAe;AAAA,UACf;AAAA,QACD;AAAA,QACD,cAAc;AAAA,UACb,SAAS,OAAO,OAAO+H,IAAW,MAAMC,IAAY,GAAG;AAAA,UACvD,YAAY;AAAA,UACZ,QAAQ;AAAA,YACP,aAAe;AAAA,UACf;AAAA,QACD;AAAA,QACD,oBAAoB;AAAA,UACnB,SAAS,OAAO,MAAMD,IAAW,GAAG;AAAA,UACpC,QAAQ;AAAA,YACP,gBAAgB;AAAA,cACf,SAAS,OAAOD,CAAS;AAAA,cACzB,OAAO;AAAA,cACP,QAAQ9H,EAAM,UAAU;AAAA,YACxB;AAAA,YACD,aAAe;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACD,MAAQ;AAAA,MACP;AAAA,QAEC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,MACP;AAAA,MACD;AAAA,QAIC,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,UACP,cAAc;AAAA,YACb,SAAS;AAAA,YACT,YAAY;AAAA,UACZ;AAAA,UACD,iBAAiB;AAAA,YAChB,SAAS;AAAA,YACT,YAAY;AAAA,UACZ;AAAA,UACD,aAAe;AAAA,QACf;AAAA,MACD;AAAA,IACD;AAAA,IACD,OAAS;AAAA,MACR;AAAA,QAMC,SAAS;AAAA,QACT,OAAO;AAAA,QACP,QAAQ;AAAA,UACP,aAAa;AAAA,QACb;AAAA,MACD;AAAA,MACD;AAAA,QAGC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,UACP,aAAa;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,IACD,IAAM;AAAA,MAKL,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,MAAQ;AAAA,MAKP,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,iBAAiB;AAAA,MAKhB,SAAS;AAAA,MACT,QAAQ;AAAA,QACP,UAAY;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD,QAAU;AAAA,QACV,aAAe;AAAA,MACf;AAAA,MACD,OAAO;AAAA,IACP;AAAA,IACD,MAAQ;AAAA,MAKP,SAAS6H,EAAa,kGAAkG,MAAM;AAAA,MAC9H,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,CAAE;AAAA,QACV;AAAA,QACD,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MAKT,SAASA,EAAa,kGAAkG,MAAM;AAAA,MAC9H,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,CAAE;AAAA,QACV;AAAA,QACD,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MAIT,SAASA,EAAa,2BAA2B,MAAM;AAAA,MACvD,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,CAAE;AAAA,QACV;AAAA,QACD,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MAGf,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO,CAAC,QAAQ,SAAS;AAAA,IACzB;AAAA,IACD,KAAO;AAAA,MAIN,SAASA,EAAa,mGAAmG,MAAM;AAAA,MAC/H,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,UAAY;AAAA,QACZ,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,CAAE;AAAA,QACV;AAAA,QACD,UAAY;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD,KAAO;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD,QAAU;AAAA,UACT,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,MACD;AAAA,IACD;AAAA,EACH,CAAE,GAED,CAAC,OAAO,QAAQ,UAAU,QAAQ,EAAE,QAAQ,SAAUpG,GAAO;AAC5D,KAAC,OAAO,QAAQ,UAAU,UAAU,cAAc,EAAE,QAAQ,SAAUN,GAAQ;AAC7E,MAAIM,MAAUN,MACbnB,EAAM,UAAU,SAASyB,GAAO,OAAO,QAAQ,OAAON,KAAUnB,EAAM,UAAU,SAASmB;AAAA,IAE7F,CAAG;AAAA,EACH,CAAE,GAEDnB,EAAM,MAAM,IAAI,kBAAkB,SAAUmC,GAAK;AAChD,QAAIA,EAAI,aAAa,cAAcA,EAAI,aAAa;AACnD;AAGD,aAAS8F,EAAW3H,GAAQ;AAC3B,UAAI,GAACA,KAAU,OAAOA,KAAW;AAIjC,iBAASM,IAAI,GAAG52B,IAAIs2B,EAAO,QAAQM,IAAI52B,GAAG42B,KAAK;AAC9C,cAAIa,IAAQnB,EAAOM;AAEnB,cAAIa,EAAM,SAAS,QAAQ;AAC1B,YAAAwG,EAAWxG,EAAM,OAAO;AACxB;AAAA,UACA;AAgBD,cAAIyG,IAAWzG,EAAM,QAAQ,IACzB0G,IAAY1G,EAAM,QAAQ;AAE9B,cAAIyG,KAAYC,KACfD,EAAS,SAAS,mBAAmBC,EAAU,SAAS,gBACxD,OAAOD,EAAS,WAAY,UAAU;AAKtC,gBAAIjI,IAAOiI,EAAS,QAAQ,QAAQ,QAAQ,OAAO,EAAE,QAAQ,WAAW,IAAI;AAE5E,YAAAjI,KAAQ,eAAe,KAAKA,CAAI,KAAK,CAAC,EAAE,GAAG,GAAG;AAC9C,gBAAIkD,IAAQ,cAAclD;AAG1B,YAAKkI,EAAU,QAEJ,OAAOA,EAAU,SAAU,WACrCA,EAAU,QAAQ,CAACA,EAAU,OAAOhF,CAAK,IAEzCgF,EAAU,MAAM,KAAKhF,CAAK,IAJ1BgF,EAAU,QAAQ,CAAChF,CAAK;AAAA,UAMzB;AAAA,QACD;AAAA,IACD;AAED,IAAA8E,EAAW9F,EAAI,MAAM;AAAA,EACvB,CAAE,GAEDnC,EAAM,MAAM,IAAI,QAAQ,SAAUmC,GAAK;AACtC,QAAIA,EAAI,SAAS,cAKjB;AAAA,eADI+F,IAAW,IACNtH,IAAI,GAAG52B,IAAIm4B,EAAI,QAAQ,QAAQvB,IAAI52B,GAAG42B,KAAK;AACnD,YAAIwH,IAAMjG,EAAI,QAAQvB,IAClB3B,IAAQ,gBAAgB,KAAKmJ,CAAG;AACpC,YAAInJ,GAAO;AACV,UAAAiJ,IAAWjJ,EAAM;AACjB;AAAA,QACA;AAAA,MACD;AAED,UAAIsC,IAAUvB,EAAM,UAAUkI;AAE9B,UAAK3G;AAaJ,QAAAY,EAAI,UAAUnC,EAAM,UAAUqI,EAAYlG,EAAI,OAAO,GAAGZ,GAAS2G,CAAQ;AAAA,eAZrEA,KAAYA,MAAa,UAAUlI,EAAM,QAAQ,YAAY;AAChE,YAAIxkB,IAAK,QAAQ,IAAI,KAAI,EAAG,QAAS,IAAG,MAAM,KAAK,MAAM,KAAK,OAAQ,IAAG,IAAI;AAC7E,QAAA2mB,EAAI,WAAW,KAAQ3mB,GAEvBwkB,EAAM,QAAQ,WAAW,cAAckI,GAAU,WAAY;AAC5D,cAAII,IAAM,SAAS,eAAe9sB,CAAE;AACpC,UAAI8sB,MACHA,EAAI,YAAYtI,EAAM,UAAUsI,EAAI,aAAatI,EAAM,UAAUkI,IAAWA,CAAQ;AAAA,QAE1F,CAAK;AAAA,MACD;AAAA;AAAA,EAIJ,CAAE;AAED,MAAIK,IAAa,OAAOvI,EAAM,UAAU,OAAO,IAAI,QAAQ,QAAQ,IAAI,GASnEwI,IAAqB;AAAA,IACxB,KAAO;AAAA,IACP,IAAM;AAAA,IACN,IAAM;AAAA,IACN,MAAQ;AAAA,EACV,GAGKC,IAAgB,OAAO,iBAAiB,OAAO;AAQnD,WAASJ,EAAYK,GAAM;AAE1B,QAAIla,IAAOka,EAAK,QAAQH,GAAY,EAAE;AAGtC,WAAA/Z,IAAOA,EAAK,QAAQ,iCAAiC,SAAUvkB,GAAGoiB,GAAM;AAGvE,UAFAA,IAAOA,EAAK,eAERA,EAAK,OAAO,KAAK;AACpB,YAAIH;AACJ,eAAIG,EAAK,OAAO,MACfH,IAAQ,SAASG,EAAK,MAAM,CAAC,GAAG,EAAE,IAElCH,IAAQ,OAAOG,EAAK,MAAM,CAAC,CAAC,GAGtBoc,EAAcvc,CAAK;AAAA,MAC9B,OAAU;AACN,YAAIyc,IAAQH,EAAmBnc;AAC/B,eAAIsc,KAKG1+B;AAAA,MACP;AAAA,IACJ,CAAG,GAEMukB;AAAA,EACP;AAED,EAAAwR,EAAM,UAAU,KAAKA,EAAM,UAAU;AAEtC,GAAE,KAAK;AC9ZP,MAAM,UAAU,IAAI,MAAM,UAAU,OAAO,SAAS;AAAA,EACnD,SAAW;AAAA,IACV,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,QAAU;AAAA,IAET,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,cAAc;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,EACZ;AAAA,EACD,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,QAAU;AAAA,EACV,UAAY;AACb,CAAC;AAED,MAAM,UAAU,aAAa,KAAK,UAAU;AAAA,EAC3C,MAAQ;AAAA,IAEP,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AACF,CAAC;AAED,MAAM,UAAU,aAAa,KAAK,UAAU;AAAA,EAC3C,OAAS;AAAA,IAGR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,QAAU;AAAA,QACT;AAAA,UAEC,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD,MAAM,UAAU,EAAE;AAAA,MAClB;AAAA,MACD,MAAQ,MAAM,UAAU,EAAE;AAAA,MAC1B,SAAW,MAAM,UAAU,EAAE;AAAA,MAC7B,cAAc;AAAA,QACb;AAAA,UACC,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD;AAAA,UACC,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,QACP;AAAA,MACD;AAAA,MAED,WAAa;AAAA,QACZ,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,MACP;AAAA,MACD,kBAAkB;AAAA,MAClB,aAAe;AAAA,MACf,YAAc;AAAA,QACb,SAAS;AAAA,QACT,QAAQ,MAAM,UAAU;AAAA,MACxB;AAAA,IACD;AAAA,EACD;AACF,CAAC;AAED,MAAM,UAAU,aAAa,KAAK,YAAY;AAAA,EAE7C,UAAY;AACb,CAAC;AAED,OAAO,MAAM,UAAU,EAAE;AAAA,CC/ExB,SAAUA,GAAO;AAEjB,MAAItT,IAAS;AAEb,EAAAsT,EAAM,UAAU,MAAM;AAAA,IACrB,SAAW;AAAA,IACX,QAAU;AAAA,MACT,SAAS,OAAO,eAAe,sBAAsB,SAAS,MAAMtT,EAAO,SAAS,QAAQ,kBAAkB,MAAM;AAAA,MACpH,QAAQ;AAAA,QACP,MAAQ;AAAA,QACR,8BAA8B;AAAA,UAC7B,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,QACP;AAAA,QACD,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,MAED;AAAA,IACD;AAAA,IACD,KAAO;AAAA,MAEN,SAAS,OAAO,iBAAiBA,EAAO,SAAS,MAAM,8BAA8B,SAAS,QAAQ,GAAG;AAAA,MACzG,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,UAAY;AAAA,QACZ,aAAe;AAAA,QACf,QAAU;AAAA,UACT,SAAS,OAAO,MAAMA,EAAO,SAAS,GAAG;AAAA,UACzC,OAAO;AAAA,QACP;AAAA,MACD;AAAA,IACD;AAAA,IACD,UAAY;AAAA,MACX,SAAS,OAAO,sDAAuDA,EAAO,SAAS,eAAe;AAAA,MACtG,YAAY;AAAA,IACZ;AAAA,IACD,QAAU;AAAA,MACT,SAASA;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,UAAY;AAAA,MACX,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,IACD,WAAa;AAAA,IACb,UAAY;AAAA,MACX,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,IACD,aAAe;AAAA,EACjB,GAECsT,EAAM,UAAU,IAAI,OAAU,OAAO,OAAOA,EAAM,UAAU;AAE5D,MAAImG,IAASnG,EAAM,UAAU;AAC7B,EAAImG,MACHA,EAAO,IAAI,WAAW,SAAS,KAAK,GACpCA,EAAO,IAAI,aAAa,SAAS,KAAK;AAGxC,GAAE,KAAK;AC/DP,MAAM,UAAU,aAAa,MAAM,UAAU,OAAO,KAAK;AAAA,EACxD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,SAAW;AAAA,EACX,UAAY;AACb,CAAC;AAED,OAAO,MAAM,UAAU,WAAW;AAElC,MAAM,UAAU,OAAO,MAAM,UAAU;ACXvC,MAAM,UAAU,MAAM;AAAA,EACrB,SAAW;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,EACZ;AAAA,EACD,UAAY;AAAA,IACX;AAAA,MACC,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD;AAAA,EACA;AAAA,EACD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,EACZ;AAAA,EACD,YAAc;AAAA,IACb,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,QAAQ;AAAA,MACP,aAAe;AAAA,IACf;AAAA,EACD;AAAA,EACD,UAAY;AAAA,EACZ,SAAW;AAAA,EACX,SAAW;AAAA,EACX,QAAU;AAAA,EACV,UAAY;AAAA,EACZ,aAAe;AAChB;AC/BA,MAAM,UAAU,SAAS;AAAA,EACxB,SAAW;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,EACR;AAAA,EACD,wBAAwB;AAAA,IACvB,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,eAAiB;AAAA,QAEhB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,UACP,eAAe;AAAA,YACd,SAAS;AAAA,YACT,YAAY;AAAA,UACZ;AAAA,UACD,qBAAqB;AAAA,YACpB,SAAS;AAAA,YACT,OAAO;AAAA,UACP;AAAA,UACD,MAAM;AAAA,QACN;AAAA,MACD;AAAA,MACD,QAAU;AAAA,IACV;AAAA,EACD;AAAA,EACD,wBAAwB;AAAA,IACvB,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,EACP;AAAA,EACD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,UAAY;AAAA,IACX,SAAS;AAAA,IACT,YAAY;AAAA,EACZ;AAAA,EACD,cAAc;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,EACZ;AAAA,EACD,WAAa;AAAA,IACZ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO,CAAC,cAAc,aAAa;AAAA,IACnC,QAAQ;AAAA,MACP,aAAe;AAAA,IACf;AAAA,EACD;AAAA,EACD,SAAW;AAAA,EACX,SAAW;AAAA,EACX,SAAW;AAAA,EACX,QAAU;AAAA,EACV,UAAY;AAAA,EACZ,aAAe;AAChB;AAEA,MAAM,UAAU,OAAO,wBAAwB,OAAO,cAAiB,OAAO,OAAO,MAAM,UAAU;AAErG,MAAM,UAAU,KAAK,MAAM,UAAU;AAAA,CChEpC,SAAUnG,GAAO;AAGjB,WADI4I,IAAmB,8CAA8C,QAC5DhI,IAAI,GAAGA,IAAI,GAAGA;AAEtB,IAAAgI,IAAmBA,EAAiB,QAAQ,WAAW,WAAY;AAAE,aAAOA;AAAA,IAAiB,CAAE;AAEhG,EAAAA,IAAmBA,EAAiB,QAAQ,WAAW,WAAY;AAAE,WAAO,UAAU;AAAA,EAAO,CAAE,GAG/F5I,EAAM,UAAU,OAAO;AAAA,IACtB,SAAW;AAAA,MACV;AAAA,QACC,SAAS,OAAO,YAAY,SAAS4I,CAAgB;AAAA,QACrD,YAAY;AAAA,QACZ,QAAQ;AAAA,MACR;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,MACR;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,MAAQ;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,WAAa;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,QAAQ;AAAA,QACP,QAAU;AAAA,MACV;AAAA,IACD;AAAA,IAGD,kBAAkB;AAAA,MACjB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,uBAAuB;AAAA,UACtB,SAAS;AAAA,UACT,OAAO;AAAA,QACP;AAAA,QACD,MAAM;AAAA,MACN;AAAA,IACD;AAAA,IAED,uBAAuB;AAAA,MACtB,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IAED,sBAAsB;AAAA,MACrB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,UAAY;AAAA,IAEZ,uBAAuB;AAAA,MACtB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,mBAAmB;AAAA,MAClB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,sBAAsB;AAAA,MACrB;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,MACP;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,UACP,aAAe;AAAA,QACf;AAAA,MACD;AAAA,IACD;AAAA,IACD,SAAW;AAAA,MAEV;AAAA,MAGA;AAAA,IACA;AAAA,IAKD,UAAY;AAAA,IACZ,OAAS;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IACD,UAAY;AAAA,IACZ,cAAc;AAAA,IAEd,WAAa;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,QACP,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IAGD,QAAU;AAAA,IACV,SAAW;AAAA,IACX,aAAe;AAAA,IACf,UAAY;AAAA,EACd,GAEC5I,EAAM,UAAU,KAAK,kBAAkB,OAAO,OAAOA,EAAM,UAAU,MACrEA,EAAM,UAAU,KAAK,UAAa,OAAO,SAAYA,EAAM,UAAU,KAAK;AAE3E,GAAE,KAAK;AC/HP,MAAM,UAAU,QAAQ;AAAA,EACvB,SAAW;AAAA,IAEV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,EACR;AAAA,EACD,kBAAkB;AAAA,IAEjB;AAAA,MACC,SAAS;AAAA,QACR,YAAY,SACV,QAEA,8DAA8D,SAC9D,MAEA,iEAAiE,SACjE,MACA,WAAW;AAAA,MACb;AAAA,MACD,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,eAAiB;AAAA,UAChB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,QACR;AAAA,QACD,6BAA6B;AAAA,UAC5B,SAAS;AAAA,UACT,OAAO;AAAA,QACP;AAAA,QACD,aAAe;AAAA,QACf,QAAU;AAAA,MACV;AAAA,IACD;AAAA,IACD;AAAA,MACC,SAAS;AAAA,QACR,gBAAgB,SACd,QAEA,gEAAgE,SAChE,MAEA,2DAA2D,SAC3D;AAAA,MAEF;AAAA,MACD,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,eAAiB;AAAA,UAChB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,QACR;AAAA,QACD,6BAA6B;AAAA,UAC5B,SAAS;AAAA,UACT,OAAO;AAAA,QACP;AAAA,QACD,QAAU;AAAA,MACV;AAAA,IACD;AAAA,EACD;AAAA,EAED,WAAa;AAAA,IAEZ,SAAS;AAAA,MACR,IAAI,SACF,SAED,kBAAkB,SAChB,aAIA,8GAA8G,SAC9G,QAED,MACA,mBAAmB,SACnB;AAAA,IACF;AAAA,IACD,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,kBAAkB;AAAA,MAClB,SAAW;AAAA,MACX,QAAU;AAAA,MACV,UAAY;AAAA,MACZ,aAAe;AAAA,IACf;AAAA,EACD;AAAA,EACD,SAAW;AAAA,IACV,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EACD,mBAAmB;AAAA,IAClB,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EAED,WAAa;AAAA,IACZ,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EAED,uBAAuB;AAAA,IACtB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,EACP;AAAA,EACD,OAAS;AAAA,IAER,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,EACP;AAAA,EAED,SAAW;AAAA,EACX,SAAW;AAAA,EACX,KAAO;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EAED,kBAAkB;AAAA,EAClB,MAAQ;AAAA,IACP,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EACD,QAAU;AAAA,EAGV,cAAc;AAAA,EACd,UAAY;AAAA,EACZ,UAAY;AAAA,EAKZ,UAAY;AAAA,EACZ,aAAe;AAChB;AAEA,MAAM,UAAU,MAAM,kBAAkB,QAAQ,SAAU6I,GAAM;AAC/D,EAAAA,EAAK,OAAO,cAAiB,SAAS,MAAM,UAAU;AACvD,CAAC;AC7IY,IAAIn+B,KAAEZ,GAAAA,SACfI,KAAE4+B,IAA0B72B,IAAE82B;AAAmB,IAAIv1B,KAAE,EAAC,GAAE,KAAI,OAAM,UAAS,KAAI,OAAM,MAAK,QAAO,IAAG,cAAa,UAAS,YAAW,MAAK,eAAc,OAAM,cAAa,IAAG,UAAS,MAAK,QAAO,KAAI,OAAM,OAAM,SAAQ,KAAI,MAAK,GAAEH,KAAE,EAAC,YAAW,MAAK,IAAG,YAAW,WAAU,SAAQ,QAAO,MAAK,MAAK,QAAO;AAAE,SAASQ,GAAEvJ,GAAE;AAAC,SAAO+I,GAAE/I,MAAIA;AAAC;AACrV,MAAMyJ,WAAU9B,EAAE,SAAQ;AAAA,EAAC,YAAY3H,GAAEE,GAAEH,GAAE;AAAC,UAAMC,GAAED,CAAC,GAAE,KAAK,kBAAgBG;AAAA,EAAC;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAgB;AAAA,EAAC,OAAO,MAAMF,GAAE;AAAC,WAAO,IAAIyJ,GAAEzJ,EAAE,QAAOA,EAAE,mBAAiB,QAAOA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,WAAO,KAAK,YAAY;AAAA,EAAe;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAIE,IAAE,MAAM,UAAUF,CAAC;AAAE,WAAAA,IAAEiJ,GAAEjJ,EAAE,OAAM,KAAK,eAAe,GAAEJ,GAAE,uBAAuBM,GAAEF,CAAC,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,MAAM,UAAUH,GAAEE,GAAEH,CAAC;AAAE,WAAAC,IAAEiJ,GAAElJ,EAAE,OAAMC,EAAE,eAAe,GAAED,IAAEkJ,GAAElJ,EAAE,OAAM,KAAK,eAAe,GAAEC,MAAID,MAAIC,KAAGJ,GAAE;AAAA,MAA4BM;AAAA,MACngBF;AAAA,IAAC,GAAED,KAAGH,GAAE,uBAAuBM,GAAEH,CAAC,IAAUI;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWH,GAAE;AAAC,QAAIE,IAAEyJ,GAAE3J,EAAE,MAAKA,EAAE,aAAa;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,QAAQF,EAAE,IAAI,GAAEE,EAAE,SAASF,EAAE,KAAK,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,eAAc,KAAK,oBAAmB,MAAK,kBAAiB,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAO;AAAA,EAAI;AAAC;AAAC,SAAS+I,GAAEjJ,GAAEE,GAAE;AAAC,SAAOA,KAAGF,KAAGA,EAAE,iBAAeA,EAAE,cAAcE;AAAE;AAAC,SAASyJ,GAAE3J,GAAEE,GAAE;AAAC,SAAO,IAAIuJ,GAAEzJ,GAAEE,CAAC;AAAC;AAAC,SAASmJ,GAAErJ,GAAE;AAAC,SAAOA,aAAayJ;AAAC;AAC9c,SAASH,GAAEtJ,GAAE;AAAC,MAAIE,IAAE,MAAKH,IAAEC,EAAE,oBAAmB;AAAG,OAAID,EAAE,KAAKC,CAAC,GAAE,IAAED,EAAE,WAASC,IAAED,EAAE,IAAG,GAAGsJ,GAAErJ,CAAC,MAAIE,IAAEF,IAAG,CAAC2H,EAAE,iBAAiB3H,CAAC;AAAI;AAAC,SAAOE;AAAC;AAAC,SAAS2J,GAAE7J,GAAE;AAAC,MAAIE,IAAE,MAAKH,IAAEC,EAAE,gBAAiB;AAAC,OAAID,EAAE,QAAQC,CAAC,GAAE,IAAED,EAAE,WAASC,IAAED,EAAE,MAAO,GAACsJ,GAAErJ,CAAC,MAAIE,IAAEF,IAAG,CAAC2H,EAAE,iBAAiB3H,CAAC;AAAI;AAAC,SAAOE;AAAC;AAAC,IAAIsJ,KAAE,CAAAxJ,MAASA,KAAN,QAASI,GAAE,UAAU,eAAeJ,CAAC,IAAEA,IAAE;AAAO,SAASgK,GAAEhK,GAAEE,GAAE;AAAC,WAAQH,KAAKC,EAAE,YAAW;AAAC,QAAGD,aAAa,eAAaA,EAAE,YAAUG;AAAE,aAAM;AAAG8J,IAAAA,GAAEjK,GAAEG,CAAC;AAAA,EAAC;AAAC,SAAM;AAAE;AACtb,MAAMiL,WAAUxD,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,MAAM3H,GAAE;AAAC,WAAO,IAAImL,GAAEnL,EAAE,YAAWA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,aAAWsJ,GAAExJ,CAAC;AAAA,EAAC;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,MAAM;AAAE,WAAAN,GAAE,uBAAuBM,GAAEF,EAAE,MAAM,IAAI,GAAEE,EAAE,aAAa,cAAa,OAAO,IAAGF,IAAE,KAAK,YAAW,MAAKE,EAAE,aAAa,2BAA0BF,CAAC,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAE;AAAC,QAAIH,IAAE,KAAK;AAAW,WAAAC,IAAEA,EAAE,YAAWD,IAAEA,MAAIC,KAAGE,EAAE,aAAa,2BAA0BH,CAAC,IAAEC,KAAGE,EAAE,gBAAgB,yBAAyB,GAC5f;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,MAAK,CAAAF,MAASA,EAAE,eAAR,SAAsB,QAAQ,KAAKA,EAAE,WAAW,KAAGgK,GAAEhK,GAAE,IAAI,KAAG,EAAC,YAAWoL,IAAE,UAAS,EAAC,IAAE,MAAK,KAAI,OAAK,EAAC,YAAWrB,IAAG,UAAS,EAAC,IAAG,KAAI,OAAK,EAAC,YAAWqB,IAAE,UAAS,EAAC,IAAG,OAAM,CAAApL,MAAGqL,GAAErL,CAAC,IAAE,EAAC,YAAWuF,IAAG,UAAS,EAAC,IAAE,MAAK,IAAG,CAAAvF,MAAG;AAAC,UAAIE,IAAEF,EAAE,QAAQ,OAAO;AAAE,aAAOA,EAAE,UAAU,SAAS,cAAc,IAAE,EAAC,YAAWwF,IAAG,UAAS,EAAC,IAAEtF,KAAGmL,GAAEnL,CAAC,IAAE,EAAC,YAAWoL,IAAE,UAAS,EAAC,IAAE;AAAA,IAAI,GAAE,IAAG,CAAAtL,OAAIA,IAAEA,EAAE,QAAQ,OAAO,MAAIqL,GAAErL,CAAC,IAAE,EAAC,YAAWsL,IAAE,UAAS,EAAC,IAAE,KAAI;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWtL,GAAE;AAAC,QAAIE,IAAEqL,GAAEvL,EAAE,QAAQ;AACxf,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,UAAS,KAAK,YAAW,GAAG,MAAK,QAAO,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,eAAeF,GAAE;AAAC,QAAIE,IAAE,KAAK,eAAcH,IAAEG,EAAE;AAAO,QAAG,KAAGH,KAAUG,EAAEH,IAAE,GAAG,eAAc,MAA5B;AAAA,KAAuCG,EAAEH,IAAE,GAAG,eAAgB,MAA9B;AAAA,KAAgCC,EAAE,iBAAeA,EAAE,OAAO,QAAM,KAAK,SAAOA,EAAE,OAAO,WAASD;AAAE,aAAOG,EAAEH,IAAE,GAAG,OAAM,GAAGG,EAAEH,IAAE,GAAG,UAASC,IAAE2H,EAAE,qBAAsB,GAAC,KAAK,YAAY3H,CAAC,GAAEA;AAAE,IAAAE,IAAEF,EAAE,OAAO,QAAS;AAAC,QAAIG,IAAEmJ,GAAEpJ,CAAC;AAAE,QAASC,KAAN,MAAQ;AAChf,WADifJ,IAAE,GAC/eI,IAAEA,EAAE,eAAc,GAAGJ,IAAEI,EAAE,UAAQ,QAAQ,KAAKA,EAAEJ,EAAE;AAAG,QAAAA,KAAG;AAAE,UAAG,IAAEA;AAAE,eAAOA,IAAEI,EAAE,UAAU,GAAEJ,CAAC,GAAEA,IAAE4J,GAAE5J,CAAC,GAAEG,EAAE,YAAYH,CAAC,GAAEC,EAAE,YAAY,CAAC2H,EAAE,qBAAsB,CAAA,CAAC,GAAE5H,EAAE,OAAM,GAAGA;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,eAAc;AAAC,QAAIC,IAAE2H,EAAE;AAAgB,WAAOA,GAAAA,EAAE,kBAAkB3H,CAAC,KAAGA,EAAE,YAAW;AAAA,EAAQ;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAE2H,EAAE,qBAAoB;AAAG,gBAAK,YAAa,EAAC,QAAQ,CAAAzH,MAAGF,EAAE,OAAOE,CAAC,CAAC,GAAE,KAAK,QAAQF,CAAC,GAAQ;AAAA,EAAE;AAAA,EAAC,YAAYA,GAAE;AAAC,SAAK,YAAW,EAAG,aAAWwJ,GAAExJ,CAAC;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK,YAAY;AAAA,EAAU;AAAC;AACngB,SAASuL,GAAEvL,GAAE;AAAC,SAAO,IAAImL,GAAEnL,CAAC;AAAC;AAAC,SAASyL,GAAEzL,GAAE;AAAC,SAAOA,aAAamL;AAAC;AAAC,SAASC,KAAG;AAAC,SAAM,EAAC,MAAKG,GAAG,GAAC,cAAa,GAAE;AAAC;AAAC,SAASxB,GAAG/J,GAAE;AAAC,MAAIE,IAASF,EAAE,MAAM,WAAW,MAAM,WAAW,MAA3C;AAA6C,SAAOE,KAAGuF,GAAGzF,CAAC,IAAE,EAAC,OAAM,CAAAD,MAAG;AAAC,QAAII,IAAEH,EAAE;AAAW,WAAMG,KAAN,QAASH,MAAIG,EAAE,aAAWJ,EAAE,KAAK4H,EAAE,qBAAoB,CAAE,GAAS5H;AAAA,EAAC,GAAE,MAAKG,IAAEqL,GAAC,IAAG,MAAK,cAAarL,EAAC,IAAE,EAAC,MAAK,KAAI;AAAC;AAAC,SAASqF,KAAI;AAAC,SAAM,EAAC,MAAKgG,GAAG,GAAC,cAAa,GAAE;AAAC;AAAC,SAASD,KAAG;AAAC,SAAM,EAAC,MAAK,KAAI;AAAC;AAC9Z,SAAS9F,GAAGxF,GAAE;AAAC,SAAM,EAAC,OAAM,CAAAE,OAAIF,EAAE,cAAYA,EAAE,WAAW,eAAaE,EAAE,KAAKyH,EAAE,qBAAoB,CAAE,GAASzH,IAAG,MAAK,KAAI;AAAC;AAAC,SAASuF,GAAGzF,GAAE;AAAC,OAAIA,IAAEA,EAAE,eAAqBA,MAAP,QAAU;AAAC,QAAUA,EAAE,MAAM,WAAW,MAAM,WAAW,MAA3C;AAA6C,aAAM;AAAG,IAAAA,IAAEA,EAAE;AAAA,EAAa;AAAC,SAAM;AAAE;AAAC,SAASqL,GAAErL,GAAE;AAAC,SAAOA,EAAE,UAAU,SAAS,wBAAwB;AAAC;AAAC,IAAIoM,KAAE,EAAC,SAASpM,GAAEE,GAAE;AAAC,SAAOE,GAAE,SAASJ,GAAEI,GAAE,UAAUF,KAAG,OAAKE,GAAE,UAAU,UAAU;AAAC,EAAC;AAC3Z,SAASwM,GAAE5M,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAO,MAAIG,IAAE;AAAG,MAAGD;AAAE,SAAIA,IAAE,GAAEA,IAAEH,GAAEG,KAAI;AAAC,UAAIX,IAAES,EAAEE;AAAG,UAASX,MAAN,OAAgBA,MAAP,KAAS;AAAC,QAAAY,IAAED;AAAE;AAAA,MAAK;AAAA,IAAC;AAAA;AAAM,SAAI,EAAEH,GAAE,KAAGA,GAAEA;AAAI,UAAGG,IAAEF,EAAED,IAASG,MAAN,OAAgBA,MAAP,KAAS;AAAC,QAAAC,IAAEJ;AAAE;AAAA,MAAK;AAAC,SAAOI;AAAC;AAC/K,SAASsN,GAAEzN,GAAE;AAAC,MAAIE,IAAE,MAAKH,IAAE;AAAG,MAAII,IAAEH,EAAE,oBAAqB;AAAC,OAAIG,EAAE,KAAKH,CAAC,GAAE,IAAEG,EAAE,UAAQ;AAAC,QAAIZ,IAAEY,EAAE,IAAK;AAAC,QAAGkJ,GAAE9J,CAAC,GAAE;AAAC,UAAIU,IAAEV,EAAE,eAAgB;AAAC,MAAAU,IAAE2M,GAAE3M,GAAE,EAAE,GAAOA,MAAL,OAASC,IAAEX,GAAEQ,IAAEE;AAAA,IAAE;AAAC,QAAG0H,EAAE,iBAAiBpI,CAAC;AAAE;AAAA,EAAK;AAAC,MAAUW,MAAP;AAAS,SAAIF,IAAEA,EAAE,gBAAiB,GAAC,IAAEA,EAAE,UAAQ;AAAa,UAAZG,IAAEH,EAAE,MAAO,GAAIqJ,GAAElJ,CAAC,MAAIZ,IAAEY,EAAE,eAAc,GAAGZ,IAAEqN,GAAErN,GAAE,EAAE,GAAOA,MAAL,KAAQ;AAAC,QAAAW,IAAEC,GAAEJ,IAAER;AAAE;AAAA,MAAK;AAAC,UAAGoI,EAAE,iBAAiBxH,CAAC;AAAE;AAAA,IAAK;AAAC,SAAM,EAAC,MAAKD,GAAE,QAAOH,EAAC;AAAC;AACvX,SAAS2N,GAAE1N,GAAE;AAAC,MAAIE,IAAE,MAAKH,IAAE;AAAG,MAAII,IAAEH,EAAE,gBAAe;AAAG,OAAIG,EAAE,QAAQH,CAAC,GAAE,IAAEG,EAAE,UAAQ;AAAC,QAAIZ,IAAEY,EAAE,MAAK;AAAG,QAAGkJ,GAAE9J,CAAC,GAAE;AAAC,UAAIU,IAAEV,EAAE;AAAiB,MAAAU,IAAE2M,GAAE3M,GAAE,EAAE,GAAOA,MAAL,OAASC,IAAEX,GAAEQ,IAAEE,IAAE;AAAA,IAAE;AAAC,QAAG0H,EAAE,iBAAiBpI,CAAC;AAAE;AAAA,EAAK;AAAC,MAAUW,MAAP;AAAS,SAAIF,IAAEA,EAAE,oBAAmB,GAAG,IAAEA,EAAE,UAAQ;AAAW,UAAVG,IAAEH,EAAE,IAAK,GAAIqJ,GAAElJ,CAAC,MAAIZ,IAAEY,EAAE,eAAc,GAAGZ,IAAEqN,GAAErN,GAAE,EAAE,GAAOA,MAAL,KAAQ;AAAC,QAAAW,IAAEC,GAAEJ,IAAER,IAAE;AAAE;AAAA,MAAK;AAAC,UAAGoI,EAAE,iBAAiBxH,CAAC;AAAE;AAAA,IAAK;AAAC,SAAM,EAAC,MAAKD,GAAE,QAAOH,EAAC;AAAC;AAAC,SAAS+J,GAAE9J,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,UAAS;AAAGyL,EAAAA,GAAEtL,CAAC,IAAEwN,GAAExN,GAAED,GAAEH,CAAC,IAAEsJ,GAAErJ,CAAC,KAAGA,EAAE,QAAQ2H,EAAE,gBAAgB3H,EAAE,MAAM,CAAC;AAAC;AAAC,IAAI6N,KAAE,oBAAI;AAC1e,SAASF,GAAE3N,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,OAAM;AAAG6N,EAAAA,GAAE,IAAI1N,CAAC,MAAI0N,GAAE,IAAI1N,CAAC,GAAWH,EAAE,YAAW,MAAtB,UAA0BA,EAAE,YAAY,YAAY,GAAEE,EAAE,OAAO,MAAI;AAACwF,IAAAA,GAAGvF,GAAE,MAAI;AAAC,UAAIZ,IAAEoI,EAAE,cAAcxH,CAAC;AAAE,UAAG,CAACsL,GAAElM,CAAC,KAAG,CAACA,EAAE,WAAU;AAAG,eAAM;AAAG,UAAIU,IAAEV,EAAE,eAAc;AAAG,MAAAU,IAAEF,EAAE,SAASE,GAAEV,EAAE,YAAa,KAAE,YAAY,GAAEU,IAAEqP,GAAErP,CAAC;AAAE,UAAIR,IAAEF,EAAE,YAAa;AAAC,WAAIA,IAAE,GAAEA,IAAEE,EAAE,UAAQgR,GAAEhR,EAAEF,IAAGU,EAAEV,EAAE;AAAG,QAAAA;AAAI,UAAIc,IAAEZ,EAAE;AAAO,UAAIE,IAAEM,EAAE,QAAOJ,IAAE,KAAK,IAAIQ,GAAEV,CAAC,IAAEJ,GAAEG,IAAE;AAAE,aAAKA,IAAEG;AAAG,YAAGH,KAAI,CAAC+Q,GAAEhR,EAAEY,IAAEX,IAAGO,EAAEN,IAAED,EAAE,GAAE;AAAC,UAAAA;AAAI;AAAA,QAAK;AAAC,MAAAD,IAAEF,GAAEc,KAAGX,GAAEO,IAAEA,EAAE,MAAMV,GAAEI,IAAED,CAAC;AAAE,UAAI,EAAC,MAAKyJ,GAAE,IAAG1B,GAAE,qBAAoBD,EAAC,IAAE;AAAA,QAAC,MAAK/H;AAAA,QACrf,qBAAoBQ;AAAA,QAAE,IAAGI;AAAA,MAAC;AAAE,aAAO8I,MAAI1B,KAAGD,EAAE,UAAQxH,EAAE,OAAOmJ,GAAE1B,IAAE0B,GAAE3B,CAAC,GAAE,MAAI;AAAA,IAAE,CAAC;AAAA,EAAC,GAAE,EAAC,UAAS,MAAI;AAACqG,IAAAA,GAAE,OAAO1N,CAAC;AAAA,EAAC,GAAE,gBAAe,GAAE,CAAC;AAAE;AAAC,SAASmP,GAAEtP,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,SAAAF,EAAE,QAAQ,CAAAD,MAAG;AAAC,QAAc,OAAOA,KAAlB,UAAoB;AAAC,MAAAA,IAAEA,EAAE,MAAM;AAAA,CAAI;AAAE,eAAQI,IAAE,GAAEA,IAAEJ,EAAE,QAAOI,KAAI;AAAC,YAAIZ,IAAEQ,EAAEI;AAAG,QAAAZ,EAAE,UAAQW,EAAE,KAAKyJ,GAAEpK,CAAC,CAAC,GAAEY,IAAEJ,EAAE,SAAO,KAAGG,EAAE,KAAKyH,EAAE,qBAAoB,CAAE;AAAA,MAAC;AAAA,IAAC;AAAK,OAAC,EAAC,SAAQxH,EAAC,IAAEJ,IAAc,OAAOI,KAAlB,WAAoBD,EAAE,KAAKyJ,GAAExJ,GAAEJ,EAAE,IAAI,CAAC,IAAE,MAAM,QAAQI,CAAC,KAAOA,EAAE,WAAN,KAAyB,OAAOA,EAAE,MAApB,WAAuBD,EAAE,KAAKyJ,GAAExJ,EAAE,IAAGJ,EAAE,IAAI,CAAC,IAAE,MAAM,QAAQI,CAAC,KAAGD,EAAE,KAAK,GAAGoP,GAAEnP,CAAC,CAAC;AAAA,EAAC,CAAC,GAASD;AAAC;AAClf,SAASwF,GAAG1F,GAAEE,GAAE;AAAsB,MAArBF,IAAE2H,EAAE,cAAc3H,CAAC,GAAKyL,GAAEzL,CAAC,KAAGA,EAAE,cAAa;AAAC,QAAID,IAAE4H,EAAE,cAAe;AAAC,QAAGA,EAAE,kBAAkB5H,CAAC,GAAE;AAAC,MAAAA,IAAEA,EAAE;AAAO,UAAII,IAAEJ,EAAE,QAAOR,IAAcQ,EAAE,SAAd,aAAoB4H,EAAE,iBAAiB3H,EAAE,gBAAgBD,EAAE,SAAO,CAAC,CAAC,GAAEE,IAAE;AAAE,UAAG,CAACV,GAAE;AAAC,YAAIE,IAAEM,EAAE,QAAS;AAAC,QAAAE,IAAEE,IAAEV,EAAE,sBAAsB,OAAO,CAACY,GAAEV,MAAIU,KAAGsH,EAAE,iBAAiBhI,CAAC,IAAE,IAAEA,EAAE,mBAAoB,IAAE,CAAC;AAAA,MAAC;AAAC,MAAAO,QAAMX,IAAEQ,EAAE,QAAO,EAAG,OAAOI,GAAEA,CAAC,IAAEH,EAAE,YAAW,EAAG,KAAK,CAAAP,MAAG;AAAC,YAAGkI,EAAE,YAAYlI,CAAC,GAAE;AAAC,cAAIY,IAAEZ,EAAE,mBAAkB;AAAG,cAAGY,KAAGJ;AAAE,mBAAOR,EAAE,OAAOQ,GAAEA,CAAC,GAAE;AAAG,UAAAA,KAAGI;AAAA,QAAC;AAAC,eAAM;AAAA,MAAE,CAAC;AAAA,IAAE;AAAM,MAAAH,EAAG;AAAA,EAAA;AAAC;AACtf,SAASuQ,GAAEzQ,GAAEE,GAAE;AAAC,SAAOmJ,GAAErJ,CAAC,KAAGqJ,GAAEnJ,CAAC,IAAEF,EAAE,WAASE,EAAE,UAAQF,EAAE,oBAAkBE,EAAE,kBAAgByH,GAAAA,EAAE,iBAAiB3H,CAAC,KAAG2H,EAAE,iBAAiBzH,CAAC;AAAO;AAAC,SAASwT,GAAE1T,GAAE;AAAC,MAAIE,IAAEyH,EAAE;AAAgB,MAAG,CAACA,EAAE,kBAAkBzH,CAAC,KAAGA,EAAE,YAAa;AAAC,WAAM;AAAG,EAAAA,IAAEA,EAAE,SAAQ;AAAG,WAAQH,IAAE,GAAEA,IAAEG,EAAE,QAAOH,KAAI;AAAC,QAAII,IAAED,EAAEH;AAAG,QAAG,CAACsJ,GAAElJ,CAAC,KAAG,CAACwH,EAAE,iBAAiBxH,CAAC;AAAE,aAAM;AAAA,EAAE;AAA2B,OAA1BJ,IAAEuJ,GAAEpJ,EAAE,EAAE,GAAQH,KAAN,QAASoR,GAAEpR,GAAEC,CAAC,GAAMD,IAAE,GAAEA,IAAEG,EAAE,QAAOH;AAAI,IAAAI,IAAED,EAAEH,IAAG4H,EAAE,iBAAiBzH,EAAEH,IAAE,EAAE,KAAGsJ,GAAElJ,CAAC,KAAGgR,GAAEhR,GAAEH,CAAC;AAAE,SAAM;AAAE;AACpb,SAASmR,GAAEnR,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAiB,EAAAE,MAAIyH,EAAE,yBAAuB,IAAE5H,EAAE,UAAQ,KAAK,KAAKA,EAAE,EAAE,IAAEC,EAAE,eAAe,MAAKD,CAAC,KAAGG,IAAEyJ,GAAE,GAAI,GAAE3J,EAAE,aAAaE,CAAC,KAAOH,EAAE,QAAQ,GAAI,MAAlB,MAA0BA,EAAE,WAAN,IAAaC,EAAE,WAASA,EAAE,eAAeD,EAAE,UAAU,CAAC,CAAC;AAAE;AACxO,SAASkT,GAAEjT,GAAEE,GAAE;AAAC,MAAIH,IAAE4H,EAAE,cAAe;AAAC,MAAG,CAACA,EAAE,kBAAkB5H,CAAC;AAAE,WAAM;AAAG,MAAI,EAAC,QAAOI,GAAE,OAAMZ,EAAC,IAAEQ,GAAEE,IAAEE,EAAE,QAAOV,IAAEF,EAAE,QAAOc,IAAEF,EAAE,WAAUR,IAAEJ,EAAE,QAAS;AAAC,MAAIM,IAAEG,MAAI2H,EAAE;AAAqB,MAAG,CAAC0B,GAAEhJ,CAAC,KAAG,CAACgJ,GAAE1J,CAAC;AAAE,WAAM;AAAG,MAAG,CAACO,EAAE,QAAO;AAAC,QAAGH,EAAE;AAAc,UAAGC,IAAEK,EAAE,iBAAgB,GAAGR,KAAOI,MAAJ,KAAcI,EAAE,mBAAoB,MAA7B;AAA+B,YAAUL,EAAE,mBAAoB,MAA7B;AAA8B,iBAAOA,EAAE,eAAc,GAAGE,EAAE,eAAgB,GAAC;AAAA,iBAAW,CAACL,KAAGI,MAAII,EAAE,mBAAkB,KAAWA,EAAE,qBAAT,QAAkCL,EAAE,eAAgB,MAAzB;AAA0B,eAAOA,EAAE,WAAY,GACxfE,EAAE,eAAgB,GAAC;AAAA;AAAG,WAAM;AAAA,EAAE;AAAC,MAAIR,IAAE4J,GAAEjJ,CAAC;AAAE,MAAI8I,IAAEU,GAAElK,CAAC;AAAE,MAASD,KAAN,QAAeyJ,KAAN;AAAQ,WAAM;AAAG,MAAI1B,IAAE/H,EAAE,gBAAgByJ,CAAC;AAAE,WAAQrJ,IAAE,GAAEA,IAAE2H,EAAE,QAAO3H,KAAI;AAAC,QAAIoT,IAAEzL,EAAE3H;AAAG,QAAG,CAACuJ,GAAE6J,CAAC,KAAG,CAACvL,EAAE,iBAAiBuL,CAAC;AAAE,aAAM;AAAA,EAAE;AAAuK,MAAtKhT,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAGA,IAAEL,IAAEH,EAAE,mBAAoB,IAACyJ,EAAE,eAAgB,GAAI,CAACxB,EAAE,iBAAiBzH,CAAC,MAAWR,IAAEG,IAAEK,EAAE,mBAAoB,IAACA,EAAE,eAAgB,GAAUR,KAAN;AAAQ,WAAM;AAAG,EAAAG,IAAEA,IAAEyJ,GAAE5J,CAAC,IAAEmK,GAAEnK,CAAC;AAAE,MAAI8H,IAAQ3H,KAAN,OAAQA,IAAEH;AAAE,SAAAQ,EAAE,OAAQ,GAACuH,EAAE,QAAQ,CAAA3H,MAAGA,EAAE,OAAQ,CAAA,GAAEE,MAAI2H,EAAE,wBAAsBF,EAAE,QAAQ,CAAA3H,MAAG0H,EAAE,aAAa1H,CAAC,CAAC,GACtf0H,EAAE,aAAatH,CAAC,MAAIsH,EAAE,YAAYtH,CAAC,GAAEsH,IAAEtH,GAAEuH,EAAE,QAAQ,CAAA3H,MAAG;AAAC,IAAA0H,EAAE,YAAY1H,CAAC,GAAE0H,IAAE1H;AAAA,EAAC,CAAC,IAAGC,EAAE,iBAAiBM,GAAEJ,GAAEN,GAAEF,CAAC,GAAQ;AAAE;AAAC,SAASkG,GAAG3F,GAAEE,GAAE;AAAC,MAAIH,IAAE4H,EAAE,cAAa;AAAG,MAAG,CAACA,EAAE,kBAAkB5H,CAAC;AAAE,WAAM;AAAG,MAAI,EAAC,QAAOI,GAAE,OAAMZ,EAAC,IAAEQ,GAAEE,IAAEE,EAAE,QAAS,GAACV,IAAEF,EAAE;AAAgC,MAAtBS,IAAEA,MAAI2H,EAAE,eAAiB,CAAC0B,GAAEpJ,CAAC,KAAG,CAACoJ,GAAE5J,CAAC;AAAE,WAAM;AAAG,MAAIY,GAAEV;AAAE,SAAAK,IAAE,EAAC,MAAKK,GAAE,QAAOV,EAAC,IAAE8N,GAAEhO,CAAC,IAAE,EAAC,MAAKY,GAAE,QAAOV,EAAC,IAAE+N,GAAEjO,CAAC,GAASY,MAAP,QAAeV,MAAL,MAAQI,EAAE,iBAAiBM,GAAEV,GAAEU,GAAEV,CAAC,GAAEO,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAS;AAAE;AAACw+B,GAAA,2BAAiC/0B;AAC5d+0B,GAAA,kBAAwBnzB;AAA8BmzB,GAAA,uBAACr1B;AAAEq1B,GAAA,cAAoBjzB;AAAyCizB,GAAA,kCAACx1B;uBAA4BH;AAAE21B,GAAA,oBAA0Bj1B;AAAkBi1B,GAAA,WAACvzB;AAAEuzB,GAAA,wBAA8B;AAAmCA,GAAA,iBAACtyB;sBAA2B,MAAI,OAAO,KAAKhM,GAAE,SAAS,EAAE,OAAO,CAAAJ,MAAgB,OAAOI,GAAE,UAAUJ,MAAhC,UAAkC,EAAE;4BAAsC,MAAI;wBAAwC0N;AAAyCgxB,GAAA,kCAACp1B;AACxeo1B,GAAA,0BAAgC,SAAS1+B,GAAE;AAAC,SAAAA,IAAEuJ,GAAEvJ,CAAC,GAASkJ,GAAElJ,MAAIA;AAAC;AAAE0+B,GAAA,iCAAuC70B;AAA8B60B,GAAA,uBAACjxB;AAA2BixB,GAAA,oBAACn1B;AACrKm1B,GAAA,2BAAiC,SAAS1+B,GAAEE,GAAE;AAAC,MAAG,CAACF,EAAE,SAAS,CAACmL,IAAE1B,EAAC,CAAC;AAAE,UAAM,MAAM,6EAA6E;AAAE,SAAMvJ,KAAN,SAAUA,IAAEkM,KAAUxM,GAAE;AAAA,IAAcI,EAAE,yBAAyBmL,IAAE,CAAApL,MAAG;AAAC,MAAAC,EAAE,OAAO,MAAI;AAAC,iBAAQ,CAACC,GAAER,CAAC,KAAIM;AAAE,cAAiBN,MAAd,aAAgB;AAAC,gBAAIU,IAAEwH,EAAE,cAAc1H,CAAC;AAAE,gBAAUE,MAAP;AAAS,cAAAH,GAAE;AAAC,oBAAIT,IAAEY;AAAkC,oBAAhCA,IAAEH,EAAE,gBAAgBT,EAAE,QAAQ,GAAYY,MAAP;AAAS,wBAAMH;AAAE,gBAAAT,IAAEA,EAAE,YAAa;AAAC,oBAAIc,IAAEd,EAAE;AAAO,oBAAGc,MAAIF,EAAE;AAAuB,wBAAMH;AAAE,gBAAAG,EAAE,yBAAuBE;AAAE,oBAAIV,IAAE,KAAIE,IAAE;AAAE,yBAAQH,IACzf,GAAEA,IAAEW,GAAEX;AAAIiI,kBAAAA,EAAE,iBAAiBpI,EAAEG,EAAE,MAAIC,KAAG;AAAA,IAAM,EAAEE;AAAG,gBAAAM,EAAE,aAAa,eAAcR,CAAC;AAAA,cAAC;AAAA,UAAC;AAAA,MAAC,CAAC;AAAA,IAAC,CAAC;AAAA,IAAEK,EAAE,sBAAsBmL,IAAE,CAAApL,MAAG4N,GAAE5N,GAAEC,GAAEE,CAAC,CAAC;AAAA,IAAEF,EAAE,sBAAsB2H,EAAE,UAAS,CAAA5H,MAAG+J,GAAE/J,GAAEC,GAAEE,CAAC,CAAC;AAAA,IAAEF,EAAE,sBAAsByJ,IAAE,CAAA1J,MAAG+J,GAAE/J,GAAEC,GAAEE,CAAC,CAAC;AAAA,IAAEF,EAAE,gBAAgB2H,EAAE,wBAAuB,MAAI+L,GAAE/L,EAAE,sBAAsB,GAAEA,EAAE,oBAAoB;AAAA,IAAE3H,EAAE,gBAAgB2H,EAAE,yBAAwB,MAAI+L,GAAE/L,EAAE,uBAAuB,GAAEA,EAAE,oBAAoB;AAAA,IAAE3H,EAAE,gBAAgB2H,EAAE,sBAAqB,CAAA5H,MAAGkT,GAAEtL,EAAE,sBAAqB5H,CAAC,GAAE4H,EAAE,oBAAoB;AAAA,IAC7f3H,EAAE,gBAAgB2H,EAAE,wBAAuB,CAAA5H,MAAGkT,GAAEtL,EAAE,wBAAuB5H,CAAC,GAAE4H,EAAE,oBAAoB;AAAA,IAAE3H,EAAE,gBAAgB2H,EAAE,aAAY,CAAA5H,MAAG4F,GAAGgC,EAAE,aAAY5H,CAAC,GAAE4H,EAAE,oBAAoB;AAAA,IAAE3H,EAAE,gBAAgB2H,EAAE,eAAc,CAAA5H,MAAG4F,GAAGgC,EAAE,eAAc5H,CAAC,GAAE4H,EAAE,oBAAoB;AAAA,EAAC;AAAC;ACzBtQ,MAAMg3B,KAAyFn/B;AAC/F,IAAAo/B,KAAiBD,ICFAl/B,IAAED,GAAmBiI,KAAEwP,IAAyBhO,KAAEiO,IAAyB1N,KAAE0O,IAA8BnO,KAAGoO,IAA0BnO,KAAE8jB;AAAyB,SAAS3iB,GAAEnL,GAAEE,GAAE;AAAC,MAAIH,IAAE,CAAE;AAAC,WAAQI,KAAKH;AAAE,IAAAA,IAAEE,EAAEC,CAAC,GAAEJ,EAAEC,KAAGD,EAAEC,GAAG,KAAKG,CAAC,IAAEJ,EAAEC,KAAG,CAACG,CAAC;AAAE,SAAOJ;AAAC;AAAC,SAASqL,GAAEpL,GAAE;AAAC,SAAAA,IAAEmL,GAAEnL,GAAE,CAAAE,MAAGA,EAAE,IAAI,GAAQ,EAAC,SAAQF,EAAE,WAAS,CAAA,GAAG,YAAWA,EAAE,kBAAgB,CAAA,GAAG,WAAUA,EAAE,iBAAe,CAAE,EAAA;AAAC;AAAC,IAAIqL,KAAE;AACxY,SAAS9F,GAAGvF,GAAE;AAAC,MAAIE,IAAEkL,GAAEpL,CAAC,GAAED,IAAEG,EAAE,WAAW,OAAO,CAAAC,MAAOA,EAAE,OAAO,WAAb,CAAmB;AAAE,SAAM,MAAI;AAAC,QAAIA,IAAE,CAAE;AAAC,QAAIC,IAAEX,EAAE,SAAU,EAAC,YAAW;AAAG,aAAQF,KAAKa;AAAE,MAAAA,IAAEoF,GAAGjG,GAAEW,EAAE,SAAQH,GAAEG,EAAE,SAAS,GAAQE,KAAN,QAASD,EAAE,KAAKC,CAAC;AAAE,WAAOD,EAAE,KAAK;AAAA;AAAA,CAAM;AAAA,EAAC;AAAC;AAAC,SAASqF,GAAGxF,GAAEE,GAAEH,GAAEI,GAAE;AAAC,WAAQC,KAAKF;AAAE,QAAGA,IAAEE,EAAE,OAAOJ,GAAE,CAAAT,MAAG+L,GAAE/L,GAAEQ,GAAEI,CAAC,CAAC,GAAQD,KAAN;AAAQ,aAAOA;AAAE,SAAOT,EAAE,eAAeO,CAAC,IAAEsL,GAAEtL,GAAED,GAAEI,CAAC,IAAE;AAAI;AAChV,SAASmL,GAAEtL,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAE,CAAA;AAAG,EAAAH,IAAEA,EAAE,YAAW;AAAG,EAAAA;AAAE,aAAQI,KAAKJ,GAAE;AAAC,eAAQT,KAAKQ;AAAE,YAAGC,IAAET,EAAE,OAAOa,GAAE,OAAGkL,GAAE,GAAEpL,GAAEH,CAAC,GAAE,CAAC,GAAEM,MAAIkL,GAAE,GAAElL,GAAEH,CAAC,CAAC,GAAQF,KAAN,MAAQ;AAAC,UAAAG,EAAE,KAAKH,CAAC;AAAE,mBAASA;AAAA,QAAC;AAAC,MAAAP,EAAE,iBAAiBW,CAAC,IAAED,EAAE,KAAK;AAAA,CAAI,IAAEV,EAAE,YAAYW,CAAC,IAAED,EAAE,KAAKoL,GAAEnL,GAAEA,EAAE,eAAc,GAAGF,CAAC,CAAC,IAAET,EAAE,eAAeW,CAAC,KAAGD,EAAE,KAAKmL,GAAElL,GAAEF,GAAEH,CAAC,CAAC;AAAA,IAAC;AAAC,SAAOI,EAAE,KAAK,EAAE;AAAC;AAAC,SAASoL,GAAEvL,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAED,EAAE,KAAM,GAACE,IAAED,GAAEZ,IAAE,oBAAI;AAAI,WAAQc,KAAKN,GAAE;AAAC,IAAAA,IAAEM,EAAE,OAAO;AAAG,QAAIR,IAAEQ,EAAE;AAAI,QAAGoL,GAAEzL,GAAED,CAAC,KAAG,CAACR,EAAE,IAAIQ,CAAC,GAAE;AAAC,MAAAR,EAAE,IAAIQ,CAAC;AAAE,UAAI,IAAEqM,GAAEpM,GAAE,EAAE;AAAE,MAAAyL,GAAE,GAAE1L,CAAC,MAAIK,IAAEP,IAAEO,IAAG,IAAEgM,GAAEpM,GAAE,EAAE,GAAEyL,GAAE,GAAE1L,CAAC,MAAIK,KAAGP;AAAA,IAAE;AAAA,EAAC;AAAC,SAAOK,EAAE,QAAQC,GAAEC,CAAC;AAAC;AAC5e,SAASgM,GAAEpM,GAAEE,GAAE;AAAC,MAAIH,IAAEG,IAAEF,EAAE,uBAAqBA,EAAE;AAA2G,OAA1FD,MAAIC,IAAEA,EAAE,iBAAgB,GAAGA,EAAE,SAAQ,MAAKD,IAAEG,IAAEF,EAAE,mBAAoB,IAACA,EAAE,eAAgB,KAAQD,KAAG;AAAC,QAAGN,EAAE,eAAeM,CAAC,GAAE;AAAC,UAAG,CAACA,EAAE;AAAW;AAAuD,UAAjDC,IAAEE,IAAEH,EAAE,kBAAiB,IAAGA,EAAE,mBAAkB,GAAMN,EAAE,YAAYO,CAAC;AAAE,eAAOA;AAAE,MAAAD,IAAEG,IAAEH,EAAE,mBAAkB,IAAGA,EAAE,eAAc;AAAA,IAAE;AAAC,QAAGN,EAAE,YAAYM,CAAC;AAAE,aAAOA;AAAE,QAAG,CAACN,EAAE,eAAeM,CAAC;AAAE;AAAA,EAAK;AAAC,SAAO;AAAI;AAAC,SAAS0L,GAAEzL,GAAEE,GAAE;AAAC,SAAOT,EAAE,YAAYO,CAAC,KAAGA,EAAE,UAAUE,CAAC;AAAC;AAC9c,IAAI0M,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,KAAmDnH,KAAGmH,MAAG,kBAAiB,WAAS,SAAS,eAAa;AAAKA,MAAG,uBAAuB,KAAK,UAAU,QAAQ;AAAEA,MAAG,mCAAmC,KAAK,UAAU,SAAS;AAAEA,MAAG,gBAAe,UAAQ,CAACnH,MAAG,qBAAoB,IAAI,OAAO,WAAW,OAAO;AACzX,IAAIgI,KAAEb,MAAG,0BAA0B,KAAK,UAAU,SAAS,GAAEc,KAAEd,MAAG,mBAAmB,KAAK,UAAU,SAAS,KAAG,CAAC,OAAO,UAASlH,KAAG,aAAYoE,KAAE;AAClJ,SAASnE,GAAG3F,GAAE;AAAC,MAAIE,IAAEkL,GAAEpL,CAAC,GAAED,IAAE6F,GAAG1F,EAAE,UAAU;AAAE,SAAO,CAAAC,MAAG;AAAC,QAAIC,IAAED,EAAE,MAAM;AAAA,CAAI,GAAEZ,IAAEa,EAAE;AAAO,IAAAD,IAAEV,EAAE,SAAQ,GAAGU,EAAE,MAAK;AAAG,aAAQF,IAAE,GAAEA,IAAEV,GAAEU,KAAI;AAAC,UAAI,IAAEG,EAAEH;AAAG,MAAAD,GAAE;AAAC,YAAIK,IAAED,GAAEP,IAAEI,GAAMuH,IAAErH,GAAMoJ,IAAElJ,EAAER,GAAG,MAAMiK,EAAC;AAAE,YAAGP;AAAE,mBAAQzJ,IAAED,GAAEF,IAAEU,EAAE,QAAO,EAAEP,IAAEH;AAAG,gBAAGU,EAAEP,GAAG,MAAMgK,EAAC,GAAE;AAAC,cAAAP,IAAE9B,GAAE,gBAAgB8B,EAAE,EAAE,GAAElJ,IAAEZ,EAAE,gBAAgBY,EAAE,MAAMR,IAAE,GAAEC,CAAC,EAAE,KAAK;AAAA,CAAI,CAAC,GAAEyJ,EAAE,OAAOlJ,CAAC,GAAEmH,EAAE,OAAO+B,CAAC,GAAE/B,IAAE,CAAC+B,GAAEzJ,CAAC;AAAE,oBAAME;AAAA,YAAC;AAAA;AAAC,QAAAwH,IAAE,CAAC,MAAK3H,CAAC;AAAA,MAAC;AAAC,UAAI,CAACD,GAAEsJ,CAAC,IAAE1B;AAAE,UAAS5H,KAAN;AAAQ,QAAAK,IAAEiJ;AAAA,WAAM;AAAC,QAAA1B,IAAE,GAAE7H,IAAEQ;AAAE,YAAIgJ,IAAEjJ,EAAE;AAAQ,QAAAJ,IAAEC,GAAEM,IAAEH,EAAE,WAAUL,IAAE2H,EAAE,KAAI,GAAG+B,IAAE9J,EAAE,gBAAgBI,CAAC,GAAE,IAAEJ,EAAE,qBAAoB,GAAG,EAAE,OAAO8J,CAAC,GAC7f5J,EAAE,OAAO,CAAC;AAAE,iBAAQ,EAAC,QAAOoJ,GAAE,SAAQpB,EAAC,KAAIwB;AAAE,cAAGxJ,IAAE6H,EAAE,MAAMuB,CAAC,GAAE;AAAC,YAAAQ,EAAE,eAAe/B,EAAE,MAAM7H,EAAE,GAAG,MAAM,CAAC,GAAEgI,EAAE,GAAE,CAAC4B,CAAC,GAAE5J,GAAE,EAAE;AAAE;AAAA,UAAK;AAAC,QAAAgO,GAAEpE,GAAEzJ,GAAEO,CAAC,GAAE,EAAE,WAAU,KAAI,IAAER,EAAE,WAAS2H,IAAE,EAAE,mBAAkB,GAAG/H,EAAE,iBAAiB+H,CAAC,KAAGgC,GAAE,aAAahC,CAAC,KAAGyB,GAAE,YAAYzB,CAAC,OAAK1H,IAAE0H,GAAEyB,GAAE,YAAYzB,CAAC,MAAIA,IAAEA,EAAE,kBAAiB,GAAG1H,IAAQ0H,KAAN,OAAQ,OAAKuC,GAAG,oBAAoBvC,GAAEyB,GAAE,eAAe,IAASnJ,KAAN,QAAS,IAAEA,EAAE,yBAAuBA,EAAE,OAAOA,EAAE,gBAAe,GAAG,GAAE,CAACL,EAAE,qBAAsB,GAAC,GAAG,EAAE,aAAa,CAAC,GAAE,EAAE,OAAQ;AAAA,MAAE;AAAA,IAAC;AAAC,IAAAW,IAAED,EAAE,YAAW;AAAG,aAAQF,KAAKG;AAAE,MAAAA,IAClgBH,GAAER,EAAE,iBAAiBW,CAAC,KAAGb,IAAEa,EAAE,cAAa,GAAGA,IAAQb,KAAN,QAAaa,EAAE,gBAAiB,MAAvB,KAAyBX,EAAE,YAAYF,CAAC,KAAGmG,GAAG,KAAKnG,EAAE,eAAc,CAAE,KAAGa,IAAE,IAAGA,KAAGH,EAAE,OAAQ;AAAC,IAAAE,EAAE,UAAS;AAAA,EAAE;AAAC;AACjK,SAASwN,GAAE3N,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,eAAc;AAAG,MAAII,IAAEyF,GAAG1F,GAAED,CAAC;AAAE,MAAGE,GAAE;AAAC,QAAIb,GAAE;AAAE,QAAGa,EAAE,OAAKD;AAAE,UAAIE,IAAEL;AAAA,SAAM;AAAC,MAAAG,IAAEC,EAAE,SAAO;AAAE,UAAIP,IAAEM,IAAEC,EAAE,GAAG;AAAO,MAAID,MAAJ,IAAM,CAACE,GAAEd,CAAC,IAAES,EAAE,UAAUH,CAAC,IAAE,CAAC,GAAEQ,GAAEd,CAAC,IAAES,EAAE,UAAUG,GAAEN,CAAC;AAAA,IAAC;AAAwB,QAAvBQ,EAAE,eAAeD,EAAE,EAAE,GAAKJ,IAAEE,EAAE,kBAAkBE,EAAE;AAAI,eAAQP,KAAKG,EAAE;AAAO,QAAAK,EAAE,UAAUR,CAAC,KAAGQ,EAAE,aAAaR,CAAC;AAAE,IAAAQ,EAAE,UAAU,MAAM,KAAGsN,GAAEtN,GAAEH,GAAEH,CAAC,GAAE,KAAG4N,GAAE,GAAEzN,GAAEH,CAAC,GAAER,KAAGoO,GAAEpO,GAAEW,GAAEH,CAAC;AAAA,EAAC;AAAM,IAAA8N,GAAE7N,GAAED,CAAC;AAAC;AACpW,SAAS8N,GAAE7N,GAAEE,GAAE;AAAC,EAAAF;AAAE,WAAKA,KAAG;AAAC,eAAQD,KAAKG,GAAE;AAAC,YAAIC,IAAEH,EAAE,eAAgB,EAAC,MAAMD,EAAE,YAAY;AAAE,YAAG,CAACI;AAAE;AAAS,YAAIC,IAAED,EAAE,SAAO,GAAEZ,IAAEa,IAAED,EAAE,GAAG,QAAO,GAAEE,GAAER;AAAE,QAAIO,MAAJ,IAAM,CAAC,GAAEJ,CAAC,IAAEA,EAAE,UAAUT,CAAC,IAAE,CAACc,GAAE,GAAER,CAAC,IAAEG,EAAE,UAAUI,GAAEb,CAAC,GAAEc,KAAGwN,GAAExN,GAAEH,CAAC,GAAEL,MAAIG,IAAEH,IAAGE,EAAE,QAAQ,GAAEI,CAAC;AAAE,iBAASH;AAAA,MAAC;AAAC;AAAA,IAAK;AAAC;AACvP,SAAS6F,GAAG7F,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,MAAME,EAAE,cAAc;AAAE,MAASH,KAAN;AAAQ,WAAO;AAAK,WAAQR,KAAKQ,GAAE;AAAC,QAAII,IAAEZ,EAAE,QAAQ,OAAM,EAAE;AAA8B,QAA5BQ,IAAEG,EAAE,qBAAqBC,IAAYJ,KAAN,SAAUA,IAAEC,EAAE,MAAMD,CAAC,GAAEI,IAAED,EAAE,kBAAkBC,IAASJ,KAAN,QAAeI,KAAN,OAAS;AAAC,UAAQA,EAAE,cAAP;AAAiB,eAAOJ;AAAE,UAAI,EAAC,OAAMK,IAAE,EAAC,IAAEL;AAA8B,UAA5BI,IAAEH,EAAEI,IAAE,IAAGA,IAAEJ,EAAEI,IAAEL,EAAE,GAAG,SAAW,EAAEI,KAAG,CAACkL,GAAE,KAAKlL,CAAC,KAAGC,KAAG,CAACiL,GAAE,KAAKjL,CAAC;AAAG,eAAOL;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO;AAAI;AACvV,SAAS6F,GAAG5F,GAAE;AAAC,MAAIE,IAAE,CAAE,GAACH,IAAE,CAAA,GAAGI,IAAE;AAAG,WAAQC,KAAKJ,GAAE;AAAC,KAAC,EAAC,KAAIA,EAAC,IAAEI,IAAGF,EAAEF,KAAGI;AAAE,QAAIb,IAAES,EAAE,QAAQ,YAAW,MAAM;AAAE,IAAAG,EAAE,KAAKZ,CAAC,GAAEQ,EAAEC,KAAGyN,MAAGC,KAAE,IAAI,OAAO,IAAInO,SAASA,eAAeA,SAASA,OAAOA,IAAI,IAAE,IAAI,OAAO,YAAYA,OAAOA,WAAWA,WAAWA,aAAaA,iCAAiCA,aAAaA,KAAK;AAAA,EAAC;AAAC,SAAM,EAAC,sBAAqBQ,GAAE,gBAAe,IAAI,QAAQ0N,MAAGC,KAAE,KAAG,iBAAe,MAAIvN,EAAE,KAAK,GAAG,IAAE,KAAI,GAAG,GAAE,mBAAkBD,EAAC;AAAC;AAC5a,SAASoP,GAAEtP,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEJ,EAAE;AAAO,SAAKG,KAAGC,GAAED,KAAI;AAAC,QAAIE,IAAEF,IAAEC;AAAE,QAAGsQ,GAAEzQ,GAAEI,GAAEL,GAAE,GAAEI,CAAC,KAASH,EAAEI,IAAED,OAAV;AAAa,aAAOC;AAAA,EAAC;AAAC,SAAM;AAAE;AAAC,SAASqQ,GAAEzQ,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,WAAQb,IAAE,GAAEA,IAAEa,GAAEb;AAAI,QAAGS,EAAEE,IAAEX,OAAKQ,EAAEI,IAAEZ;AAAG,aAAM;AAAG,SAAM;AAAE;AACxL,IAAImU,KAAE,CAAA1T,MAAG,CAACE,GAAEH,GAAEI,MAAI;AAAC,EAAAA,IAAEH,EAAEG,CAAC,GAAEA,EAAE,OAAO,GAAGJ,CAAC,GAAEG,EAAE,QAAQC,CAAC,GAAEA,EAAE,OAAO,GAAE,CAAC;AAAC,GAAEgR,KAAE,CAAAnR,MAAG,CAACE,GAAEH,GAAEI,MAAI;AAAC,MAAIC,IAAEF,EAAE,mBAAoB;AAAC,QAAMX,IAAE0J,GAAE,oBAA8BjJ,MAAV,UAAkBG,EAAE,OAAR,MAAW,MAAM;AAAE,EAAA8I,GAAE,YAAY7I,CAAC,KAAGA,EAAE,YAAW,MAAKJ,KAAGI,EAAE,OAAOb,CAAC,GAAEW,EAAE,OAAM,MAAKE,IAAE6I,GAAE,gBAAgBjJ,GAAaA,MAAX,WAAa,OAAOG,EAAE,EAAE,IAAE,MAAM,GAAEC,EAAE,OAAOb,CAAC,GAAEW,EAAE,QAAQE,CAAC,IAAGb,EAAE,OAAO,GAAGQ,CAAC,GAAER,EAAE,OAAO,GAAE,CAAC,IAAGW,IAAE,KAAK,MAAMC,EAAE,GAAG,SAAO,CAAC,MAAIZ,EAAE,UAAUW,CAAC;AAAC,GAAE+S,KAAE,CAACjT,GAAEE,GAAEH,MAAI;AAAC,QAAMI,IAAE,CAAA;AAAG,MAAIC,IAAEJ,EAAE,YAAa;AAAC,MAAIT,IAAE;AAAE,aAAUc,KAAKD;AAAE,QAAG6I,GAAE,gBAAgB5I,CAAC,GAAE;AAAC,UAAOA,EAAE,gBAAiB,MAAvB,MAC7eD,IAAEC,EAAE,iBAAgB4I,GAAE,YAAY7I,CAAC,IAAG;AAAC,QAAAD,EAAE,KAAK8S,GAAE7S,GAAEF,GAAEH,IAAE,CAAC,CAAC;AAAE;AAAA,MAAQ;AAAC,MAAAK,IAAE,IAAI,OAAO,IAAEL,CAAC;AAAE,UAAI,IAAEC,EAAE,YAAW;AAAG,UAAa,MAAX,WAAa,GAAGA,EAAE,SAAU,IAACT,QAAgB,MAAV,UAAY,MAAMc,EAAE,WAAU,IAAG,MAAI,UAAQ,MAAKF,EAAE,KAAKC,IAAE,IAAEF,EAAEG,CAAC,CAAC,GAAEd;AAAA,IAAG;AAAC,SAAOY,EAAE,KAAK;AAAA,CAAI;AAAC,GAAE2F,KAAG,EAAC,cAAa,CAAC0D,GAAE,WAAW,GAAE,QAAO,CAACxJ,GAAEE,MAAI;AAAC,MAAG,CAACsJ,GAAE,eAAexJ,CAAC;AAAE,WAAO;AAAK,QAAMD,IAAE,OAAOC,EAAE,OAAQ,EAAC,MAAM,CAAC,CAAC;AAAE,SAAM,IAAI,OAAOD,CAAC,IAAE,MAAIG,EAAEF,CAAC;AAAC,GAAE,QAAO,eAAc,SAAQ0T,GAAE,CAAA1T,MAAGwJ,GAAE,mBAAmB,MAAIxJ,EAAE,GAAG,MAAM,CAAC,GAAE,MAAK,UAAS,GAAE2U,KAAG;AAAA,EAAC,cAAa,CAACnL,GAAE,SAAS;AAAA,EACzf,QAAO,CAACxJ,GAAEE,MAAI;AAAC,QAAG,CAACsJ,GAAE,aAAaxJ,CAAC;AAAE,aAAO;AAAK,IAAAA,IAAEE,EAAEF,CAAC,EAAE,MAAM;AAAA,CAAI,GAAEE,IAAE,CAAE;AAAC,eAAUH,KAAKC;AAAE,MAAAE,EAAE,KAAK,OAAKH,CAAC;AAAE,WAAOG,EAAE,KAAK;AAAA,CAAI;AAAA,EAAC;AAAA,EAAE,QAAO;AAAA,EAAO,SAAQ,CAACF,GAAEE,GAAEH,GAAEI,MAAI;AAAC,QAAGA,MAAIJ,IAAEC,EAAE,mBAAoB,GAACwJ,GAAE,aAAazJ,CAAC,IAAG;AAAC,MAAAA,EAAE,OAAOA,EAAE,gBAAiB,GAAC,GAAE,CAACN,EAAE,wBAAuB,GAAGS,CAAC,CAAC,GAAEH,EAAE,OAAO,GAAE,CAAC,GAAEC,EAAE,OAAM;AAAG;AAAA,IAAM;AAAC,IAAAD,IAAEyJ,GAAE,iBAAgB,GAAGzJ,EAAE,OAAO,GAAGG,CAAC,GAAEF,EAAE,QAAQD,CAAC,GAAEA,EAAE,OAAO,GAAE,CAAC;AAAA,EAAC;AAAA,EAAE,MAAK;AAAS,GAAEgG,KAAG,EAAC,cAAa,CAAC0B,GAAE,QAAQ,GAAE,QAAO,CAAAzH,MAAG;AAAC,MAAG,CAACyH,GAAE,YAAYzH,CAAC;AAAE,WAAO;AAAK,QAAME,IAAEF,EAAE,eAAc;AAAG,SAAM,SAChfA,EAAE,iBAAe,OAAKE,IAAE;AAAA,IAAKA,IAAE,MAAI;AAAO,GAAE,QAAO,qBAAoB,SAAQwT,GAAE,CAAA1T,MAAGyH,GAAE,gBAAgBzH,IAAEA,EAAE,KAAG,MAAM,CAAC,GAAE,MAAK,UAAS,GAAEgG,KAAG,EAAC,cAAa,CAACiD,GAAE,UAASA,GAAE,YAAY,GAAE,QAAO,CAACjJ,GAAEE,MAAI+I,GAAE,YAAYjJ,CAAC,IAAEiT,GAAEjT,GAAEE,GAAE,CAAC,IAAE,MAAK,QAAO,iBAAgB,SAAQiR,GAAE,QAAQ,GAAE,MAAK,UAAS,GAAElL,KAAG,EAAC,cAAa,CAACgD,GAAE,UAASA,GAAE,YAAY,GAAE,QAAO,CAACjJ,GAAEE,MAAI+I,GAAE,YAAYjJ,CAAC,IAAEiT,GAAEjT,GAAEE,GAAE,CAAC,IAAE,MAAK,QAAO,qCAAoC,SAAQiR,GAAE,OAAO,GAAE,MAAK,UAAS,GAAEjL,KAAG,EAAC,cAAa,CAAC+C,GAAE,UAASA,GAAE,YAAY,GAAE,QAAO,CAACjJ,GACzfE,MAAI+I,GAAE,YAAYjJ,CAAC,IAAEiT,GAAEjT,GAAEE,GAAE,CAAC,IAAE,MAAK,QAAO,sBAAqB,SAAQiR,GAAE,QAAQ,GAAE,MAAK,UAAS,GAAEhL,KAAG,EAAC,QAAO,CAAC,MAAM,GAAE,KAAI,KAAI,MAAK,cAAa,GAAEC,KAAG,EAAC,QAAO,CAAC,QAAO,QAAQ,GAAE,KAAI,OAAM,MAAK,cAAa,GAAEC,KAAG,EAAC,QAAO,CAAC,QAAO,QAAQ,GAAE,WAAU,IAAG,KAAI,OAAM,MAAK,cAAa,GAAEE,KAAG,EAAC,QAAO,CAAC,MAAM,GAAE,KAAI,MAAK,MAAK,cAAa,GAAEsN,KAAG,EAAC,QAAO,CAAC,MAAM,GAAE,WAAU,IAAG,KAAI,MAAK,MAAK,cAAa,GAAEK,KAAG,EAAC,QAAO,CAAC,eAAe,GAAE,KAAI,MAAK,MAAK,cAAa,GAAEU,KAAG,EAAC,QAAO,CAAC,QAAQ,GAAE,KAAI,KAAI,MAAK,cAAa,GAAEpO,KAAG;AAAA,EAAC,QAAO,CAAC,QAAQ;AAAA,EACrgB,WAAU;AAAA,EAAG,KAAI;AAAA,EAAI,MAAK;AAAa,GAAEC,KAAG,EAAC,cAAa,CAACuD,GAAE,QAAQ,GAAE,QAAO,CAAChK,GAAEE,GAAEH,MAAI;AAAC,MAAG,CAACiK,GAAE,YAAYhK,CAAC;AAAE,WAAO;AAAK,EAAAE,IAAE,IAAIF,EAAE,eAAc,MAAOA,EAAE;AAAY,QAAMG,IAAEH,EAAE;AAAgB,SAAWA,EAAE,gBAAe,MAArB,KAAyBP,EAAE,YAAYU,CAAC,IAAEJ,EAAEI,GAAED,CAAC,IAAEA;AAAC,GAAE,cAAa,kCAAiC,QAAO,mCAAkC,SAAQ,CAACF,GAAEE,MAAI;AAAC,QAAM,CAAA,EAAEH,GAAEI,CAAC,IAAED;AAAE,EAAAA,IAAE8J,GAAE,gBAAgB7J,CAAC;AAAE,QAAMC,IAAEX,EAAE,gBAAgBM,CAAC;AAAE,EAAAK,EAAE,UAAUJ,EAAE,UAAS,CAAE,GAAEE,EAAE,OAAOE,CAAC,GAAEJ,EAAE,QAAQE,CAAC;AAAC,GAAE,SAAQ,KAAI,MAAK,aAAY,GACrfwG,KAAG,CAACZ,IAAG6O,IAAG5O,IAAGC,IAAGE,EAAE,GAAES,KAAG,CAACR,IAAGC,IAAGC,IAAGE,IAAGsN,IAAGe,IAAGpO,IAAG0N,EAAE,GAAEtN,KAAG,CAACH,EAAE,GAAEyM,KAAE,CAAC,GAAGxM,IAAG,GAAGC,IAAG,GAAGC,EAAE;AAAEi4B,EAAA,6BAAmC,SAAS7+B,GAAEE,IAAEgT,IAAE;AAAC,SAAOvN,GAAGzF,CAAC,EAAEF,CAAC;AAAC;AAAE6+B,EAAA,2BAAiC,SAAS7+B,IAAEkT,IAAE;AAAC,SAAO3N,GAAGvF,CAAC,EAAG;AAAA;AAA0B6+B,EAAA,mBAACz4B;AAAGy4B,EAAA,yBAA+Bx4B;AAAGw4B,EAAA,YAAkBt4B;AAA0Bs4B,EAAA,kBAAChrB;AAAqBgrB,EAAA,aAAC54B;AAAe44B,EAAA,OAAC94B;AAA+B84B,EAAA,uBAACn4B;YAAmBZ;AAAG+4B,EAAA,cAAoB14B;AAAG04B,EAAA,cAAoBjqB;AAA4BiqB,EAAA,oBAACr4B;AAAeq4B,EAAA,OAACp4B;AAC7do4B,EAAA,eAAC34B;AAAgB24B,EAAA,QAAClqB;AAAwBkqB,EAAA,gBAAC3qB;AAAmC2qB,EAAA,2BAACl4B;AAAGk4B,EAAA,0BAAgCj4B;AAAGi4B,EAAA,eAAqB3rB;AAAE2rB,EAAA,iBAAuB74B;AACtJ64B,EAAA,4BAAC,SAAS7+B,GAAEE,IAAEgT,IAAE;AAAC,MAAInT,IAAEqL,GAAElL,CAAC,GAAEC,IAAEgL,GAAEpL,EAAE,YAAW,CAAC,EAAC,KAAIR,EAAC,MAAIA,EAAEA,EAAE,SAAO,EAAE,GAAEa,IAAE+K,GAAEpL,EAAE,WAAU,CAAC,EAAC,SAAQR,EAAC,MAAIA,CAAC;AAAE,WAAQA,KAAKW;AAAE,QAAGA,IAAEX,EAAE,OAAkBW,MAAZ,aAA8BA,MAAf,iBAAmB,CAACF,EAAE,SAAST,EAAE,YAAY;AAAE,YAAM,MAAM,wLAAwL;AAAE,SAAOS,EAAE,uBAAuB,CAAC,EAAC,MAAKT,GAAE,aAAY,GAAE,aAAYc,GAAE,iBAAgBR,EAAC,MAChgB;AAAC,QAAG,CAACN,EAAE,IAAI,UAAU,GAAE;AAAC,UAAIiI,IAAEnH,EAAE,KAAKZ,EAAE,aAAa;AAA4B,UAA1BF,IAAEM,EAAE,KAAKJ,EAAE,aAAa,GAAKA,EAAE,kBAAkBF,CAAC,KAAGE,EAAE,kBAAkB+H,CAAC,KAAGA,EAAE,YAAW,GAAG;AAAC,QAAA3H,IAAE2H,EAAE,OAAO;AAAI,YAAI+B,IAAE/B,EAAE,OAAO,QAAO1H,IAAEO,EAAE,SAAS,IAAIR,CAAC;AAAE,QAAAJ,EAAE,YAAYK,CAAC,KAAG,EAAE,IAAID,CAAC,MAAQ0J,MAAJ,KAAOA,MAAIhK,EAAE,OAAO,SAAO,MAAIS,EAAE,OAAO,MAAI;AAAC,cAAG,CAACF,EAAE,UAAU,MAAM,GAAE;AAAC,gBAAIH,IAAEG,EAAE;AAAY,gBAAUH,MAAP,QAAU,CAAC8H,GAAE,YAAY9H,CAAC,GAAE;AAAC,kBAAIwJ,IAAE3B,EAAE,OAAO;AAAO,cAAAtH,GAAE;AAAC,oBAAID,IAAEF,EAAE,SAAQH,IAAED,EAAE;AAAY,oBAAGF,EAAE,oBAAoBG,CAAC,KAAGD,EAAE,cAAa,MAAKG,MAAIF,IAAEE,EAAE,eAAc,GAASF,EAAEuJ,IAAE,OAAV;AAAc,2BAAQ;AAAA,oBAAC,QAAOE;AAAA,oBACrgB,SAAQC;AAAA,kBAAC,KAAIrJ;AAAE,yBAAIA,IAAEL,EAAE,MAAMyJ,CAAC,MAAIpJ,EAAE,GAAG,WAASkJ,GAAE;AAAC,sBAAAvJ,IAAEE,EAAE;AAAkB,0BAAI,CAAC+J,GAAEvD,CAAE,IAAExG,EAAE,UAAUqJ,CAAC;AAAE,sBAAAU,EAAE,OAAQ,GAACjK,IAAE0G,IAAG,CAACA,GAAG,GAAG1G,CAAC,IAAEA,GAAE0J,EAAE3J,GAAEC,GAAEK,GAAE,EAAE,GAAEN,IAAE;AAAG,4BAAMO;AAAA,oBAAC;AAAA;AAAC,gBAAAP,IAAE;AAAA,cAAE;AAAC,kBAAG,CAACA,GAAE;AAAC,gBAAAO,GAAE;AAAkC,sBAAjCD,IAAEH,EAAE,eAAgB,GAACH,IAAES,EAAEH,EAAEkJ,IAAE,KAAaxJ,KAAN,MAAQ;AAAC,oBAAAwJ,IAAElJ,EAAE,WAASA,IAAEA,EAAE,MAAM,GAAEkJ,CAAC;AAAG,yBAAIJ,KAAKpJ;AAAE,0BAAGA,IAAEM,EAAE,MAAM8I,EAAE,MAAM,GAASpJ,MAAP,MAAS;AAAC,wBAAAM,IAAEN,EAAE,SAAO,GAAEC,IAAEK,IAAEN,EAAE,GAAG;AAAO,4BAAIuJ,IAAE;AAAO,wBAAIjJ,MAAJ,IAAM,CAACiJ,CAAC,IAAEpJ,EAAE,UAAUF,CAAC,IAAE,CAAA,EAAEsJ,CAAC,IAAEpJ,EAAE,UAAUG,GAAEL,CAAC,GAAEsJ,EAAE,WAAW,GAAE,CAAC,GAAEH,EAAE,QAAQG,GAAEvJ,CAAC;AAAE,4BAAIoJ,IAAE;AAAG,8BAAM7I;AAAA,sBAAC;AAAA,kBAAC;AAAC,kBAAA6I,IAAE;AAAA,gBAAE;AAAC,oBAAG,CAACA;AAAE,kBAAA7I,GAAE;AAAC,oBAAAN,IAAEE,EAAE,eAAc,GAAG,EAAEqJ;AAAE,wBAAIxB,IAAE/H,EAAEuJ;AAAG,wBAAGJ,IAAE5I,EAAEwH;AAAG,+BAAQ0B,KAAKN,GAAE;AAAC,4BAAI,EAAC,KAAIY,EAAC,IAC/fN;AAAE,wBAAAN,IAAEY,EAAE;AAAO,4BAAIL,IAAEH,IAAEJ,IAAE;AAAE,4BAAG,EAAE,IAAEA,KAAG,CAAC0H,GAAE7Q,GAAE0J,GAAEK,GAAE,GAAEZ,CAAC,KAASnJ,EAAE0J,IAAE,OAAV,SAAgBJ,IAAEtJ,EAAEuJ,IAAE,IAAQE,EAAE,cAAP,MAAkB,CAACH,KAAGmC,GAAE,KAAKnC,CAAC,IAAG;AAAC,0BAAAvJ,IAAEuJ,IAAEpJ,GAAEG,IAAEqP,GAAE1P,GAAE0J,GAAEK,CAAC;AAAE,mCAAQF,IAAE9J,GAAE,IAAEM,MAAIwJ,IAAEA,EAAE,mBAAkB,MAAK,CAAChK,EAAE,iBAAiBgK,CAAC;AAAG,4BAAAhK,EAAE,YAAYgK,CAAC,MAAIxJ,IAAEwJ,EAAE,eAAgB,GAAC9J,IAAE8J,GAAExJ,IAAEqP,GAAErP,GAAEA,EAAE,QAAO0J,CAAC;AAAG,8BAAG,EAAE,IAAE1J,KAAGN,MAAIuJ,KAAGjJ,IAAE8I,MAAIO,MAAIK,IAAEhK,EAAE,eAAc,GAAG,IAAEM,KAAG0J,EAAE1J,IAAE,OAAK0H,MAAI8B,IAAEE,EAAE1J,IAAE,IAAQoJ,EAAE,cAAP,MAAkBI,KAAG,CAAC4B,GAAE,KAAK5B,CAAC,MAAK;AAAC,4BAAA7J,IAAEsJ,EAAE,eAAc,GAAGtJ,IAAEA,EAAE,MAAM,GAAE0J,CAAC,IAAE1J,EAAE,MAAMuJ,IAAE,CAAC,GAAED,EAAE,eAAetJ,CAAC,GAAEA,IAAED,MAAIuJ,IAAEtJ,IAAE+J,GAAEhK,EAAE,eAAeC,EAAE,MAAM,GAAEK,CAAC,IAAEL,EAAE,MAAMK,IAAE8I,CAAC,CAAC,GAAEnJ,IAAEH,EAAE,iBAClfkI,IAAElI,EAAE,sBAAqB,GAAGA,EAAE,cAAckI,CAAC,GAAEwB,IAAEA,IAAEJ,KAAGpJ,MAAIuJ,IAAE,IAAE,KAAG,GAAEvB,EAAE,OAAO,IAAIhI,EAAE,OAAMM,GAAE,MAAM,GAAE0H,EAAE,MAAM,IAAIuB,EAAE,OAAMC,GAAE,MAAM;AAAE,qCAAQU,KAAKR,EAAE;AAAO,8BAAA1B,EAAE,UAAUkC,CAAC,KAAGlC,EAAE,WAAWkC,CAAC;AAAE,4BAAAlC,EAAE,OAAO,IAAIA,EAAE,MAAM,KAAIA,EAAE,MAAM,QAAOA,EAAE,MAAM,IAAI;AAAE,qCAAQkC,KAAKR,EAAE;AAAO,8BAAA1B,EAAE,UAAUkC,CAAC,KAAGlC,EAAE,aAAakC,CAAC;AAAE,4BAAApK,EAAE,kBAAkBG,CAAC,MAAI+H,EAAE,SAAO/H,EAAE;AAAQ,kCAAMM;AAAA,0BAAC;AAAA,wBAAC;AAAA,sBAAC;AAAA,kBAAC;AAAA,cAAC;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;ACzBpW,MAAM4+B,KAAiGt/B;AACvG,IAAAu/B,KAAiBD,sBCFA9+B,KAAER,IAAiDW,KAAE8W,IAAkD5W,KAAE6W,IAA0BxX,KAAEwY,GAAmBrY,KAAEsY;AAAiB,IAAIrY,KAAEJ,GAAE,cAAc,gCAAgC;AAClP,SAAS8H,GAAE,EAAC,SAAQtH,EAAC,GAAE;AAAC,MAAI,CAACX,CAAC,IAAES,GAAE,0BAAyB,GAAGL,IAAEE,GAAE,OAAO,IAAI,GAAE,CAACO,GAAEH,GAAEL,CAAC,IAAEO,GAAE,wBAAwBD,CAAC,GAAET,IAAEI,GAAE,YAAY,CAAAE,OAAIK,KAAGV,GAAE,iBAAiBA,GAAE,eAAe,MAAIK,EAAE,eAAgB,GAACA,IAAEL,GAAE,cAAcQ,CAAC,GAAEuH,GAAE1H,CAAC,KAAGA,EAAE,OAAM,GAAGE,EAAE,EAAE,IAAS,KAAI,CAACG,GAAEF,GAAED,CAAC,CAAC;AAAE,SAAAJ,GAAE,UAAU,MAAIQ,GAAE,cAAcd,EAAE,gBAAgBG,GAAE,eAAc,CAAAK,MAAGA,EAAE,WAASJ,EAAE,WAASI,EAAE,YAAUH,KAAIK,EAAE,CAACG,CAAC,GAAE,MAAI,IAAGV,GAAE,oBAAoB,GAAEH,EAAE,gBAAgBG,GAAE,oBAAmBD,GAAEC,GAAE,oBAAoB,GAAEH,EAAE;AAAA,IAAgBG,GAAE;AAAA,IAC3eD;AAAA,IAAEC,GAAE;AAAA,EAAoB,CAAC,GAAE,CAACE,GAAEL,GAAEa,GAAEX,GAAEQ,CAAC,CAAC,GAASJ,GAAE,cAAc,MAAK,EAAC,KAAIF,GAAE,WAAUS,IAAE,aAAW,OAAM,CAAC;AAAC;AAC1G,MAAMuH,WAAUjI,GAAE,cAAa;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAgB;AAAA,EAAC,OAAO,MAAMQ,GAAE;AAAC,WAAO,IAAIyH,GAAEzH,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,OAAO,aAAY;AAAC,WAAOgJ,GAAG;AAAA,EAAA;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,OAAK,EAAC,YAAWC,IAAE,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,MAAK,kBAAiB,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM,EAAC,SAAQ,SAAS,cAAc,IAAI,EAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIjJ,IAAE,SAAS,cAAc,KAAK;AAAE,WAAAA,EAAE,MAAM,UAAQ,YAAkBA;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA;AAAA,EAAI;AAAA,EAAC,WAAU;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAOL,GAAE,cAAc2H,IAAE,EAAC,SAAQ,KAAK,MAAK,CAAC;AAAA,EAAC;AAAC;AAC5gB,SAAS2B,KAAG;AAAC,SAAM,EAAC,MAAKD,GAAC,EAAE;AAAC;AAAC,SAASA,KAAG;AAAC,SAAO,IAAIvB;AAAC;AAAC,SAASF,GAAEvH,GAAE;AAAC,SAAOA,aAAayH;AAAC;+BAAmCuB;AAA+B81B,GAAA,wBAACv3B;AAAEu3B,GAAA,qBAA2Br3B;oCAAyC7H;ACHpO,MAAMm/B,KAAqHz/B;AAC3H,IAAA0/B,KAAiBD,ICFAl/B,KAAEP,IAA6BW,KAAE8W,IAAiD7W,KAAE8W,IAAoD3X,KAAE2Y;AAAiB,IAAIjY,KAAE,CAAC,EAAC,cAAa,CAACG,GAAE,kBAAkB,GAAE,QAAO,CAAAJ,MAAGI,GAAE,sBAAsBJ,CAAC,IAAE,QAAM,MAAK,QAAO,yBAAwB,SAAQ,CAACA,GAAEE,GAAET,GAAEY,MAAI;AAAC,EAAAH,IAAEE,GAAE,0BAA2B,GAACC,KAASL,EAAE,eAAgB,KAAxB,OAAyBA,EAAE,QAAQE,CAAC,IAAEF,EAAE,aAAaE,CAAC,GAAEA,EAAE,WAAU;AAAE,GAAE,MAAK,UAAS,GAAE,GAAGH,GAAE,YAAY;AAAEo/B,GAAA,uBAA6Bl/B;AACtek/B,GAAA,yBAA+B,SAAS,EAAC,cAAan/B,IAAEC,GAAC,GAAE;AAAC,MAAI,CAACC,CAAC,IAAEC,GAAE,0BAAyB;AAAG,SAAAZ,GAAE,UAAU,MAAIQ,GAAE,0BAA0BG,GAAEF,CAAC,GAAE,CAACE,GAAEF,CAAC,CAAC,GAAS;AAAI;ACArK,MAAMo/B,KAA6H5/B;AACnI,IAAA6/B,KAAiBD;ACKV,MAAME,KAAK;AAAA,EACdC,cAAc,CAACpf,EAAkB;AAAA,EACjCqf,QAASzmB,CAASA,MACP0I,GAAsB1I,CAAI,IAAI,QAAQ;AAAA,EAEjD0mB,QAAQ;AAAA,EACRnK,SAAS,CAAC3D,GAAY+N,GAAIC,GAAIC,MAAa;AACvC,UAAMC,IAAOrf;AAGb,IAAIof,KAAYjO,EAAW1S,eAAgB,KAAI,OAC3C0S,EAAW2D,QAAQuK,CAAI,IAEvBlO,EAAWmO,aAAaD,CAAI,GAGhCA,EAAKlgB,WAAY;AAAA,EACrB;AAAA,EACAe,MAAM;AACV,GAEaqf,KAAa;AAAA,EACtBR,cAAc,CAAC/c,EAAa;AAAA,EAC5Bgd,QAASzmB,CAASA,MAAA;AACV,QAAA,CAACqK,GAAiBrK,CAAI;AACf,aAAA;AAELglB,UAAAA,IAAchlB,EAAKiI;AAErB,WAAA,SACCjI,EAAKoK,YAAa,KAAI,OACtB4a,IAAc;AAAA,IAAOA,IAAc,MACpC;AAAA,EAGR;AAAA,EACA0B,QAAQ;AAAA,EACRnK,SAAS,CAACT,GAAUF,GAAOzQ,MAAS;AAC1BxB,UAAAA,IAAWwB,EAAK,MAAM,IACtBlC,IAAW2S,EAAM,IACjBqL,IAAgBld,GAAqBd,GAAUU,CAAQ;AAC7DmS,IAAAA,EAASS,QAAQ0K,CAAa;AAAA,EAClC;AAAA,EACAtf,MAAM;AACV,GAKauf,KAAQ;AAAA,EACjBV,cAAc,CAAC5V,EAAS;AAAA,EACxB6V,QAASzmB,CAASA,MAAA;AACV,QAACiT,GAAajT,CAAI,GAEf;AACG,YAAA;AAAA,QAAC8L,KAAAA;AAAAA,QAAKC,KAAAA;AAAAA,MAAAA,IAAO/L,EAAKgS;AACxB,aAAQ,KAAIjG,MAAQD;AAAAA,IACxB;AAJW,aAAA;AAAA,EAKf;AAAA,EACA4a,QAAQ;AAAA,EACRnK,SAAS,CAAC3D,GAAYgD,GAAOzQ,MAAS;AAGlC,UAAMgc,IAAYxW,GAAiB;AAAA,MAAC/kB,SAFxB;AAAA,MAEsCkgB,KADtC;AAAA,IACsCA,CAAI;AACtD8M,IAAAA,EAAW2D,QAAQ4K,CAAS;AAAA,EAChC;AAAA,EACAxf,MAAM;AACV,GAEayf,KAAuB,CAChCC,GACAC,SAAAA,UACAC,GAAAA,gBACAC,GAAAA,cACAjB,IACAS,IACAE,EAAK,GAGIO,KAAuB,CAChC,GAAGL,IACH,GAAGM,GAAAA,0BACH,GAAGC,GAAAA,uBAAuB;AAG9B,SAAwBC,GAAuB;AAAA,EAACC,cAAAA,IAAeJ;AAAoB,IAAI,IAAI;AACvF,SAAOpB,0BAA8B;AAAA,IAACwB,cAAAA;AAAAA,EAAAA,CAAa;AACvD;AClGO,SAASC,GAAgBzkB,GAAW;AACvC,QAAMmW,IAASnW,EAAU,QACnB6W,IAAQ7W,EAAU,OAClBoX,IAAapX,EAAU,OAAO,QAAO,GACrC0kB,IAAY1kB,EAAU,MAAM,QAAO;AACzC,SAAIoX,MAAesN,IACRtN,IAEQpX,EAAU,eAElB2kB,gBAAa9N,CAAK,IAAIO,IAAasN,IAEnCC,gBAAaxO,CAAM,IAAIuO,IAAYtN;AAElD;ACdO,SAAS1yB,GAAW;AAAA,EAAC6iB,SAAAA;AAAO,GAAG;AAClC,2BACI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAmC,uBAAmB;AAAA,IAAA,4BACjE,UAAA;AAAA,MACI,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAU;AAAA,MACV,SAAAA;AAAA,MAAiB,4BAEhBvhB,IAAQ;AAAA,QAAC,WAAU;AAAA,MAAA,CAA8D;AAAA,IAAA,CAAG;AAAA,EAAA,CAEvF;AAEd;AAEO,SAAS4+B,GAAS;AAAA,EAAC1lB,UAAAA;AAAQ,GAAG;AACjC,2BACI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAwB,qBAAiB;AAAA,IAAA,UAAAA;AAAA,EAAA,CAElD;AAEd;ACrBO,MAAMjZ,KAAkB,CAAC;AAAA,EAACjB,OAAAA;AAAAA,EAAOka,UAAAA;AAAAA,KAAa3e;AAAK,wBAElD,MAAA;AAAA,EAAI,MAAK;AAAA,EAAY,WAAU;AAAA,EAAqG,GAAKA;AAAAA,EAAK,UAC1I,CAAA8D,gBAAAA,EAAA,QAAA;AAAA,IAAM,WAAU;AAAA,IAAuB,OAAO;AAAA,MAAC2D,UAAU;AAAA,IAAqB;AAAA,IAAE,UAAEhD;AAAAA,EAAAA,CAAK,GACvFX,gBAAAA,EAAA,MAAA;AAAA,IAAI,MAAK;AAAA,IAAM,UAAA6a;AAAA,EAAA,CAEV,CAAA;AAAA,CACJ,GAIAhZ,KAAe,CAAC;AAAA,EAAClB,OAAAA;AAAAA,EAAOiD,MAAAA;AAAAA,EAAM8W,YAAAA;AAAAA,EAAYwI,SAAAA;AAAAA,EAASxhB,MAAAA;AAAAA,KAASxF;AAAK,wBAStE,MAAA;AAAA,EAAI,MAAK;AAAA,EAAc,4BACnB,UAAA;AAAA,IACI,MAAK;AAAA,IACL,MAAK;AAAA,IACL,WAAY,wIAAuIwe,IAAa,gBAAgB;AAAA,IAAM,aATxKoC,CAAUA,MAAA;AAChCA,MAAAA,EAAMU,eAAgB;AAAA,IAAA;AAAA,IAQuM,SAAA0F;AAAA,IAAkB,0BAAwBviB;AAAAA,IAC/P,6BAA2B+Z;AAAAA,IAAW,GAClCxe;AAAAA,IAAK,UAET,CAAA8D,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAmB,4BAC7B0B,GAAI;AAAA,QAAC,WAAU;AAAA,MAAA,CAAS;AAAA,IAAA,CAAG,GAEhCmC,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAe,UAC1B,CAAA7D,gBAAAA,EAAA,OAAA;AAAA,QAAK,WAAU;AAAA,QAA8F,UAAEW;AAAAA,MAAAA,CAAK,GACpHX,gBAAAA,EAAA,OAAA;AAAA,QAAK,WAAU;AAAA,QAAoF,UAAE4D;AAAAA,MAAAA,CAAW,CAAA;AAAA,IAAA,CAC9G,CAAA;AAAA,EAAA,CAAA;AAAA,CAET,GAIAH,KAAkB,CAAC;AAAA,EAAC9C,OAAAA;AAAAA,EAAO+Z,YAAAA;AAAAA,EAAYhZ,MAAAA;AAAAA,KAASxF;AAAK,wBAE1D,MAAA;AAAA,EAAI,MAAK;AAAA,EAAc,4BACnB,UAAA;AAAA,IACI,MAAK;AAAA,IACL,MAAK;AAAA,IACL,WAAY,6HAA4Hwe,IAAa,gBAAgB;AAAA,IACrK,6BAA2BA;AAAAA,IAAW,GAClCxe;AAAAA,IAAK,UAET,CAAA8D,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAmB,4BAC7B0B,GAAI;AAAA,QAAC,WAAU;AAAA,MAAA,CAAS;AAAA,IAAA,CAAG,GAEhC1B,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAe,4BAC1B,OAAA;AAAA,QAAK,WAAU;AAAA,QAA8F,UAAEW;AAAAA,MAAAA,CAAK;AAAA,IAAA,CAClH,CAAA;AAAA,EAAA,CAAA;AAAA,CAET,GAIAL,KAAW,CAAC;AAAA,EAACkgC,MAAAA,wBAAWC,IAAK;AAAA,EAAEnK,QAAAA,IAAS,MAAM;AAAA,EAAC;AAAA,EAAGoK,mBAAAA;AAAiB,MAAM;AAElF,QAAMC,IAAmB,CAAA;AAEzB,MAAIC,IAAY;AAChB,aAAW,CAACC,GAAcC,CAAK,KAAKN,GAAM;AACtC,UAAMO,IAAgB,CAAA;AAEtBD,IAAAA,EAAME,QAASC,CAASA,MAAA;AACpB,YAAMvmB,IAAakmB,MAAcF,GAC3Bxd,IAAWpG,CAAUA,MAAA;AACvBA,QAAAA,EAAMU,eAAgB,GACtB8Y,KAAAA,QAAAA,EAAS2K,EAAKlgB,eAAe;AAAA,UAACoK,cAAc8V,EAAK9V;AAAAA,UAAcC,aAAa6V,EAAK7V;AAAAA,QAAAA;AAAAA,MAAY;AAGjG,MAAI,CAAC6V,EAAKhhB,QAAQghB,EAAKhhB,SAAS,SACdihB,EAAAA,uBACTr/B,IAAY;AAAA,QAET,OAAOo/B,EAAKtgC;AAAAA,QACZ,MAAMsgC,EAAKr9B;AAAAA,QACX,MAAMq9B,EAAKv/B;AAAAA,QACX,YAAAgZ;AAAA,QACA,SAAAwI;AAAA,QACA,wBAAsB0d;AAAAA,MAAAA,GANjBA,CAAS,CAOhB,IAECK,EAAKhhB,SAAS,aACPihB,EAAAA,uBACTz9B,IAAe;AAAA,QAEZ,OAAOw9B,EAAKtgC;AAAAA,QACZ,MAAMsgC,EAAKv/B;AAAAA,QACX,YAAAgZ;AAAA,QACA,SAAAwI;AAAA,QACA,wBAAsB0d;AAAAA,MAAAA,GALjBA,CAAS,CAMhB,GAIVA,IAAYA,IAAY;AAAA,IAAA,CAC3B,GAEgBM,EAAAA,uBAAMt/B,IAAe;AAAA,MAAoB,OAAOi/B;AAAAA,MAAa,UAAEE;AAAAA,IAAAA,GAApCF,CAAY,CAAwD;AAAA,EACpH;AAEA,2BACI,MAAA;AAAA,IAAI,MAAK;AAAA,IAAO,WAAU;AAAA,IAAiL,UACtMF;AAAAA,EAAAA,CACA;AAEb;AClHO,SAASQ,GAAmB5lB,GAAQ;AAEvC,QAAM6lB,IAAW7lB,EAAO,QAClB8lB,IAAY,CAAA;AAElB,aAAW,CAACrQ,GAAU,EAAC,OAAAsQ,EAAK,CAAC,KAAKF;AAC9B,IAAI,CAACE,EAAM,UAIXD,EAAU,KAAK,CAACrQ,GAAUsQ,CAAK,CAAC;AAGpC,SAAOD;AACX;ACdO,SAASE,GAAchV,GAAO,EAAC,OAAAiV,EAAK,IAAI,CAAA,GAAI;AAC/C,QAAMhB,IAAO,oBAAI;AAEjB,EAAAgB,IAAQA,KAAA,gBAAAA,EAAO;AAEf,MAAIC,IAAe;AAEnB,WAASC,EAAYT,GAAM;AACvB,QAAIO,MAAU,CAACP,EAAK,WAAW,CAACA,EAAK,QAAQ,KAAK,CAAA/hC,MAAKA,EAAE,WAAWsiC,CAAK,CAAC;AACtE;AAGJ,UAAMG,IAAUV,EAAK,WAAW;AAEhC,IAAKT,EAAK,IAAImB,CAAO,IAGjBnB,EAAK,IAAImB,CAAO,EAAE,KAAKV,CAAI,IAF3BT,EAAK,IAAImB,GAAS,CAACV,CAAI,CAAC,GAK5BQ,IAAeA,IAAe;AAAA,EACjC;AAED,aAAW,CAACzQ,GAAU1Y,CAAI,KAAKiU;AAC3B,IAAI,MAAM,QAAQjU,EAAK,MAAM,IACzBA,EAAK,OAAO,QAAQ,CAAA2oB,MAAQS,EAAY,EAAC,UAAA1Q,GAAU,GAAGiQ,EAAI,CAAC,CAAC,IAE5DS,EAAY,EAAC,UAAA1Q,GAAU,GAAG1Y,EAAK,OAAM,CAAC;AAI9C,SAAO,EAAC,MAAAkoB,GAAM,cAAAiB,EAAY;AAC9B;ACvBA,SAASG,GAAgBrmB,GAAQ;;AAC7B,QAAM,CAACsmB,GAAiBC,CAAkB,IAAI3lC,EAAM8H,SAAS,EAAK,GAC5D,CAAC89B,GAAeC,CAAgB,IAAI7lC,EAAM8H,SAAS,EAAK,GACxD,CAACg+B,GAAaC,CAAc,IAAI/lC,EAAM8H,SAAS,CAAC,GAChD,CAACk+B,GAAaC,CAAc,IAAIjmC,EAAM8H,SAAS,IAAI,GACnD,CAACo+B,GAAUC,CAAW,IAAInmC,EAAM8H,SAAS,CAAA,CAAE,GAC3C8X,IAAe5f,EAAM6f,OAAO,IAAI;AAEtC,WAASumB,EAAeC,GAAM;AACpB1P,UAAAA,IAAW0P,EAAKxP,yBAChByP,KAAgBD,EAAKtR,WAAW8B,sBAAuB;AAEtDF,WAAAA,EAASK,MAAMsP,GAActP;AAAAA,EACxC;AAEA,WAASuP,EAAgBF,GAAM;AACrBrG,UAAAA,IAAQ,IAAIwG;AACZC,WAAAA,EAAAA,SAASJ,GAAM,CAAC,GAChBK,EAAAA,OAAOL,GAAM,CAAC,GACbrG;AAAAA,EACX;AAEM2G,QAAAA,IAA0B3mC,EAAM4mC,YAAY,MAAM;AACpD,IAAI,CAACZ,MAGIhQ,SAAAA,eAAe6Q,mBACf7Q,SAAAA,aAAAA,EAAe8Q,SAASd,CAAW;AAAA,EAAA,GAC7C,CAACA,CAAW,CAAC,GAEVe,IAAa/mC,EAAM4mC,YAAaP,CAASA,MAAA;AACrCrG,UAAAA,IAAQuG,EAAgBF,CAAI;AAClCJ,IAAAA,EAAejG,CAAK,GACpB2F,EAAmB,EAAI;AAAA,EAAA,GACxB,CAACA,GAAoBM,CAAc,CAAC,GAEjCe,IAAahnC,EAAM4mC,YAAY,MAAM;AACvCjB,IAAAA,EAAmB,EAAK,GACxBE,EAAiB,EAAK,GACtBI,EAAe,IAAI;AAAA,EACpB,GAAA,CAACN,GAAoBE,GAAkBI,CAAc,CAAC,GAEnDgB,IAAWjnC,EAAM4mC,YAAajmB,CAAUA,MAAA;AAC1CA,IAAAA,KAAAA,QAAAA,EAAOU,kBACkBslB,KACzBd,EAAiB,EAAI;AAAA,EAAA,GACtB,CAACc,GAAyBd,CAAgB,CAAC,GAExCqB,IAAYlnC,EAAM4mC,YAAY,CAAC;AAAA,IAACO,aAAAA,IAAc;AAAA,EAAK,IAAI,OAAO;AAChE,IAAIA,KACyBR,KAE7Bd,EAAiB,EAAK;AAAA,EAAA,GACvB,CAACc,GAAyBd,CAAgB,CAAC,GAExCuB,IAAepnC,EAAM4mC,YAAY,MAAM;AAClC7mB,IAAAA,EAAAA,iBAAiBC,KAAK,MAAM;AAE3BZ,UAAAA,EAAOioB;AACP;AAGJ,YAAM7nB,IAAYgB,EAAAA;AAEd,UAAA,CAACgV,EAAAA,kBAAkBhW,CAAS,KAAK,CAACA,EAAUsE,SAAS,UAAU,CAACtE,EAAUiW,eAAe;AAC7E,QAAAuR;AACZ;AAAA,MACJ;AAEM7qB,YAAAA,IAAO8nB,GAAgBzkB,CAAS;AAEtC,UAAI,CAAC8nB,EAAiBnrB,iBAAAA,CAAI,KAAKA,EAAKiI,qBAAqB,IAAI;AAC7C,QAAA4iB;AACZ;AAAA,MACJ;AAGA,YAAM/jC,IADkB8yB,OAAOC,eACLY,YACpB2Q,IAAcnoB,EAAOooB;AAE3B,WAAIvkC,KAAAA,gBAAAA,EAAG47B,aAAY,OAAO,CAAC0I,EAAY1mB,SAAS5d,CAAC,GAAG;AACpC,QAAA+jC;AACZ;AAAA,MACJ;AAEeZ,MAAAA,EAAAA,EAAenjC,CAAC,CAAC,GAChC8jC,EAAW9jC,CAAC;AAAA,IAAA,CACf;AAAA,EACF,GAAA,CAACmc,GAAQ2nB,GAAYC,CAAU,CAAC,GAE7B7M,IAASn6B,EAAM4mC,YAAY,CAAChiB,GAAe;AAAA,IAACoK,cAAAA,IAAe,CAAC;AAAA,EAAC,IAAI,OAAO;AAC1E,UAAMyY,KAAgB;AAAA,MAAC,GAAGzY;AAAAA,IAAAA;AACnB0Y,IAAAA,EAAAA,gBAAgB9iB,GAAe6iB,EAAa,GACxCP;EAAA,GACZ,CAAC9nB,GAAQ8nB,CAAS,CAAC;AAEtBlnC,EAAAA,EAAMogB,UAAU,MACLhB,EAAOkB,uBAAuB,MAAM;AACzB,IAAA8mB;EAAA,GACf,CAAChoB,GAAQgoB,CAAY,CAAC,CAC5B;AAKKO,QAAAA,IAA+B3nC,EAAM4mC,YAAY,MAAM;;AACzD,QAAIlB,GAAiB;AACX5P,YAAAA,IAAkBC,OAAOC;AAI/B,UAAI4P,OAAiBhmB,IAAAA,EAAagB,YAAbhB,gBAAAA,EAAsBiB,SAASiV,EAAgBc;AAChE;AAKJ,MAFoBxX,EAAOooB,iBAEV3mB,SAASiV,EAAgBc,UAAU,KACpCoQ;IAEpB;AAAA,KACD,CAAC5nB,GAAQsmB,GAAiBE,GAAeoB,CAAU,CAAC;AAEvDhnC,EAAAA,EAAMogB,UAAU,OACHiV,SAAAA,iBAAiB,mBAAmBsS,CAA4B,GAClE,MAAM;AACArS,aAAAA,oBAAoB,mBAAmBqS,CAA4B;AAAA,EAAA,IAEjF,CAACA,CAA4B,CAAC;AAG3BC,QAAAA,IAA0B5nC,EAAM4mC,YAAajmB,CAAUA,MAAA;AAEzD,QAAIilB;AACA;AAGE2B,UAAAA,IAAcnoB,EAAOooB;AACvB,QAAA;AAAA,MAACK,OAAAA;AAAAA,MAAOC,OAAAA;AAAAA,IAASnnB,IAAAA,GAIjB2lB,IAAgBiB,EAAY1Q;AAC5BgR,IAAAA,KAAQvB,EAAcyB,SACtBF,KAAQA,KAAQ;AAWpB,UAAMG,KAAc9jB,SAAS+jB,iBAAiBJ,IAAOC,CAAK;AAEtDP,IAAAA,EAAY1mB,SAASmnB,EAAW,OAC5BA,MAAAA,gBAAAA,GAAanJ,aAAY,OAAOmJ,GAAY7G,gBAAgB,MAE7CiF,EAAAA,EAAe4B,EAAW,CAAC,GAC1CjB,EAAWiB,EAAW,KAGRZ;EAEtB,GACD,CAAChoB,GAAQwmB,GAAeG,GAAgBgB,GAAYK,CAAY,CAAC;AAEpEpnC,EAAAA,EAAMogB,UAAU,OACLiV,OAAAA,iBAAiB,aAAauS,CAAuB,GACrD,MAAM;AACFtS,WAAAA,oBAAoB,aAAasS,CAAuB;AAAA,EAAA,IAEpE,CAACA,CAAuB,CAAC;AAItBM,QAAAA,IAA0BloC,EAAM4mC,YAAajmB,CAAUA,MAAA;;AACzD,QAAIilB,KACI,GAAChmB,IAAAA,EAAagB,YAAbhB,QAAAA,EAAsBiB,SAASF,EAAMG;AACtC,aAAOomB,EAAW;AAAA,EAE1B,GACD,CAACtB,GAAesB,CAAS,CAAC;AAE7BlnC,EAAAA,EAAMogB,UAAU,OACLiV,OAAAA,iBAAiB,aAAa6S,CAAuB,GACrD,MAAM;AACF5S,WAAAA,oBAAoB,aAAa4S,CAAuB;AAAA,EAAA,IAEpE,CAACA,CAAuB,CAAC;AAGtBC,QAAAA,IAAgBnoC,EAAM4mC,YAAajmB,CAAUA,MAAA;AAC/C,QAAIilB,GAAe;AACXjlB,UAAAA,EAAMoF,QAAQ,UAAU;AACd,QAAAmhB,EAAA;AAAA,UAACC,aAAa;AAAA,QAAA,CAAK;AAC7B;AAAA,MACJ;AAGA,MADgB,CAAC,WAAW,aAAa,aAAa,YAAY,EACpDiB,SAASznB,EAAMoF,GAAG,KACjBmhB;IAEnB;AAAA,EAAA,GACD,CAACtB,GAAesB,CAAS,CAAC;AAE7BlnC,EAAAA,EAAMogB,UAAU,OACLiV,OAAAA,iBAAiB,WAAW8S,CAAa,GACzC,MAAM;AACF7S,WAAAA,oBAAoB,WAAW6S,CAAa;AAAA,EAAA,EAE1D,GAGDnoC,EAAMogB,UAAU,MAAM;AACZ8kB,UAAAA,IAAYF,GAAmB5lB,CAAM;AAC3C+mB,IAAAA,EAAYf,GAAcF,GAAW;AAAA,MAAC/K,QAAAA;AAAAA,IAAO,CAAA,CAAC;AAAA,EAC/C,GAAA,CAAC/a,GAAQ+a,GAAQgM,CAAW,CAAC;AAEhC,QAAMkC,IAAQ;AAAA,IACVrR,KAAM,GAAE8O;AAAAA,EAAAA;AAGRI,WAAAA,IAAAA,EAAS7B,SAAT6B,gBAAAA,EAAe1e,UAAS,IACjB,OAGPke,sBAEI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAW,OAAA2C;AAAA,IAAc,KAAKzoB;AAAAA,IAAc,0BAAsB;AAAA,IAAA,UAC5E8lB,CAAAA,KAAmB7hC,gBAAAA,EAACK,IAAU;AAAA,MAAC,SAAS+iC;AAAAA,IAAAA,CAAS,GACjDrB,KAAiB/hC,gBAAAA,EAACugC,IAAQ;AAAA,MAAA,4BAAEjgC,IAAQ;AAAA,QAAC,MAAM+hC,EAAS7B;AAAAA,QAAM,QAAAlK;AAAA,MAAA,CAAe;AAAA,IAAA,CAAc,CAAA;AAAA,EAAA,CACtF,IAGH;AAEf;AAEA,SAAwBmO,KAAqB;AACnC,QAAA,CAAClpB,CAAM,IAAIC,GAAAA;AACjB,SAAOomB,GAAgBrmB,CAAM;AACjC;AC7PO,SAASmpB,GAAU;AAAA,EAAC7pB,UAAAA;AAAQ,GAAG;AAClC,2BACI,OAAA;AAAA,IAAK,sBAAkB;AAAA,IAAA,UAAAA;AAAA,EAAA,CAEjB;AAEd;ACIA,SAAS8pB,GAAiBppB,GAAQ;;AAC9B,QAAM,CAACwmB,GAAeC,CAAgB,IAAI7lC,EAAM8H,SAAS,EAAK,GACxD,CAACg+B,GAAaC,CAAc,IAAI/lC,EAAM8H,SAAS,CAAC,GAChD,CAACu9B,GAAOoD,CAAQ,IAAIzoC,EAAM8H,SAAS,EAAE,GACrC,CAAC2/B,GAAeiB,CAAgB,IAAI1oC,EAAM8H,SAAS,CAAA,CAAE,GACrD,CAACo+B,GAAUC,CAAW,IAAInmC,EAAM8H,SAAS,CAAA,CAAE,GAC3C,CAACy8B,GAAmBoE,CAAoB,IAAI3oC,EAAM8H,SAAS,CAAC,GAC5Dk+B,IAAchmC,EAAM6f,OAAO,IAAI,GAC/BD,IAAe5f,EAAM6f,OAAO,IAAI;AAEtC,WAASumB,EAAeC,GAAM;AACpB1P,UAAAA,IAAW0P,EAAKxP,yBAChByP,IAAgBD,EAAKtR,WAAW8B,sBAAuB;AAEtDF,WAAAA,EAASa,SAAS8O,EAActP;AAAAA,EAC3C;AAEA,WAAS2P,IAA0B;AAC3B,IAAA,CAACX,EAAYplB,YAGRoV,SAAAA,eAAe6Q,mBACxB3iB,SAAS8R,aAAc,EAAC8Q,SAASd,EAAYplB,OAAO;AAAA,EACxD;AAEMqmB,QAAAA,IAAWjnC,EAAM4mC,YAAY,MAAM;AACrCf,IAAAA,EAAiB,EAAI;AAAA,EAAA,GACtB,CAACA,CAAgB,CAAC,GAEfqB,IAAYlnC,EAAM4mC,YAAY,CAAC;AAAA,IAACO,aAAAA,IAAc;AAAA,EAAK,IAAI,OAAO;AAChE,IAAIA,KACyBR,KAE7Bd,EAAiB,EAAK,GACtB4C,EAAS,EAAE,GACXC,EAAiB,CAAE,CAAA,GACnB1C,EAAYplB,UAAU;AAAA,EAAA,GACvB,CAACilB,CAAgB,CAAC,GAEf1L,IAASn6B,EAAM4mC,YAAY,CAAChiB,GAAe;AAAA,IAACoK,cAAAA,IAAe,CAAC;AAAA,IAAGC,aAAAA,IAAc,CAAC;AAAA,EAAC,IAAI,OAAO;AAC5F,UAAMd,IAAU;AAAA,MAAC,GAAGa;AAAAA,IAAAA;AAEpB,aAAS0K,IAAI,GAAGA,IAAIzK,EAAY7N,QAAQsY;AACpC,UAAI+N,EAAc/N,IAAI;AAClB,cAAM3T,IAAMkJ,EAAYyK,IAClB1U,IAAQyiB,EAAc/N;AAC5BvL,QAAAA,EAAQpI,KAAOf;AAAAA,MACnB;AAGJ5F,IAAAA,EAAOyC,OAAO,MAAM;AAChB,YAAMrC,IAAYgB,EAAAA;AACRooB,MAAAA,EAAAA,OAAO,UAAU,IAAM,cAAc,GAC/CppB,EAAUqpB,gBAAgB,EAAI,GACvBnB,EAAAA,gBAAgB9iB,GAAeuJ,CAAO;AAAA,IAAA,CAChD,GAEU+Y;EACZ,GAAA,CAAC9nB,GAAQqoB,GAAeP,CAAS,CAAC;AAyNjChB,SArNJlmC,EAAMogB,UAAU,MACLhB,EAAOkB,uBAAuB,MAAM;AAChCP,IAAAA,EAAAA,iBAAiBC,KAAK,MAAM;AAE3BZ,UAAAA,EAAOioB;AACP;AAGJ,YAAM7nB,IAAYgB,EAAAA;AAEd,UAAA,CAACgV,EAAAA,kBAAkBhW,CAAS,KAAK,CAACA,EAAUsE,SAAS,UAAU,CAACtE,EAAUiW,eAAe;AAC9E,QAAAyR;AACX;AAAA,MACJ;AAEA,YAAM/qB,IAAO8nB,GAAgBzkB,CAAS,EAAEqW,mBAAoB;AAE5D,UAAI,CAAC1Z,KAAQ,CAACmrB,EAAAA,iBAAiBnrB,CAAI,KAAK,CAACA,EAAKiI,eAAgB,EAAC8J,WAAW,GAAG,GAAG;AACjE,QAAAgZ;AACX;AAAA,MACJ;AAEMpR,YAAAA,IAAkBC,OAAOC,gBACzBY,IAAad,EAAgBc,YAC7B2Q,IAAcnoB,EAAOooB;AAEvB5Q,WAAAA,KAAAA,gBAAAA,EAAY/B,cAAa/G,KAAKgH,aAAa,CAACyS,EAAY1mB,SAAS+V,CAAU,GAAG;AACnE,QAAAsQ;AACX;AAAA,MACJ;AAIYtmB,MAAAA,EAAAA,UAAUkV,EAAgBS,WAAW,CAAC;AAGlD,YAAMuS,IAAU3sB,EAAKiI,iBAAiBnC,MAAM,CAAC,GACvC,CAAC/e,MAAM6lC,CAAG,IAAID,EAAQE,MAAM,GAAG;AACrCP,MAAAA,EAASvlC,CAAC,GACVwlC,EAAiBK,CAAG;AAAA,IAAA,CACvB;AAAA,EAAA,CACJ,GACF,CAAC3pB,GAAQ8nB,GAAWuB,GAAUC,CAAgB,CAAC,GAGlD1oC,EAAMogB,UAAU,MAAM;AAClB,QAAIwlB;AACA;AAGJ,UAAMqD,IAAetoB,CAAUA,MAAA;AACrB,YAAA;AAAA,QAACoF,KAAAA;AAAAA,QAAKshB,aAAAA;AAAAA,QAAa6B,UAAAA;AAAAA,QAAUC,SAAAA;AAAAA,QAASC,SAAAA;AAAAA,QAASC,QAAAA;AAAAA,MAAU1oB,IAAAA;AAS/D,MANIoF,MAAQ,OAAOshB,KAAe6B,KAAYC,KAAWC,KAAWC,KAMhE,CADgBjqB,EAAOooB,iBACV5lB,QAAQ,QAAQ,KAK1B7B,EAAAA,iBAAiBC,KAAK,MAAM;AAC/B,cAAMR,IAAYgB,EAAAA,iBACZrE,IAAO8nB,GAAgBzkB,CAAS,EAAEqW,mBAAoB;AAG5D,YAAI,CAAC1Z,KAAQ,CAACmrB,EAAAA,iBAAiBnrB,CAAI;AAC/B;AAGEmtB,cAAAA,KAAgBntB,EAAKotB,sBACrBC,KAAmBhqB,EAAUiW,YAAAA,KAAiBtZ,EAAKiI,eAAqB,MAAA,IAExEqlB,KAA2B,CAACjqB,EAAUiW,YACvCjW,MAAAA,EAAUmW,OAAOQ,WAAW,KAAK3W,EAAU6W,MAAMF,WAAWmT,MAC5D9pB,EAAUmW,OAAOQ,WAAWmT,MAAiB9pB,EAAU6W,MAAMF,WAAW;AAG7E,YAAIqT,MAAoBC,IAA0B;AACxC3T,gBAAAA,KAAkBC,OAAOC;AAC3B0T,cAAAA;AAEJ,UAAI5T,GAAgBc,WAAW/B,aAAa/G,KAAKgH,YAC7C4U,KAAgB5T,GAAgBc,WAAW7B,WAAWE,QAAQ,GAAG,IAEjEyU,KAAgB5T,GAAgBc,YAGrBwP,EAAAA,EAAesD,EAAa,CAAC,GAClCzC;QACd;AAAA,MAAA,CACH;AAAA,IAAA;AAGE5R,kBAAAA,iBAAiB,YAAY4T,CAAW,GACxC,MAAM;AACF3T,aAAAA,oBAAoB,YAAY2T,CAAW;AAAA,IAAA;AAAA,KAEvD,CAAC7pB,GAAQwmB,GAAeG,GAAgBkB,CAAQ,CAAC,GAGpDjnC,EAAMogB,UAAU,MAAM;AAClB,QAAI,CAACwlB;AACD;AAGJ,UAAM+D,IAAgBhpB,CAAUA,MAAA;AACxBA,UAAAA,EAAMoF,QAAQ,UAAU;AACd,QAAAmhB,EAAA;AAAA,UAACC,aAAa;AAAA,QAAA,CAAK;AAC7B;AAAA,MACJ;AAAA,IAAA;AAGG9R,kBAAAA,iBAAiB,WAAWsU,CAAY,GACxC,MAAM;AACFrU,aAAAA,oBAAoB,WAAWqU,CAAY;AAAA,IAAA;AAAA,EACtD,GACD,CAAC/D,GAAesB,CAAS,CAAC,GAG7BlnC,EAAMogB,UAAU,MAAM;AAClB,QAAI,CAACwlB;AACD;AAGJ,UAAMgE,IAAmBjpB,CAAUA,MAAA;;AAC/B,OAAIf,IAAAA,EAAagB,YAAbhB,QAAAA,EAAsBiB,SAASF,EAAMG,WAI9BomB;IAAA;AAGR7R,kBAAAA,iBAAiB,aAAauU,CAAe,GAC7C,MAAM;AACFtU,aAAAA,oBAAoB,aAAasU,CAAe;AAAA,IAAA;AAAA,EAC3D,GACD,CAAChE,GAAesB,CAAS,CAAC,GAG7BlnC,EAAMogB,UAAU,MAAM;AAClB,QAAI,CAACwlB;AACD;AAGJ,UAAMiE,IAAUlpB,CAAUA,OAElBgoB,EADApE,MAAsB,IACD2B,EAASZ,eAETf,IAAoB,CAFC,GAK9C5jB,EAAMU,eAAgB,GACf,KAGLyoB,IAAYnpB,CAAUA,OACpB4jB,MAAsB2B,EAASZ,eAC/BqD,EAAqB,CAAC,IAEtBA,EAAqBpE,IAAoB,CAAC,GAG9C5jB,EAAMU,eAAgB,GACf,KAGL0oB,IAASppB,CAAUA,MAAA;;AACrBuD,cAAAA,IAAAA,SAAS0U,cAAe,+CAA8C2L,KAAqB,MAA3FrgB,QAAAA,EAA8F8lB,SAC9FrpB,EAAMU,eAAgB,GACf;AAAA,IAAA;AAGX,WAAOhB,GACHjB,cAAAA,EAAOqB,gBACHyW,EAAAA,wBACA4S,GACA7S,EAAqB,qBAAA,GAEzB7X,EAAOqB,gBACH8U,EAAAA,sBACAsU,GACA5S,EAAAA,qBAAqB,GAEzB7X,EAAOqB,gBACHwpB,2BACAH,GACA7S,EAAAA,qBAAqB,GAEzB7X,EAAOqB,gBACHypB,EACAL,wBAAAA,GACA5S,EAAqB,qBAAA,GAEzB7X,EAAOqB,gBACHO,EAAAA,mBACA+oB,GACA9S,EAAAA,qBAAqB,CACxB;AAAA,KAEN,CAAC7X,GAAQwmB,GAAeM,GAAU3B,CAAiB,CAAC,GAGvDvkC,EAAMogB,UAAU,MAAM;AACZ8kB,UAAAA,IAAYF,GAAmB5lB,CAAM;AAC3C+mB,IAAAA,EAAYf,GAAcF,GAAW;AAAA,MAAC/K,QAAAA;AAAAA,MAAQkL,OAAAA;AAAAA,IAAM,CAAA,CAAC,GACrDsD,EAAqB,CAAC;AAAA,EAAA,GACvB,CAACvpB,GAAQimB,GAAOlL,GAAQgM,GAAawC,CAAoB,CAAC,KAEzDzC,IAAAA,EAAS7B,SAAT6B,gBAAAA,EAAe1e,UAAS,IACjB,OAGPoe,sBAEI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAW,OAAO;AAAA,MAAC5O,KAAM,GAAE8O;AAAAA,IAAe;AAAA,IAAG,KAAKlmB;AAAAA,IAAc,2BAAuB;AAAA,IAAA,4BACjG2oB,IAAS;AAAA,MAAA,4BACLpkC,IAAQ;AAAA,QAAC,MAAM+hC,EAAS7B;AAAAA,QAAM,mBAAAE;AAAA,QAAsC,QAAApK;AAAA,MAAA,CAAe;AAAA,IAAA,CAAG;AAAA,EAAA,CAEzF,IAIP;AACX;AAEA,SAAwBgQ,KAAsB;AACpC,QAAA,CAAC/qB,CAAM,IAAIC,GAAAA;AACjB,SAAOmpB,GAAiBppB,CAAM;AAClC;ACjTA,MAAMgrB,KAAe;AAEd,SAASC,GACZC,GACAC,GACAC,GACAC,IAAU,CAAE,GACd;AACE,EAAAA,IAAU,OAAO,OAAO;AAAA,IACpB,aAAaL;AAAA,IACb,gBAAgB;AAAA,EACnB,GAAEK,CAAO;AAEV,QAAMC,IAAeF,EAAW;AAEhC,MAAIF,MAAe,QAAQ,CAACI,GAAc;AACtC,IAAID,EAAQ,mBACRF,EAAa,MAAM,UAAU,MAEjCA,EAAa,MAAM,MAAM,YACzBA,EAAa,MAAM,OAAO;AAE1B;AAAA,EACH;AAED,QAAMI,IAAmBJ,EAAa,yBAChCK,IAAoBJ,EAAW,yBAC/BK,IAAqBH,EAAa;AAExC,MAAI1T,IAAMsT,EAAW,MAAMK,EAAiB,SAASF,EAAQ,aACzD1C,IAAOuC,EAAW,OAAOA,EAAW,QAAQ,IAAIK,EAAiB,QAAQ;AAE7E,EAAI5C,IAAO8C,EAAmB,SAC1B9C,IAAO8C,EAAmB,OAG1B9C,IAAO4C,EAAiB,QAAQE,EAAmB,UACnD9C,IAAO8C,EAAmB,QAAQF,EAAiB,QAGvD3T,KAAO4T,EAAkB,KACzB7C,KAAQ6C,EAAkB,MAEtBH,EAAQ,mBACRF,EAAa,MAAM,UAAU,MAEjCA,EAAa,MAAM,MAAM,GAAGvT,OAC5BuT,EAAa,MAAM,OAAO,GAAGxC;AACjC;ACzCO,SAAS+C,GACZhV,GACAyR,GACF;AACE,QAAMwD,IAAWjV,EAAgB,WAAW,CAAC;AAE7C,MAAIkV;AAEJ,MAAIlV,EAAgB,eAAeyR,GAAa;AAC5C,QAAI7G,IAAQ6G;AACZ,WAAO7G,EAAM,qBAAqB;AAC9B,MAAAA,IAAQA,EAAM;AAElB,IAAAsK,IAAOtK,EAAM;EACrB;AACQ,IAAAsK,IAAOD,EAAS;AAGpB,SAAOC;AACX;AC1BO,SAASC,GAAgB9uB,GAAM;AAElC,QAAM+uB,IADY/uB,aAAgB,eACH,OAAO,iBAAiBA,CAAI,EAAE,WACvDgvB,IAAeD,MAAc,aAAaA,MAAc;AAE9D,MAAK/uB;AAEE,QAAIgvB,KAAgBhvB,EAAK,gBAAgBA,EAAK;AACjD,aAAOA;AAAA;AAFP,WAAO;AAKX,SAAO8uB,GAAgB9uB,EAAK,UAAU,KAAK,SAAS;AACxD;AC2BA,MAAMivB,KAAuB;AAAA,EACzBC,QAAQ;AAAA,EACRC,OAAO;AAAA,EACPnmB,MAAM;AAAA,EACNomB,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJ3iB,QAAQ;AAAA,EACRlM,WAAW;AAAA,EACX2M,OAAO;AAAA,EACPmiB,OAAO;AACX;AAEA,SAASC,GAAsB;AAAA,EAACC,QAAAA;AAAAA,EAAQ3sB,QAAAA;AAAAA,EAAQorB,YAAAA;AAAAA,EAAYwB,WAAAA;AAAAA,EAAWC,QAAAA;AAAAA,EAAQC,UAAAA;AAAQ,GAAG;AACtF,QAAM,CAACC,GAAeC,CAAgB,IAAIpsC,EAAM8H,SAAS,EAAK,GACxDukC,IAAarsC,EAAM6f,OAAO,IAAI,GAG9BysB,IAAkB,MAAM;AAC1B,IAAIN,MAAc,eACd5sB,EAAOyC,OAAO,MAAM;AAChB,YAAMrC,IAAYgB,EAAAA;AAEdgV,MAAAA,EAAAA,kBAAkBhW,CAAS,KAChBA,GAAAA,WAAAA,GAAW,MAAM3C,EAAAA,qBAAAA,CAAsB;AAAA,IACtD,CACH;AAAA,EACL,GAGE0vB,IAAiBC,CAAgBA,MAAA;AACnC,IAAIR,MAAcQ,KACdptB,EAAOyC,OAAO,MAAM;AAChB,YAAMrC,IAAYgB,EAAAA;AAEdgV,MAAAA,EAAAA,kBAAkBhW,CAAS,KAC3BitB,GAAAA,WAAWjtB,GAAW,MAAMktB,sBAAmBF,CAAW,CAAC;AAAA,IAC/D,CACH;AAAA,EACL,GAGEG,IAAc,MAAM;AACtBvtB,IAAAA,EAAOyC,OAAO,MAAM;AAChB,YAAMrC,IAAYgB,EAAAA;AAEdgV,MAAAA,EAAAA,kBAAkBhW,CAAS,MACvBwsB,MAAc,UACHxsB,GAAAA,WAAAA,GAAW,MAAM7C,GAAAA,CAAkB,IACvCqvB,MAAc,UACVxsB,GAAAA,WAAAA,GAAW,MAAM3C,EAAAA,qBAAAA,CAAsB,IAEvC2C,GAAAA,WAAAA,GAAW,MAAMotB,GAAAA,iBAAAA,CAAkB;AAAA,IAEtD,CACH;AAAA,EAAA,GAGCC,IAAwB7sC,EAAM4mC,YAAY,MAAM;AAClD,UAAMkG,IAAiBT,EAAWzrB;AAElC,QAAI,CAACksB;AACD;AAGJ,UAAMttB,IAAYgB,EAAAA,iBACZsV,IAAkBC,OAAOC,gBACzBuR,IAAcnoB,EAAOooB;AAE3B,QACIhoB,MAAc,QACdsW,MAAoB,QACpB,CAACA,EAAgBL,eACjB8R,MAAgB,QAChBA,EAAY1mB,SAASiV,EAAgBc,UAAU,GACjD;AACQF,YAAAA,IAAYoU,GAAgBhV,GAAiByR,CAAW;AAC9D,MAAK4E,KACuBzV,GAAAA,GAAWoW,GAAgBtC,CAAU;AAAA,IAErE;AAAA,EACD,GAAA,CAACprB,GAAQorB,GAAY2B,CAAa,CAAC,GAEhCY,IAAY/sC,EAAM4mC,YAAY,MAAM;AACtC,IAAImF,MAAW,OACAnrB,EAAAA,QAAQynB,MAAM2E,UAAU;AAAA,EACvC,GACD,CAACjB,CAAM,CAAC;AAEX/rC,SAAAA,EAAMogB,UAAU,OACLL,EAAAA,iBAAiBC,KAAK,MAAM;AACR,IAAA6sB;EAAA,CAC1B,GACQxX,SAAAA,iBAAiB,WAAW0X,CAAS,GACvC,MAAM;AACAzX,aAAAA,oBAAoB,WAAWyX,CAAS;AAAA,EAAA,IAEtD,CAACA,GAAW3tB,GAAQytB,CAAqB,CAAC,GAE7C7sC,EAAMogB,UAAU,MAAM;AACXL,IAAAA,EAAAA,iBAAiBC,KAAK,MAAM;AACR,MAAA6sB;IAAA,CAC1B;AACD,UAAMI,IAAWzpC,CAAMA,MAAA;AACfA,MAAAA,EAAEuiB,QAAQ,WACCgnB;IACf;AAEK1X,oBAAAA,iBAAiB,SAAS4X,CAAO,GACnC,MAAM;AACA3X,eAAAA,oBAAoB,SAAS2X,CAAO;AAAA,IAAA;AAAA,EAElD,GAAA,CAACF,GAAW3tB,GAAQytB,CAAqB,CAAC,GAE7C7sC,EAAMogB,UAAU,MAAM;AACZ8sB,UAAAA,IAAgBjC,GAAgBT,CAAU,GAE1C3oB,IAAS,MAAM;AACV9B,MAAAA,EAAAA,iBAAiBC,KAAK,MAAM;AACR,QAAA6sB;MAAA,CAC1B;AAAA,IAAA;AAGExX,kBAAAA,iBAAiB,UAAUxT,CAAM,GACpCqrB,KACc7X,EAAAA,iBAAiB,UAAUxT,CAAM,GAG5C,MAAM;AACFyT,aAAAA,oBAAoB,UAAUzT,CAAM,GACvCqrB,KACc5X,EAAAA,oBAAoB,UAAUzT,CAAM;AAAA,IACtD;AAAA,EAEL,GAAA,CAACzC,GAAQytB,GAAuBrC,CAAU,CAAC,GAE9CxqC,EAAMogB,UAAU,OACLL,EAAAA,iBAAiBC,KAAK,MAAM;AACR,IAAA6sB;EAAA,CAC1B,GAEMxsB,GAAAA,cACHjB,EAAOkB,uBAAuB,CAAC;AAAA,IAACC,aAAAA;AAAAA,EAAAA,MAAiB;AAC7CA,IAAAA,EAAYP,KAAK,MAAM;AACI,MAAA6sB;IAAA,CAC1B;AAAA,EACJ,CAAA,GAEDztB,EAAOqB,gBACH0sB,EAAAA,0BACA,OAC2BN,KAChB,KAEX9rB,EAAAA,oBAAoB,CACvB,IAEN,CAAC3B,GAAQytB,CAAqB,CAAC,qBAG9B,OAAA;AAAA,IAAK,WAAY;AAAA,IAAW,KAAKR;AAAAA,IAAY,4BAAwB;AAAA,IAAC,OAAO;AAAA,MAACW,SAAS;AAAA,IAAC;AAAA,IAAE,4BACrFriB,IAAW;AAAA,MAAA,UAAA,CACR9mB,gBAAAA,EAAC+mB,IAAe;AAAA,QAAC,OAAM;AAAA,QAAsB,UAAUqhB;AAAAA,QAAQ,MAAK;AAAA,QAAO,SAAS,MAAM;AACtFG,UAAAA,EAAiB,EAAI,GACd1E,EAAAA,gBAAgB0F,uBAAqB,MAAM;AAAA,QACtD;AAAA,QAAG,0BAAuB;AAAA,MAAA,CAAS,GACnCvpC,gBAAAA,EAAC+mB,IAAe;AAAA,QAAC,OAAM;AAAA,QAAyB,UAAUshB;AAAAA,QAAU,MAAK;AAAA,QAAS,SAAS,MAAM;AAC7FE,UAAAA,EAAiB,EAAI,GACd1E,EAAAA,gBAAgB0F,uBAAqB,QAAQ;AAAA,QACxD;AAAA,QAAG,0BAAuB;AAAA,MAAA,CAAW,GACrCvpC,gBAAAA,EAAC+mB,IAAe;AAAA,QAAC,OAAM;AAAA,QAAmB,UAAUohB,MAAc;AAAA,QAAM,MAAK;AAAA,QAAa,SAAS,MAAM;AACpGA,UAAAA,MAAc,OAAOM,EAAoBC,IAAAA,EAAc,IAAI,GAC5DH,EAAiB,EAAI;AAAA,QACzB;AAAA,QAAG,0BAAuB;AAAA,MAAA,CAAO,GACjCvoC,gBAAAA,EAAC+mB,IAAe;AAAA,QAAC,OAAM;AAAA,QAAmB,UAAUohB,MAAc;AAAA,QAAM,MAAK;AAAA,QAAa,SAAS,MAAM;AACpGA,UAAAA,MAAc,OAAOM,EAAoBC,IAAAA,EAAc,IAAI,GAC5DH,EAAiB,EAAI;AAAA,QACzB;AAAA,QAAG,0BAAuB;AAAA,MAAA,CAAI,GAC7BvoC,gBAAAA,EAAAinB,IAAuB,CAAA,CAAA,qBACvBF,IAAe;AAAA,QAAC,OAAM;AAAA,QAAoB,UAAUohB,MAAc,WAAWA,MAAc;AAAA,QAAS,MAAMA,MAAc,UAAU,aAAa;AAAA,QAAY,SAAS,MAAM;AACzJ,UAAAW,KACdP,EAAiB,EAAI;AAAA,QACzB;AAAA,QAAG,0BAAuB;AAAA,MAAA,CAAU,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAEtC;AAEd;AAEA,SAASiB,GAAyBjuB,GAAQorB,GAAY;AAClD,QAAM,CAACuB,GAAQuB,CAAS,IAAIttC,EAAM8H,SAAS,EAAK,GAC1C,CAACmkC,GAAQsB,CAAS,IAAIvtC,EAAM8H,SAAS,EAAK,GAC1C,CAACokC,GAAUsB,CAAW,IAAIxtC,EAAM8H,SAAS,EAAK,GAC9C,CAACkkC,GAAWyB,CAAY,IAAIztC,EAAM8H,SAAS,WAAW,GAEtD4lC,IAAc1tC,EAAM4mC,YAAY,MAAM;AACjC7mB,IAAAA,EAAAA,iBAAiBC,KAAK,MAAM;AAE3BZ,UAAAA,EAAOioB;AACP;AAEJ,YAAM7nB,IAAYgB,EAAAA,iBACZsV,IAAkBC,OAAOC,gBACzBuR,IAAcnoB,EAAOooB;AAE3B,UACI1R,MAAoB,SAEhB,CAACN,EAAAA,kBAAkBhW,CAAS,KAC5B+nB,MAAgB,QAChB,CAACA,EAAY1mB,SAASiV,EAAgBc,UAAU,IAEtD;AACE0W,QAAAA,EAAU,EAAK;AACf;AAAA,MACJ;AAEI,UAAA,CAAC9X,EAAAA,kBAAkBhW,CAAS;AAC5B;AAGEoX,YAAAA,IAAaqN,GAAgBzkB,CAAS,GACtCnD,IAAUua,EAAWjU,aAAa,SAClCiU,IACAA,EAAWrV,6BACXosB,IAAatxB,EAAQsG,UACrBirB,IAAaxuB,EAAOyuB,gBAAgBF,CAAU;AAMpD,UAHUnuB,EAAAA,EAAUsuB,UAAU,MAAM,CAAC,GACzBtuB,EAAAA,EAAUsuB,UAAU,QAAQ,CAAC,GAErCF,MAAe;AACXG,YAAAA,GAAAA,YAAY1xB,CAAO,GAAG;AAChB2xB,gBAAAA,IAAaC,GAAAA,sBAAsBrX,GAAYrH,GAAQ,QAAA,GACvDzL,IAAOkqB,IACPA,EAAWE,YAAW,IACtB7xB,EAAQ6xB;AACdT,UAAAA,EAAa3pB,CAAI;AAAA,QAAA,OACd;AACGA,gBAAAA,IAAOqqB,kBAAe9xB,CAAO,IAC7BA,EAAQ+xB,OAAQ,IAChB/xB,EAAQ8D;AAEd,UAAI2D,KAAQsnB,MACRqC,EAAa3pB,CAAI;AAAA,QAEzB;AAGAtE,MAAAA,EAAU4E,eAAgB,MAAK,KACrBiqB,EAAAA,EAAAA,YAAYzX,CAAU,CAAC,IAEjC0W,EAAU,EAAK;AAAA,IACnB,CACH;AAAA,EAAA,GACF,CAACluB,CAAM,CAAC;AAeX,MAbAgB,GAAU,OACGiV,SAAAA,iBAAiB,mBAAmBqY,CAAW,GACjD,MAAM;AACApY,aAAAA,oBAAoB,mBAAmBoY,CAAW;AAAA,EAAA,IAEhE,CAACA,CAAW,CAAC,GAEhBttB,GAAU,MACChB,EAAOkB,uBAAuB,MAAM;AAC1B,IAAAotB;EAAA,CAChB,GACF,CAACtuB,GAAQsuB,CAAW,CAAC,GAEpB,EAAC3B;AAIEuC,WAAAA,qBACFxC,IAAqB;AAAA,MAClB,QAAAC;AAAA,MACA,QAAA3sB;AAAA,MACA,YAAAorB;AAAA,MACA,WAAAwB;AAAA,MACA,QAAAC;AAAA,MACA,UAAAC;AAAA,IAAA,CACF,GACF1B,CAAU;AAElB;AAEA,SAAwB+D,GAA4B;AAAA,EAAC/D,YAAAA,IAAatmB,SAASsqB;AAAI,GAAG;AACxE,QAAA,CAACpvB,CAAM,IAAIC,GAAAA;AACVguB,SAAAA,GAAyBjuB,GAAQorB,CAAU;AACtD;AC7TO,MAAMiE,KAAc,MAAM;AACvB,QAAA,CAACrvB,CAAM,IAAIC,GAAAA,6BACX;AAAA,IAACmM,eAAAA;AAAAA,EAAAA,IAAiBxrB,EAAM8rB,WAAWrF,EAAqB,GAExDioB,IAAoB1uC,EAAM4mC,YAAY,OAAOrb,GAAOojB,MAAiB;AACnEpjB,SAAAA,KAAAA,gBAAAA,EAAOnK,UAAS;AAChB,aAAO,MAAMkK,GAAmBC,GAAOojB,GAAcvvB,GAAQoM,CAAa;AAAA,EAC9E,GACD,CAACA,GAAepM,CAAM,CAAC;AAE1Bpf,SAAAA,EAAMogB,UAAU,MAAM;AAClB,QAAI,CAAChB,EAAOwvB,SAAS,CAAC7hB,EAAS,CAAC,GAAE;AAC9B+C,cAAQD,MAAM,uCAAuC;AACrD;AAAA,IACJ;AACOxP,WAAAA,GAAAA;AAAAA,MACHjB,EAAOqB,gBACHiM,IACA,OAAOyB,MAAY;AACf,cAAM3O,IAAYgB,EAAAA;AAEd,YAAA,CAACgV,EAAAA,kBAAkBhW,CAAS;AACrB,iBAAA;AAKX,YAFkBA,EAAU6W,MAAMT,QAAS,MAEzB,MAAM;AACd0N,gBAAAA,IAAYxW,GAAiBqB,CAAO;AAEtC,cAAA,CAACA,EAAQlG,KAAK;AACR0mB,kBAAAA,IAAerL,EAAU3gB;AAC/B+rB,YAAAA,EAAkBvgB,GAASwgB,CAAY;AAAA,UAC3C;AAKME,gBAAAA,IAAervB,EAAU6W,MAAMT,QAAS,GACxCkZ,IAA2BxH,EAAAA,iBAAiBuH,CAAY,KAAKA,EAAazqB,eAAqB,MAAA,IAC/F2qB,IAAWF,EAAattB,0BAA2B,EAACc,eAAgB;AACtE,UAAA,CAACysB,KAA4B,CAACC,KAC9BvvB,EAAUwvB,gBAAiB,GAG/BxvB,EAAU6W,MACLT,QAAS,EACTrU,0BAAyB,EACzB2hB,aAAaI,CAAS;AAI3B,gBAAM9gB,IAAgBC,EAAAA;AACRC,UAAAA,EAAAA,IAAI4gB,EAAU3gB,OAAQ,CAAA,GACpCC,EAAAA,cAAcJ,CAAa;AAAA,QAG/B;AAEO,eAAA;AAAA,SAEXyU,uBAAqB;AAAA,IAAA;AAAA,EAa9B,GAAA,CAAC7X,GAAQoM,GAAekjB,CAAiB,CAAC,GAEtC;AACX;ACrFA,SAASO,GAAWC,GAAMC,GAAqB;AAC3C,QAAMC,IAAWF,EAAKprB;AAEfiC,SADG0K,OAAO4e,KAAKF,CAAmB,EAAEG,KAAKzsC,CAAAA,MAAKssC,EAAoBtsC,GAAGulC,SAASgH,CAAQ,CAAC;AAElG;AAEA,SAASG,GAAgBhkB,GAAO4jB,GAAqB;AAC3CK,QAAAA,IAAgBjkB,EAAMkkB,OAAOC,UAAW;AAC9C,SAAO,IAAIC,QAAQ,CAACvkB,GAASC,MAAW;AACpC,UAAMukB,IAAY,CAAA;AACdzzB,QAAAA;AACJ,UAAM0zB,IAAiB,MAAM;AACnB,YAAA;AAAA,QAACC,MAAAA;AAAAA,QAAM9qB,OAAOkqB;AAAAA,MAAAA,IAAQM,EAAcrR;AAC1C,UAAI2R;AACA,eAAO1kB,EAAQ;AAAA,UAACwkB,WAAAA;AAAAA,UAAWzzB,MAAAA;AAAAA,QAAAA,CAAK;AAE9B4zB,YAAAA,IAAa,IAAIC;AACZ3a,MAAAA,EAAAA,iBAAiB,SAAShK,CAAM,GAChCgK,EAAAA,iBAAiB,QAAQ,MAAM;AAElC,QAAA,OADW0a,EAAWE,UACJ,YAClBL,EAAU7K,KAAKmK,CAAI,GAEPW;MAAA,CACnB;AACKhb,YAAAA,IAAWoa,GAAWC,GAAMC,CAAmB;AACrD,MAAIta,KACAkb,EAAWG,cAAchB,CAAI,GACtBra,IAAAA,MAEP/E,QAAQD,MAAM,uBAAuB,GACrBggB;IACpB;AAEY,IAAAA;EAAA,CACnB;AACL;AAEA,eAAeM,GAA6B/wB,GAAQ;AAC1CgR,QAAAA,IAAQ4U,GAAmB5lB,CAAM;AACvC,MAAI+vB,IAAsB,CAAA;AAC1B,aAAW,CAACta,GAAU1Y,CAAI,KAAKiU;AACvByE,IAAAA,KAAY1Y,EAAKgT,cACjBggB,EAAoBta,KAAY1Y,EAAKgT;AAGtC,SAAA;AAAA,IACHggB,qBAAAA;AAAAA,EAAAA;AAER;AAEA,SAASiB,KAAsB;AACrB,QAAA,CAAChxB,CAAM,IAAIC,GAAAA,6BAEXoI,IAAaznB,EAAM4mC,YAAapjC,CAAMA,MAAA;AACxCA,IAAAA,EAAE6d,eAAgB,GAClB7d,EAAE2E,gBAAiB;AAAA,EACvB,GAAG,CAAE,CAAA,GAECuf,IAAa1nB,EAAM4mC,YAAY,OAAOpjC,MAAM;AAC9CA,IAAAA,EAAE6d,eAAgB,GAClB7d,EAAE2E,gBAAiB,GACf3E,EAAEipB,aAAalB,SACfnM,EAAOsoB,gBAAgB2I,GAAAA,iBAAiB7sC,EAAEipB,aAAalB,KAAK;AAAA,EAChE,GACD,CAACnM,CAAM,CAAC;AAEXpf,EAAAA,EAAMogB,UAAU,MAAM;AAElB,UAAMkwB,IAAapsB,SAAS0U,cAAc,mBAAmB,KAAK1U;AACvDmR,WAAAA,EAAAA,iBAAiB,YAAY5N,CAAU,GACvC4N,EAAAA,iBAAiB,QAAQ3N,CAAU,GAEvC,MAAM;AACE4N,MAAAA,EAAAA,oBAAoB,YAAY7N,CAAU,GAC1C6N,EAAAA,oBAAoB,QAAQ5N,CAAU;AAAA,IAAA;AAAA,EACrD,GACD,CAACA,GAAYD,CAAU,CAAC;AAE3B,QAAM8oB,IAAmBvwC,EAAM4mC,YAAY,OAAOrb,MAAU;AAClD,UAAA;AAAA,MAAC4jB,qBAAAA;AAAAA,IAAAA,IAAuB,MAAMgB,GAA6B/wB,CAAM,GACjE;AAAA,MAACwwB,WAAAA;AAAAA,MAAWzzB,MAAAA;AAAAA,IAAQ,IAAA,MAAMozB,GAAgBhkB,GAAO4jB,CAAmB;AAC1E,IAAIS,EAAUxuB,UACNjF,MAAS,WACFurB,EAAAA,gBAAgBhb,IAAsBkjB,CAAS;AAAA,EAE9D,GACD,CAACxwB,CAAM,CAAC;AAEXpf,SAAAA,EAAMogB,UAAU,MACLhB,EAAOqB,gBACV4vB,GACA,iBAAA,OAAO9kB,MAAU;AACT,QAAA;AACO,aAAA,MAAMglB,EAAiBhlB,CAAK;AAAA,aAC9BsE;AACLC,cAAQD,MAAMA,CAAK;AAAA,IACvB;AAAA,KAEJ9O,EAAoB,oBAAA,GAEzB,CAAC3B,GAAQmxB,CAAgB,CAAC,GACtB;AACX;ACzGO,MAAMC,KAAuB,MAAM;AAChC,QAAA,CAACpxB,CAAM,IAAIC,GAAAA;AAEjBe,SAAAA,GAAU,MAAM;AACZ,QAAI,CAAChB,EAAOwvB,SAAS,CAAA,CAAE,GAAG;AACtB9e,cAAQD,MAAM,yDAAyD;AACvE;AAAA,IACJ;AACOzQ,WAAAA,EAAOqB,gBACV4C,IACA,MAAM;AACF,YAAM7D,IAAYgB,EAAAA;AAEd,UAAA,CAACgV,EAAAA,kBAAkBhW,CAAS;AACrB,eAAA;AAKX,UAFkBA,EAAU6W,MAAMT,QAAS,MAEzB,MAAM;AACpB,cAAM6a,IAAqB7sB,MAGrBirB,IAAervB,EAAU6W,MAAMT,QAAS;AAC9C,QAAI0R,EAAAA,iBAAiBuH,CAAY,KAAKA,EAAazqB,eAAAA,MAAqB,MACpE5E,EAAUwvB,gBAAiB,GAK/BxvB,EAAU6W,MACLT,QAAS,EACTrU,0BAAyB,EACzB2hB,aAAauN,CAAkB;AAAA,MACxC;AAEO,aAAA;AAAA,OAEX/uB,EAAuB,uBAAA;AAAA,EAAA,GAE5B,CAACtC,CAAM,CAAC,GAEJ;AACX;AChDO,SAASsxB,KAAoB;AAChC,2BACI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAmG,UAAA;AAAA,EAAA,CAAiC;AAE3J;ACgBA,MAAMC,KAAe,CAAC;AAAA,EAClBhqB,UAAAA;AAAAA,EACAiqB,sBAAAA;AACJ,MAAM;AACIC,QAAAA,IAAY7wC,EAAM4mC,YAAarmB,CAAgBA,MAAA;AAC3CuwB,UAAAA,IAAOvwB,EAAYwwB;AACzBpqB,IAAAA,KAAAA,QAAAA,EAAWmqB;AAAAA,EAAI,GAChB,CAACnqB,CAAQ,CAAC,GAEP;AAAA,IAACgK,oBAAAA;AAAAA,EAAAA,IAAsB3wB,EAAM8rB,WAAWrF,EAAqB,GAI7D,CAACuqB,GAAoBC,CAAqB,IAAIjxC,EAAM8H,SAAS,IAAI,GACjEopC,IAASC,CAAwBA,MAAA;AACnC,IAAIA,MAAwB,QACxBF,EAAsBE,CAAmB;AAAA,EAC7C;AAGJ,2BACI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAiB,KAAKxgB;AAAAA,IAAmB,UAAA,CACpD9sB,gBAAAA,EAACutC,mBAAc;AAAA,MACX,mCACI,OAAA;AAAA,QAAK,KAAKF;AAAAA,QAAM,4BACXG,oBAAe;AAAA,UAAC,WAAU;AAAA,QAAA,CAAU;AAAA,MAAA,CAE5C;AAAA,MACD,aAAaxtC,gBAAAA,EAAC6sC,IAAqB,EAAA;AAAA,MACnC,eAAeld;AAAAA,IAAAA,CACjB,GACF3vB,gBAAAA,EAACytC,mBAAc;AAAA,MAAC,UAAUT;AAAAA,IAAa,CAAA,GACtChtC,gBAAAA,EAAA0tC,kBAAgB,CAAA,CAAA,GAAA,KACjB1tC,gBAAAA,EAAC2tC,GAAAA,YAAU,CAAA,CAAA,GACX,uBAAC7Y,IAAqB;AAAA,MAAC,eAAehI;AAAAA,IAAAA,CAAsB,GAC5D9sB,gBAAAA,EAACkgC,IAAsB;AAAA,MAAC,cAAc6M;AAAAA,IAAqB,CAAA,GAC1D/sC,gBAAAA,EAAAykC,IAAkB,CAAA,CAAA,GAClBzkC,gBAAAA,EAAAsmC,IAAmB,EAAA,GACnB6G,uBAAwBzC,IAA2B;AAAA,MAAC,YAAYyC;AAAAA,IAAuB,CAAA,GACxFntC,gBAAAA,EAAC4qC,IAAc,CAAA,CAAA,GACf5qC,gBAAAA,EAACusC,IAAsB,CAAA,CAAA,GACvBvsC,gBAAAA,EAAC2sC,IAAuB,CAAA,CAAA,CAAA;AAAA,EAAA,CACtB;AAEd;"}
|
|
1
|
+
{"version":3,"file":"koenig-lexical.js","sources":["../src/assets/icons/kg-bold.svg","../src/assets/icons/kg-italic.svg","../src/assets/icons/kg-heading-1.svg","../src/assets/icons/kg-heading-2.svg","../src/assets/icons/kg-link.svg","../src/assets/icons/kg-quote.svg","../src/assets/icons/kg-img-regular.svg","../src/assets/icons/kg-img-wide.svg","../src/assets/icons/kg-img-full.svg","../src/assets/icons/kg-replace.svg","../src/assets/icons/kg-add.svg","../src/assets/icons/kg-snippet.svg","../src/assets/icons/plus.svg","../src/assets/icons/kg-card-type-image.svg","../src/assets/icons/kg-card-type-markdown.svg","../src/assets/icons/kg-card-type-html.svg","../src/assets/icons/kg-card-type-gallery.svg","../src/assets/icons/kg-card-type-divider.svg","../src/assets/icons/kg-card-type-bookmark.svg","../src/assets/icons/kg-card-type-email.svg","../src/assets/icons/kg-card-type-email-cta.svg","../src/assets/icons/kg-card-type-preview.svg","../src/assets/icons/kg-card-type-button.svg","../src/assets/icons/kg-card-type-callout.svg","../src/assets/icons/kg-card-type-gif.svg","../src/assets/icons/kg-card-type-toggle.svg","../src/assets/icons/kg-card-type-video.svg","../src/assets/icons/kg-card-type-audio.svg","../src/assets/icons/kg-card-type-file.svg","../src/assets/icons/kg-card-type-product.svg","../src/assets/icons/kg-card-type-header.svg","../src/assets/icons/kg-card-type-youtube.svg","../src/assets/icons/kg-card-type-twitter.svg","../src/assets/icons/kg-card-type-unsplash.svg","../src/assets/icons/kg-card-type-vimeo.svg","../src/assets/icons/kg-card-type-codepen.svg","../src/assets/icons/kg-card-type-spotify.svg","../src/assets/icons/kg-card-type-soundcloud.svg","../src/assets/icons/kg-card-type-nft.svg","../src/assets/icons/kg-card-type-other.svg","../src/assets/icons/kg-card-type-snippet.svg","../src/assets/icons/kg-img-placeholder.svg","../src/assets/icons/kg-gallery-placeholder.svg","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/DesignSandbox.jsx","../../../node_modules/@lexical/react/LexicalComposerContext.prod.js","../../../node_modules/@lexical/react/LexicalComposerContext.js","../../../node_modules/lexical/Lexical.prod.js","../../../node_modules/lexical/Lexical.js","../../../node_modules/@lexical/react/LexicalComposer.prod.js","../../../node_modules/@lexical/react/LexicalComposer.js","../../../node_modules/@lexical/utils/LexicalUtils.prod.js","../../../node_modules/@lexical/utils/LexicalUtils.js","../../../node_modules/@lexical/list/LexicalList.prod.js","../../../node_modules/@lexical/list/LexicalList.js","../../../node_modules/@lexical/selection/LexicalSelection.prod.js","../../../node_modules/@lexical/selection/LexicalSelection.js","../../../node_modules/@lexical/html/LexicalHtml.prod.js","../../../node_modules/@lexical/html/LexicalHtml.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.prod.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.js","../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js","../../../node_modules/@lexical/rich-text/LexicalRichText.js","../../../node_modules/@lexical/link/LexicalLink.prod.js","../../../node_modules/@lexical/link/LexicalLink.js","../src/nodes/AsideNode.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.js","../src/context/CardContext.jsx","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../src/components/ui/CardWrapper.jsx","../src/components/KoenigCardWrapper.jsx","../src/components/ui/cards/HorizontalRuleCard.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/utils/autoExpandTextArea.js","../src/components/ui/cards/CodeBlockCard.jsx","../src/nodes/CodeBlockNode.jsx","../src/context/KoenigComposerContext.jsx","../src/components/ui/CardCaptionEditor.jsx","../src/components/ui/MediaPlaceholder.jsx","../src/utils/openFileSelection.js","../src/components/ui/ImageUploadForm.jsx","../src/components/ui/cards/ImageCard.jsx","../src/assets/icons/kg-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/assets/icons/kg-edit.svg","../src/components/ui/ToolbarMenu.jsx","../src/components/ui/ActionToolbar.jsx","../src/utils/getImageDimensions.js","../src/utils/imageUploadHandler.js","../src/nodes/ImageNodeComponent.jsx","../src/nodes/ImageNode.jsx","../src/nodes/DefaultNodes.js","../src/themes/default.js","../src/components/KoenigComposer.jsx","../../../node_modules/@lexical/text/LexicalText.prod.js","../../../node_modules/@lexical/text/LexicalText.js","../../../node_modules/@lexical/dragon/LexicalDragon.prod.js","../../../node_modules/@lexical/dragon/LexicalDragon.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.prod.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.prod.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.js","../../../node_modules/@lexical/react/LexicalContentEditable.prod.js","../../../node_modules/@lexical/react/LexicalContentEditable.js","../../../node_modules/@lexical/history/LexicalHistory.prod.js","../../../node_modules/@lexical/history/LexicalHistory.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.prod.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.prod.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.js","../../../node_modules/@lexical/react/LexicalListPlugin.prod.js","../../../node_modules/@lexical/react/LexicalListPlugin.js","../src/plugins/KoenigBehaviourPlugin.jsx","../../../node_modules/prismjs/prism.js","../../../node_modules/prismjs/components/prism-clike.js","../../../node_modules/prismjs/components/prism-javascript.js","../../../node_modules/prismjs/components/prism-markup.js","../../../node_modules/prismjs/components/prism-markdown.js","../../../node_modules/prismjs/components/prism-c.js","../../../node_modules/prismjs/components/prism-css.js","../../../node_modules/prismjs/components/prism-objectivec.js","../../../node_modules/prismjs/components/prism-sql.js","../../../node_modules/prismjs/components/prism-python.js","../../../node_modules/prismjs/components/prism-rust.js","../../../node_modules/prismjs/components/prism-swift.js","../../../node_modules/@lexical/code/LexicalCode.prod.js","../../../node_modules/@lexical/code/LexicalCode.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.prod.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.prod.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.prod.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.js","../src/plugins/MarkdownShortcutPlugin.jsx","../src/utils/getSelectedNode.js","../src/components/ui/PlusMenu.jsx","../src/components/ui/CardMenu.jsx","../src/utils/getEditorCardNodes.js","../src/utils/buildCardMenu.js","../src/plugins/PlusCardMenuPlugin.jsx","../src/components/ui/SlashMenu.jsx","../src/plugins/SlashCardMenuPlugin.jsx","../src/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../src/plugins/FloatingFormatToolbarPlugin.jsx","../src/plugins/ImagePlugin.jsx","../src/plugins/DragDropPastePlugin.jsx","../src/plugins/HorizontalRulePlugin.jsx","../src/components/ui/EditorPlaceholder.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy40MTIgNi4yMTdoMS4xNzZjMS4yNzYgMCAyLjIzNi0uNzczIDIuMjM2LTEuNjA4IDAtLjgzNS0uOTYtMS42MDktMi4yMzYtMS42MDlINS43NjV2My4yMTdoMS42NDd6TTUuNzY1IDEzSDkuNDdDMTAuODc1IDEzIDEyIDExLjkyIDEyIDEwLjYwOXMtMS4xMjQtMi4zOTItMi41My0yLjM5Mkg1Ljc2NlYxM3ptLTIgMFYzSDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNS41ODhjMi4yOTcgMCA0LjIzNiAxLjU2MyA0LjIzNiAzLjYwOSAwIC44NzctLjM1NyAxLjY2Ni0uOTQ1IDIuMjhDMTMuMTUgNy42NjUgMTQgOS4wMzcgMTQgMTAuNjEgMTQgMTMuMDQzIDExLjk2MyAxNSA5LjQ3IDE1SDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoLjc2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMTUgM0w2LjEwNCAxM2guODExYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoMS43NjdMOS44MTMgM0g5Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDQuOTE1Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDEyLjE1eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNCA3aDhWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NS44OTdjLjAwMy4wMzQuMDA1LjA2OC4wMDUuMTAzIDAgLjAzNS0uMDAyLjA3LS4wMDUuMTAzVjE0YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjlINHY1YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjJjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxdjV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiA4aDRWNS40ODNjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxVjEzYzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xdi0zSDZ2M2MwIC41NTItLjQ0OCAxLTEgMXMtMS0uNDQ4LTEtMVY1LjQ4M2MwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDFWOHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik02LjQgMTEuNjg4Yy40LS4zODIgMS4wMzItLjM2OSAxLjQxNS4wMy4zODIuMzk5LjM2OCAxLjAzMi0uMDMgMS40MTRsLTEuMDU1IDEuMDFjLTEuMjA5IDEuMjEtMy4xNyAxLjIxLTQuMzggMGwtLjQ5NC0uNDk0Yy0xLjIwOC0xLjIwOS0xLjIwOC0zLjE3LjAwMS00LjM3N0w1LjA3IDYuMDU4YzEuMjEtMS4yMSAzLjE3LTEuMjEgNC4zOCAwIC4zOS4zOS4zOSAxLjAyNCAwIDEuNDE0LS4zOTEuMzktMS4wMjQuMzktMS40MTUgMC0uNDI4LS40MjgtMS4xMjItLjQyOC0xLjU1MSAwbC0zLjIxMyAzLjIxM2MtLjQyNy40MjctLjQyNyAxLjEyMiAwIDEuNTVsLjQ5NC40OTRjLjQyOC40MjggMS4xMjMuNDI4IDEuNTY2LS4wMTVsMS4wNy0xLjAyNnptMy4wMzctNy4yMTJjLS4zOTguMzgzLTEuMDMuMzcyLTEuNDE0LS4wMjUtLjM4NC0uMzk4LS4zNzMtMS4wMy4wMjUtMS40MTRsMS4yMjItMS4xOGMxLjIxLTEuMjA5IDMuMTY5LTEuMjA5IDQuMzc5IDBsLjQ5My40OTRjMS4yMSAxLjIwOSAxLjIxIDMuMTcuMDEzIDQuMzY2bC0zLjIzNyAzLjM1N2MtMS4yMSAxLjIxLTMuMTcgMS4yMS00LjM4IDAtLjM5LS4zOTEtLjM4OS0xLjAyNS4wMDItMS40MTUuMzktLjM5IDEuMDI0LS4zOSAxLjQxNC4wMDEuNDI4LjQyOSAxLjEyMS40MjkgMS41MzcuMDEzbDMuMjM4LTMuMzU4Yy40MjgtLjQyNy40MjgtMS4xMjEgMC0xLjU1bC0uNDk0LS40OTNjLS40MjktLjQyOS0xLjEyMy0uNDI5LTEuNTYzLjAxMkw5LjQzNyA0LjQ3NnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik00IDhoMmMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxSDNjLS41NTIgMC0xLS40NDgtMS0xVjUuMDgyYzAtMS4xNzYuOTA2LTIuMTIgMi41MzgtMi45NjkuNDktLjI1NSAxLjA5NC0uMDY1IDEuMzQ5LjQyNS4yNTUuNDkuMDY1IDEuMDk0LS40MjUgMS4zNDktLjU3OC4zLS45OTMuNTg5LTEuMjQuODQ3LS4xNjguMTc0LS4yMjIuMjg2LS4yMjIuMzQ4Vjh6bTkgMGMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxaC0zYy0uNTUyIDAtMS0uNDQ4LTEtMVY1LjA4MmMwLTEuMTc2LjkwNi0yLjEyIDIuNTM4LTIuOTY5LjQ5LS4yNTUgMS4wOTQtLjA2NSAxLjM0OS40MjUuMjU1LjQ5LjA2NSAxLjA5NC0uNDI1IDEuMzQ5LS41NzguMy0uOTkzLjU4OS0xLjI0Ljg0Ny0uMTY4LjE3NC0uMjIyLjI4Ni0uMjIyLjM0OFY4aDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUgyek0yIDE1Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDEyYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9Ii42Ii8+PHBhdGggZD0iTTIgNWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXY0LjAwMWMwIC41NTItLjQ0OCAxLTEgMUgyYy0uNTUyIDAtMS0uNDQ4LTEtMVY2YzAtLjU1Mi40NDgtMSAxLTF6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTYgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWg0Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDZ6TTYgMTVjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNGMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg2eiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIuNiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDVoMTJjLjU1MiAwIDEgLjQ0OCAxIDF2NC4wMDFjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTFWNmMwLS41NTIuNDQ4LTEgMS0xeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTAgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnpNMTQgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnoiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iLjYiLz4KICAgICAgICA8cGF0aCBkPSJNMTAuNjI2IDdMOS4zMTIgNS42OTFjLS4zOTEtLjM5LS4zOTMtMS4wMjMtLjAwMy0xLjQxNHMxLjAyMy0uMzkyIDEuNDE0LS4wMDNsMy4wMjkgMy4wMTdjLjM5LjM4OS4zOTIgMS4wMi4wMDUgMS40MTJsLTMuMDI5IDMuMDU5Yy0uMzg4LjM5Mi0xLjAyMi4zOTUtMS40MTQuMDA3LS4zOTItLjM4OS0uMzk2LTEuMDIyLS4wMDctMS40MTRMMTAuNjQ4IDlINS40MTVsMS4zNDIgMS4zNTVjLjM4OC4zOTIuMzg1IDEuMDI1LS4wMDcgMS40MTQtLjM5My4zODgtMS4wMjYuMzg1LTEuNDE1LS4wMDdMMi4zMDcgOC43MDNjLS4zODgtLjM5Mi0uMzg2LTEuMDIzLjAwNS0xLjQxMkw1LjM0IDQuMjc0Yy4zOTEtLjM5IDEuMDI1LS4zODggMS40MTQuMDAzLjM5LjM5MS4zODkgMS4wMjUtLjAwMiAxLjQxNEw1LjQzOCA3aDUuMTg4eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgOWg1Yy41NTIgMCAxIC40NDggMSAxdjRjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTF2LTRjMC0uNTUyLjQ0OC0xIDEtMXpNOSAxaDVjLjU1MiAwIDEgLjQ0OCAxIDF2NGMwIC41NTItLjQ0OCAxLTEgMUg5Yy0uNTUyIDAtMS0uNDQ4LTEtMVYyYzAtLjU1Mi40NDgtMSAxLTF6TTQuNSA1Ljc3MmwxLjE1LTEuMTc1Yy4xOTItLjE5OC41MDktLjIwMS43MDYtLjAwOC4xOTguMTkzLjIwMS41MS4wMDguNzA3TDQuMzgyIDcuMzIyYy0uMDkxLjEwOS0uMjI5LjE3OC0uMzgyLjE3OC0uMTMgMC0uMjYtLjA1LS4zNTctLjE0OEwxLjYxIDUuMjk4Yy0uMTk0LS4xOTYtLjE5My0uNTEzLjAwNC0uNzA3LjE5Ni0uMTk0LjUxMi0uMTkzLjcwNy4wMDRMMy41IDUuNzg1VjNjMC0uODI4LjY3Mi0xLjUgMS41LTEuNWgxYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNUg1Yy0uMjc2IDAtLjUuMjI0LS41LjV2Mi43NzJ6bTcgNC40NTZsLTEuMTUgMS4xNzVjLS4xOTIuMTk4LS41MDkuMjAxLS43MDYuMDA4LS4xOTgtLjE5My0uMjAxLS41MS0uMDA4LS43MDdsMS45ODItMi4wMjZjLjA5MS0uMTA5LjIyOS0uMTc4LjM4Mi0uMTc4LjEzIDAgLjI2LjA1LjM1Ny4xNDhsMi4wMzIgMi4wNTRjLjE5NC4xOTYuMTkzLjUxMy0uMDA0LjcwNy0uMTk2LjE5NC0uNTEyLjE5My0uNzA3LS4wMDRsLTEuMTc4LTEuMTlWMTNjMCAuODI4LS42NzIgMS41LTEuNSAxLjVoLTFjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgxYy4yNzYgMCAuNS0uMjI0LjUtLjV2LTIuNzcyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik05IDdoNWMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg5djVjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWOUgyYy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDVWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAzVjEzSDguNzg1NzlMMTMgOC43ODU3OVYzSDNaTTEuNTI3MjEgMS41MjcyMUMxLjg2NDc3IDEuMTg5NjQgMi4zMjI2MSAxIDIuOCAxSDEzLjJDMTMuNjc3NCAxIDE0LjEzNTIgMS4xODk2NCAxNC40NzI4IDEuNTI3MjFDMTQuODEwNCAxLjg2NDc3IDE1IDIuMzIyNjEgMTUgMi44VjguODY4OEMxNC45OTk5IDkuMzQ1ODUgMTQuODEwNCA5LjgwMzU3IDE0LjQ3MzIgMTAuMTQxTDEwLjE0MTIgMTQuNDczQzkuODAzOCAxNC44MTAyIDkuMzQ2MDcgMTQuOTk5OSA4Ljg2OTAxIDE1SDIuOEMyLjMyMjYxIDE1IDEuODY0NzcgMTQuODEwNCAxLjUyNzIxIDE0LjQ3MjhDMS4xODk2NCAxNC4xMzUyIDEgMTMuNjc3NCAxIDEzLjJWMi44QzEgMi4zMjI2MSAxLjE4OTY0IDEuODY0NzcgMS41MjcyMSAxLjUyNzIxWiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxMEgxNEMxNC41NTIzIDEwIDE1IDkuNTUyMjggMTUgOUMxNSA4LjQ0NzcyIDE0LjU1MjMgOCAxNCA4SDkuODQ2MDJDOS4zNTY0MyA4IDguODg2ODggOC4xOTQ0OSA4LjU0MDY5IDguNTQwNjlDOC4xOTQ0OSA4Ljg4Njg4IDggOS4zNTY0MyA4IDkuODQ2MDJWMTRDOCAxNC41NTIzIDguNDQ3NzIgMTUgOSAxNUM5LjU1MjI4IDE1IDEwIDE0LjU1MjMgMTAgMTRWMTBaIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTEyIDEuNXYyMU0xLjUgMTJoMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzMwY2Y0MyIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy43NzggMTIuMTExYzAgMy4xMTEtMS41NTYgNC42NjctNC42NjcgNC42NjctMy4xMTEgMC00LjY2Ny0xLjU1Ni00LjY2Ny00LjY2N0MxNC40NDQgOSAxNiA3LjQ0NCAxOS4xMTEgNy40NDRjMy4xMTEgMCA0LjY2NyAxLjU1NiA0LjY2NyA0LjY2N3pNMTkuMTExIDUuNWMuNzc4IDAgMS4xNjctLjM4OSAxLjE2Ny0xLjE2N3YtLjc3N2MwLS40NS0uMTk1LS43ODYtLjU4NC0xLjAxLS4zODgtLjIyNS0uNzc3LS4yMjUtMS4xNjYgMC0uMzkuMjI0LS41ODQuNTYtLjU4NCAxLjAxdi43NzdjMCAuNzc4LjM5IDEuMTY3IDEuMTY3IDEuMTY3ek0xMi43ODggNy40MzVjLjU1LjU1MiAxLjEuNTU0IDEuNjUzLjAwNC41NTItLjU1LjU1My0xLjEuMDAzLTEuNjUzbC0uNTQ5LS41NWMtLjU1LS41NTItMS4xMDEtLjU1NC0xLjY1My0uMDA0LS41NTMuNTUtLjU1NCAxLjEwMS0uMDA1IDEuNjU0bC41NS41NXpNMTAuNTU2IDEzLjI3OGguNzc3Yy43NzggMCAxLjE2Ny0uMzkgMS4xNjctMS4xNjcgMC0uNzc4LS4zODktMS4xNjctMS4xNjctMS4xNjdoLS43NzdjLS43NzggMC0xLjE2Ny4zOS0xLjE2NyAxLjE2NyAwIC43NzguMzg5IDEuMTY3IDEuMTY3IDEuMTY3ek0yNS40MzQgMTYuNzg3Yy0uNTQ5LS41MTItMS4wODktLjUwMi0xLjYyLjAyOS0uNTMuNTMtLjU0IDEuMDctLjAyOCAxLjYybC41NDkuNTVjLjU1LjU1IDEuMS41NSAxLjY1IDAgLjU1LS41NS41NS0xLjEgMC0xLjY1bC0uNTUtLjU0OXpNMjUuNzIyIDEyLjExMWMwIC43NzguMzkgMS4xNjcgMS4xNjcgMS4xNjdoLjc3OGMuNzc3IDAgMS4xNjYtLjM5IDEuMTY2LTEuMTY3IDAtLjc3OC0uMzg5LTEuMTY3LTEuMTY2LTEuMTY3aC0uNzc4Yy0uMzIyIDAtLjU5Ny4xMTQtLjgyNS4zNDItLjIyOC4yMjgtLjM0Mi41MDMtLjM0Mi44MjV6TTI0LjYxIDcuNzc5Yy4zMjMgMCAuNTk4LS4xMTQuODI0LS4zNDRsLjU1MS0uNTQ5Yy41NS0uNTUuNTUtMS4xIDAtMS42NS0uNTUtLjU1LTEuMS0uNTUtMS42NSAwbC0uNTUuNTVjLS4zNjYuMzY4LS40NS43OTItLjI1MSAxLjI3MS4xOTguNDguNTU3LjcyIDEuMDc2LjcyMnpNMjEuOTExIDIyLjM1NmMtLjc3MSAwLTEuNTIyLjEyLTIuMjU0LjM2NC0uMTI3LjA0Mi0uMjEuMTI2LS4yNS4yNTQtLjAzOS4xMjctLjAxOC4yNDQuMDYzLjM1IDEuMjgzIDEuNjg5IDIuMDcgMy41ODMgMi4zNjIgNS42ODQuMDIuMTQyLjEwMy4yMTQuMjQ3LjIxNGg0LjkwNmMuODM2IDAgMS40OTItLjM0MyAxLjk2Ny0xLjAzMS0uNzM3LTMuODktMy4wODQtNS44MzUtNy4wNDItNS44MzVoLjAwMXpNOS42NDQgMTkuOTY4Yy0yLjUxOC0uMDA0LTQuNzU4Ljc4My02LjcyIDIuMzYyLS4xLjA4LS4xNDkuMTgzLS4xNDYuMzF2NC4yYy4wMDQgMS41ODguOCAyLjM4MiAyLjM4OCAyLjM4MkgxOS44M2MuMTIyIDAgLjIyMi0uMDQ2LjMtLjE0LjA3Ny0uMDkzLjEwNS0uMi4wODItLjMxOS0xLjA4My01Ljg2My00LjYwNi04Ljc5NS0xMC41NjgtOC43OTV6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iI2ZiMmQ4ZCIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICAgICAgPHBhdGggc3Ryb2tlPSIjRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTggMjB2LThsNCA0IDQtNHY4TTIyIDEyLjA3djcuOTE2TTE5LjUgMTcuNWwyLjQ4IDIuNTI1TDI0LjUgMTcuNSIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIgNGgyOHYyNEgyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2YzAtMi42NjctMS4zMzMtNC00LTRINGMtMS4xMDUgMC0yLjA0Ny4zOS0yLjgyOCAxLjE3MkMuMzkgMy45NTIgMCA0Ljg5NSAwIDZ2MjBjMCAyLjY2NyAxLjMzMyA0IDQgNGgyNGMyLjY2NyAwIDQtMS4zMzMgNC00VjZ6TTQgNi42NjdjMC0uNTk0LjI3NC0xLjAwNS44MjMtMS4yMzIuNTQ5LS4yMjcgMS4wMzMtLjEzMSAxLjQ1My4yODkuNDIuNDIuNTE2LjkwNC4yOSAxLjQ1My0uMjI4LjU0OS0uNjM5LjgyMy0xLjIzMy44MjNDNC40NDQgOCA0IDcuNTU2IDQgNi42Njd6bTQgMGMwLS41OTQuMjc0LTEuMDA1LjgyMy0xLjIzMi41NDktLjIyNyAxLjAzMy0uMTMxIDEuNDUzLjI4OS40Mi40Mi41MTYuOTA0LjI5IDEuNDUzLS4yMjguNTQ5LS42MzkuODIzLTEuMjMzLjgyM0M4LjQ0NCA4IDggNy41NTYgOCA2LjY2N3ptNCAwYzAtLjU5NC4yNzQtMS4wMDUuODIzLTEuMjMyLjU0OS0uMjI3IDEuMDMzLS4xMzEgMS40NTMuMjg5LjQyLjQyLjUxNi45MDQuMjkgMS40NTMtLjIyOC41NDktLjYzOS44MjMtMS4yMzMuODIzQzEyLjQ0NCA4IDEyIDcuNTU2IDEyIDYuNjY3ek0yOS4zMzMgMjZjMCAuODg5LS40NDQgMS4zMzMtMS4zMzMgMS4zMzNINGMtLjg4OSAwLTEuMzMzLS40NDQtMS4zMzMtMS4zMzNWMTJjMC0uMTg0LjA2NS0uMzQxLjE5NS0uNDcxLjEzLS4xMy4yODctLjE5Ni40NzEtLjE5NmgyNS4zMzRjLjQ0NCAwIC42NjYuMjIzLjY2Ni42Njd2MTR6IiBmaWxsPSIjMTRiOGZmIi8+CiAgICAgICAgPHBhdGggZD0iTTEwLjMzMyAxNmMwIC42NjcuMzM0IDEgMSAxIC4yMjMgMCAuMzM0LjExMS4zMzQuMzMzdjUuMzM0YzAgLjY2Ni4zMzMgMSAxIDEgLjY2NiAwIDEtLjMzNCAxLTF2LTUuMzM0YzAtLjA5Mi4wMzItLjE3LjA5Ny0uMjM1LjA2NS0uMDY1LjE0NC0uMDk4LjIzNi0uMDk4LjY2NyAwIDEtLjMzMyAxLTFzLS4zMzMtMS0xLTFoLTIuNjY3Yy0uMjc2IDAtLjUxMi4wOTgtLjcwNy4yOTMtLjE5NS4xOTUtLjI5My40My0uMjkzLjcwN3pNNS4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0xLjMzNGMwLS4xMjguMDU2LS4yMjQuMTY3LS4yODguMTExLS4wNjQuMjIyLS4wNjQuMzMzIDAgLjExMS4wNjQuMTY3LjE2LjE2Ny4yODh2MS4zMzRjMCAuNjY2LjMzMyAxIDEgMXMxLS4zMzQgMS0xVjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzMzLS4xOTItLjY2Ny0uMTkyLTEgMC0uMzMzLjE5Mi0uNS40ODEtLjUuODY2djIuNjY3YzAgLjIyMi0uMTExLjMzMy0uMzMzLjMzMy0uMjIzIDAtLjMzNC0uMTExLS4zMzQtLjMzM1YxNmMwLS4zODUtLjE2Ni0uNjc0LS41LS44NjYtLjMzMy0uMTkyLS42NjYtLjE5Mi0xIDAtLjMzMy4xOTItLjUuNDgxLS41Ljg2NnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxek0yMy42NjcgMjEuMzMzYy4wMDEgMS41NTQuNzggMi4zMzIgMi4zMzMgMi4zMzRoMS4zMzNjLjY2NyAwIDEtLjMzNCAxLTEgMC0uNjY3LS4zMzMtMS0xLTFIMjZjLS4yMjIgMC0uMzMzLS4xMTEtLjMzMy0uMzM0VjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzM0LS4xOTItLjY2Ny0uMTkyLTEgMC0uMzM0LjE5Mi0uNS40ODEtLjUuODY2djUuMzMzek0xNy4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0yLjc4YzAtLjAzOS4wMi0uMDYzLjA1Ni0uMDczLjAzNy0uMDEuMDY2IDAgLjA4Ni4wMzQuMjA3LjMwMS40OTMuNDUyLjg1OC40NTIuMzY2IDAgLjY1Mi0uMTUuODU5LS40NTIuMDItLjAzMy4wNDgtLjA0NS4wODUtLjAzNC4wMzguMDEuMDU2LjAzNC4wNTYuMDczdjIuNzhjMCAuNjY2LjMzNCAxIDEgMSAuNjY3IDAgMS0uMzM0IDEtMVYxNmMtLjAwMS0uNTA2LS4yNDYtLjgyNy0uNzM0LS45NjJzLS44NjMuMDE0LTEuMTI0LjQ0N2wtLjg1NiAxLjQyOGMtLjA2NS4xMDgtLjE2LjE2MS0uMjg2LjE2MS0uMTI1IDAtLjIyLS4wNTMtLjI4NS0uMTZsLS44NTYtMS40MjljLS4yNjItLjQzMy0uNjM2LS41ODItMS4xMjUtLjQ0Ny0uNDg4LjEzNS0uNzMyLjQ1Ni0uNzM0Ljk2MnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxeiIgZmlsbD0iIzE0YjhmZiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMSAyaDI1djI0SDF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI3LjMzMyAyNC42Njd2LTIyQzI3LjMzMy44ODkgMjYuNDQ0IDAgMjQuNjY3IDBoLTIyQzEuOTMgMCAxLjMwMi4yNi43OC43ODEuMjYxIDEuMzAxIDAgMS45MzEgMCAyLjY2N3YyMmMwIDEuNzc3Ljg4OSAyLjY2NiAyLjY2NyAyLjY2NmgyMmMxLjc3NyAwIDIuNjY2LS44ODkgMi42NjYtMi42NjZ6IiBmaWxsPSIjZmZiNDFmIi8+CiAgICAgICAgPHBhdGggZD0iTTE5LjExMyAxMi45MzNjLS4xMjYtLjYwMy0uNDk3LS45MTEtMS4xMTItLjkyNS0uNjE2LS4wMTQtMSAuMjc3LTEuMTU0Ljg3M2wtMi4xMjMgNC42NjdjLS4wNTEuMTEyLS4xMzcuMTc2LS4yNi4xOTItLjEyMS4wMTctLjIyMS0uMDIzLS4zLS4xMTdsLTEuNDY3LTEuNzUyYy0uMzQtLjQ2Mi0uNzk2LS42Ny0xLjM2OC0uNjI1LS41NzEuMDQ0LS45OS4zMi0xLjI1NC44MjlMNi43NiAyMS42Yy0uMTMzLjIyMi0uMTM2LjQ0Ni0uMDA4LjY3MS4xMjguMjI2LjMyMS4zMzguNTguMzM4SDIyYy4yMzYgMCAuNDItLjA5Ny41NTItLjI5My4xMzItLjE5NS4xNTQtLjQwMi4wNjctLjYyMWwtMy41MDYtOC43NjJ6TTEwLjY2NyA4YzAgMS43NzgtLjg5IDIuNjY3LTIuNjY3IDIuNjY3LTEuNzc4IDAtMi42NjctLjg5LTIuNjY3LTIuNjY3IDAtMS43NzguODktMi42NjcgMi42NjctMi42NjcgMS43NzggMCAyLjY2Ny44OSAyLjY2NyAyLjY2N3oiIGZpbGw9IiNGRkYiLz4KICAgICAgICA8cGF0aCBkPSJNMzAuNjY3IDhjLS4zNjkgMC0uNjgzLjEzLS45NDMuMzktLjI2LjI2LS4zOS41NzUtLjM5Ljk0M3YxOS4zMzRjMCAuNDQ0LS4yMjMuNjY2LS42NjcuNjY2SDkuMzMzYy0uODg5IDAtMS4zMzMuNDQ1LTEuMzMzIDEuMzM0UzguNDQ0IDMyIDkuMzMzIDMyaDIwQzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzdi0yMEMzMiA4LjQ0NCAzMS41NTYgOCAzMC42NjcgOHoiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iIzMwY2Y0MyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMTUiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyIiByeD0iMSIvPgogICAgICAgIDxyZWN0IGZpbGw9IiNGRkYiIHg9IjMiIHk9IjMiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMjIiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMzIgMi42NjdDMzIgLjg4OSAzMS4xMTEgMCAyOS4zMzMgMEgyLjY2N0MxLjkzIDAgMS4zMDIuMjYuNzguNzgxLjI2MSAxLjMwMSAwIDEuOTMxIDAgMi42Njd2MjYuNjY2QzAgMzEuMTExLjg4OSAzMiAyLjY2NyAzMmgyNi42NjZDMzEuMTExIDMyIDMyIDMxLjExMSAzMiAyOS4zMzNWMi42NjdaIiBmaWxsPSIjRkIyRDhEIi8+CiAgICA8cGF0aCBkPSJNMTUuOTk4LS4wMXYxOC42NzRjLS4wNTQuNTU4LjE3NS45NTEuNjg3IDEuMTguNTI1LjIuOTY1LjA4NCAxLjMyMi0uMzVsMi42ODktMi42ODNhLjQwNC40MDQgMCAwIDEgLjI5NC0uMTIyYy4xMTYgMCAuMjE0LjA0MS4yOTUuMTIybDIuNjkgMi42ODRjLjI0NS4yNzQuNTUyLjQxNy45Mi40MjguMTM5IDAgLjI3My0uMDI2LjQwMS0uMDc4LjUxMi0uMjMuNzQxLS42MjMuNjg3LTEuMThWLS4wNjJsLTkuOTg1LjA1di4wMDJaIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0ibm9uZSI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzE0YjhmZiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy4zMTIgOS41SDguNjg3Yy0xLjIzMyAwLTIgLjc2Ny0yIDJ2OWMwIDEuMjMzLjc2NyAyIDIgMmgxNC42MjVjMS4yMzQgMCAyLS43NjcgMi0ydi05YzAtMS4yMzMtLjc2Ni0yLTItMnpNOC41NiAxMS4yNWgxNC44ODJjLjEuMDA0LjExOC4wMjIuMTIxLjEyMnY5LjI1NmMtLjAwNC4xMTYtLjAyOS4xMjItLjE3OC4xMjJIOC41NmMtLjEtLjAwNC0uMTE4LS4wMjItLjEyMS0uMTIydi05LjI1NmMuMDAzLS4xLjAyMi0uMTE4LjEyMS0uMTIyeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xOC4xMjMgMTMuODg3Yy4zLS4zMjUuNzktLjM3IDEuMTQ0LS4xMjNsLjA5Mi4wNzUgMi44NiAyLjY0M2MuMzU1LjMyOS4zNzcuODgyLjA0OSAxLjIzNy0uMzAxLjMyNS0uNzkxLjM3LTEuMTQ0LjEyM2wtLjA5My0uMDc0LTIuODYtMi42NDRjLS4zNTUtLjMyOC0uMzc2LS44ODItLjA0OC0xLjIzN3pNMTIuNjQgMTMuODM5Yy4zNTYtLjMyOC45MS0uMzA3IDEuMjM3LjA0OC4zMDEuMzI2LjMwOC44MTguMDMzIDEuMTVsLS4wODEuMDg3LTIuODYgMi42NDRjLS4zNTUuMzI4LS45MDguMzA2LTEuMjM3LS4wNDktLjMtLjMyNS0uMzA3LS44MTgtLjAzMy0xLjE1bC4wODItLjA4NyAyLjg2LTIuNjQzeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy42NjMgMTAuMDRjLjM5OC0uMjc0Ljk0My0uMTc0IDEuMjE3LjIyNC4yNTIuMzY0LjE4OS44NTMtLjEzIDEuMTQzbC0uMDkzLjA3NC03LjEzNSA0LjkyYy0uOTI1LjYzOC0xLjkzNS42NzYtMi44Ny4xMTJsLS4xNzQtLjExMi03LjEzNS00LjkyYy0uMzk4LS4yNzUtLjQ5OC0uODItLjIyMy0xLjIxNy4yNTEtLjM2NS43My0uNDggMS4xMTQtLjI4NWwuMTAzLjA2MSA3LjEzNSA0LjkyYy4zNDYuMjQuNjEzLjI2My45NDQuMDcybC4xMTMtLjA3MiA3LjEzNC00LjkyeiIgZmlsbD0iI0ZGRiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMyIgZmlsbD0iI0ZGQjQxRiIvPgogIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTE0LjUzNiAxNS41NjhsMi42OCA4LjkzMWEuODMuODMgMCAwMDEuMzgyLjM0OWwxLjM2NS0xLjM2NSAzLjUyMiAzLjUyMmEuODMuODMgMCAwMDEuMTc0IDBsMi4zNDgtMi4zNDhhLjgzLjgzIDAgMDAwLTEuMTc0bC0zLjUyMi0zLjUyMkwyNC44NSAxOC42YS44MjkuODI5IDAgMDAtLjM0OC0xLjM4MmwtOC45MzItMi42OGEuODMuODMgMCAwMC0xLjAzNCAxLjAzeiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi44NiA0LjI1NUExMS4yNSAxMS4yNSAwIDAxMjYuNDcgMTQuNDQ3YS43NS43NSAwIDAxLTEuNDk2LjEwNiA5Ljc1IDkuNzUgMCAxMC0xMC40MjEgMTAuNDIuNzUuNzUgMCAwMS0uMTA3IDEuNDk2IDExLjI1IDExLjI1IDAgMDEtMS41ODgtMjIuMjE0eiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMDUgOC43ODVhNi43NSA2Ljc1IDAgMDE4LjIwMyAzLjkzNC43NS43NSAwIDExLTEuMzkuNTYyIDUuMjUgNS4yNSAwIDEwLTYuODM3IDYuODM1Ljc1Ljc1IDAgMTEtLjU2MiAxLjM5IDYuNzUgNi43NSAwIDAxLjU4Ni0xMi43MnoiLz4KICA8L2c+CiAgPGNsaXBQYXRoIGlkPSJjbGlwMCI+CiAgICA8cGF0aCBmaWxsPSIjZmZmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0IDQpIiBkPSJNMCAwaDI0djI0SDB6Ii8+CiAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTMwIDBIMmEyIDIgMCAwMC0yIDJ2MjhhMiAyIDAgMDAyIDJoMjhhMiAyIDAgMDAyLTJWMmEyIDIgMCAwMC0yLTJ6IiBmaWxsPSIjMzBDRjQzIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTkgOS4wMDFjNC4wMDctLjA2IDcuOTYyIDIuNzM3IDEwLjM2NiA1LjQyNWwuMDA0LjAwNGEyLjUxNyAyLjUxNyAwIDAxMCAzLjMzN2wtLjAwMy4wMDRjLTIuMzQ5IDIuNjI4LTYuMjk0IDUuNDktMTAuMzY3IDUuNDI4LTQuMDczLjA2MS04LjAxOC0yLjgtMTAuMzY1LTUuNDI5bC0uMDAzLS4wMDNhMi41MTcgMi41MTcgMCAwMTAtMy4zMzdsLjAwMy0uMDA0QzguMDM2IDExLjczOCAxMS45OTEgOC45NCAxNiA5LjAwMWgtLjAwMXptLTguODcyIDYuNzU2YS41MTcuNTE3IDAgMDAwIC42ODNjMi4yMDggMi40NzIgNS42NDUgNC44MTQgOC44NTUgNC43NTloLjAzNGMzLjIwOS4wNTUgNi42NDctMi4yODcgOC44NTctNC43NTlhLjUxOC41MTggMCAwMDAtLjY4M2MtMi4yNTctMi41MjItNS43MDUtNC44MS04Ljg1Ny00Ljc1NmgtLjAzNGMtMy4xNTItLjA1NC02LjYgMi4yMzQtOC44NTUgNC43NTZ6IiBmaWxsPSIjZmZmIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAxOGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHptMCAyYTQgNCAwIDEwMC04IDQgNCAwIDAwMCA4eiIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZD0iTTEzLjUzNjEgMTUuNTY4TDE2LjIxNjEgMjQuNDk5QzE2LjI1NzMgMjQuNjM2NiAxNi4zMzM1IDI0Ljc2MTIgMTYuNDM3MiAyNC44NjA1QzE2LjU0MSAyNC45NTk5IDE2LjY2ODggMjUuMDMwNiAxNi44MDggMjUuMDY1OEMxNi45NDczIDI1LjEwMSAxNy4wOTMzIDI1LjA5OTQgMTcuMjMxOCAyNS4wNjEyQzE3LjM3MDMgMjUuMDIzIDE3LjQ5NjUgMjQuOTQ5NiAxNy41OTgxIDI0Ljg0OEwxOC45NjMxIDIzLjQ4M0wyMi40ODUxIDI3LjAwNUMyMi41NjIyIDI3LjA4MjEgMjIuNjUzNyAyNy4xNDMzIDIyLjc1NDQgMjcuMTg1QzIyLjg1NTEgMjcuMjI2NyAyMi45NjMxIDI3LjI0ODIgMjMuMDcyMSAyNy4yNDgyQzIzLjE4MTEgMjcuMjQ4MiAyMy4yODkxIDI3LjIyNjcgMjMuMzg5OCAyNy4xODVDMjMuNDkwNSAyNy4xNDMzIDIzLjU4MiAyNy4wODIxIDIzLjY1OTEgMjcuMDA1TDI2LjAwNzEgMjQuNjU3QzI2LjA4NDIgMjQuNTc5OSAyNi4xNDU0IDI0LjQ4ODQgMjYuMTg3MSAyNC4zODc3QzI2LjIyODggMjQuMjg3IDI2LjI1MDMgMjQuMTc5IDI2LjI1MDMgMjQuMDdDMjYuMjUwMyAyMy45NjEgMjYuMjI4OCAyMy44NTMgMjYuMTg3MSAyMy43NTIzQzI2LjE0NTQgMjMuNjUxNiAyNi4wODQyIDIzLjU2MDEgMjYuMDA3MSAyMy40ODNMMjIuNDg1MSAxOS45NjFMMjMuODUwMSAxOC42QzIzLjk1MiAxOC40OTg2IDI0LjAyNTcgMTguMzcyNSAyNC4wNjQxIDE4LjIzNEMyNC4xMDI1IDE4LjA5NTUgMjQuMTA0MyAxNy45NDk0IDI0LjA2OTIgMTcuODFDMjQuMDM0MSAxNy42NzA3IDIzLjk2MzQgMTcuNTQyOCAyMy44NjM5IDE3LjQzOUMyMy43NjQ1IDE3LjMzNTIgMjMuNjM5OCAxNy4yNTkxIDIzLjUwMjEgMTcuMjE4TDE0LjU3MDEgMTQuNTM4QzE0LjQyNjkgMTQuNDk1MiAxNC4yNzQ4IDE0LjQ5MTggMTQuMTI5OCAxNC41MjgyQzEzLjk4NDggMTQuNTY0NyAxMy44NTI0IDE0LjYzOTYgMTMuNzQ2NCAxNC43NDUxQzEzLjY0MDUgMTQuODUwNiAxMy41NjUxIDE0Ljk4MjggMTMuNTI4MSAxNS4xMjc2QzEzLjQ5MSAxNS4yNzI1IDEzLjQ5MzggMTUuNDI0NiAxMy41MzYxIDE1LjU2OFoiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTIuMjg3MSAyMy43NUMxMi43MDEzIDIzLjc1IDEzLjAzNzEgMjMuNDE0MiAxMy4wMzcxIDIzQzEzLjAzNzEgMjIuNTg1OCAxMi43MDEzIDIyLjI1IDEyLjI4NzEgMjIuMjVWMjMuNzVaTTI1Ljc1IDE3LjI0OTZDMjUuNzUgMTcuNjYzOCAyNi4wODU4IDE3Ljk5OTYgMjYuNSAxNy45OTk2QzI2LjkxNDIgMTcuOTk5NiAyNy4yNSAxNy42NjM4IDI3LjI1IDE3LjI0OTZIMjUuNzVaTTguNSA5Ljc1SDIzLjVWOC4yNUg4LjVWOS43NVpNNi4yNSAyMFYxMkg0Ljc1VjIwSDYuMjVaTTEyLjI4NzEgMjIuMjVIMTAuNzVWMjMuNzVIMTIuMjg3MVYyMi4yNVpNMTAuNzUgMjIuMjVIOC41VjIzLjc1SDEwLjc1VjIyLjI1Wk0yNS43NSAxMlYxNkgyNy4yNVYxMkgyNS43NVpNMjUuNzUgMTZWMTcuMjQ5NkgyNy4yNVYxNkgyNS43NVpNNC43NSAyMEM0Ljc1IDIyLjA3MTEgNi40Mjg5MyAyMy43NSA4LjUgMjMuNzVWMjIuMjVDNy4yNTczNiAyMi4yNSA2LjI1IDIxLjI0MjYgNi4yNSAyMEg0Ljc1Wk0yMy41IDkuNzVDMjQuNzQyNiA5Ljc1IDI1Ljc1IDEwLjc1NzQgMjUuNzUgMTJIMjcuMjVDMjcuMjUgOS45Mjg5MyAyNS41NzExIDguMjUgMjMuNSA4LjI1VjkuNzVaTTguNSA4LjI1QzYuNDI4OTMgOC4yNSA0Ljc1IDkuOTI4OTMgNC43NSAxMkg2LjI1QzYuMjUgMTAuNzU3NCA3LjI1NzM2IDkuNzUgOC41IDkuNzVWOC4yNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHJ4PSIzIiBmaWxsPSIjMTRCOEZGIi8+CiAgICA8ZyBmaWxsPSIjZmZmIj4KICAgICAgICA8cGF0aCBkPSJNMjAgMTEuNzVhMi4yNDIgMi4yNDIgMCAwIDAtMS45OTMtMi4yMjUgOS40MTQgOS40MTQgMCAwIDAtLjI1NyAyLjIyNWMtLjAwMy43NDkuMDgzIDEuNDk2LjI1NyAyLjIyNEEyLjI0MyAyLjI0MyAwIDAgMCAyMCAxMS43NVpNMTMuNzUgMTguNDMzIDkuNDEgMTcuMDVsMS45NzMgNC44NTZhMS43NDYgMS43NDYgMCAwIDAgMy4zNjctLjYzNmMuMDAzLS4yMy0uMDQtLjQ1Ny0uMTI2LS42N2wtLjg3NC0yLjE2N1oiLz4KICAgICAgICA8cGF0aCBkPSJNMTkuMjUgNWMtLjI3IDAtLjUzNy4wNDgtLjc5LjEzOUw3LjA0NiA4Ljc3OEEyLjg2NCAyLjg2NCAwIDAgMCA1IDExLjc1YTIuODU3IDIuODU3IDAgMCAwIDIuMDI1IDIuOTY1bDExLjQzNyAzLjY0NmMuMjUzLjA5MS41Mi4xMzguNzg4LjEzOSAyLjEzOCAwIDMuNzUtMi45MDIgMy43NS02Ljc1UzIxLjM4OCA1IDE5LjI1IDVabTAgMTJDMTguMTg4IDE3IDE3IDE0Ljc1NSAxNyAxMS43NXMxLjE4OC01LjI1IDIuMjUtNS4yNSAyLjI1IDIuMjQ1IDIuMjUgNS4yNVMyMC4zMTIgMTcgMTkuMjUgMTdaIi8+CiAgICA8L2c+CiAgICA8Y2xpcFBhdGg+CiAgICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSA1KSIgZD0iTTAgMGgxOHYxOEgweiIvPgogICAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZGQjQxRiIvPgogICAgPHBhdGggZD0iTTUuNSA3Ljc1SDI2LjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik01LjUgMjQuMjVIMjYuNSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE5Ljc1VjEzLjc1QzE5IDEzLjM1MjIgMTkuMTU4IDEyLjk3MDYgMTkuNDM5MyAxMi42ODkzQzE5LjcyMDYgMTIuNDA4IDIwLjEwMjIgMTIuMjUgMjAuNSAxMi4yNUgyMiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE2Ljc1SDIxLjI1IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICA8cGF0aCBkPSJNMTYgMTkuNzVWMTIuMjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik0xMi4yNSAxNi43NUgxM1YxOC4yNUMxMyAxOC42NDc4IDEyLjg0MiAxOS4wMjk0IDEyLjU2MDcgMTkuMzEwN0MxMi4yNzk0IDE5LjU5MiAxMS44OTc4IDE5Ljc1IDExLjUgMTkuNzVDMTEuMTAyMiAxOS43NSAxMC43MjA2IDE5LjU5MiAxMC40MzkzIDE5LjMxMDdDMTAuMTU4IDE5LjAyOTQgMTAgMTguNjQ3OCAxMCAxOC4yNVYxMy43NUMxMCAxMy4zNTIyIDEwLjE1OCAxMi45NzA2IDEwLjQzOTMgMTIuNjg5M0MxMC43MjA2IDEyLjQwOCAxMS4xMDIyIDEyLjI1IDExLjUgMTIuMjVIMTMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjgiIHdpZHRoPSIxNSIgaGVpZ2h0PSI0IiByeD0iMS41IiBmaWxsPSJ3aGl0ZSIvPgogICAgPHJlY3QgeD0iMiIgeT0iMTUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyIiByeD0iMSIgZmlsbD0id2hpdGUiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjE5IiB3aWR0aD0iMjQiIGhlaWdodD0iMiIgcng9IjEiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjAgOUwyMi41IDExLjVMMjUgOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzMwQ0Y0MyIvPgogIDxwYXRoIGQ9Ik0xMi4wNyAyMC43N2EuOTk4Ljk5OCAwIDAgMS0xLjQ0NS0uODk0di02Ljc1MmEuOTk5Ljk5OSAwIDAgMSAxLjQ0NC0uODk0bDYuNzU0IDMuMzc3YS45OTcuOTk3IDAgMCAxIDAgMS43ODVMMTIuMDcgMjAuNzdaIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxyZWN0IHg9IjMiIHk9IjIiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIxIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iOSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIxNSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyMSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iI0ZCMkQ4RCIvPgogIDxwYXRoIGQ9Ik05IDIxYzEuMTA1IDAgMi0uOTMzIDItMi4wODRzLS44OTUtMi4wODQtMi0yLjA4NC0yIC45MzMtMiAyLjA4NEM3IDIwLjA2NiA3Ljg5NSAyMSA5IDIxWk0xOSAxOC45MTZjMS4xMDUgMCAyLS45MzMgMi0yLjA4NHMtLjg5NS0yLjA4NC0yLTIuMDg0LTIgLjkzMy0yIDIuMDg0YzAgMS4xNS44OTUgMi4wODQgMiAyLjA4NFoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik0yMSAxNi44MzR2LTcuNzVjMC0uMzE3LS4wNy0uNjMtLjIwMy0uOTE0YTIuMDcgMi4wNyAwIDAgMC0uNTY2LS43MjkgMS45NjUgMS45NjUgMCAwIDAtLjgxNi0uMzk2IDEuOTIyIDEuOTIyIDAgMCAwLS45LjAxN2wtNiAxLjA0MmExLjk5NSAxLjk5NSAwIDAgMC0xLjA5MS43NEEyLjE0IDIuMTQgMCAwIDAgMTEgMTAuMTI0djguNzkyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzE0QjhGRiIvPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMjI5IDYuNjUzYTIuNjI1IDIuNjI1IDAgMCAwLTIuODgyLjYwNWwtLjAxLjAxLTYuNzYxIDYuNzYxYTQuMzEyIDQuMzEyIDAgMSAwIDYuMDk4IDYuMDk5bDguMjMzLTguMjM0YS43NS43NSAwIDEgMSAxLjA2IDEuMDZsLTguMjMyIDguMjM0YTUuODEyIDUuODEyIDAgMSAxLTguMjItOC4yMmw2Ljc1OC02Ljc1N2E0LjEyNCA0LjEyNCAwIDEgMSA1LjgzMyA1LjgzM2wtNi43NjcgNi43N2EyLjQzNyAyLjQzNyAwIDAgMS0zLjQ0Ny0zLjQ0NmwuMDEtLjAxIDYuNzYxLTYuNzY0YS43NS43NSAwIDEgMSAxLjA2MSAxLjA2bC02Ljc1NyA2Ljc2YS45MzcuOTM3IDAgMCAwIDEuMzI2IDEuMzI1bDYuNzY1LTYuNzY5YTIuNjI2IDIuNjI2IDAgMCAwLS44My00LjMxN1oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiMzQkNENEMiLz4KICAgIDxwYXRoIGQ9Ik0xNy4wMTQxIDExLjM0NTRDMTcuMDc3NSAxMS4zMTY1IDE3LjExODIgMTEuMjUzMiAxNy4xMTgyIDExLjE4MzVDMTcuMTE4MiAxMS4xMTM3IDE3LjA3NzUgMTEuMDUwNCAxNy4wMTQxIDExLjAyMTVMMTAuMDY3OCA3Ljg1NDg4QzkuOTc1OCA3LjgxNCA5Ljg3MDc4IDcuODE0IDkuNzc4NzcgNy44NTQ4OEw3LjA2MTM1IDkuMDMzODJDNi45OTU3MiA5LjA2MTc4IDYuOTUzMTIgOS4xMjYyMyA2Ljk1MzEyIDkuMTk3NTdDNi45NTMxMiA5LjI2ODkgNi45OTU3MiA5LjMzMzM1IDcuMDYxMzUgOS4zNjEzMUwxNC4zODcxIDEyLjQxNEMxNC40Nzg0IDEyLjQ1MjMgMTQuNTgxNiAxMi40NTA4IDE0LjY3MTggMTIuNDA5OEwxNy4wMTQxIDExLjM0NTRaIiBmaWxsPSJ3aGl0ZSIvPgogICAgPHBhdGggZD0iTTIxLjM1MDIgOS4zNzIwMkMyMS40MTQxIDkuMzQzMjkgMjEuNDU1MiA5LjI3OTc1IDIxLjQ1NTIgOS4yMDk3QzIxLjQ1NTIgOS4xMzk2NSAyMS40MTQxIDkuMDc2MTIgMjEuMzUwMiA5LjA0NzM4TDE0LjQ3MTYgNi4wNTk0M0MxNC4yOSA1Ljk4MDE5IDE0LjA4MzcgNS45ODAxOSAxMy45MDIxIDYuMDU5NDNMMTEuNjA5NyA3LjA1NjEzQzExLjU0NTQgNy4wODQ2OCAxMS41MDM5IDcuMTQ4NDQgMTEuNTAzOSA3LjIxODhDMTEuNTAzOSA3LjI4OTE3IDExLjU0NTQgNy4zNTI5MyAxMS42MDk3IDcuMzgxNDhMMTguNTE1MyAxMC41Mjk2QzE4LjYwOSAxMC41NzIyIDE4LjcxNjUgMTAuNTcyMiAxOC44MTAxIDEwLjUyOTZMMjEuMzUwMiA5LjM3MjAyWiIgZmlsbD0id2hpdGUiLz4KICAgIDxwYXRoIGQ9Ik02LjI0NjMzIDEwLjE3NzdDNi4xOTEzOCAxMC4xNTQ5IDYuMTI4NjUgMTAuMTYxIDYuMDc5MTYgMTAuMTk0QzYuMDI5NjYgMTAuMjI3MSA1Ljk5OTk2IDEwLjI4MjcgNiAxMC4zNDIyVjE4LjI3NzNDNS45OTk5OCAxOC41NjQ2IDYuMTcyNjYgMTguODIzOCA2LjQzNzgzIDE4LjkzNDRMMTMuNzYgMjEuOTg2NEMxMy44MTQ5IDIyLjAwOTMgMTMuODc3NyAyMi4wMDMxIDEzLjkyNzEgMjEuOTcwMUMxMy45NzY2IDIxLjkzNyAxNC4wMDYzIDIxLjg4MTUgMTQuMDA2MyAyMS44MjE5VjEzLjUzMDlDMTQuMDA2MiAxMy40NTkgMTMuOTYzIDEzLjM5NDIgMTMuODk2NyAxMy4zNjY0TDYuMjQ2MzMgMTAuMTc3N1oiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTUuMDc4MSAyMS43ODk5QzE1LjA3ODQgMjEuODUwMiAxNS4xMDkyIDIxLjkwNjMgMTUuMTU5OSAyMS45MzlDMTUuMjEwNSAyMS45NzE4IDE1LjI3NDMgMjEuOTc2NyAxNS4zMjk0IDIxLjk1MjJMMjEuOTU4MiAxOC45Mzk0QzIyLjIxMjIgMTguODIzOCAyMi4zNzUzIDE4LjU3MDUgMjIuMzc1NCAxOC4yOTE1VjEwLjM1NzhDMjIuMzc1NCAxMC4yOTczIDIyLjM0NDcgMTAuMjQxIDIyLjI5MzkgMTAuMjA4MkMyMi4yNDMxIDEwLjE3NTMgMjIuMTc5MSAxMC4xNzA2IDIyLjEyNCAxMC4xOTU1TDE1LjE4NDkgMTMuMzUwN0MxNS4xMjExIDEzLjM3OTIgMTUuMDgwMSAxMy40NDI1IDE1LjA4MDMgMTMuNTEyNEwxNS4wNzgxIDIxLjc4OTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOS41IDBIMi41QzEuMTE5MjkgMCAwIDEuMTE5MjkgMCAyLjVWMjkuNUMwIDMwLjg4MDcgMS4xMTkyOSAzMiAyLjUgMzJIMjkuNUMzMC44ODA3IDMyIDMyIDMwLjg4MDcgMzIgMjkuNVYyLjVDMzIgMS4xMTkyOSAzMC44ODA3IDAgMjkuNSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDEwQzYgOC44OTU0MyA2Ljg5NTQzIDggOCA4SDI0QzI1LjEwNDYgOCAyNiA4Ljg5NTQzIDI2IDEwVjE1QzI2IDE2LjEwNDYgMjUuMTA0NiAxNyAyNCAxN0g4QzYuODk1NDMgMTcgNiAxNi4xMDQ2IDYgMTVWMTBaTTYgMjRDNiAyMy40NDc3IDYuNDQ3NzIgMjMgNyAyM0gyNUMyNS41NTIzIDIzIDI2IDIzLjQ0NzcgMjYgMjRDMjYgMjQuNTUyMyAyNS41NTIzIDI1IDI1IDI1SDdDNi40NDc3MiAyNSA2IDI0LjU1MjMgNiAyNFpNNyAxOUM2LjQ0NzcyIDE5IDYgMTkuNDQ3NyA2IDIwQzYgMjAuNTUyMyA2LjQ0NzcyIDIxIDcgMjFIMjVDMjUuNTUyMyAyMSAyNiAyMC41NTIzIDI2IDIwQzI2IDE5LjQ0NzcgMjUuNTUyMyAxOSAyNSAxOUg3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjI1MiA4LjQ4OGMtLjM2Ni0xLjM3LTEuNDQ4LTIuNDUyLTIuODI0LTIuODIzQzI1Ljk0MSA1IDE1Ljk1OCA1IDE1Ljk1OCA1cy05Ljk3NyAwLTEyLjQ3LjY2NWMtMS4zNy4zNjYtMi40NTIgMS40NDctMi44MjMgMi44MjNDMCAxMC45NzYgMCAxNi4xNyAwIDE2LjE3czAgNS4xOTQuNjY1IDcuNjgyYy4zNjYgMS4zNzIgMS40NDcgMi40NTMgMi44MjMgMi44MjMgMi40OTMuNjY2IDEyLjQ3LjY2NiAxMi40Ny42NjZzOS45ODMgMCAxMi40Ny0uNjY2YzEuMzcyLS4zNjUgMi40NTMtMS40NDcgMi44MjQtMi44MjMuNjY1LTIuNDg4LjY2NS03LjY4Mi42NjUtNy42ODJzMC01LjE5NC0uNjY1LTcuNjgyIiBmaWxsPSIjRDkyNTJBIi8+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRkZGRSIgZD0iTTEyLjc3IDIwLjk1OGw4LjI5MS00Ljc4OC04LjI5MS00Ljc4OHY5LjU3NiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xMC4wNjMgMjkuMDAyYzEyLjA3NiAwIDE4LjY4LTEwLjAwNSAxOC42OC0xOC42OCAwLS4yODUgMC0uNTY3LS4wMTktLjg1QzMwLjAxIDguNTQ1IDMxLjEyIDcuMzkzIDMyIDYuMDc2Yy0xLjE5OC41My0yLjQ3Ljg3OS0zLjc3IDEuMDMyIDEuMzctLjgyIDIuMzk1LTIuMTEgMi44ODYtMy42My0xLjI5Ljc2NC0yLjcgMS4zMDMtNC4xNyAxLjU5My0yLjAzNS0yLjE2NC01LjI2OC0yLjY5NC03Ljg4Ny0xLjI5Mi0yLjYyIDEuNDAxLTMuOTczIDQuMzg2LTMuMyA3LjI4LTUuMjgtLjI2NS0xMC4xOTgtMi43NTgtMTMuNTMyLTYuODYtMS43NDIgMy0uODUyIDYuODM4IDIuMDMzIDguNzY0LTEuMDQ1LS4wMy0yLjA2Ny0uMzEzLTIuOTgtLjgyMnYuMDg0YzAgMy4xMjUgMi4yMDQgNS44MTcgNS4yNjcgNi40MzUtLjk2Ni4yNjQtMS45OC4zMDMtMi45NjQuMTEzLjg2IDIuNjc1IDMuMzI1IDQuNTA3IDYuMTMzIDQuNTYtMi4zMjQgMS44MjctNS4xOTYgMi44MTgtOC4xNTMgMi44MTUtLjUyMiAwLTEuMDQ0LS4wMzItMS41NjMtLjA5NCAzLjAwMiAxLjkyNyA2LjQ5NiAyLjk0OSAxMC4wNjMgMi45NDQiIGZpbGw9IiMxREExRjIiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjIuNDMgMTIyLjQxIj4KICAgIDxwYXRoIGQ9Ik04My44NiA1NC4xNXYzNC4xM0gzOC41N1Y1NC4xNUgwdjY4LjI2aDEyMi40M1Y1NC4xNUg4My44NnpNMzguNTcgMGg0NS4zdjM0LjEzaC00NS4zeiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjg4NiAyNS41MDhjMCAzLjUyMi0yLjg1NSA2LjM3Ny02LjM3NyA2LjM3N0g2LjM3N0MyLjg1NyAzMS44ODUgMCAyOS4wMyAwIDI1LjUwOFY2LjM3OEMwIDIuODU0IDIuODU3IDAgNi4zNzcgMEgyNS41MWMzLjUyMiAwIDYuMzc3IDIuODU1IDYuMzc3IDYuMzc3djE5LjEzMSIgZmlsbD0iIzBGQjdGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNS45OTggMTAuNThjLjE3NS0uOTgyLjE3LTEuOTkyLS40MzYtMi43NTUtLjg0Ni0xLjA3LTIuNjQ2LTEuMTEtMy44OC0uOTIxLTEuMDAzLjE1My00LjM5NyAxLjY1MS01LjU1MiA1LjIzNiAyLjA0Ni0uMTU2IDMuMTE4LjE0OCAyLjkyMSAyLjQtLjA4Mi45NDMtLjU1OCAxLjk3Ni0xLjA5IDIuOTY2LS42MTQgMS4xNDEtMS43NjUgMy4zODItMy4yNzQgMS43NjctMS4zNi0xLjQ1NC0xLjI1Ny00LjIzNS0xLjU2OC02LjA4Ni0uMTczLTEuMDQtLjM1Ni0yLjMzNC0uNjk3LTMuNDAyLS4yOTMtLjkyLS45NjYtMi4wMjctMS43ODgtMi4yNjctLjg4NC0uMjYtMS45NzYuMTQ2LTIuNjE4LjUyMy0yLjA0MiAxLjItMy41OTggMi45MDgtNS4zNjUgNC4zMTd2LjEzMmMuMzUuMzM1LjQ0NC44ODQuOTYuOTU5IDEuMjE2LjE3OSAyLjM3NS0xLjEzNCAzLjE4NC4yMzIuNDkyLjgzNC42NDUgMS43NDkuOTYgMi42NDguNDIgMS4xOTguNzQ2IDIuNTAzIDEuMDkgMy44OC41ODMgMi4zMzQgMS4yOTkgNS44MiAzLjMxNiA2LjY3NSAxLjAyOS40MzcgMi41NzUtLjE0OCAzLjM1OC0uNjEyIDIuMTIyLTEuMjU1IDMuNzc1LTMuMDc1IDUuMTktNC45MjcgMy4yMzQtNC4zODIgNS4wMTktOS4zNDcgNS4yODktMTAuNzY1IiBmaWxsPSIjRkZGRkZFIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMS45NzYgMTAuODg2Yy0uMDA3LS4wMzktLjAxNC0uMDc4LS4wMjQtLjExNmwtLjAyMi0uMDY2Yy0uMDEtLjAzNC0uMDIyLS4wNjgtLjAzNS0uMWwtLjAzLS4wNjdjLS4wMTUtLjAzMS0uMDMtLjA2Mi0uMDQ4LS4wOTItLjAxMi0uMDIyLS4wMjYtLjA0Mi0uMDM5LS4wNjMtLjAxOC0uMDI5LS4wMzctLjA1Ny0uMDU4LS4wODQtLjAxNS0uMDItLjAzLS4wNC0uMDQ3LS4wNTktLjAyMi0uMDI2LS4wNDUtLjA1LS4wNjgtLjA3NWwtLjA1NS0uMDUzYy0uMDI1LS4wMjMtLjA1MS0uMDQ1LS4wNzgtLjA2NS0uMDIxLS4wMTYtLjA0MS0uMDMzLS4wNjMtLjA0Ny0uMDA4LS4wMDYtLjAxNC0uMDEzLS4wMjMtLjAxOEwxNi43NjIuMjMxYy0uNDYxLS4zMDgtMS4wNjMtLjMwOC0xLjUyNSAwTC42MTIgOS45ODFsLS4wMjIuMDE3Yy0uMDIyLjAxNS0uMDQyLjAzMS0uMDYzLjA0Ny0uMDI3LjAyMS0uMDUzLjA0My0uMDc4LjA2NS0uMDE5LjAxNy0uMDM3LjAzNS0uMDU1LjA1NC0uMDI0LjAyNC0uMDQ2LjA0OC0uMDY4LjA3NC0uMDE3LjAyLS4wMzIuMDM5LS4wNDcuMDYtLjAyLjAyOC0uMDQuMDU1LS4wNTguMDg0bC0uMDQuMDY0Yy0uMDE3LjAzLS4wMzIuMDYtLjA0Ni4wOS0uMDEuMDIyLS4wMjIuMDQ1LS4wMy4wNjctLjAxNC4wMzMtLjAyNi4wNjctLjAzNi4xbC0uMDIyLjA2NWMtLjAxLjAzOC0uMDE3LjA3Ni0uMDI0LjExNS0uMDA0LjAyLS4wMDguMDQtLjAxLjA2LS4wMDkuMDYtLjAxMy4xMTktLjAxMy4xOHY5Ljc1MWMwIC4wNi4wMDQuMTIxLjAxMy4xOC4wMDMuMDIyLjAwOS4wMzkuMDEzLjA2LjAwNy4wMzguMDEzLjA3Ny4wMjYuMTE2bC4wMjEuMDY3Yy4wMTEuMDM0LjAyMi4wNjkuMDM1LjEuMDA5LjAyMi4wMjEuMDQzLjAzLjA2NS4wMTQuMDMuMDMuMDYuMDQ3LjA5Mi4wMTIuMDIxLjAyNi4wNDMuMDQuMDYyLjAxOC4wMy4wMzguMDU2LjA2LjA4Mi4wMTQuMDIyLjAzLjA0LjA0Ny4wNi4wMjIuMDI2LjA0My4wNTEuMDY5LjA3NC4wMTcuMDE4LjAzNC4wNC4wNTYuMDUybC4wNzcuMDY2Yy4wMjEuMDE3LjA0My4wMy4wNi4wNDYuMDA5LjAwNS4wMTQuMDEzLjAyMi4wMTdsMTQuNjIxIDkuNzU1Yy4yMzEuMTU1LjQ5Ni4yMzMuNzYzLjIzMi4yNjctLjAwMi41MzItLjA3OC43NjMtLjIzMmwxNC42MjUtOS43NS4wMjItLjAxNmMuMDIyLS4wMTUuMDQyLS4wMzEuMDYzLS4wNDcuMDI3LS4wMjEuMDUzLS4wNDMuMDc4LS4wNjZsLjA1NS0uMDUzYy4wMjQtLjAyNC4wNDctLjA0OS4wNjgtLjA3NS4wMTctLjAyLjAzMi0uMDM5LjA0Ny0uMDYuMDItLjAyNi4wNC0uMDU0LjA1OC0uMDgzLjAxNC0uMDIuMDI3LS4wNDIuMDQtLjA2My4wMTctLjAzLjAzMi0uMDYuMDQ3LS4wOTJsLjAzLS4wNjZjLjAxNC0uMDMzLjAyNS0uMDY3LjAzNS0uMS4wMDgtLjAyMy4wMTYtLjA0NS4wMjItLjA2Ny4wMS0uMDM4LjAxNy0uMDc3LjAyNC0uMTE2LjAwNC0uMDIuMDA5LS4wMzkuMDEtLjA2LjAwOS0uMDU5LjAxMy0uMTE4LjAxMy0uMTc5di05Ljc1YzAtLjA2LS4wMDUtLjEyLS4wMTItLjE4LS4wMDQtLjAyLS4wMS0uMDM4LS4wMTQtLjA2aC4wMDJ6TTE2IDE5LjI1M0wxMS4xMzcgMTYgMTYgMTIuNzQ3IDIwLjg2MyAxNiAxNiAxOS4yNTN6bS0xLjM3NS04Ljg5NWwtNS45NjIgMy45ODgtNC44MTItMy4yMiAxMC43NzQtNy4xODJ2Ni40MTR6TTYuMTkgMTZsLTMuNDQgMi4zVjEzLjdsMy40NCAyLjN6bTIuNDczIDEuNjU1bDUuOTYyIDMuOTg3djYuNDE0TDMuODUgMjAuODczbDQuODEyLTMuMjE5di4wMDF6bTguNzEyIDMuOTg2bDUuOTYxLTMuOTg3IDQuODEzIDMuMjItMTAuNzc0IDcuMTgxdi02LjQxNHptOC40MzQtNS42NGwzLjQ0LTIuMzAydjQuNjAyTDI1LjgxIDE2em0tMi40NzMtMS42NTVsLTUuOTYxLTMuOTg3VjMuOTQ0bDEwLjc3NCA3LjE4My00LjgxMyAzLjIxOXoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNiAuMDUzQzcuMTkuMDUzLjA0NyA3LjE5NC4wNDcgMTYuMDAzYzAgOC44MSA3LjE0MiAxNS45NTEgMTUuOTUxIDE1Ljk1MSA4LjgxIDAgMTUuOTUxLTcuMTQgMTUuOTUxLTE1Ljk1QzMxLjk1IDcuMTk0IDI0LjgxLjA1NCAxNiAuMDU0Vi4wNTN6bTcuMzE0IDIzLjAwNWMtLjI4NS40NjktLjg5OS42MTgtMS4zNjcuMzMtMy43NDUtMi4yODgtOC40Ni0yLjgwNi0xNC4wMTMtMS41MzctLjUzNS4xMjItMS4wNjgtLjIxMy0xLjE5LS43NDktLjEyMi0uNTM1LjIxMi0xLjA2OC43NDgtMS4xOSA2LjA3Ni0xLjM4OSAxMS4yODgtLjc5IDE1LjQ5MyAxLjc3OS40NjguMjg3LjYxNy44OTkuMzMgMS4zNjd6bTEuOTUzLTQuMzQzYy0uMzYuNTg1LTEuMTI2Ljc3LTEuNzEuNDEtNC4yODgtMi42MzYtMTAuODI0LTMuNC0xNS44OTYtMS44Ni0uNjU3LjE5OS0xLjM1Mi0uMTcyLTEuNTUyLS44MjgtLjE5OC0uNjU4LjE3My0xLjM1MS44My0xLjU1MSA1Ljc5My0xLjc1OCAxMi45OTQtLjkwNyAxNy45MTggMi4xMi41ODUuMzYuNzcgMS4xMjUuNDEgMS43MDl6bS4xNjctNC41MjNjLTUuMTQtMy4wNTQtMTMuNjIzLTMuMzM0LTE4LjUzMS0xLjg0NS0uNzg4LjI0LTEuNjIyLS4yMDUtMS44Ni0uOTk0LS4yNC0uNzg4LjIwNS0xLjYyMS45OTQtMS44NiA1LjYzNC0xLjcxMSAxNS4wMDEtMS4zOCAyMC45MiAyLjEzMy43MS40Mi45NDMgMS4zMzYuNTIyIDIuMDQ0LS40Mi43MS0xLjMzNy45NDMtMi4wNDQuNTIyeiIgZmlsbD0iIzFFRDc2MCIgZmlsbC1ydWxlPSJub256ZXJvIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNS45MjQgOS45MjJjLS4yMzYgMC0uNDMuMTk0LS40MzQuNDMzbC0uMTc3IDguODY2LjE3OCAzLjIxOGMuMDAzLjIzNS4xOTcuNDMuNDMzLjQzcy40My0uMTk1LjQzMy0uNDMzdi4wMDRsLjE5My0zLjIxOS0uMTkzLTguODY3Yy0uMDAzLS4yMzgtLjE5Ny0uNDMyLS40MzMtLjQzMnptMTIuMTQgNS4xMDJjLS41NCAwLTEuMDU0LjExLTEuNTIyLjMwNkMyNi4yMjggMTEuNzgzIDIzLjI1NCA5IDE5LjYyNSA5Yy0uODg3IDAtMS43NTMuMTc1LTIuNTE3LjQ3LS4yOTguMTE1LS4zNzcuMjM0LS4zOC40NjN2MTIuNDkyYy4wMDQuMjQyLjE5LjQ0Mi40MjYuNDY2bDEwLjkxLjAwNmMyLjE3NCAwIDMuOTM2LTEuNzYyIDMuOTM2LTMuOTM2cy0xLjc2Mi0zLjkzNy0zLjkzNi0zLjkzN3pNMTAuODg2IDIyLjU2di0uMDAybC4yMjYtMy4zMzgtLjIyNi03LjI3NmMtLjAwNi0uMTgxLS4xNDgtLjMyMy0uMzI1LS4zMjMtLjE3NiAwLS4zMTkuMTQyLS4zMjQuMzIzbC0uMjAyIDcuMjc2LjIwMiAzLjM0Yy4wMDUuMTc4LjE0OC4zMi4zMjQuMzIuMTc3IDAgLjMxOC0uMTQyLjMyNS0uMzIxdi4wMDF6bS0yLjk1Mi4zMmMuMTQ0IDAgLjI2Mi0uMTE3LjI3LS4yNjdsLjI2NC0zLjM5NC0uMjY1LTYuNDk3Yy0uMDA3LS4xNS0uMTI1LS4yNjctLjI3LS4yNjctLjE0NCAwLS4yNjMuMTE3LS4yNjkuMjY3bC0uMjM0IDYuNDk3LjIzNCAzLjM5NWMuMDA2LjE0OS4xMjUuMjY2LjI3LjI2NnptNS4yOTctMTAuODY4Yy0uMjA5IDAtLjM3NS4xNjYtLjM4LjM3N2wtLjE2OSA2LjgzMi4xNyAzLjI4N2MuMDA0LjIxLjE3LjM3NS4zNzkuMzc1LjIwNyAwIC4zNzMtLjE2Ni4zNzgtLjM3N3YuMDAybC4xOS0zLjI4Ny0uMTktNi44MzJjLS4wMDUtLjIxMS0uMTctLjM3Ny0uMzc4LS4zNzd6TTIuODAyIDIyLjY1N2MuMDgzIDAgLjE1LS4wNjYuMTYtLjE1NmwuMzQtMy4yODYtLjM0LTMuNDFjLS4wMS0uMDkxLS4wNzctLjE1Ny0uMTYtLjE1Ny0uMDg0IDAtLjE1Mi4wNjYtLjE2LjE1N2wtLjI5OSAzLjQxLjI5OSAzLjI4NWMuMDA4LjA5MS4wNzYuMTU3LjE2LjE1N3ptMi41NDYuMTg4Yy4xMTMgMCAuMjA2LS4wOTIuMjE0LS4yMTJsLjMwMi0zLjQxOC0uMzAyLTMuMjVjLS4wMDgtLjEyLS4xLS4yMTEtLjIxNC0uMjExLS4xMTYgMC0uMjA4LjA5LS4yMTYuMjEybC0uMjY2IDMuMjUuMjY2IDMuNDE3Yy4wMDguMTIuMS4yMTIuMjE2LjIxMnptNi41NDMuMDNjLjE5MSAwIC4zNDYtLjE1NC4zNTEtLjM1di4wMDNsLjIwOS0zLjMwOS0uMjA5LTcuMDljLS4wMDUtLjE5Ni0uMTYtLjM1LS4zNTEtLjM1LS4xOTMgMC0uMzQ4LjE1NC0uMzUyLjM1bC0uMTg1IDcuMDkuMTg1IDMuMzA4Yy4wMDQuMTk0LjE1OS4zNDguMzUyLjM0OHptMi42OS4wMTNjLjIyIDAgLjQwMS0uMTgxLjQwNS0uNDA0di4wMDItLjAwMmwuMTcyLTMuMjYzLS4xNzItOC4xM2MtLjAwNC0uMjIzLS4xODYtLjQwNS0uNDA2LS40MDUtLjIyIDAtLjQwMy4xODItLjQwNi40MDVsLS4xNTMgOC4xMjcuMTUzIDMuMjY4Yy4wMDMuMjIuMTg2LjQwMi40MDYuNDAyem0tNS4zMzgtLjAxNmMuMTYgMCAuMjktLjEyOS4yOTYtLjI5NGwuMjQ2LTMuMzYtLjI0Ni03LjAzOWMtLjAwNi0uMTY1LS4xMzctLjI5NC0uMjk2LS4yOTQtLjE2MiAwLS4yOTIuMTMtLjI5Ny4yOTVsLS4yMTggNy4wMzguMjE4IDMuMzYxYy4wMDUuMTY0LjEzNS4yOTMuMjk3LjI5M3pNNC4wNyAxNS41MjdjLS4xIDAtLjE4LjA4LS4xODguMTg1TDMuNiAxOS4yMTVsLjI4MiAzLjM5Yy4wMDguMTA0LjA4OS4xODQuMTg4LjE4NC4wOTggMCAuMTc4LS4wOC4xODctLjE4NGwuMzItMy4zOS0uMzItMy41MDRjLS4wMDktLjEwNC0uMDktLjE4NC0uMTg3LS4xODR6bTIuNTY1LTEuODM3Yy0uMTI5IDAtLjIzNS4xMDUtLjI0Mi4yNGwtLjI1IDUuMjg3LjI1IDMuNDE3Yy4wMDcuMTMzLjExMy4yMzkuMjQyLjIzOXMuMjM1LS4xMDYuMjQzLS4yNHYuMDAxbC4yODMtMy40MTctLjI4My01LjI4OGMtLjAwOC0uMTM0LS4xMTQtLjI0LS4yNDMtLjI0em0tNC45NTcgMi42NWMtLjAxLS4wNzYtLjA2Ni0uMTI5LS4xMzMtLjEyOS0uMDY4IDAtLjEyNC4wNTUtLjEzMy4xM2wtLjMxNSAyLjg3My4zMTUgMi44MWMuMDEuMDc2LjA2NS4xMy4xMzMuMTMuMDY3IDAgLjEyMi0uMDUzLjEzMy0uMTI5bC4zNTgtMi44MS0uMzU4LTIuODc0em0tMS4zMTYuOTcyYy0uMDY3IDAtLjEyLjA1Mi0uMTI4LjEyNUwwIDE5LjIxNGwuMjM0IDEuNzQ3Yy4wMDkuMDc0LjA2MS4xMjUuMTI4LjEyNS4wNjUgMCAuMTE3LS4wNS4xMjgtLjEyNGwuMjc3LTEuNzQ4LS4yNzctMS43NzhjLS4wMS0uMDczLS4wNjMtLjEyNC0uMTI4LS4xMjR6IiBmaWxsPSIjRUU3QzI1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMiAxNkMzMiAyNC44MzYxIDI0LjgzNjEgMzIgMTYgMzJDNy4xNjM5NCAzMiAwIDI0LjgzNjEgMCAxNkMwIDcuMTYzOTQgNy4xNjM5NCAwIDE2IDBDMjQuODM3OSAwIDMyIDcuMTYzOTQgMzIgMTZaIiBmaWxsPSIjMjA4MUUyIi8+CiAgICA8cGF0aCBkPSJNNy44OTM3MSAxNi41Mzc2TDcuOTYyNzQgMTYuNDI5MUwxMi4xMjUgOS45MTc4NEMxMi4xODU4IDkuODIyNTEgMTIuMzI4OCA5LjgzMjM2IDEyLjM3NDggOS45MzU5MkMxMy4wNzAyIDExLjQ5NDMgMTMuNjcwMiAxMy40MzI0IDEzLjM4OTEgMTQuNjM5QzEzLjI2OTEgMTUuMTM1NCAxMi45NDAzIDE1LjgwNzggMTIuNTcwNCAxNi40MjkxQzEyLjUyMjggMTYuNTE5NiAxMi40NzAyIDE2LjYwODMgMTIuNDE0MyAxNi42OTM4QzEyLjM4OCAxNi43MzMzIDEyLjM0MzYgMTYuNzU2MyAxMi4yOTU5IDE2Ljc1NjNIOC4wMTUzNEM3LjkwMDI3IDE2Ljc1NjMgNy44MzI4OCAxNi42MzEzIDcuODkzNzEgMTYuNTM3NloiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjYuNDQ2MSAxNy43NDc1VjE4Ljc3ODJDMjYuNDQ2MSAxOC44Mzc0IDI2LjQwOTkgMTguODkgMjYuMzU3MyAxOC45MTNDMjYuMDM1MSAxOS4wNTExIDI0LjkzMjEgMTkuNTU3NCAyNC40NzM0IDIwLjE5NTJDMjMuMzAzIDIxLjgyNDIgMjIuNDA4OCAyNC4xNTM2IDIwLjQwOTggMjQuMTUzNkgxMi4wNzA2QzkuMTE0OTUgMjQuMTUzNiA2LjcxOTg1IDIxLjc1MDMgNi43MTk4NSAxOC43ODQ4VjE4LjY4OTRDNi43MTk4NSAxOC42MTA1IDYuNzgzOTQgMTguNTQ2NCA2Ljg2Mjg2IDE4LjU0NjRIMTEuNTExN0MxMS42MDM3IDE4LjU0NjQgMTEuNjcxMSAxOC42MzE5IDExLjY2MjkgMTguNzIyM0MxMS42MyAxOS4wMjQ4IDExLjY4NTkgMTkuMzMzOCAxMS44Mjg5IDE5LjYxNDlDMTIuMTA1MSAyMC4xNzU1IDEyLjY3NzIgMjAuNTI1NiAxMy4yOTUyIDIwLjUyNTZIMTUuNTk2NlYxOC43Mjg5SDEzLjMyMTVDMTMuMjA0OCAxOC43Mjg5IDEzLjEzNTggMTguNTk0MSAxMy4yMDMyIDE4LjQ5ODdDMTMuMjI3OCAxOC40NjA5IDEzLjI1NTggMTguNDIxNSAxMy4yODU0IDE4LjM3NzFDMTMuNTAwNyAxOC4wNzE0IDEzLjgwODEgMTcuNTk2MyAxNC4xMTM5IDE3LjA1NTVDMTQuMzIyNyAxNi42OTA1IDE0LjUyNDggMTYuMzAwOSAxNC42ODc2IDE1LjkwOTdDMTQuNzIwNSAxNS44MzkgMTQuNzQ2OCAxNS43NjY2IDE0Ljc3MzEgMTUuNjk2QzE0LjgxNzQgMTUuNTcxIDE0Ljg2MzUgMTUuNDU0MyAxNC44OTY0IDE1LjMzNzZDMTQuOTI5MyAxNS4yMzkgMTQuOTU1NSAxNS4xMzU0IDE0Ljk4MTggMTUuMDM4NEMxNS4wNTkxIDE0LjcwNjQgMTUuMDkyIDE0LjM1NDYgMTUuMDkyIDEzLjk4OTdDMTUuMDkyIDEzLjg0NjcgMTUuMDg1NCAxMy42OTcgMTUuMDcyMyAxMy41NTRDMTUuMDY1NyAxMy4zOTc5IDE1LjA0NiAxMy4yNDE3IDE1LjAyNjIgMTMuMDg1NUMxNS4wMTMxIDEyLjk0NzQgMTQuOTg4NCAxMi44MTEgMTQuOTYyMSAxMi42NjhDMTQuOTI5MyAxMi40NTkyIDE0Ljg4MzIgMTIuMjUyMSAxNC44MzA2IDEyLjA0MzNMMTQuODEyNSAxMS45NjQ0QzE0Ljc3MzEgMTEuODIxNCAxNC43NDAyIDExLjY4NSAxNC42OTQyIDExLjU0MkMxNC41NjQzIDExLjA5MzIgMTQuNDE0NyAxMC42NTU5IDE0LjI1NjkgMTAuMjQ2NkMxNC4xOTk0IDEwLjA4MzkgMTQuMTMzNiA5LjkyNzcxIDE0LjA2NzggOS43NzE1NUMxMy45NzA5IDkuNTM2NDcgMTMuODcyMiA5LjMyMjc4IDEzLjc4MTggOS4xMjA1N0MxMy43MzU4IDkuMDI4NTEgMTMuNjk2NCA4Ljk0NDY3IDEzLjY1NjkgOC44NTkxOUMxMy42MTI1IDguNzYyMiAxMy41NjY1IDguNjY1MjEgMTMuNTIwNSA4LjU3MzE4QzEzLjQ4NzYgOC41MDI0OSAxMy40NDk4IDguNDM2NzMgMTMuNDIzNSA4LjM3MDk3TDEzLjE0MjQgNy44NTE1MUMxMy4xMDI5IDcuNzgwODMgMTMuMTY4NyA3LjY5Njk5IDEzLjI0NTkgNy43MTgzNkwxNS4wMDQ5IDguMTk1MDdIMTUuMDA5OEMxNS4wMTMxIDguMTk1MDcgMTUuMDE0NyA4LjE5NjczIDE1LjAxNjQgOC4xOTY3M0wxNS4yNDgxIDguMjYwODNMMTUuNTAzIDguMzMzMThMMTUuNTk2NiA4LjM1OTQ1VjcuMzEzOThDMTUuNTk2NiA2LjgwOTMxIDE2LjAwMSA2LjM5OTk5IDE2LjUwMDggNi4zOTk5OUMxNi43NTA2IDYuMzk5OTkgMTYuOTc3NSA2LjUwMTkxIDE3LjE0MDIgNi42Njc5M0MxNy4zMDMgNi44MzM5OCAxNy40MDQ5IDcuMDYwODMgMTcuNDA0OSA3LjMxMzk4VjguODY1NzlMMTcuNTkyMyA4LjkxODM2QzE3LjYwNzEgOC45MjMzMiAxNy42MjE5IDguOTI5ODggMTcuNjM1IDguOTM5NzRDMTcuNjgxMSA4Ljk3NDI3IDE3Ljc0NjggOS4wMjUyMSAxNy44MzA2IDkuMDg3NzFDMTcuODk2NCA5LjE0MDI4IDE3Ljk2NzEgOS4yMDQ0MSAxOC4wNTI2IDkuMjcwMTdDMTguMjIxOSA5LjQwNjU5IDE4LjQyNDEgOS41ODI0OSAxOC42NDYgOS43ODQ3QzE4LjcwNTIgOS44MzU2NCAxOC43NjI3IDkuODg4MjUgMTguODE1MyA5Ljk0MDg2QzE5LjEwMTQgMTAuMjA3MiAxOS40MjE5IDEwLjUxOTUgMTkuNzI3NyAxMC44NjQ3QzE5LjgxMzEgMTAuOTYxNyAxOS44OTcgMTEuMDYwMyAxOS45ODI0IDExLjE2MzlDMjAuMDY3OSAxMS4yNjkxIDIwLjE1ODMgMTEuMzcyNiAyMC4yMzcyIDExLjQ3NjJDMjAuMzQwOCAxMS42MTQzIDIwLjQ1MjYgMTEuNzU3MyAyMC41NDk2IDExLjkwNjlDMjAuNTk1NiAxMS45Nzc2IDIwLjY0ODIgMTIuMDQ5OSAyMC42OTI2IDEyLjEyMDZDMjAuODE3NSAxMi4zMDk2IDIwLjkyNzcgMTIuNTA1MyAyMS4wMzI5IDEyLjcwMDlDMjEuMDc3MyAxMi43OTEzIDIxLjEyMzMgMTIuODg5OSAyMS4xNjI3IDEyLjk4NjlDMjEuMjc5NCAxMy4yNDgzIDIxLjM3MTUgMTMuNTE0NiAyMS40MzA3IDEzLjc4MDlDMjEuNDQ4NyAxMy44Mzg0IDIxLjQ2MTkgMTMuOTAwOSAyMS40Njg1IDEzLjk1NjhWMTMuOTY5OUMyMS40ODgyIDE0LjA0ODggMjEuNDk0OCAxNC4xMzI3IDIxLjUwMTQgMTQuMjE4MUMyMS41Mjc3IDE0LjQ5MSAyMS41MTQ1IDE0Ljc2MzkgMjEuNDU1MyAxNS4wMzg0QzIxLjQzMDcgMTUuMTU1MiAyMS4zOTc4IDE1LjI2NTMgMjEuMzU4MyAxNS4zODJDMjEuMzE4OSAxNS40OTM4IDIxLjI3OTQgMTUuNjEwNSAyMS4yMjg1IDE1LjcyMDZDMjEuMTI5OSAxNS45NDkxIDIxLjAxMzEgMTYuMTc3NiAyMC44NzUgMTYuMzkxM0MyMC44MzA3IDE2LjQ3MDIgMjAuNzc4MSAxNi41NTQxIDIwLjcyNTQgMTYuNjMzQzIwLjY2NzkgMTYuNzE2OCAyMC42MDg3IDE2Ljc5NTcgMjAuNTU2MSAxNi44NzNDMjAuNDgzOCAxNi45NzE2IDIwLjQwNjYgMTcuMDc1MiAyMC4zMjc3IDE3LjE2NzJDMjAuMjU3IDE3LjI2NDIgMjAuMTg0NiAxNy4zNjEyIDIwLjEwNTcgMTcuNDQ2N0MxOS45OTU2IDE3LjU3NjUgMTkuODkwNCAxNy42OTk4IDE5Ljc4MDIgMTcuODE4MkMxOS43MTQ1IDE3Ljg5NTQgMTkuNjQzOCAxNy45NzQ0IDE5LjU3MTUgMTguMDQ1QzE5LjUwMDggMTguMTIzOSAxOS40Mjg1IDE4LjE5NDYgMTkuMzYyNyAxOC4yNjA0QzE5LjI1MjYgMTguMzcwNSAxOS4xNjA1IDE4LjQ1NiAxOS4wODMyIDE4LjUyNjdMMTguOTAyNCAxOC42OTI3QzE4Ljg3NjEgMTguNzE1NyAxOC44NDE2IDE4LjcyODkgMTguODA1NCAxOC43Mjg5SDE3LjQwNDlWMjAuNTI1NkgxOS4xNjcxQzE5LjU2MTYgMjAuNTI1NiAxOS45MzY0IDIwLjM4NTkgMjAuMjM4OSAyMC4xMjk0QzIwLjM0MjQgMjAuMDM5IDIwLjc5NDUgMTkuNjQ3OCAyMS4zMjg3IDE5LjA1NzdDMjEuMzQ2OCAxOS4wMzc5IDIxLjM2OTkgMTkuMDIzMSAyMS4zOTYyIDE5LjAxNjZMMjYuMjYzNiAxNy42MDk0QzI2LjM1NCAxNy41ODMxIDI2LjQ0NjEgMTcuNjUyMiAyNi40NDYxIDE3Ljc0NzVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iI2ZiMmQ4ZCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHBhdGggZD0iTTEyIDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTE4IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTI0IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkYXRhLXNlbGVjdG9yPSJiZyIgZD0iTTIgMjRoMTNsOS05VjJhMiAyIDAgMDAtMi0ySDJhMiAyIDAgMDAtMiAydjIwYTIgMiAwIDAwMiAyeiIgZmlsbD0iI0YwRjZGOSIvPgogICAgPHJlY3QgZGF0YS1zZWxlY3Rvcj0iYmxvY2siIHg9IjUuMjUiIHk9IjQuNSIgd2lkdGg9IjEzLjUiIGhlaWdodD0iNC41IiByeD0iMSIgZmlsbD0iIzczOEE5NCIvPgogICAgPHBhdGggZGF0YS1zZWxlY3Rvcj0iZm9sZCIgZD0iTTE1IDE2djhsOS05aC04YTEgMSAwIDAwLTEgMXoiIGZpbGw9IiNEQUU4RjEiLz4KICAgIDxyZWN0IGRhdGEtc2VsZWN0b3I9ImxpbmUiIHg9IjUuMjUiIHk9IjExLjI1IiB3aWR0aD0iOC4yNSIgaGVpZ2h0PSIxLjUiIHJ4PSIuNzUiIGZpbGw9IiM3MzhBOTQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibmMtaWNvbi13cmFwcGVyIj4KICAgIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjQiLz4KICAgIDxwYXRoIGRhdGEtY2FwPSJidXR0IiBkPSJNMjAuODQ5IDMzLjE2NCAzMyAyMGwxMyAxM00yIDM4bDEyLTExIDEwIDkiLz4KICAgIDxwYXRoIGQ9Ik0yIDZoNDR2MzZIMnoiLz4KICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibmMtaWNvbi13cmFwcGVyIj4KICAgIDxwYXRoIGQ9Ik0zIDloNDJ2MzZIM3ptNy02aDI4Ii8+CiAgICA8cGF0aCBkPSJtMTAgMzggNy0xMCA1IDQgOC0xMSA5IDE3SDEweiIvPgogICAgPGNpcmNsZSBjeD0iMTciIGN5PSIxOSIgcj0iMyIvPgogIDwvZz4KPC9zdmc+\"","/**\n * @license React\n * react-jsx-runtime.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 f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React, {useState} from 'react';\nimport '../styles/index.css';\nimport {ReactComponent as BoldIcon} from '../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as LinkIcon} from '../assets/icons/kg-link.svg';\nimport {ReactComponent as QuoteIcon} from '../assets/icons/kg-quote.svg';\nimport {ReactComponent as ImgRegularIcon} from '../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImgWideIcon} from '../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImgFullIcon} from '../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ReplaceIcon} from '../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../assets/icons/kg-add.svg';\nimport {ReactComponent as SnippetIcon} from '../assets/icons/kg-snippet.svg';\nimport {ReactComponent as PlusIcon} from '../assets/icons/plus.svg';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ReactComponent as MarkdownCardIcon} from '../assets/icons/kg-card-type-markdown.svg';\nimport {ReactComponent as HtmlCardIcon} from '../assets/icons/kg-card-type-html.svg';\nimport {ReactComponent as GalleryCardIcon} from '../assets/icons/kg-card-type-gallery.svg';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {ReactComponent as BookmarkCardIcon} from '../assets/icons/kg-card-type-bookmark.svg';\nimport {ReactComponent as EmailCardIcon} from '../assets/icons/kg-card-type-email.svg';\nimport {ReactComponent as EmailCtaCardIcon} from '../assets/icons/kg-card-type-email-cta.svg';\nimport {ReactComponent as PreviewCardIcon} from '../assets/icons/kg-card-type-preview.svg';\nimport {ReactComponent as ButtonCardIcon} from '../assets/icons/kg-card-type-button.svg';\nimport {ReactComponent as CalloutCardIcon} from '../assets/icons/kg-card-type-callout.svg';\nimport {ReactComponent as GifCardIcon} from '../assets/icons/kg-card-type-gif.svg';\nimport {ReactComponent as ToggleCardIcon} from '../assets/icons/kg-card-type-toggle.svg';\nimport {ReactComponent as VideoCardIcon} from '../assets/icons/kg-card-type-video.svg';\nimport {ReactComponent as AudioCardIcon} from '../assets/icons/kg-card-type-audio.svg';\nimport {ReactComponent as FileCardIcon} from '../assets/icons/kg-card-type-file.svg';\nimport {ReactComponent as ProductCardIcon} from '../assets/icons/kg-card-type-product.svg';\nimport {ReactComponent as HeaderCardIcon} from '../assets/icons/kg-card-type-header.svg';\nimport {ReactComponent as YoutubeCardIcon} from '../assets/icons/kg-card-type-youtube.svg';\nimport {ReactComponent as TwitterCardIcon} from '../assets/icons/kg-card-type-twitter.svg';\nimport {ReactComponent as UnsplashCardIcon} from '../assets/icons/kg-card-type-unsplash.svg';\nimport {ReactComponent as VimeoCardIcon} from '../assets/icons/kg-card-type-vimeo.svg';\nimport {ReactComponent as CodepenCardIcon} from '../assets/icons/kg-card-type-codepen.svg';\nimport {ReactComponent as SpotifyCardIcon} from '../assets/icons/kg-card-type-spotify.svg';\nimport {ReactComponent as SoundcloudCardIcon} from '../assets/icons/kg-card-type-soundcloud.svg';\nimport {ReactComponent as NftCardIcon} from '../assets/icons/kg-card-type-nft.svg';\nimport {ReactComponent as OtherCardIcon} from '../assets/icons/kg-card-type-other.svg';\nimport {ReactComponent as SnippetCardIcon} from '../assets/icons/kg-card-type-snippet.svg';\nimport {ReactComponent as ImgPlaceholderIcon} from '../assets/icons/kg-img-placeholder.svg';\nimport {ReactComponent as GalleryPlaceholderIcon} from '../assets/icons/kg-gallery-placeholder.svg';\n\nconst DesignSandbox = () => {\n return (\n <div className=\"koenig-lexical\">\n <ComponentTitle label=\"Text toolbar\" />\n <TextToolbar />\n\n <ComponentTitle label=\"Image toolbar\" />\n <ImageToolbar />\n\n <ComponentTitle label=\"Gallery toolbar\" />\n <GalleryToolbar />\n\n <ComponentTitle label=\"Plus menu\" />\n <PlusButton />\n\n <ComponentTitle label=\"Card menu\" />\n <CardMenu />\n\n <ComponentTitle label=\"Divider card\" />\n <div className=\"relative max-w-[740px]\">\n <DividerCard />\n </div>\n\n <ComponentTitle label=\"Code block\" />\n <div className=\"relative max-w-[740px]\">\n <CodeBlock />\n </div>\n\n <ComponentTitle label=\"Image card\" />\n <div className=\"relative max-w-[740px]\">\n <ImageCard />\n </div>\n\n <ComponentTitle label=\"Gallery card\" />\n <div className=\"relative max-w-[1172px]\">\n <GalleryCard />\n </div>\n </div>\n );\n\n /* Component title\n /* ---------------------------------------------------------- */\n\n function ComponentTitle({label}) {\n return (\n <h3 className=\"mb-4 mt-20 text-xl font-bold first-of-type:mt-8\" >\n {label}\n </h3>\n );\n }\n\n /* Floating toolbar\n /* ---------------------------------------------------------- */\n\n function TextToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Format text as bold\" Icon={BoldIcon} />\n <ToolbarItem label=\"Format text as italics\" Icon={ItalicIcon} />\n <ToolbarItem label=\"Toggle heading 1\" Icon={HeadingOneIcon} />\n <ToolbarItem label=\"Toggle heading 2\" Icon={HeadingTwoIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Toggle blockquote\" Icon={QuoteIcon} />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ImageToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Set image to regular\" Icon={ImgRegularIcon} />\n <ToolbarItem label=\"Set image to wide\" Icon={ImgWideIcon} />\n <ToolbarItem label=\"Set image to full\" Icon={ImgFullIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarItem label=\"Replace image\" Icon={ReplaceIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function GalleryToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Add image\" Icon={AddIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ToolbarItem({label, Icon, ...props}) {\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <div\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n >\n <Icon className=\"fill-white\" />\n </div>\n </li>\n );\n }\n \n function ToolbarSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n }\n\n /* Plus button\n /* ---------------------------------------------------------- */\n\n function PlusButton() {\n return (\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n );\n }\n\n /* Card menu\n /* ---------------------------------------------------------- */\n\n function CardMenu() {\n return (\n <div className=\"z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 text-sm shadow\">\n <CardMenuSection label=\"Primary\" />\n <CardMenuItem label=\"Image\" desc=\"Upload, or embed with /image [url]\" Icon={ImageCardIcon} />\n <CardMenuItem label=\"Markdown\" desc=\"Insert a Markdown editor card\" Icon={MarkdownCardIcon} />\n <CardMenuItem label=\"HTML\" desc=\"Insert a raw HTML card\" Icon={HtmlCardIcon} />\n <CardMenuItem label=\"Gallery\" desc=\"Create an image gallery\" Icon={GalleryCardIcon} />\n <CardMenuItem label=\"Divider\" desc=\"Insert a dividing line\" Icon={DividerCardIcon} />\n <CardMenuItem label=\"Bookmark\" desc=\"Embed a link as a visual bookmark\" Icon={BookmarkCardIcon} />\n <CardMenuItem label=\"Email content\" desc=\"Only visible when delivered by email\" Icon={EmailCardIcon} />\n <CardMenuItem label=\"Email call to action\" desc=\"Target free or paid members with a CTA\" Icon={EmailCtaCardIcon} />\n <CardMenuItem label=\"Public preview\" desc=\"Attract signups with a public intro\" Icon={PreviewCardIcon} />\n <CardMenuItem label=\"Button\" desc=\"Add a button to your post\" Icon={ButtonCardIcon} />\n <CardMenuItem label=\"Callout\" desc=\"Info boxes that stand out\" Icon={CalloutCardIcon} />\n <CardMenuItem label=\"GIF\" desc=\"Search and embed gifs\" Icon={GifCardIcon} />\n <CardMenuItem label=\"Toggle\" desc=\"Add collapsible content\" Icon={ToggleCardIcon} />\n <CardMenuItem label=\"Video\" desc=\"Upload and play a video\" Icon={VideoCardIcon} />\n <CardMenuItem label=\"Audio\" desc=\"Upload and play an audio file\" Icon={AudioCardIcon} />\n <CardMenuItem label=\"File\" desc=\"Upload a downloadable file\" Icon={FileCardIcon} />\n <CardMenuItem label=\"Product\" desc=\"Add a product recommendation\" Icon={ProductCardIcon} />\n <CardMenuItem label=\"Header\" desc=\"Add a bold section header\" Icon={HeaderCardIcon} />\n <CardMenuSection label=\"Embed\" />\n <CardMenuItem label=\"YouTube\" desc=\"/youtube [video url]\" Icon={YoutubeCardIcon} />\n <CardMenuItem label=\"Twitter\" desc=\"/twitter [tweet url]\" Icon={TwitterCardIcon} />\n <CardMenuItem label=\"Unsplash\" desc=\"/unsplash [search-term or url]\" Icon={UnsplashCardIcon} />\n <CardMenuItem label=\"Vimeo\" desc=\"/vimeo [video url]\" Icon={VimeoCardIcon} />\n <CardMenuItem label=\"CodePen\" desc=\"/codepen [pen url]\" Icon={CodepenCardIcon} />\n <CardMenuItem label=\"Spotify\" desc=\"/spotify [track or playlist url]\" Icon={SpotifyCardIcon} />\n <CardMenuItem label=\"SoundCloud\" desc=\"/soundcloud [track or playlist url]\" Icon={SoundcloudCardIcon} />\n <CardMenuItem label=\"NFT\" desc=\"/nft [opensea url]\" Icon={NftCardIcon} />\n <CardMenuItem label=\"Other...\" desc=\"/embed [url]\" Icon={OtherCardIcon} />\n <CardMenuSection label=\"Snippets\" />\n <CardSnippetItem label=\"A random snippet\" Icon={SnippetCardIcon} />\n </div>\n );\n }\n\n function CardMenuSection({label, ...props}) {\n return (\n <div className=\"mb-2 flex shrink-0 flex-col justify-center px-4 pt-3 text-xs font-medium uppercase tracking-[.06rem] text-grey\" style={{minWidth: 'calc(100% - 3.2rem)'}} {...props}>\n {label}\n </div>\n );\n }\n\n function CardMenuItem({label, desc, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n <div className=\"m-0 ml-4 truncate text-xs font-normal leading-[1.333em] tracking-[.02rem] text-grey\">{desc}</div>\n </div>\n </div>\n );\n }\n\n function CardSnippetItem({label, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n </div>\n </div>\n );\n }\n\n /* Divider card\n /* ---------------------------------------------------------- */\n\n function DividerCard() {\n return (\n <div>\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n </div>\n );\n }\n\n /* Code block\n /* ---------------------------------------------------------- */\n\n function CodeBlock() {\n return (\n <div className=\"border-2 border-green\">\n <div className=\"rounded bg-grey-50 px-3 py-2\">\n <textarea className=\"w-full resize-none bg-grey-50 font-mono text-[1.7rem]\" />\n </div>\n <CaptionEditor placeholder=\"Type caption for code block (optional)\" />\n </div>\n );\n }\n\n /* Image card\n /* ---------------------------------------------------------- */\n\n function ImageCard() {\n const [isActive, setActive] = useState(false);\n const [altText, setAltText] = useState(false);\n\n const toggleActive = () => {\n setActive(!isActive);\n };\n\n const toggleAltText = (e) => {\n e.stopPropagation();\n setAltText(!altText);\n };\n\n if (isActive) {\n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for image (optional)\" />\n <button \n className={`absolute bottom-0 right-0 m-3 cursor-pointer rounded border px-1 text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${altText ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={e => toggleAltText(e)}>\n Alt\n </button> \n </div>\n );\n } \n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} /> \n </div>\n );\n }\n\n function MediaPlaceholder({desc, Icon, ...props}) {\n return (\n <div className=\"relative\">\n <figure className=\"cursor-pointer border border-transparent\" {...props}>\n <div className=\"h-100 relative flex items-center justify-center border border-grey-100 bg-grey-50 before:pb-[62.5%]\">\n <button className=\"group flex flex-col items-center justify-center p-20\">\n <Icon className=\"h-32 w-32 opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100\" />\n <p className=\"mt-4 text-sm font-normal text-grey-700 group-hover:text-grey-800\">{desc}</p>\n </button>\n </div>\n </figure>\n <form>\n <input\n type='file'\n accept='image/*'\n name=\"image\"\n hidden={true}\n />\n </form>\n </div>\n );\n }\n\n function CaptionEditor({placeholder}) {\n return (\n <input \n className=\"not-kg-prose w-full p-2 text-center font-sans text-sm font-normal tracking-wide text-grey-900\"\n placeholder={placeholder} \n />\n );\n }\n\n /* Gallery card\n /* ---------------------------------------------------------- */\n\n function GalleryCard() {\n return (\n <div className=\"border-2 border-green\">\n <MediaPlaceholder desc=\"Click to select up to 9 images\" Icon={GalleryPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for gallery (optional)\" />\n </div>\n );\n }\n};\n\nexport default DesignSandbox;\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"react\");let d=c.createContext(null);exports.LexicalComposerContext=d;exports.createLexicalComposerContext=function(a,e){let b=null;null!=a&&(b=a[1]);return{getTheme:function(){return null!=e?e:null!=b?b.getTheme():null}}};\nexports.useLexicalComposerContext=function(){let a=c.useContext(d);if(null==a)throw Error(\"Minified Lexical error #8; visit https://lexical.dev/docs/error?code=8 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalComposerContext = process.env.NODE_ENV === 'development' ? require('./LexicalComposerContext.dev.js') : require('./LexicalComposerContext.prod.js')\nmodule.exports = LexicalComposerContext;","/**\n * Copyright (c) Meta Platforms, Inc. and 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';let ba={},ca={},da={},ea={},fa={},ha={},ia={},ja={},la={},ma={},p={},na={},oa={},pa={},qa={},ra={},sa={},ta={},xa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={},Ma={};function r(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nlet t=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Na=t&&\"documentMode\"in document?document.documentMode:null,u=t&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Oa=t&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Pa=t&&\"InputEvent\"in window&&!Na?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Qa=t&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ra=t&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,\nUa=Qa||Ra?\"\\u00a0\":\"\\u200b\",Va=Oa?\"\\u00a0\":Ua,Wa=/^[^A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]*[\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]/,Xa=/^[^\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]*[A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]/,Ya={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Za={directionless:1,unmergeable:2},\n$a={center:2,justify:4,left:1,right:3},ab={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},bb={normal:0,segmented:2,token:1},cb={0:\"normal\",2:\"segmented\",1:\"token\"},db=!1,eb=0;function fb(a){eb=a.timeStamp}function gb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function hb(a){return a.getEditorState().read(()=>{let b=x();return null!==b?b.clone():null})}\nfunction ib(a,b,c){db=!0;let d=100<performance.now()-eb;try{A(a,()=>{let e=x()||hb(a);var f=new Map,g=a.getRootElement(),h=a._editorState;let k=!1,m=\"\";for(var l=0;l<b.length;l++){var n=b[l],q=n.type,v=n.target,w=jb(v,h);if(!(null===w&&v!==g||C(w)))if(\"characterData\"===q){if(n=d&&D(w))a:{n=e;q=v;var y=w;if(F(n)){var z=n.anchor.getNode();if(z.is(y)&&n.format!==z.getFormat()){n=!1;break a}}n=3===q.nodeType&&y.isAttached()}n&&(y=t?window.getSelection():null,q=n=null,null!==y&&y.anchorNode===v&&(n=y.anchorOffset,\nq=y.focusOffset),v=v.nodeValue,null!==v&&kb(w,v,n,q,!1))}else if(\"childList\"===q){k=!0;q=n.addedNodes;for(y=0;y<q.length;y++){z=q[y];var B=lb(z),E=z.parentNode;null==E||null!==B||\"BR\"===z.nodeName&&gb(z,E,a)||(Oa&&(B=z.innerText||z.nodeValue)&&(m+=B),E.removeChild(z))}n=n.removedNodes;q=n.length;if(0<q){y=0;for(z=0;z<q;z++)E=n[z],\"BR\"===E.nodeName&&gb(E,v,a)&&(v.appendChild(E),y++);q!==y&&(v===g&&(w=h._nodeMap.get(\"root\")),f.set(v,w))}}}if(0<f.size)for(let [R,aa]of f)if(G(aa))for(f=aa.__children,\ng=R.firstChild,h=0;h<f.length;h++)l=a.getElementByKey(f[h]),null!==l&&(null==g?(R.appendChild(l),g=l):g!==l&&R.replaceChild(l,g),g=g.nextSibling);else D(aa)&&aa.markDirty();f=c.takeRecords();if(0<f.length){for(g=0;g<f.length;g++)for(l=f[g],h=l.addedNodes,l=l.target,w=0;w<h.length;w++)v=h[w],n=v.parentNode,null==n||\"BR\"!==v.nodeName||gb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==e&&(k&&(e.dirty=!0,mb(e)),Oa&&nb(a)&&e.insertRawText(m))})}finally{db=!1}}\nfunction ob(a){let b=a._observer;if(null!==b){let c=b.takeRecords();ib(a,c,b)}}function pb(a){0===eb&&rb(a).addEventListener(\"textInput\",fb,!0);a._observer=new MutationObserver((b,c)=>{ib(a,b,c)})}let sb=1,tb=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction ub(a,b,c){let d=a.getRootElement();try{var e;if(e=null!==d&&d.contains(b)&&d.contains(c)&&null!==b){let f=document.activeElement,g=null!==f?f.nodeName:null;e=!C(jb(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return e&&vb(b)===a}catch(f){return!1}}function vb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function wb(a){return a.isToken()||a.isSegmented()}function xb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}\nfunction yb(a,b,c){b=Ya[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function zb(a){return D(a)||Ab(a)||C(a)}function Bb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Cb(a);b.splice(c,1)}}\nfunction Db(a){99<Eb&&r(14);var b=a.getLatest(),c=b.__parent,d=H();let e=I(),f=d._nodeMap;d=e._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=f.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;e._dirtyType=1;G(a)?d.set(b,!0):e._dirtyLeaves.add(b)}function Cb(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Db(b);null!==a&&Db(a)}\nfunction J(a){K();var b=I();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=L(c),null!==b&&b.getWritable()),null!==a&&(a=L(a),null!==a&&a.getWritable()))}function Fb(){return M?null:I()._compositionKey}function L(a,b){a=(b||H())._nodeMap.get(a);return void 0===a?null:a}function lb(a,b){let c=I();a=a[`__lexicalKey_${c._key}`];return void 0!==a?L(a,b):null}function jb(a,b){for(;null!=a;){let c=lb(a,b);if(null!==c)return c;a=a.parentNode}return null}\nfunction Gb(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function Hb(a){return a.read(()=>Ib().getTextContent())}function Jb(a,b){A(a,()=>{var c=H();if(!c.isEmpty())if(\"root\"===b)Ib().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:\"history-merge\"}:void 0)}function Ib(){return H()._nodeMap.get(\"root\")}function mb(a){let b=H();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Kb(a){var b=I(),c;a:{for(c=a;null!=c;){let d=c[`__lexicalKey_${b._key}`];if(void 0!==d){c=d;break a}c=c.parentNode}c=null}return null===c?(b=b.getRootElement(),a===b?L(\"root\"):null):L(c)}function Lb(a){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(a)}function Mb(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function Nb(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}\nfunction Ob(a,b){var c=t?window.getSelection():null;if(null!==c){var d=c.anchorNode,{anchorOffset:e,focusOffset:f}=c;if(null!==d&&3===d.nodeType&&(c=jb(d),D(c))){d=d.nodeValue;if(d===Ua&&b){let g=b.length;d=b;f=e=g}null!==d&&kb(c,d,e,f,a)}}}\nfunction kb(a,b,c,d,e){let f=a;if(f.isAttached()&&(e||!f.isDirty())){var g=f.isComposing();a=b;(g||e)&&b[b.length-1]===Ua&&(a=b.slice(0,-1));b=f.getTextContent();if(e||a!==b)if(\"\"===a)if(J(null),Qa||Ra)f.remove();else{let h=I();setTimeout(()=>{h.update(()=>{f.isAttached()&&f.remove()})},20)}else e=f.getParent(),b=Pb(),f.isToken()||null!==Fb()&&!g||null!==e&&F(b)&&!e.canInsertTextBefore()&&0===b.anchor.offset?f.markDirty():(g=x(),F(g)&&null!==c&&null!==d&&(g.setTextNodeRange(f,c,f,d),f.isSegmented()&&\n(c=f.getTextContent(),c=N(c),f.replace(c),f=c)),f.setTextContent(a))}}function Qb(a,b){if(b.isSegmented())return!0;if(!a.isCollapsed())return!1;a=a.anchor.offset;let c=b.getParentOrThrow(),d=b.isToken();return 0===a?((a=!b.canInsertTextBefore()||!c.canInsertTextBefore()||d)||(b=b.getPreviousSibling(),a=(D(b)||G(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}\nfunction Rb(a,b){let c=a.anchor,d=a.focus,e=c.getNode();var f=t?window.getSelection():null;f=null!==f?f.anchorNode:null;let g=c.key,h=I().getElementByKey(g),k=b.length;return g!==d.key||!D(e)||(2>k||Lb(b))&&c.offset!==d.offset&&!e.isComposing()||wb(e)||e.isDirty()&&1<k||null!==h&&!e.isComposing()&&f!==xb(h)||e.getFormat()!==a.format||Qb(a,e)}function Sb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}\nfunction Tb(a,b,c,d,e){0!==c.size&&(c=d.__key,b=b.get(d.__type),void 0===b&&r(33),b=b.klass,d=a.get(b),void 0===d&&(d=new Map,a.set(b,d)),d.has(c)||d.set(c,e))}function Ub(a,b,c){let d=a.getParent(),e=c;null!==d&&(b&&0===c?(e=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(e=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?e-1:e)}\nfunction Vb(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Ub(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Ub(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}function nb(a){a=(a=rb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Wb(a){return!O(a)&&!a.isLastChild()&&!a.isInline()}\nfunction Xb(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75);return a}function $b(a,b=0){0!==b&&r(1);b=x();if(!F(b)||!G(a))return b;let {anchor:c,focus:d}=b,e=c.getNode(),f=d.getNode();ac(e,a)&&c.set(a.__key,0,\"element\");ac(f,a)&&d.set(a.__key,0,\"element\");return b}function ac(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function rb(a){a=a._window;null===a&&r(78);return a}\nfunction bc(a){for(a=a.getParentOrThrow();null!==a&&!cc(a);)a=a.getParentOrThrow();return a}function cc(a){return O(a)||G(a)&&a.isShadowRoot()}function dc(a,b,c,d,e){a=a.__children;let f=a.length;for(let g=0;g<f;g++){let h=a[g],k=d.get(h);void 0!==k&&k.__parent===b&&(G(k)&&dc(k,h,c,d,e),c.has(h)||e.delete(h),d.delete(h))}}\nfunction ec(a,b,c,d){a=a._nodeMap;b=b._nodeMap;for(let e of c){let f=b.get(e);void 0===f||f.isAttached()||(a.has(e)||c.delete(e),b.delete(e))}for(let [e]of d)c=b.get(e),void 0===c||c.isAttached()||(G(c)&&dc(c,e,a,b,d),a.has(e)||d.delete(e),b.delete(e))}function fc(a,b){let c=a.__mode,d=a.__format;a=a.__style;let e=b.__mode,f=b.__format;b=b.__style;return(null===c||c===e)&&(null===d||d===f)&&(null===a||a===b)}\nfunction gc(a,b){let c=a.mergeWithSibling(b),d=I()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}function hc(a){if(\"\"===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&D(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(\"\"===b.__text)b.remove();else{fc(b,a)&&(a=gc(b,a));break}for(var c;null!==(c=a.getNextSibling())&&D(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{fc(a,c)&&gc(a,c);break}}}\nfunction ic(a){jc(a.anchor);jc(a.focus);return a}function jc(a){for(;\"element\"===a.type;){var b=a.getNode(),c=a.offset;c===b.getChildrenSize()?(b=b.getChildAtIndex(c-1),c=!0):(b=b.getChildAtIndex(c),c=!1);if(D(b)){a.set(b.__key,c?b.getTextContentSize():0,\"text\");break}else if(!G(b))break;a.set(b.__key,c?b.getChildrenSize():0,\"element\")}}let P=\"\",Q=\"\",S=\"\",kc,T,lc,mc=!1,nc=!1,oc,pc=null,qc,rc,sc,tc,uc,vc;\nfunction wc(a,b){let c=sc.get(a);if(null!==b){let d=xc(a);b.removeChild(d)}tc.has(a)||T._keyToDOMMap.delete(a);G(c)&&(a=c.__children,yc(a,0,a.length-1,null));void 0!==c&&Tb(vc,lc,oc,c,\"destroyed\")}function yc(a,b,c,d){for(;b<=c;++b){let e=a[b];void 0!==e&&wc(e,d)}}function zc(a,b){a.setProperty(\"text-align\",b)}function Ac(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction Bc(a,b){a=a.style;0===b?zc(a,\"\"):1===b?zc(a,\"left\"):2===b?zc(a,\"center\"):3===b?zc(a,\"right\"):4===b&&zc(a,\"justify\")}\nfunction Cc(a,b,c){let d=tc.get(a);void 0===d&&r(60);let e=d.createDOM(kc,T);var f=T._keyToDOMMap;e[\"__lexicalKey_\"+T._key]=a;f.set(a,e);D(d)?e.setAttribute(\"data-lexical-text\",\"true\"):C(d)&&e.setAttribute(\"data-lexical-decorator\",\"true\");if(G(d)){a=d.__indent;0!==a&&Ac(e,a);a=d.__children;var g=a.length;if(0!==g){f=a;--g;let h=Q;Q=\"\";Dc(f,0,g,e,null);Ec(d,e);Q=h}f=d.__format;0!==f&&Bc(e,f);d.isInline()||Fc(null,a,e);Wb(d)&&(P+=\"\\n\\n\",S+=\"\\n\\n\")}else f=d.getTextContent(),C(d)?(g=d.decorate(T,kc),\nnull!==g&&Gc(a,g),e.contentEditable=\"false\"):D(d)&&(d.isDirectionless()||(Q+=f)),P+=f,S+=f;null!==b&&(null!=c?b.insertBefore(e,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(e,c):b.appendChild(e)));Tb(vc,lc,oc,d,\"created\");return e}function Dc(a,b,c,d,e){let f=P;for(P=\"\";b<=c;++b)Cc(a[b],d,e);d.__lexicalTextContent=P;P=f+P}function Hc(a,b){a=b.get(a[a.length-1]);return Ab(a)||C(a)}\nfunction Fc(a,b,c){a=null!==a&&(0===a.length||Hc(a,sc));b=null!==b&&(0===b.length||Hc(b,tc));a?b||(b=c.__lexicalLineBreak,null!=b&&c.removeChild(b),c.__lexicalLineBreak=null):b&&(b=document.createElement(\"br\"),c.__lexicalLineBreak=b,c.appendChild(b))}\nfunction Ec(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==Q||c!==pc){let f=\"\"===Q;if(f)var d=pc;else d=Q,d=Wa.test(d)?\"rtl\":Xa.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=kc.theme;var e=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==e&&(\"string\"===typeof e&&(e=e.split(\" \"),e=h[c]=e),g.remove(...e));null===d||f&&\"ltr\"===d?b.removeAttribute(\"dir\"):(void 0!==k&&(\"string\"===typeof k&&(c=k.split(\" \"),k=h[d]=c),void 0!==k&&g.add(...k)),b.dir=d);nc||(a.getWritable().__dir=d)}pc=\nd;b.__lexicalDirTextContent=Q;b.__lexicalDir=d}}\nfunction Ic(a,b){var c=sc.get(a),d=tc.get(a);void 0!==c&&void 0!==d||r(61);var e=mc||rc.has(a)||qc.has(a);let f=Xb(T,a);if(c===d&&!e)return G(c)?(d=f.__lexicalTextContent,void 0!==d&&(P+=d,S+=d),d=f.__lexicalDirTextContent,void 0!==d&&(Q+=d)):(d=c.getTextContent(),D(c)&&!c.isDirectionless()&&(Q+=d),S+=d,P+=d),f;c!==d&&e&&Tb(vc,lc,oc,d,\"updated\");if(d.updateDOM(c,f,kc))return d=Cc(a,null,null),null===b&&r(62),b.replaceChild(d,f),wc(a,null),d;if(G(c)&&G(d)){a=d.__indent;a!==c.__indent&&Ac(f,a);a=d.__format;\na!==c.__format&&Bc(f,a);a=c.__children;c=d.__children;if(a!==c||e){var g=a,h=c;e=d;b=Q;Q=\"\";let v=P;P=\"\";var k=g.length,m=h.length;if(1===k&&1===m){var l=g[0];h=h[0];if(l===h)Ic(l,f);else{var n=xc(l);h=Cc(h,null,null);f.replaceChild(h,n);wc(l,null)}}else if(0===k)0!==m&&Dc(h,0,m-1,f,null);else if(0===m)0!==k&&(l=null==f.__lexicalLineBreak,yc(g,0,k-1,l?null:f),l&&(f.textContent=\"\"));else{let w=k-1;k=m-1;let y=f.firstChild,z=0;for(m=0;z<=w&&m<=k;){var q=g[z];let B=h[m];if(q===B)y=Ic(B,f).nextSibling,\nz++,m++;else{void 0===l&&(l=new Set(g));void 0===n&&(n=new Set(h));let E=n.has(q),R=l.has(B);E?(R?(q=Xb(T,B),q===y?y=Ic(B,f).nextSibling:(null!=y?f.insertBefore(q,y):f.appendChild(q),Ic(B,f)),z++):Cc(B,f,y),m++):(y=xc(q).nextSibling,wc(q,f),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:T.getElementByKey(l),Dc(h,m,k,f,l)):n&&!l&&yc(g,z,w,f)}Wb(e)&&(P+=\"\\n\\n\");f.__lexicalTextContent=P;P=v+P;Ec(e,f);Q=b;O(d)||d.isInline()||Fc(a,c,f)}Wb(d)&&(P+=\"\\n\\n\",S+=\"\\n\\n\")}else c=d.getTextContent(),C(d)?(e=\nd.decorate(T,kc),null!==e&&Gc(a,e)):D(d)&&!d.isDirectionless()&&(Q+=c),P+=c,S+=c;!nc&&O(d)&&d.__cachedText!==S&&(d=d.getWritable(),d.__cachedText=S);return f}function Gc(a,b){let c=T._pendingDecorators,d=T._decorators;if(null===c){if(d[a]===b)return;c=Gb(T)}c[a]=b}function xc(a){a=uc.get(a);void 0===a&&r(75);return a}\nlet U=Object.freeze({}),Pc=[[\"keydown\",Jc],[\"mousedown\",Kc],[\"compositionstart\",Lc],[\"compositionend\",Mc],[\"input\",Nc],[\"click\",Oc],[\"cut\",U],[\"copy\",U],[\"dragstart\",U],[\"dragover\",U],[\"dragend\",U],[\"paste\",U],[\"focus\",U],[\"blur\",U],[\"drop\",U]];Pa&&Pc.push([\"beforeinput\",(a,b)=>Qc(a,b)]);let Rc=0,Sc=0,Tc=0,Uc=!1,Vc=!1,Wc=!1,Xc=!1,Yc=[0,0,\"root\",0];function Zc(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction $c(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a;if(Uc&&(Uc=!1,Zc(d,e)&&Zc(f,g)))return;A(b,()=>{if(!c)mb(null);else if(ub(b,d,f)){var h=x();if(F(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var l=rb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=Yc;l<w+200&&k.offset===q&&k.key===v?h.format=n:\"text\"===k.type?h.format=m.getFormat():\"element\"===k.type&&(h.format=0)}else{k=127;m=!1;l=h.getNodes();\nlet n=l.length;for(let q=0;q<n;q++){let v=l[q];if(D(v)&&(m=!0,k&=v.getFormat(),0===k))break}h.format=m?k:0}}V(b,ba,void 0)}})}function Oc(a,b){A(b,()=>{let c=x(),d=t?window.getSelection():null,e=Pb();if(F(c)){let f=c.anchor,g=f.getNode();d&&\"element\"===f.type&&0===f.offset&&c.isCollapsed()&&!O(g)&&1===Ib().getChildrenSize()&&g.getTopLevelElementOrThrow().isEmpty()&&null!==e&&c.is(e)&&(d.removeAllRanges(),c.dirty=!0)}V(b,ca,a)})}\nfunction Kc(a,b){let c=a.target;c instanceof Node&&A(b,()=>{C(jb(c))||(Vc=!0)})}function ad(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function bd(a,b){return a!==b||G(a)||G(b)||!a.isToken()||!b.isToken()}\nfunction Qc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Oa&&nb(b)||\"insertCompositionText\"!==c&&A(b,()=>{let d=x();if(\"deleteContentBackward\"===c){if(null===d){var e=Pb();if(!F(e))return;mb(e.clone())}if(F(d)){229===Sc&&a.timeStamp<Rc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(J(null),Rc=0,setTimeout(()=>{A(b,()=>{J(null)})},30),F(d)&&(e=d.anchor.getNode(),e.markDirty(),d.format=e.getFormat())):(a.preventDefault(),V(b,da,!0));return}}if(F(d)){e=a.data;d.dirty||!d.isCollapsed()||O(d.anchor.getNode())||\nad(d,a);var f=d.focus,g=d.anchor.getNode();f=f.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===e?(a.preventDefault(),V(b,ea,!1)):\"\\n\\n\"===e?(a.preventDefault(),V(b,fa,void 0)):null==e&&a.dataTransfer?(e=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(e)):null!=e&&Rb(d,e)&&(a.preventDefault(),V(b,ha,e));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":V(b,ha,a);break;case \"insertFromComposition\":J(null);V(b,\nha,a);break;case \"insertLineBreak\":J(null);V(b,ea,!1);break;case \"insertParagraph\":J(null);Wc?(Wc=!1,V(b,ea,!1)):V(b,fa,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":V(b,ia,a);break;case \"deleteByComposition\":bd(g,f)&&V(b,ja,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":V(b,ja,void 0);break;case \"deleteContent\":V(b,da,!1);break;case \"deleteWordBackward\":V(b,la,!0);break;case \"deleteWordForward\":V(b,la,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":V(b,\nma,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":V(b,ma,!1);break;case \"formatStrikeThrough\":V(b,p,\"strikethrough\");break;case \"formatBold\":V(b,p,\"bold\");break;case \"formatItalic\":V(b,p,\"italic\");break;case \"formatUnderline\":V(b,p,\"underline\");break;case \"historyUndo\":V(b,na,void 0);break;case \"historyRedo\":V(b,oa,void 0)}}})}\nfunction Nc(a,b){a.stopPropagation();A(b,()=>{var c=x(),d=a.data;null!=d&&F(c)&&Rb(c,d)?(Xc&&(cd(b,d),Xc=!1),V(b,ha,d),d=d.length,Oa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Qa||Ra||!b.isComposing()||(Rc=0,J(null))):(Ob(!1),Xc&&(cd(b,d||void 0),Xc=!1));K();c=I();ob(c)})}\nfunction Lc(a,b){A(b,()=>{let c=x();if(F(c)&&!b.isComposing()){let d=c.anchor;J(d.key);(a.timeStamp<Rc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&V(b,ha,Va)}})}\nfunction cd(a,b){var c=a._compositionKey;J(null);if(null!==c&&null!=b){if(\"\"===b){b=L(c);a=xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&D(b)&&kb(b,a.nodeValue,null,null,!0);return}if(\"\\n\"===b[b.length-1]&&(c=x(),F(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);V(a,ya,null);return}}Ob(!0,b)}function Mc(a,b){Oa?Xc=!0:A(b,()=>{cd(b,a.data)})}\nfunction Jc(a,b){if(!0!==a._lexicalHandled&&(a._lexicalHandled=!0,Rc=a.timeStamp,Sc=a.keyCode,!b.isComposing())){var {keyCode:c,shiftKey:d,ctrlKey:e,metaKey:f,altKey:g}=a;if(39!==c||e||f||g)if(39!==c||g||d||!e&&!f)if(37!==c||e||f||g)if(37!==c||g||d||!e&&!f)if(38!==c||e||f)if(40!==c||e||f)if(13===c&&d)Wc=!0,V(b,ya,a);else if(32===c)V(b,za,a);else if(u&&e&&79===c)a.preventDefault(),Wc=!0,V(b,ea,!0);else if(13!==c||d){var h=u?g||f?!1:8===c||72===c&&e:e||g||f?!1:8===c;h?8===c?V(b,Aa,a):(a.preventDefault(),\nV(b,da,!0)):27===c?V(b,Ba,a):(h=u?d||g||f?!1:46===c||68===c&&e:e||g||f?!1:46===c,h?46===c?V(b,Ca,a):(a.preventDefault(),V(b,da,!1)):8===c&&(u?g:e)?(a.preventDefault(),V(b,la,!0)):46===c&&(u?g:e)?(a.preventDefault(),V(b,la,!1)):u&&f&&8===c?(a.preventDefault(),V(b,ma,!0)):u&&f&&46===c?(a.preventDefault(),V(b,ma,!1)):66===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"bold\")):85===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"underline\")):73===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"italic\")):9!==c||g||e||\nf?90===c&&!d&&(u?f:e)?(a.preventDefault(),V(b,na,void 0)):(h=u?90===c&&f&&d:89===c&&e||90===c&&e&&d,h?(a.preventDefault(),V(b,oa,void 0)):dd(b._editorState._selection)&&(h=d?!1:67===c?u?f:e:!1,h?(a.preventDefault(),V(b,Ia,a)):(h=d?!1:88===c?u?f:e:!1,h&&(a.preventDefault(),V(b,Ja,a))))):V(b,Da,a))}else Wc=!1,V(b,ya,a);else V(b,xa,a);else V(b,ta,a);else V(b,sa,a);else V(b,ra,a);else V(b,qa,a);else V(b,pa,a);(e||d||g||f)&&V(b,Ma,a)}}\nfunction ed(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let fd=new Map;function gd(){let a=t?window.getSelection():null;if(null!==a){var b=vb(a.anchorNode);if(null!==b){Vc&&(Vc=!1,A(b,()=>{var g=Pb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=hd(g,a,b),mb(g))}));var c=Mb(b);c=c[c.length-1];var d=c._key,e=fd.get(d),f=e||c;f!==b&&$c(a,f,!1);$c(a,b,!0);b!==c?fd.set(d,b):e&&fd.delete(d)}}}\nfunction id(a,b){0===Tc&&a.ownerDocument.addEventListener(\"selectionchange\",gd);Tc++;a.__lexicalEditor=b;let c=ed(a);for(let d=0;d<Pc.length;d++){let [e,f]=Pc[d],g=\"function\"===typeof f?h=>{b.isEditable()&&f(h,b)}:h=>{if(b.isEditable())switch(e){case \"cut\":return V(b,Ja,h);case \"copy\":return V(b,Ia,h);case \"paste\":return V(b,ia,h);case \"dragstart\":return V(b,Fa,h);case \"dragover\":return V(b,Ga,h);case \"dragend\":return V(b,Ha,h);case \"focus\":return V(b,Ka,h);case \"blur\":return V(b,La,h);case \"drop\":return V(b,\nEa,h)}};a.addEventListener(e,g);c.push(()=>{a.removeEventListener(e,g)})}}\nclass X{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(G(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}G(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=L(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;\nM||(Fb()===e&&J(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function jd(a,b){let c=b.__key,d=a.offset,e=\"element\";if(D(b))e=\"text\",b=b.getTextContentSize(),d>b&&(d=b);else if(!G(b)){var f=b.getNextSibling();if(D(f))c=f.__key,d=0;else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function kd(a,b){if(G(b)){let c=b.getLastDescendant();G(c)||D(c)?jd(a,c):jd(a,b)}else jd(a,b)}\nfunction ld(a,b,c){let d=a.getNode(),e=d.getChildAtIndex(a.offset),f=N(),g=O(d)?md().append(f):f;f.setFormat(c);null===e?d.append(g):e.insertBefore(g);a.is(b)&&b.set(f.__key,0,\"text\");a.set(f.__key,0,\"text\")}function nd(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass od{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!dd(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new od(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.getNodes(),d=c.length;var e=c[d-1];if(D(e))e=e.select();else{let f=e.getIndexWithinParent()+1;e=e.getParentOrThrow().select(f,f)}e.insertNodes(a,b);for(a=0;a<d;a++)c[a].remove();return!0}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=L(c),null!==b&&a.push(b);M||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function F(a){return a instanceof pd}\nclass qd{constructor(a,b,c){this.gridKey=a;this.anchor=b;this.focus=c;this.dirty=!1;this._cachedNodes=null;b._selection=this;c._selection=this}is(a){return rd(a)?this.gridKey===a.gridKey&&this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}set(a,b,c){this.dirty=!0;this.gridKey=a;this.anchor.key=b;this.focus.key=c;this._cachedNodes=null}clone(){return new qd(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return sd(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.focus.getNode();return ic(c.select(0,c.getChildrenSize())).insertNodes(a,b)}getShape(){var a=L(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=L(this.focus.key);null===c&&r(22);var d=c.getIndexWithinParent();let e=c.getParentOrThrow().getIndexWithinParent();c=Math.min(b,d);b=Math.max(b,d);d=Math.min(a,e);a=Math.max(a,e);return{fromX:Math.min(c,b),fromY:Math.min(d,a),toX:Math.max(c,b),toY:Math.max(d,a)}}getNodes(){var a=\nthis._cachedNodes;if(null!==a)return a;a=new Set;let {fromX:b,fromY:c,toX:d,toY:e}=this.getShape();var f=L(this.gridKey);td(f)||r(23);a.add(f);f=f.getChildren();for(let k=c;k<=e;k++){var g=f[k];a.add(g);ud(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];vd(h)||r(25);a.add(h);for(h=h.getChildren();0<h.length;){let l=h.shift();a.add(l);G(l)&&h.unshift(...l.getChildren())}}}a=Array.from(a);M||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=\na[c].getTextContent();return b}}function rd(a){return a instanceof qd}\nclass pd{constructor(a,b,c){this.anchor=a;this.focus=b;this.dirty=!1;this.format=c;this._cachedNodes=null;a._selection=this;b._selection=this}is(a){return F(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format:!1}isBackward(){return this.focus.isBefore(this.anchor)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this.anchor,c=this.focus;a=b.getNode();let d=c.getNode();G(a)&&(b=a.getDescendantByIndex(b.offset),a=null!=\nb?b:a);G(d)&&(c=d.getDescendantByIndex(c.offset),d=null!=c?c:d);a=a.is(d)?G(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(d);M||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){nd(this.anchor,a.__key,b,\"text\");nd(this.focus,c.__key,d,\"text\");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return\"\";let b=a[0],c=a[a.length-1],d=this.anchor.isBefore(this.focus),[e,f]=sd(this),g=\"\",h=!0;for(let k=0;k<a.length;k++){let m=a[k];if(G(m)&&!m.isInline())h||\n(g+=\"\\n\"),h=m.isEmpty()?!1:!0;else if(h=!1,D(m)){let l=m.getTextContent();m===b?l=m===c?e<f?l.slice(e,f):l.slice(f,e):d?l.slice(e):l.slice(f):m===c&&(l=d?l.slice(0,f):l.slice(0,e));g+=l}else!C(m)&&!Ab(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=I(),c=b.getEditorState()._selection;a=wd(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,e]=a;nd(this.anchor,d.key,d.offset,d.type);nd(this.focus,e.key,e.offset,e.type);this._cachedNodes=\nnull}}clone(){let a=this.anchor,b=this.focus;return new pd(new X(a.key,a.offset,a.type),new X(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=yb(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Ya[a])}insertRawText(a){let b=a.split(/\\r?\\n/);if(1===b.length)this.insertText(a);else{a=[];let c=b.length;for(let d=0;d<c;d++){let e=b[d];\"\"!==e&&a.push(N(e));d!==c-1&&a.push(xd())}this.insertNodes(a)}}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||\nb.isBefore(c),e=this.format;d&&\"element\"===b.type?ld(b,c,e):d||\"element\"!==c.type||ld(c,b,e);var f=this.getNodes(),g=f.length,h=d?c:b;c=(d?b:c).offset;var k=h.offset;b=f[0];D(b)||r(26);d=b.getTextContent().length;var m=b.getParentOrThrow(),l=f[g-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!m.canInsertTextAfter()&&null===b.getNextSibling())){var n=b.getNextSibling();if(!D(n)||wb(n))n=N(),n.setFormat(e),m.canInsertTextAfter()?b.insertAfter(n):m.insertAfter(n);\nn.select(0,0);b=n;if(\"\"!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!m.canInsertTextBefore()&&null===b.getPreviousSibling())){n=b.getPreviousSibling();if(!D(n)||wb(n))n=N(),n.setFormat(e),m.canInsertTextBefore()?b.insertBefore(n):m.insertBefore(n);n.select();b=n;if(\"\"!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)m=N(b.getTextContent()),m.setFormat(e),b.replace(m),b=m;else if(!(this.isCollapsed()||\"\"===\na||(n=l.getParent(),m.canInsertTextBefore()&&m.canInsertTextAfter()&&(!G(n)||n.canInsertTextBefore()&&n.canInsertTextAfter())))){this.insertText(\"\");yd(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(b.isToken())a=N(a),a.select(),b.replace(a);else{f=b.getFormat();if(c===k&&f!==e)if(\"\"===b.getTextContent())b.setFormat(e);else{f=N(a);f.setFormat(e);f.select();0===c?b.insertBefore(f):([g]=b.splitText(c),g.insertAfter(f));f.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=\na.length);return}b=b.spliceText(c,k-c,a,!0);\"\"===b.getTextContent()?b.remove():\"text\"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:this.format=f)}else{e=new Set([...b.getParentKeys(),...l.getParentKeys()]);var q=G(b)?b:b.getParentOrThrow();m=G(l)?l:l.getParentOrThrow();n=l;if(!q.is(m)&&m.isInline()){do n=m,m=m.getParentOrThrow();while(m.isInline())}\"text\"===h.type&&(0!==k||\"\"===l.getTextContent())||\"element\"===h.type&&l.getIndexWithinParent()<k?D(l)&&!l.isToken()&&k!==l.getTextContentSize()?\n(l.isSegmented()&&(h=N(l.getTextContent()),l.replace(h),l=h),l=l.spliceText(0,k,\"\"),e.add(l.__key)):(h=l.getParentOrThrow(),h.canBeEmpty()||1!==h.getChildrenSize()?l.remove():h.remove()):e.add(l.__key);h=m.getChildren();k=new Set(f);l=q.is(m);q=q.isInline()&&null===b.getNextSibling()?q:b;for(let v=h.length-1;0<=v;v--){let w=h[v];if(w.is(b)||G(w)&&w.isParentOf(b))break;w.isAttached()&&(!k.has(w)||w.is(n)?l||q.insertAfter(w):w.remove())}if(!l)for(h=m,k=null;null!==h;){l=h.getChildren();m=l.length;if(0===\nm||l[m-1].is(k))e.delete(h.__key),k=h;h=h.getParent()}b.isToken()?c===d?b.select():(a=N(a),a.select(),b.replace(a)):(b=b.spliceText(c,d-c,a,!0),\"\"===b.getTextContent()?b.remove():b.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<g;a++)b=f[a],e.has(b.__key)||b.remove()}}removeText(){this.insertText(\"\")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),J(null);else{var b=this.getNodes(),c=[];for(var d of b)D(d)&&c.push(d);var e=c.length;if(0===e)this.toggleFormat(a),\nJ(null);else{d=this.anchor;var f=this.focus,g=this.isBackward();b=g?f:d;d=g?d:f;var h=0,k=c[0];f=\"element\"===b.type?0:b.offset;\"text\"===b.type&&f===k.getTextContentSize()&&(h=1,k=c[1],f=0);if(null!=k){g=k.getFormatFlags(a,null);var m=e-1,l=c[m];e=\"text\"===d.type?d.offset:l.getTextContentSize();if(k.is(l))f!==e&&(0===f&&e===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(f,e),a=0===f?a[0]:a[1],a.setFormat(g),\"text\"===b.type&&b.set(a.__key,0,\"text\"),\"text\"===d.type&&d.set(a.__key,e-f,\"text\")),\nthis.format=g);else{0!==f&&([,k]=k.splitText(f),f=0);k.setFormat(g);var n=l.getFormatFlags(a,g);0<e&&(e!==l.getTextContentSize()&&([l]=l.splitText(e)),l.setFormat(n));for(h+=1;h<m;h++){let q=c[h];if(!q.isToken()){let v=q.getFormatFlags(a,n);q.setFormat(v)}}\"text\"===b.type&&b.set(k.__key,f,\"text\");\"text\"===d.type&&d.set(l.__key,e,\"text\");this.format=g|n}}}}}insertNodes(a,b){if(!this.isCollapsed()){var c=this.isBackward()?this.anchor:this.focus,d=c.getNode().getNextSibling();d=d?d.getKey():null;c=(c=\nc.getNode().getPreviousSibling())?c.getKey():null;this.removeText();if(this.isCollapsed()&&\"element\"===this.focus.type){if(this.focus.key===d&&0===this.focus.offset){var e=N();this.focus.getNode().insertBefore(e)}else this.focus.key===c&&this.focus.offset===this.focus.getNode().getChildrenSize()&&(e=N(),this.focus.getNode().insertAfter(e));e&&(this.focus.set(e.__key,0,\"text\"),this.anchor.set(e.__key,0,\"text\"))}}d=this.anchor;c=d.offset;var f=d.getNode();e=f;\"element\"===d.type&&(e=d.getNode(),d=e.getChildAtIndex(c-\n1),e=null===d?e:d);d=[];var g=f.getNextSiblings(),h=cc(f)?null:f.getTopLevelElementOrThrow();if(D(f))if(e=f.getTextContent().length,0===c&&0!==e)e=f.getPreviousSibling(),e=null!==e?e:f.getParentOrThrow(),d.push(f);else if(c===e)e=f;else{if(f.isToken())return!1;[e,f]=f.splitText(c);d.push(f)}f=e;d.push(...g);g=a[0];var k=!1,m=null;for(let v=0;v<a.length;v++){var l=a[v];if(G(l)&&!l.isInline()){if(l.is(g)){if(G(e)&&e.isEmpty()&&e.canReplaceWith(l)){e.replace(l);e=l;k=!0;continue}var n=l.getFirstDescendant();\nif(zb(n)){for(n=n.getParentOrThrow();n.isInline();)n=n.getParentOrThrow();m=n.getChildren();k=m.length;if(G(e))for(var q=0;q<k;q++)e.append(m[q]);else{for(q=k-1;0<=q;q--)e.insertAfter(m[q]);e=e.getParentOrThrow()}m=m[k-1];n.remove();k=!0;if(n.is(l))continue}}D(e)&&(null===h&&r(27),e=h)}else k&&!C(l)&&cc(e.getParent())&&r(28);k=!1;if(G(e)&&!e.isInline())if(m=l,C(l)&&!l.isInline())e=e.insertAfter(l);else if(G(l)){if(l.canBeEmpty()||!l.isEmpty())O(e)?(n=e.getChildAtIndex(c),null!==n?n.insertBefore(l):\ne.append(l),e=l):e=e.insertAfter(l)}else n=e.getFirstChild(),null!==n?n.insertBefore(l):e.append(l),e=l;else!G(l)||G(l)&&l.isInline()||C(e)&&!e.isInline()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Ab(e)&&e.remove(),e=l,v--)}b&&(D(f)?f.select():(a=e.getPreviousSibling(),D(a)?a.select():(a=e.getIndexWithinParent(),e.getParentOrThrow().select(a,a))));if(G(e)){if(a=D(m)?m:G(m)&&m.isInline()?m.getLastDescendant():e.getLastDescendant(),b||(null===a?e.select():D(a)?a.select():a.selectNext()),0!==\nd.length)for(b=e,a=d.length-1;0<=a;a--)c=d[a],h=c.getParentOrThrow(),!G(e)||zd(c)||C(c)&&!c.isInline()?G(e)||zd(c)?G(c)&&!c.canInsertAfter(e)?(f=h.constructor.clone(h),G(f)||r(29),f.append(c),e.insertAfter(f)):e.insertAfter(c):(e.insertBefore(c),e=c):(b===e?e.append(c):e.insertBefore(c),e=c),h.isEmpty()&&!h.canBeEmpty()&&h.remove()}else b||(D(e)?e.select():(b=e.getParentOrThrow(),a=e.getIndexWithinParent()+1,b.select(a,a)));return!0}insertParagraph(){this.isCollapsed()||this.removeText();var a=this.anchor,\nb=a.offset,c=[];if(\"text\"===a.type){var d=a.getNode();var e=d.getNextSiblings().reverse();var f=d.getParentOrThrow();var g=f.isInline(),h=g?f.getTextContentSize():d.getTextContentSize();0===b?e.push(d):(g&&(c=f.getNextSiblings()),b===h||g&&b===d.getTextContentSize()||([,d]=d.splitText(b),e.push(d)))}else{f=a.getNode();if(cc(f)){e=md();c=f.getChildAtIndex(b);e.select();null!==c?c.insertBefore(e):f.append(e);return}e=f.getChildren().slice(b).reverse()}d=e.length;if(0===b&&0<d&&f.isInline()){if(c=f.getParentOrThrow(),\ne=c.insertNewAfter(this),G(e))for(c=c.getChildren(),f=0;f<c.length;f++)e.append(c[f])}else if(g=f.insertNewAfter(this),null===g)this.insertLineBreak();else if(G(g))if(h=f.getFirstChild(),0===b&&(f.is(a.getNode())||h&&h.is(a.getNode()))&&0<d)f.insertBefore(g);else{f=null;b=c.length;a=g.getParentOrThrow();if(0<b)for(h=0;h<b;h++)a.append(c[h]);if(0!==d)for(c=0;c<d;c++)b=e[c],null===f?g.append(b):f.insertBefore(b),f=b;g.canBeEmpty()||0!==g.getChildrenSize()?g.selectStart():(g.selectPrevious(),g.remove())}}insertLineBreak(a){let b=\nxd();var c=this.anchor;\"element\"===c.type&&(c=c.getNode(),O(c)&&this.insertParagraph());a?this.insertNodes([b],!0):this.insertNodes([b])&&b.selectNext(0,0)}getCharacterOffsets(){return sd(this)}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=sd(this);if(0===b)return[];if(1===b)return D(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):[f];b=d.isBefore(e);D(f)&&(d=b?h:k,d===f.getTextContentSize()?\na.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));D(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f=\"move\"===a,g=Vb(d,b);if(C(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Ad(),b.add(g.__key),mb(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),D(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,\"text\"),f&&e.set(g,b,\"text\")):(c=g.getParentOrThrow(),G(a)?(c=a.__key,g=b?a.getChildrenSize():0):\n(g=g.getIndexWithinParent(),c=c.__key,b||g++),d.set(c,g,\"element\"),f&&e.set(c,g,\"element\")));else if(d=t?window.getSelection():null)if(d.modify(a,b?\"backward\":\"forward\",c),0<d.rangeCount&&(e=d.getRangeAt(0),g=bc(this.anchor.getNode()),this.applyDOMRange(e),this.dirty=!0,!f)){f=this.getNodes();a=[];c=!1;for(let h=0;h<f.length;h++){let k=f[h];ac(k,g)?a.push(k):c=!0}c&&0<a.length&&(b?(b=a[0],G(b)?b.selectStart():b.getParentOrThrow().selectStart()):(b=a[a.length-1],G(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));\nif(d.anchorNode!==e.startContainer||d.anchorOffset!==e.startOffset)b=this.focus,f=this.anchor,d=f.key,e=f.offset,g=f.type,nd(f,b.key,b.offset,b.type),nd(b,d,e,g),this._cachedNodes=null}}deleteCharacter(a){if(this.isCollapsed()){var b=this.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===b.type&&G(d)&&b.offset===d.getChildrenSize()||\"text\"===b.type&&b.offset===d.getTextContentSize())&&(d=d.getNextSibling()||d.getParentOrThrow().getNextSibling(),G(d)&&!d.canExtractContents()))return;this.modify(\"extend\",\na,\"character\");if(!this.isCollapsed()){var e=\"text\"===c.type?c.getNode():null;d=\"text\"===b.type?b.getNode():null;if(null!==e&&e.isSegmented()){if(b=c.offset,c=e.getTextContentSize(),e.is(d)||a&&b!==c||!a&&0!==b){Bd(e,a,b);return}}else if(null!==d&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),d.is(e)||a&&0!==b||!a&&b!==c)){Bd(d,a,b);return}d=this.anchor;e=this.focus;b=d.getNode();c=e.getNode();if(b===c&&\"text\"===d.type&&\"text\"===e.type){var f=d.offset,g=e.offset;let h=f<g;c=h?f:g;g=h?g:f;\nf=g-1;c!==f&&(b=b.getTextContent().slice(c,g),Lb(b)||(a?e.offset=f:d.offset=f))}}else if(a&&0===b.offset&&(\"element\"===b.type?b.getNode():b.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText()}deleteLine(a){this.isCollapsed()&&(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\"lineboundary\"),0===(a?this.focus:this.anchor).offset&&this.modify(\"extend\",a,\"character\"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify(\"extend\",a,\"word\");this.removeText()}}\nfunction dd(a){return a instanceof od}function Cd(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}function sd(a){let b=a.anchor;a=a.focus;return\"element\"===b.type&&\"element\"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[Cd(b),Cd(a)]}\nfunction Bd(a,b,c){let d=a.getTextContent().split(/(?=\\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join(\"\").trim();\"\"===b?a.remove():(a.setTextContent(b),a.select(g,g))}\nfunction Dd(a,b,c){var d=b;if(1===a.nodeType){let g=!1;var e=a.childNodes;var f=e.length;d===f&&(g=!0,d=f-1);e=Kb(e[d]);if(D(e))d=g?e.getTextContentSize():0;else{f=Kb(a);if(null===f)return null;if(G(f)){a=f.getChildAtIndex(d);if(b=G(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=g?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,d=0):(a=c,f=a.getParentOrThrow()));D(a)?(e=a,f=null,d=g?a.getTextContentSize():0):a!==f&&g&&d++}else d=f.getIndexWithinParent(),\nd=0===b&&C(f)&&Kb(a)===f?d:d+1,f=f.getParentOrThrow();if(G(f))return new X(f.__key,d,\"element\")}}else e=Kb(a);return D(e)?new X(e.__key,d,\"text\"):null}\nfunction Kd(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&G(e)&&e.isInline()&&(b=e.getPreviousSibling(),D(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):G(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type=\"element\"):D(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&G(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type=\"element\"):(c||\nb)&&null===d&&G(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),D(b)&&(a.key=b.__key,a.offset=0)))}function yd(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let e=a.is(b);Kd(a,d,e);Kd(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=I();d.isComposing()&&d._compositionKey!==a.key&&F(c)&&(d=c.anchor,c=c.focus,nd(a,d.key,d.offset,d.type),nd(b,c.key,c.offset,c.type))}}\nfunction wd(a,b,c,d,e,f){if(null===a||null===c||!ub(e,a,c))return null;b=Dd(a,b,F(f)?f.anchor:null);if(null===b)return null;d=Dd(c,d,F(f)?f.focus:null);if(null===d||\"element\"===b.type&&\"element\"===d.type&&(a=Kb(a),c=Kb(c),C(a)&&C(c)))return null;yd(b,d,f);return[b,d]}function zd(a){return G(a)&&!a.isInline()}function Ld(a,b,c,d,e,f){let g=H();a=new pd(new X(a,b,e),new X(c,d,f),0);a.dirty=!0;return g._selection=a}function Ad(){return new od(new Set)}\nfunction Md(a){let b=a.getEditorState()._selection,c=t?window.getSelection():null;return dd(b)||rd(b)?b.clone():hd(b,c,a)}\nfunction hd(a,b,c){var d=c._window;if(null===d)return null;var e=d.event,f=e?e.type:void 0;d=\"selectionchange\"===f;e=!db&&(d||\"beforeinput\"===f||\"compositionstart\"===f||\"compositionend\"===f||\"click\"===f&&e&&3===e.detail||\"drop\"===f||void 0===f);let g;if(!F(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&F(a)&&!ub(c,e,f))return a.clone()}else return a.clone();c=wd(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new pd(h,k,F(a)?a.format:0)}\nfunction x(){return H()._selection}function Pb(){return I()._editorState._selection}\nfunction Nd(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h))if(g=b.__key,a.isCollapsed())b=e.offset,c<=b&&(c=Math.max(0,b+d),e.set(g,c,\"element\"),f.set(g,c,\"element\"),Od(a));else{var k=a.isBackward();h=k?f:e;var m=h.getNode();e=k?e:f;f=e.getNode();b.is(m)&&(m=h.offset,c<=m&&h.set(g,Math.max(0,m+d),\"element\"));b.is(f)&&(b=e.offset,c<=b&&e.set(g,Math.max(0,b+d),\"element\"));Od(a)}}\nfunction Od(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())G(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),D(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,\"text\"),d.set(g.__key,c,\"text\")));else{if(G(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);D(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,\"text\"))}G(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-\n1):g.getChildAtIndex(e),D(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,\"text\")))}}function Pd(a,b){b=b.getEditorState()._selection;a=a._selection;if(F(a)){var c=a.anchor;let d=a.focus,e;\"text\"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));\"text\"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}\nfunction Qd(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,D(d)?(g=d.getTextContentSize(),h=\"text\"):G(d)&&(g=d.getChildrenSize(),h=\"element\")):null!==e&&(f=e.__key,D(e)?h=\"text\":G(e)&&(h=\"element\"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,\"element\"))}function Rd(a,b,c,d,e){\"text\"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}let Y=null,Z=null,M=!1,Sd=!1,Eb=0;function K(){M&&r(13)}\nfunction H(){null===Y&&r(15);return Y}function I(){null===Z&&r(16);return Z}function Td(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&r(30);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function Ud(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),D(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&hc(b)}\nfunction Vd(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=Fb(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let l of g)g=a.get(l),D(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&hc(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&Td(b,g,f),c.add(l);g=b._dirtyLeaves;h=g.size;if(0<h){Eb++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let l of k)if(k=l[0],m=l[1],\"root\"===k||m)g=a.get(k),void 0!==\ng&&void 0!==g&&g.__key!==e&&g.isAttached()&&Td(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Eb++}b._dirtyLeaves=c;b._dirtyElements=d}function Wd(a,b){var c=b.get(a.type);void 0===c&&r(17);c=c.klass;a.type!==c.getType()&&r(18);c=c.importJSON(a);a=a.children;if(G(c)&&Array.isArray(a))for(let d=0;d<a.length;d++){let e=Wd(a[d],b);c.append(e)}return c}function Xd(a,b){let c=Y,d=M,e=Z;Y=a;M=!0;Z=null;try{return b()}finally{Y=c,M=d,Z=e}}\nfunction Yd(a){var b=a._pendingEditorState,c=a._rootElement,d=a._headless;if((null!==c||d)&&null!==b){var e=a._editorState,f=e._selection,g=b._selection,h=0!==a._dirtyType,k=Y,m=M,l=Z,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Z=a;Y=b;M=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();Q=S=P=\"\";mc=2===w;pc=null;T=a;kc=a._config;lc=a._nodes;oc=T._listeners.mutation;qc=y;rc=z;sc=e._nodeMap;tc=b._nodeMap;\nnc=b._readOnly;uc=new Map(a._keyToDOMMap);var B=new Map;vc=B;Ic(\"root\",null);vc=uc=kc=tc=sc=rc=qc=lc=T=void 0;v=B}catch(W){W instanceof Error&&a._onError(W);if(Sd)throw W;Zd(a,null,c,b);pb(a);a._dirtyType=2;Sd=!0;Yd(a);Sd=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,Y=k,M=m,Z=l}}b._readOnly||(b._readOnly=!0);n=a._dirtyLeaves;q=a._dirtyElements;B=a._normalizedNodes;w=a._updateTags;m=a._deferred;h&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,\na._dirtyElements=new Map,a._normalizedNodes=new Set,a._updateTags=new Set);z=a._decorators;y=a._pendingDecorators||z;var E=b._nodeMap;for(Sa in y)E.has(Sa)||(y===z&&(y=Gb(a)),delete y[Sa]);d=d?null:t?window.getSelection():null;if(a._editable&&null!==d&&(h||null===g||g.dirty)){Z=a;Y=b;try{a:{let W=d.anchorNode,ua=d.focusNode,we=d.anchorOffset,xe=d.focusOffset,qb=document.activeElement;if(!w.has(\"collaboration\")||qb===c)if(F(g)){var R=g.anchor,aa=g.focus,Ed=R.key,va=aa.key,Fd=Xb(a,Ed),Gd=Xb(a,va),Yb=\nR.offset,Hd=aa.offset,Zb=g.format,Id=g.isCollapsed();h=Fd;va=Gd;var Sa=!1;\"text\"===R.type&&(h=xb(Fd),Sa=R.getNode().getFormat()!==Zb);\"text\"===aa.type&&(va=xb(Gd));if(null!==h&&null!==va){if(Id&&(null===f||Sa||F(f)&&f.format!==Zb)){var ye=performance.now();Yc=[Zb,Yb,Ed,ye]}if(we===Yb&&xe===Hd&&W===h&&ua===va&&(\"Range\"!==d.type||!Id)&&(null===c||null!==qb&&c.contains(qb)||c.focus({preventScroll:!0}),!Ra&&!Qa||\"element\"!==R.type))break a;try{d.setBaseAndExtent(h,Yb,va,Hd);if(!w.has(\"skip-scroll-into-view\")&&\ng.isCollapsed()&&null!==c&&c===qb){let Ta=R.getNode();if(G(Ta)){let ka=Ta.getDescendantByIndex(R.offset);null!==ka&&(Ta=ka)}let wa=a.getElementByKey(Ta.__key);if(null!==wa){let ka=wa.getBoundingClientRect();if(ka.bottom>rb(a).innerHeight)wa.scrollIntoView(!1);else if(0>ka.top)wa.scrollIntoView();else{let Jd=c.getBoundingClientRect();Math.floor(ka.bottom)>Math.floor(Jd.bottom)?wa.scrollIntoView(!1):Math.floor(ka.top)<Math.floor(Jd.top)&&wa.scrollIntoView()}w.add(\"scroll-into-view\")}}Uc=!0}catch(Ta){}}}else null!==\nf&&ub(a,W,ua)&&d.removeAllRanges()}}finally{Z=l,Y=k}}if(null!==v)for(c=v,f=Array.from(a._listeners.mutation),g=f.length,k=0;k<g;k++){let [W,ua]=f[k];l=c.get(ua);void 0!==l&&W(l,{dirtyLeaves:n,updateTags:w})}c=a._pendingDecorators;null!==c&&(a._decorators=c,a._pendingDecorators=null,$d(\"decorator\",a,!0,c));c=Hb(e);f=Hb(b);c!==f&&$d(\"textcontent\",a,!0,f);$d(\"update\",a,!0,{dirtyElements:q,dirtyLeaves:n,editorState:b,normalizedNodes:B,prevEditorState:e,tags:w});a._deferred=[];if(0!==m.length){b=a._updating;\na._updating=!0;try{for(e=0;e<m.length;e++)m[e]()}finally{a._updating=b}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [W,ua]=b;ae(a,W,ua)}}}function $d(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}\nfunction V(a,b,c){if(!1===a._updating||Z!==a){let f=!1;a.update(()=>{f=V(a,b,c)});return f}let d=Mb(a);for(let f=4;0<=f;f--)for(let g=0;g<d.length;g++){var e=d[g]._commands.get(b);if(void 0!==e&&(e=e[f],void 0!==e)){e=Array.from(e);let h=e.length;for(let k=0;k<h;k++)if(!0===e[k](c,a))return!0}}return!1}\nfunction be(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}\nfunction ae(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new ce(new Map(c._nodeMap)),h=!0;g._flushSync=f;f=Y;let k=M,m=Z,l=a._updating;Y=g;M=!1;a._updating=!0;Z=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=Md(a));let n=a._compositionKey;b();\ne=be(a,e);Pd(g,a);0!==a._dirtyType&&(e?Ud(g,a):Vd(g,a),be(a),ec(c,g,a._dirtyLeaves,a._dirtyElements));n!==a._compositionKey&&(g._flushSync=!0);let q=g._selection;if(F(q)){let v=g._nodeMap,w=q.focus.key;void 0!==v.get(q.anchor.key)&&void 0!==v.get(w)||r(19)}else dd(q)&&0===q._nodes.size&&(g._selection=null)}catch(n){n instanceof Error&&a._onError(n);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();Yd(a);return}finally{Y=f,M=k,Z=m,a._updating=\nl,Eb=0}0!==a._dirtyType||de(g,a)?g._flushSync?(g._flushSync=!1,Yd(a)):h&&tb(()=>{Yd(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function A(a,b,c){a._updating?a._updates.push([b,c]):ae(a,b,c)}\nfunction ee(a,b,c){K();var d=a.__key;let e=a.getParent();if(null!==e){var f=$b(a),g=!1;if(F(f)&&b){var h=f.anchor;let k=f.focus;h.key===d&&(Qd(h,a,e,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&(Qd(k,a,e,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=e.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Cb(a);h.splice(d,1);a.getWritable().__parent=null;F(f)&&b&&!g&&Nd(f,e,d,-1);c||cc(e)||e.canBeEmpty()||!e.isEmpty()||ee(e,b);O(e)&&e.isEmpty()&&e.selectEnd()}}\nfunction fe(a){a=L(a);null===a&&r(63);return a}\nclass ge{static getType(){r(64)}static clone(){r(65)}constructor(a){this.__type=this.constructor.getType();this.__parent=null;if(null!=a)this.__key=a;else{K();99<Eb&&r(14);a=I();var b=H(),c=\"\"+sb++;b._nodeMap.set(c,this);G(this)?a._dirtyElements.set(c,!0):a._dirtyLeaves.add(c);a._cloneNotNeeded.add(c);a._dirtyType=1;this.__key=c}}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if(\"root\"===a)return!0;a=L(a);if(null===a)break;a=a.__parent}return!1}isSelected(){let a=x();if(null==\na)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return D(this)?b:F(a)&&\"element\"===a.anchor.type&&\"element\"===a.focus.type&&a.anchor.key===a.focus.key&&a.anchor.offset===a.focus.offset?!1:b}getKey(){return this.__key}getIndexWithinParent(){let a=this.getParent();return null===a?-1:a.__children.indexOf(this.__key)}getParent(){let a=this.getLatest().__parent;return null===a?null:L(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==\na;){let b=a.getParent();if(cc(b))return a;a=b}return null}getTopLevelElementOrThrow(){let a=this.getTopLevelElement();null===a&&r(67);return a}getParents(){let a=[],b=this.getParent();for(;null!==b;)a.push(b),b=b.getParent();return a}getParentKeys(){let a=[],b=this.getParent();for(;null!==b;)a.push(b.__key),b=b.getParent();return a}getPreviousSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.indexOf(this.__key);return 0>=b?null:L(a[b-1])}getPreviousSiblings(){var a=this.getParent();\nif(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>fe(c))}getNextSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.length,c=a.indexOf(this.__key);return c>=b-1?null:L(a[c+1])}getNextSiblings(){var a=this.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(b+1).map(c=>fe(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();G(this)&&b.unshift(this);G(a)&&c.unshift(a);a=b.length;\nvar d=c.length;if(0===a||0===d||b[a-1]!==c[d-1])return null;c=new Set(c);for(d=0;d<a;d++){let e=b[d];if(c.has(e))return e}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(a.isParentOf(this))return!0;if(this.isParentOf(a))return!1;var b=this.getCommonAncestor(a);let c=this;for(;;){var d=c.getParentOrThrow();if(d===b){d=d.__children.indexOf(c.__key);break}c=d}for(c=a;;){a=c.getParentOrThrow();if(a===b){b=a.__children.indexOf(c.__key);break}c=a}return d<b}isParentOf(a){let b=this.__key;\nif(b===a.__key)return!1;for(;null!==a;){if(a.__key===b)return!0;a=a.getParent()}return!1}getNodesBetween(a){let b=this.isBefore(a),c=[],d=new Set;for(var e=this;;){var f=e.__key;d.has(f)||(d.add(f),c.push(e));if(e===a)break;f=G(e)?b?e.getFirstChild():e.getLastChild():null;if(null!==f)e=f;else if(f=b?e.getNextSibling():e.getPreviousSibling(),null!==f)e=f;else{e=e.getParentOrThrow();d.has(e.__key)||c.push(e);if(e===a)break;f=e;do null===f&&r(68),e=b?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),\nnull!==f&&(null!==e||d.has(f.__key)||c.push(f));while(null===e)}}b||c.reverse();return c}isDirty(){let a=I()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=L(this.__key);null===a&&r(69);return a}getWritable(){K();var a=H(),b=I();a=a._nodeMap;let c=this.__key,d=this.getLatest(),e=d.__parent;b=b._cloneNotNeeded;var f=x();null!==f&&(f._cachedNodes=null);if(b.has(c))return Db(d),d;f=d.constructor.clone(d);f.__parent=e;G(d)&&G(f)?(f.__children=Array.from(d.__children),f.__indent=d.__indent,\nf.__format=d.__format,f.__dir=d.__dir):D(d)&&D(f)&&(f.__format=d.__format,f.__style=d.__style,f.__mode=d.__mode,f.__detail=d.__detail);b.add(c);f.__key=c;Db(f);a.set(c,f);return f}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){r(72)}static importJSON(){r(18)}remove(a){ee(this,!0,a)}replace(a){K();let b=this.__key;a=a.getWritable();Bb(a);var c=this.getParentOrThrow(),\nd=c.getWritable().__children;let e=d.indexOf(this.__key),f=a.__key;-1===e&&r(31);d.splice(e,0,f);a.__parent=c.__key;ee(this,!1);Cb(a);d=x();F(d)&&(c=d.anchor,d=d.focus,c.key===b&&kd(c,a),d.key===b&&kd(d,a));Fb()===b&&J(f);return a}insertAfter(a){K();var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let e=x();var f=a.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Bb(c),F(e)&&(h=d.__key,g=e.anchor,d=e.focus,g=\"element\"===g.type&&g.key===h&&g.offset===f+1,h=\"element\"===d.type&&d.key===h&&d.offset===\nf+1));f=this.getParentOrThrow().getWritable();d=c.__key;c.__parent=b.__parent;let k=f.__children;b=k.indexOf(b.__key);-1===b&&r(31);k.splice(b+1,0,d);Cb(c);F(e)&&(Nd(e,f,b+1),c=f.__key,g&&e.anchor.set(c,b+2,\"element\"),h&&e.focus.set(c,b+2,\"element\"));return a}insertBefore(a){var b=this.getWritable(),c=a.getWritable();Bb(c);let d=this.getParentOrThrow().getWritable(),e=c.__key;c.__parent=b.__parent;let f=d.__children;b=f.indexOf(b.__key);-1===b&&r(31);f.splice(b,0,e);Cb(c);c=x();F(c)&&Nd(c,d,b);return a}selectPrevious(a,\nb){K();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):G(c)?c.select():D(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){K();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():G(c)?c.select(0,0):D(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}\nclass he extends ge{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function C(a){return a instanceof he}\nclass ie extends ge{constructor(a){super(a);this.__children=[];this.__indent=this.__format=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return ab[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=L(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===\nthis.getChildrenSize()}isDirty(){let a=I()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest();return a.getParentOrThrow().getLastChild()===a}getAllTextNodes(){let a=[],b=this.getLatest().__children;for(let d=0;d<b.length;d++){var c=L(b[d]);D(c)?a.push(c):G(c)&&(c=c.getAllTextNodes(),a.push(...c))}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(G(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=\nthis.getLastChild();for(;null!==a;){if(G(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],G(a)&&a.getLastDescendant()||a||null;a=b[a];return G(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__children;return 0===a.length?null:L(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;\nreturn 0===b?null:L(a[b-1])}getLastChildOrThrow(){let a=this.getLastChild();null===a&&r(96);return a}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:L(a)}getTextContent(){let a=\"\",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContent();G(e)&&d!==c-1&&!e.isInline()&&(a+=\"\\n\\n\")}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=$a[a],0!==(this.getFormat()&a)):!1}select(a,b){K();let c=x();var d=this.getChildrenSize();\nvoid 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(F(c))c.anchor.set(d,a,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Ld(d,a,d,b,\"element\",\"element\");return c}selectStart(){let a=this.getFirstDescendant();return G(a)||D(a)?a.select(0,0):null!==a?a.selectPrevious():this.select(0,0)}selectEnd(){let a=this.getLastDescendant();return G(a)||D(a)?a.select():null!==a?a.selectNext():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),\n0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=\"\"!==a?$a[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=this.getWritable();var e=d.__key;let f=d.__children,g=c.length;var h=[];for(let k=0;k<g;k++){let m=c[k],l=m.getWritable();m.__key===e&&r(76);Bb(l);l.__parent=e;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Db(c);(e=this.getChildAtIndex(a+b))&&Db(e);a===f.length?(f.push(...h),a=[]):a=f.splice(a,\nb,...h);if(a.length&&(b=x(),F(b))){let k=new Set(a),m=new Set(h);h=q=>{for(q=q.getNode();q;){const v=q.__key;if(k.has(v)&&!m.has(v))return!0;q=q.getParent()}return!1};let {anchor:l,focus:n}=b;h(l)&&Qd(l,l.getNode(),this,c,e);h(n)&&Qd(n,n.getNode(),this,c,e);h=a.length;for(b=0;b<h;b++)c=L(a[b]),null!=c&&(c.getWritable().__parent=null);0!==f.length||this.canBeEmpty()||cc(this)||this.remove()}return d}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),\ntype:\"element\",version:1}}insertNewAfter(){return null}canInsertTab(){return!1}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}function G(a){return a instanceof ie}\nclass je extends ie{static getType(){return\"root\"}static clone(){return new je}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!M&&0!==I()._dirtyType||null===a?super.getTextContent():a}remove(){r(52)}replace(){r(53)}insertBefore(){r(54)}insertAfter(){r(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];G(c)||C(c)||r(56)}return super.append(...a)}static importJSON(a){let b=Ib();b.setFormat(a.format);\nb.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"root\",version:1}}}function O(a){return a instanceof je}function de(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function ke(){return new ce(new Map([[\"root\",new je]]))}\nfunction le(a){let b=a.exportJSON();b.type!==a.constructor.getType()&&r(58);let c=b.children;if(G(a)){Array.isArray(c)||r(59);a=a.getChildren();for(let d=0;d<a.length;d++){let e=le(a[d]);c.push(e)}}return b}\nclass ce{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return Xd(this,a)}clone(a){a=new ce(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return Xd(this,()=>({root:le(Ib())}))}}\nclass me extends ge{static getType(){return\"linebreak\"}static clone(a){return new me(a.__key)}constructor(a){super(a)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement;return null!=b&&b.firstChild===a&&b.lastChild===a?null:{conversion:ne,priority:0}}}}static importJSON(){return xd()}exportJSON(){return{type:\"linebreak\",version:1}}}function ne(){return{node:xd()}}function xd(){return new me}\nfunction Ab(a){return a instanceof me}function oe(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function pe(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction qe(a,b,c,d,e){a=d.classList;d=Sb(e,\"base\");void 0!==d&&a.add(...d);d=Sb(e,\"underlineStrikethrough\");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in Ya)h=Ya[k],d=Sb(e,k),void 0!==d&&(c&h?!f||\"underline\"!==k&&\"strikethrough\"!==k?(0===(b&h)||g&&\"underline\"===k||\"strikethrough\"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}\nfunction re(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Ua:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Oa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}\nclass se extends ge{static getType(){return\"text\"}static clone(a){return new se(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style=\"\";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return cb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Fb()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==\n(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Ya[a];return 0!==(this.getFormat()&a)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return yb(c,a,b)}createDOM(a){var b=this.__format,c=oe(this,b);let d=pe(this,b),e=document.createElement(null===c?d:c),f=e;null!==c&&(f=document.createElement(d),e.appendChild(f));c=f;re(this.__text,c,this);\na=a.theme.text;void 0!==a&&qe(d,0,b,c,a);b=this.__style;\"\"!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=oe(this,e);let h=oe(this,f);var k=pe(this,e);let m=pe(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&r(48),a=g=document.createElement(m),re(d,a,this),c=c.theme.text,void 0!==c&&qe(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));re(d,k,this);c=c.theme.text;\nvoid 0!==c&&e!==f&&qe(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{\"#text\":()=>({conversion:te,priority:0}),b:()=>({conversion:ue,priority:0}),code:()=>({conversion:ve,priority:0}),em:()=>({conversion:ve,priority:0}),i:()=>({conversion:ve,priority:0}),span:()=>({conversion:ze,priority:0}),strong:()=>({conversion:ve,priority:0}),u:()=>({conversion:ve,priority:0})}}static importJSON(a){let b=N(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);\nb.setStyle(a.style);return b}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format=\"string\"===typeof a?Ya[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail=\"string\"===typeof a?Za[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Ya[a];return this.setFormat(this.getFormat()^\na)}toggleDirectionless(){let a=this.getWritable();a.__detail^=1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=bb[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){K();let c=x();var d=this.getTextContent();let e=this.__key;\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(F(c))d=Fb(),d!==c.anchor.key&&d!==c.focus.key||J(e),c.setTextNodeRange(this,a,this,b);\nelse return Ld(e,a,e,b,\"text\",\"text\");return c}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=x();d&&F(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){K();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=Fb(),f=new Set(a);a=[];var g=c.length,h=\"\";for(var k=0;k<g;k++)\"\"!==h&&f.has(k)&&(a.push(h),h=\"\"),h+=c[k];\"\"!==h&&a.push(h);\nf=a.length;if(0===f)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=c.__key;let l=b.getFormat(),n=b.getStyle(),q=b.__detail;g=!1;b.isSegmented()?(h=N(m),h.__parent=k,h.__format=l,h.__style=n,h.__detail=q,g=!0):(h=b.getWritable(),h.__text=m);b=x();h=[h];m=m.length;for(let y=1;y<f;y++){var v=a[y],w=v.length;v=N(v).getWritable();v.__format=l;v.__style=n;v.__detail=q;let z=v.__key;w=m+w;if(F(b)){let B=b.anchor,E=b.focus;B.key===d&&\"text\"===B.type&&B.offset>m&&B.offset<=w&&(B.key=z,\nB.offset-=m,b.dirty=!0);E.key===d&&\"text\"===E.type&&E.offset>m&&E.offset<=w&&(E.key=z,E.offset-=m,b.dirty=!0)}e===d&&J(z);m=w;v.__parent=k;h.push(v)}Cb(this);e=c.getWritable().__children;d=e.indexOf(d);a=h.map(y=>y.__key);g?(e.splice(d,0,...a),this.remove()):e.splice(d,1,...a);F(b)&&Nd(b,c,d,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;Fb()===d&&J(c);let g=x();if(F(g)){let h=g.anchor,\nk=g.focus;null!==h&&h.key===d&&(Rd(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(Rd(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}\nfunction ze(a){let b=\"700\"===a.style.fontWeight,c=\"line-through\"===a.style.textDecoration,d=\"italic\"===a.style.fontStyle,e=\"underline\"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!D(g))return g;b&&g.toggleFormat(\"bold\");c&&g.toggleFormat(\"strikethrough\");d&&g.toggleFormat(\"italic\");e&&g.toggleFormat(\"underline\");\"sub\"===f&&g.toggleFormat(\"subscript\");\"super\"===f&&g.toggleFormat(\"superscript\");return g},node:null}}\nfunction ue(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{D(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function te(a,b,c){a=a.textContent||\"\";return!c&&/\\n/.test(a)&&(a=a.replace(/\\r?\\n/gm,\" \"),0===a.trim().length)?{node:null}:{node:N(a)}}let Ae={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};function ve(a){let b=Ae[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{D(c)&&c.toggleFormat(b);return c},node:null}}\nfunction N(a=\"\"){return new se(a)}function D(a){return a instanceof se}\nclass Be extends ie{static getType(){return\"paragraph\"}static clone(a){return new Be(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Sb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Ce,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));a&&this.isEmpty()&&a.append(document.createElement(\"br\"));if(a){var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();\n0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=md();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"paragraph\",version:1}}insertNewAfter(){let a=md(),b=this.getDirection();a.setDirection(b);this.insertAfter(a);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||D(a[0])&&\"\"===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),\n!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ce(){return{node:md()}}function md(){return new Be}\nfunction Zd(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=ke();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent=\"\");null!==c&&(c.textContent=\"\",e.set(\"root\",c))}\nfunction De(a){let b=new Map,c=new Set;a.forEach(d=>{d=null!=d.klass.importDOM?d.klass.importDOM.bind(d.klass):null;if(null!=d&&!c.has(d)){c.add(d);var e=d();null!==e&&Object.keys(e).forEach(f=>{let g=b.get(f);void 0===g&&(g=[],b.set(f,g));g.push(e[f])})}});return b}\nclass Ee{constructor(a,b,c,d,e,f){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=\nnew Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=Nb();this._onError=e;this._htmlConversions=f;this._editable=!0;this._headless=!1;this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=this._listeners.decorator;\nb.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&r(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let e=d.get(a);void 0===e&&r(36);let f=e[c];f.add(b);return()=>{f.delete(b);e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,\nb){void 0===this._nodes.get(a.getType())&&r(37);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransform(a,b){a=a.getType();let c=this._nodes.get(a);void 0===c&&r(37);let d=c.transforms;d.add(b);Jb(this,a);return()=>{d.delete(b)}}hasNodes(a){for(let b=0;b<a.length;b++){let c=a[b].getType();if(!this._nodes.has(c))return!1}return!0}dispatchCommand(a,b){return V(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=\nthis._rootElement;if(a!==b){let e=Sb(this._config.theme,\"root\");var c=this._pendingEditorState||this._editorState;this._rootElement=a;Zd(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==Tc&&(Tc--,0===Tc&&b.ownerDocument.removeEventListener(\"selectionchange\",gd));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Mb(c);d=d[d.length-1]._key;fd.get(d)===c&&fd.delete(d)}else fd.delete(c._key);b.__lexicalEditor=null}c=ed(b);for(d=0;d<c.length;d++)c[d]();b.__lexicalEventHandles=\n[]}null!=e&&b.classList.remove(...e)}null!==a?(c=(c=a.ownerDocument)&&c.defaultView||null,d=a.style,d.userSelect=\"text\",d.whiteSpace=\"pre-wrap\",d.wordBreak=\"break-word\",a.setAttribute(\"data-lexical-editor\",\"true\"),this._window=c,this._dirtyType=2,pb(this),this._updateTags.add(\"history-merge\"),Yd(this),this._config.disableEvents||id(a,this),null!=e&&a.classList.add(...e)):this._window=null;$d(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,\nb){a.isEmpty()&&r(38);ob(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),Yd(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);Yd(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ke(),d=Y,e=M,f=Z,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=\nnew Set;this._cloneNotNeeded=new Set;this._dirtyType=0;Y=c;M=!1;Z=this;try{Wd(a.root,this._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,Y=d,M=e,Z=f}return c}update(a,b){A(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute(\"autocapitalize\",\"off\"),A(this,()=>{let d=x(),e=Ib();null!==d?d.dirty=!0:0!==e.getChildrenSize()&&(\"rootStart\"===b.defaultSelection?e.selectStart():e.selectEnd())},{onUpdate:()=>{c.removeAttribute(\"autocapitalize\");\na&&a()}}),null===this._pendingEditorState&&c.removeAttribute(\"autocapitalize\"))}blur(){var a=this._rootElement;null!==a&&a.blur();a=t?window.getSelection():null;null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,$d(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class Fe extends ie{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}\nfunction vd(a){return a instanceof Fe}class Ge extends ie{}function td(a){return a instanceof Ge}class He extends ie{}function ud(a){return a instanceof He}exports.$addUpdateTag=function(a){K();I()._updateTags.add(a)};exports.$createLineBreakNode=xd;exports.$createNodeSelection=Ad;exports.$createParagraphNode=md;exports.$createRangeSelection=function(){let a=new X(\"root\",0,\"element\"),b=new X(\"root\",0,\"element\");return new pd(a,b,0)};exports.$createTextNode=N;exports.$getDecoratorNode=Vb;\nexports.$getNearestNodeFromDOMNode=jb;exports.$getNearestRootOrShadowRoot=bc;exports.$getNodeByKey=L;exports.$getPreviousSelection=Pb;exports.$getRoot=Ib;exports.$getSelection=x;exports.$getTextContent=function(){let a=x();return null===a?\"\":a.getTextContent()};exports.$hasAncestor=ac;exports.$insertNodes=function(a,b){let c=x();null===c&&(c=Ib().selectEnd());return c.insertNodes(a,b)};exports.$isDecoratorNode=C;exports.$isElementNode=G;\nexports.$isInlineElementOrDecoratorNode=function(a){return G(a)&&a.isInline()||C(a)&&a.isInline()};exports.$isLeafNode=zb;exports.$isLineBreakNode=Ab;exports.$isNodeSelection=dd;exports.$isParagraphNode=function(a){return a instanceof Be};exports.$isRangeSelection=F;exports.$isRootNode=O;exports.$isRootOrShadowRoot=cc;exports.$isTextNode=D;\nexports.$nodesOfType=function(a){var b=H();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=ic;exports.$parseSerializedNode=function(a){return Wd(a,I()._nodes)};exports.$setCompositionKey=J;exports.$setSelection=mb;exports.BLUR_COMMAND=La;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};exports.CLEAR_HISTORY_COMMAND={};\nexports.CLICK_COMMAND=ca;exports.COMMAND_PRIORITY_CRITICAL=4;exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=ha;exports.COPY_COMMAND=Ia;exports.CUT_COMMAND=Ja;exports.DELETE_CHARACTER_COMMAND=da;exports.DELETE_LINE_COMMAND=ma;exports.DELETE_WORD_COMMAND=la;\nexports.DEPRECATED_$createGridSelection=function(){let a=new X(\"root\",0,\"element\"),b=new X(\"root\",0,\"element\");return new qd(\"root\",a,b)};exports.DEPRECATED_$isGridCellNode=vd;exports.DEPRECATED_$isGridNode=td;exports.DEPRECATED_$isGridRowNode=ud;exports.DEPRECATED_$isGridSelection=rd;exports.DEPRECATED_GridCellNode=Fe;exports.DEPRECATED_GridNode=Ge;exports.DEPRECATED_GridRowNode=He;exports.DRAGEND_COMMAND=Ha;exports.DRAGOVER_COMMAND=Ga;exports.DRAGSTART_COMMAND=Fa;exports.DROP_COMMAND=Ea;\nexports.DecoratorNode=he;exports.ElementNode=ie;exports.FOCUS_COMMAND=Ka;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=fa;exports.KEY_ARROW_DOWN_COMMAND=xa;exports.KEY_ARROW_LEFT_COMMAND=ra;exports.KEY_ARROW_RIGHT_COMMAND=pa;exports.KEY_ARROW_UP_COMMAND=ta;exports.KEY_BACKSPACE_COMMAND=Aa;exports.KEY_DELETE_COMMAND=Ca;exports.KEY_ENTER_COMMAND=ya;exports.KEY_ESCAPE_COMMAND=Ba;\nexports.KEY_MODIFIER_COMMAND=Ma;exports.KEY_SPACE_COMMAND=za;exports.KEY_TAB_COMMAND=Da;exports.LineBreakNode=me;exports.MOVE_TO_END=qa;exports.MOVE_TO_START=sa;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ia;exports.ParagraphNode=Be;exports.REDO_COMMAND=oa;exports.REMOVE_TEXT_COMMAND=ja;exports.RootNode=je;exports.SELECTION_CHANGE_COMMAND=ba;exports.TextNode=se;exports.UNDO_COMMAND=na;exports.VERSION=\"0.4.1\";exports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Z,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=ke(),h=b.namespace||(null!==e?e._config.namespace:Nb()),k=b.editorState,m=[je,se,me,Be,...(b.nodes||[])],l=b.onError;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let n=m[c],q=n.getType();a.set(q,{klass:n,transforms:new Set})}d=new Ee(g,e,a,{disableEvents:f,namespace:h,theme:d},l?l:console.error,De(a),b);void 0!==\nk&&(d._pendingEditorState=k,d._dirtyType=2);return d}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst Lexical = process.env.NODE_ENV === 'development' ? require('./Lexical.dev.js') : require('./Lexical.prod.js')\nmodule.exports = Lexical;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 e=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"lexical\"),g=require(\"react\"),m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;let n={tag:\"history-merge\"};\nfunction p(a,c){if(null!==c)if(void 0===c)a.update(()=>{var b=f.$getRoot();if(b.isEmpty()){let d=f.$createParagraphNode();b.append(d);b=document.activeElement;(null!==f.$getSelection()||null!==b&&b===a.getRootElement())&&d.select()}},n);else if(null!==c)switch(typeof c){case \"string\":let b=a.parseEditorState(c);a.setEditorState(b,n);break;case \"object\":a.setEditorState(c,n);break;case \"function\":a.update(()=>{f.$getRoot().isEmpty()&&c(a)},n)}}\nexports.LexicalComposer=function({initialConfig:a,children:c}){let b=g.useMemo(()=>{const {theme:d,namespace:h,editor__DEPRECATED:q,nodes:r,onError:t,editorState:u}=a,v=e.createLexicalComposerContext(null,d);let k=q||null;if(null===k){const l=f.createEditor({editable:!1,namespace:h,nodes:r,onError:w=>t(w,l),theme:d});p(l,u);k=l}return[k,v]},[]);m(()=>{let d=a.editable,[h]=b;h.setEditable(void 0!==d?d:!0)},[]);return g.createElement(e.LexicalComposerContext.Provider,{value:b},c)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalComposer = process.env.NODE_ENV === 'development' ? require('./LexicalComposer.dev.js') : require('./LexicalComposer.prod.js')\nmodule.exports = LexicalComposer;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 l=require(\"lexical\");function n(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function p(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}\nfunction q(a,b,d,f,e){var c=d._nodes.get(a.__type);void 0===c&&n(5);for(var h in a){var k=a[h];if(null!=k&&\"object\"===typeof k&&(k=k.editorState,null!=k)){var g=l.createEditor({namespace:k.namespace});g._nodes=d._nodes;g._parentEditor=d._parentEditor;g._pendingEditorState=r(g,k);a[h]=g}}c=c.klass;h=a.__key;a.__key=void 0;c=c.clone(a);a.__key=h;h=c.__key;e._nodeMap.set(h,c);c.__parent=f;if(l.$isElementNode(c)){f=a.__children;for(k=0;k<f.length;k++)g=b.get(f[k]),void 0!==g&&(g=q(g,b,d,h,e).__key,c.__children.push(g));\nc.__indent=a.__indent;c.__format=a.__format;c.__dir=a.__dir}else l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}\nfunction t(a,b){let d=b._editorState.constructor,f=new Map,e=new d(f),c=new Map(a._nodeMap),h=c.get(\"root\");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,g=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{q(h,c,b,null,e)}finally{b._dirtyElements=k,b._dirtyLeaves=g,b._dirtyType=m}})}finally{b._updating=a}e._readOnly=!0;return e}function r(a,b){b=\"string\"===typeof b?JSON.parse(b):b;return t(b,a)}\nexports.$dfs=function(a,b){let d=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var f=a,e=0;null!==(f=f.getParent());)e++;for(f=e;null!==a&&!a.is(b);)if(d.push({depth:f,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),f++;else for(e=null;null===e&&null!==a;)e=a.getNextSibling(),null===e?(a=a.getParent(),f--):a=e;null!==a&&a.is(b)&&d.push({depth:f,node:a});return d};exports.$findMatchingParent=p;\nexports.$getNearestBlockElementAncestorOrThrow=function(a){a=p(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||n(4);return a};exports.$getNearestNodeOfType=function(a,b){for(;null!=a;){if(a instanceof b)return a;a=a.getParent()}return null};\nexports.$insertNodeToNearestRoot=function(a){var b=l.$getSelection();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):l.$isNodeSelection(b)||l.DEPRECATED_$isGridSelection(b)?(b=b.getNodes(),b[b.length-1].getTopLevelElementOrThrow().insertAfter(a)):l.$getRoot().append(a);b=l.$createParagraphNode();a.insertAfter(b);b.select();return a.getLatest()};\nexports.$restoreEditorState=function(a,b){let d=new Map(b._nodeMap),f=a._pendingEditorState;f&&(f._nodeMap=d);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};exports.addClassNamesToElement=function(a,...b){b.forEach(d=>{\"string\"===typeof d&&(d=d.split(\" \").filter(f=>\"\"!==f),a.classList.add(...d))})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};\nexports.registerNestedElementResolver=function(a,b,d,f){return a.registerNodeTransform(b,e=>{a:{var c=e.getChildren();for(var h=0;h<c.length;h++)if(c[h]instanceof b){c=null;break a}for(c=e;null!==c;)if(h=c,c=c.getParent(),c instanceof b){c={child:h,parent:c};break a}c=null}if(null!==c){const {child:k,parent:g}=c;if(k.is(e)){f(g,e);e=k.getNextSiblings();c=e.length;g.insertAfter(k);if(0!==c){h=d(g);k.insertAfter(h);for(let m=0;m<c;m++)h.append(e[m])}g.canBeEmpty()||0!==g.getChildrenSize()||g.remove()}}})};\nexports.removeClassNamesFromElement=function(a,...b){b.forEach(d=>{\"string\"===typeof d&&a.classList.remove(...d.split(\" \"))})};exports.unstable_convertLegacyJSONEditorState=r\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalUtils = process.env.NODE_ENV === 'development' ? require('./LexicalUtils.dev.js') : require('./LexicalUtils.prod.js')\nmodule.exports = LexicalUtils;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 h=require(\"lexical\"),k=require(\"@lexical/utils\");function m(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function n(a){let b=1;for(a=a.getParent();null!=a;){if(p(a)){a=a.getParent();if(q(a)){b++;a=a.getParent();continue}m(40)}break}return b}\nfunction r(a){a=a.getParent();q(a)||m(40);let b=a;for(;null!==b;)b=b.getParent(),q(b)&&(a=b);return a}function t(a){let b=[];a=a.getChildren().filter(p);for(let c=0;c<a.length;c++){let d=a[c],e=d.getFirstChild();q(e)?b=b.concat(t(e)):b.push(d)}return b}function u(a){return p(a)&&q(a.getFirstChild())}function v(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){let b=a.getParent();if(null==b||!p(a)&&!q(a))break;a=b}a.remove()}function w(a){return z().append(a)}\nfunction A(a,b){return p(a)&&(0===b.length||1===b.length&&a.is(b[0])&&0===a.getChildrenSize())}function C(a,b){a.splice(a.getChildrenSize(),0,b)}\nfunction D(a,b){if(q(a))return a;let c=a.getPreviousSibling(),d=a.getNextSibling(),e=z();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());C(e,a.getChildren());if(q(c)&&b===c.getListType())return c.append(e),a.remove(),q(d)&&b===d.getListType()&&(C(c,d.getChildren()),d.remove()),c;if(q(d)&&b===d.getListType())return d.getFirstChildOrThrow().insertBefore(e),a.remove(),d;b=E(b);b.append(e);a.replace(b);F(b);return b}\nfunction F(a,b){a=b||a.getChildren();if(void 0!==a)for(b=0;b<a.length;b++){let f=a[b];if(p(f)){let g=f.getValue();var c=f,d=c.getParent(),e=1;null!=d&&(q(d)?e=d.getStart():m(44));c=c.getPreviousSiblings();for(d=0;d<c.length;d++){let l=c[d];p(l)&&!q(l.getFirstChild())&&e++}g!==e&&f.setValue(e)}}}\nfunction G(a){let b=new Set;a.forEach(c=>{if(!u(c)&&!b.has(c.getKey())){var d=c.getParent(),e=c.getNextSibling(),f=c.getPreviousSibling();if(u(e)&&u(f))f=f.getFirstChild(),q(f)&&(f.append(c),c=e.getFirstChild(),q(c)&&(c=c.getChildren(),C(f,c),e.remove(),b.add(e.getKey())),F(f));else if(u(e))e=e.getFirstChild(),q(e)&&(f=e.getFirstChild(),null!==f&&f.insertBefore(c),F(e));else if(u(f))e=f.getFirstChild(),q(e)&&(e.append(c),F(e));else if(q(d)){let g=z(),l=E(d.getListType());g.append(l);l.append(c);f?\nf.insertAfter(g):e?e.insertBefore(g):d.append(g)}q(d)&&F(d)}})}\nfunction H(a){a.forEach(b=>{if(!u(b)){var c=b.getParent(),d=c?c.getParent():void 0,e=d?d.getParent():void 0;if(q(e)&&p(d)&&q(c)){var f=c?c.getFirstChild():void 0,g=c?c.getLastChild():void 0;if(b.is(f))d.insertBefore(b),c.isEmpty()&&d.remove();else if(b.is(g))d.insertAfter(b),c.isEmpty()&&d.remove();else{var l=c.getListType();f=z();let x=E(l);f.append(x);b.getPreviousSiblings().forEach(y=>x.append(y));g=z();l=E(l);g.append(l);C(l,b.getNextSiblings());d.insertBefore(f);d.insertAfter(g);d.replace(b)}F(c);\nF(e)}}})}function I(a){var b=h.$getSelection();if(h.$isRangeSelection(b)){var c=b.getNodes(),d=[];0===c.length&&c.push(b.anchor.getNode());if(1===c.length){a:{for(c=c[0];null!==c;){if(p(c))break a;c=c.getParent()}c=null}null!==c&&(d=[c])}else{d=new Set;for(b=0;b<c.length;b++){let e=c[b];p(e)&&d.add(e)}d=Array.from(d)}0<d.length&&(\"indent\"===a?G(d):H(d))}}\nclass J extends h.ElementNode{static getType(){return\"listitem\"}static clone(a){return new J(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement(\"li\"),c=this.getParent();q(c)&&(F(c),K(b,this,null,c));b.value=this.__value;L(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&(F(d),K(b,this,a,d));b.value=this.__value;L(b,c.theme,this);return!1}static importDOM(){return{li:()=>({conversion:M,\npriority:0})}}static importJSON(a){let b=new J(a.value,a.checked);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:\"listitem\",value:this.getValue(),version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a){if(p(a))return super.replace(a);let b=this.getParentOrThrow();\nif(q(b)){var c=b.__children;let e=c.length;var d=c.indexOf(this.__key);if(0===d)b.insertBefore(a);else if(d===e-1)b.insertAfter(a);else{c=E(b.getListType());let f=b.getChildren();for(d+=1;d<e;d++)c.append(f[d]);b.insertAfter(a);a.insertAfter(c)}this.remove();1===e&&b.remove()}return a}insertAfter(a){var b=this.getParentOrThrow();q(b)||m(39);var c=this.getNextSiblings();if(p(a))return b=super.insertAfter(a),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)&&a.getListType()===b.getListType()){b=a;a=a.getChildren();\nfor(c=a.length-1;0<=c;c--)b=a[c],this.insertAfter(b);return b}b.insertAfter(a);if(0!==c.length){let d=E(b.getListType());c.forEach(e=>d.append(e));a.insertAfter(d)}return a}remove(a){let b=this.getNextSibling();super.remove(a);null!==b&&(a=b.getParent(),q(a)&&F(a))}insertNewAfter(){let a=z(null==this.__checked?void 0:!1);this.insertAfter(a);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=\np(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),\"element\"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,\"element\"),\"element\"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,\"element\")):(c.insertBefore(b),this.remove());return!0}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=\nthis.getParent();if(null===a)return this.getLatest().__indent;a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){let b=this.getIndent();for(;b!==a;)b<a?(G([this]),b++):(H([this]),b--);return this}canIndent(){return!1}insertBefore(a){if(p(a)){let b=this.getParentOrThrow();if(q(b)){let c=this.getNextSiblings();F(b,c)}}return super.insertBefore(a)}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return h.$isParagraphNode(a)||\np(a)}extractWithChild(a,b){if(!h.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&this.getTextContent().length===b.getTextContent().length}}\nfunction L(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(f=f.split(\" \"),d.push(...f));if(b){f=c.getParent();f=q(f)&&\"check\"===f.getListType();let l=c.getChecked();f&&!l||e.push(b.listitemUnchecked);f&&l||e.push(b.listitemChecked);f&&d.push(l?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(\" \"),c.getChildren().some(l=>q(l))?d.push(...g):e.push(...g));0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,\n...d)}function K(a,b,c,d){\"check\"===d.getListType()?q(b.getFirstChild())?(a.removeAttribute(\"role\"),a.removeAttribute(\"tabIndex\"),a.removeAttribute(\"aria-checked\")):(a.setAttribute(\"role\",\"checkbox\"),a.setAttribute(\"tabIndex\",\"-1\"),c&&b.__checked===c.__checked||a.setAttribute(\"aria-checked\",b.getChecked()?\"true\":\"false\")):null!=b.getChecked()&&b.setChecked(void 0)}function M(){return{node:z()}}function z(a){return new J(void 0,a)}function p(a){return a instanceof J}\nclass N extends h.ElementNode{static getType(){return\"list\"}static clone(a){return new N(a.__listType||O[a.__tag],a.__start,a.__key)}constructor(a,b,c){super(c);this.__listType=a=O[a]||a;this.__tag=\"number\"===a?\"ol\":\"ul\";this.__start=b}getTag(){return this.__tag}getListType(){return this.__listType}getStart(){return this.__start}createDOM(a){let b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute(\"start\",String(this.__start));b.__lexicalListType=this.__listType;P(b,a.theme,this);\nreturn b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;P(b,c.theme,this);return!1}static importDOM(){return{ol:()=>({conversion:Q,priority:0}),ul:()=>({conversion:Q,priority:0})}}static importJSON(a){let b=E(a.listType,a.start);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:\"list\",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...a){for(let c=\n0;c<a.length;c++){var b=a[c];if(p(b))super.append(b);else{let d=z();q(b)?d.append(b):h.$isElementNode(b)?(b=h.$createTextNode(b.getTextContent()),d.append(b)):d.append(b);super.append(d)}}return this}extractWithChild(a){return p(a)}}\nfunction P(a,b,c){let d=[],e=[];var f=b.list;if(void 0!==f){let l=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%l.length;var g=l[x];let y=f[c.__tag],B;f=f.nested;void 0!==f&&f.list&&(B=f.list);void 0!==y&&d.push(y);if(void 0!==g)for(g=g.split(\" \"),d.push(...g),g=0;g<l.length;g++)g!==x&&e.push(c.__tag+g);void 0!==B&&(c=B.split(\" \"),1<b?d.push(...c):e.push(...c))}0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,...d)}\nfunction R(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c];p(d)?(b.push(d),d.getChildren().forEach(e=>{q(e)&&b.push(w(e))})):b.push(w(d))}return b}function Q(a){a=a.nodeName.toLowerCase();let b=null;\"ol\"===a?b=E(\"number\"):\"ul\"===a&&(b=E(\"bullet\"));return{after:R,node:b}}let O={ol:\"number\",ul:\"bullet\"};function E(a,b=1){return new N(a,b)}function q(a){return a instanceof N}\nlet S=h.createCommand(\"INSERT_UNORDERED_LIST_COMMAND\"),T=h.createCommand(\"INSERT_ORDERED_LIST_COMMAND\"),U=h.createCommand(\"INSERT_CHECK_LIST_COMMAND\"),V=h.createCommand(\"REMOVE_LIST_COMMAND\");exports.$createListItemNode=z;exports.$createListNode=E;exports.$getListDepth=n;\nexports.$handleListInsertParagraph=function(){var a=h.$getSelection();if(!h.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!p(a)||\"\"!==a.getTextContent())return!1;var b=r(a),c=a.getParent();q(c)||m(40);let d=c.getParent(),e;if(h.$isRootOrShadowRoot(d))e=h.$createParagraphNode(),b.insertAfter(e);else if(p(d))e=z(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){let f=E(c.getListType());h.$isParagraphNode(e)?e.insertAfter(f):(c=z(),c.append(f),\ne.insertAfter(c));b.forEach(g=>{g.remove();f.append(g)})}v(a);return!0};exports.$isListItemNode=p;exports.$isListNode=q;exports.INSERT_CHECK_LIST_COMMAND=U;exports.INSERT_ORDERED_LIST_COMMAND=T;exports.INSERT_UNORDERED_LIST_COMMAND=S;exports.ListItemNode=J;exports.ListNode=N;exports.REMOVE_LIST_COMMAND=V;exports.indentList=function(){I(\"indent\")};\nexports.insertList=function(a,b){a.update(()=>{var c=h.$getSelection();if(h.$isRangeSelection(c)||h.DEPRECATED_$isGridSelection(c)){var d=c.getNodes();c=c.anchor.getNode();var e=c.getParent();if(A(c,d))d=E(b),h.$isRootOrShadowRoot(e)?(c.replace(d),e=z(),h.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),C(d,c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(h.$isElementNode(f)&&f.isEmpty()&&!c.has(f.getKey()))D(f,\nb);else if(h.$isLeafNode(f))for(f=f.getParent();null!=f;){let l=f.getKey();if(q(f)){if(!c.has(l)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(l)}break}else{g=f.getParent();if(h.$isRootOrShadowRoot(g)&&!c.has(l)){c.add(l);D(f,b);break}f=g}}}}})};exports.outdentList=function(){I(\"outdent\")};\nexports.removeList=function(a){a.update(()=>{let b=h.$getSelection();if(h.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(A(e,d))c.add(r(e));else for(e=0;e<d.length;e++){var f=d[e];h.$isLeafNode(f)&&(f=k.$getNearestNodeOfType(f,J),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let l of d)d=h.$createParagraphNode(),C(d,l.getChildren()),c.insertAfter(d),c=d,l.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,\"element\"),l.__key===b.focus.key&&b.focus.set(d.getKey(),0,\"element\"),\nl.remove();g.remove()}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalList = process.env.NODE_ENV === 'development' ? require('./LexicalList.dev.js') : require('./LexicalList.prod.js')\nmodule.exports = LexicalList;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 l=require(\"lexical\");let u=new Map;function v(a){return{nodeMap:a.getNodes().map(b=>{const c=b.getKey();b=w(b);return[c,b]}),range:[a.gridKey]}}function x(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function y(a){let b=a.parentNode;if(null==b)throw Error(\"Should never happen\");return[b,Array.from(b.childNodes).indexOf(a)]}\nfunction z(a){let b={};a=a.split(\";\");for(let c of a)if(\"\"!==c){let [f,d]=c.split(/:([^]+)/);b[f.trim()]=d.trim()}return b}function A(a){let b=u.get(a);void 0===b&&(b=z(a),u.set(a,b));return b}function B(a){let b=\"\";for(let c in a)c&&(b+=`${c}: ${a[c]};`);return b}function D(a){for(;null!==a&&!l.$isRootOrShadowRoot(a);){let b=a.getLatest(),c=a.getParent();0===b.__children.length&&a.remove(!0);a=c}}\nfunction E(a,b,c,f,d=null){if(0!==b.length){var e=b[0],h=new Map,g=[];e=l.$isElementNode(e)?e:e.getParentOrThrow();e.isInline()&&(e=e.getParentOrThrow());for(var k=!1;null!==e;){var n=e.getPreviousSibling();if(null!==n){e=n;k=!0;break}e=e.getParentOrThrow();if(l.$isRootOrShadowRoot(e))break}n=new Set;for(var q=0;q<c;q++){var m=b[q];l.$isElementNode(m)&&0===m.getChildrenSize()&&n.add(m.getKey())}var p=new Set;for(q=0;q<c;q++){m=b[q];var r=m.getParent();null!==r&&r.isInline()&&(r=r.getParent());if(null!==\nr&&l.$isLeafNode(m)&&!p.has(m.getKey())){if(m=r.getKey(),void 0===h.get(m)){let t=f();t.setFormat(r.getFormatType());t.setIndent(r.getIndent());g.push(t);h.set(m,t);r.getChildren().forEach(C=>{t.append(C);p.add(C.getKey())});D(r)}}else n.has(m.getKey())&&(r=f(),r.setFormat(m.getFormatType()),r.setIndent(m.getIndent()),g.push(r),m.remove(!0))}if(null!==d)for(b=0;b<g.length;b++)d.append(g[b]);if(l.$isRootOrShadowRoot(e))if(k)if(null!==d)e.insertAfter(d);else for(d=g.length-1;0<=d;d--)e.insertAfter(g[d]);\nelse if(b=e.getFirstChild(),l.$isElementNode(b)&&(e=b),null===b)if(d)e.append(d);else for(d=0;d<g.length;d++)e.append(g[d]);else if(null!==d)b.insertBefore(d);else for(e=0;e<g.length;e++)b.insertBefore(g[e]);else if(d)e.insertAfter(d);else for(d=g.length-1;0<=d;d--)e.insertAfter(g[d]);g=l.$getPreviousSelection();l.$isRangeSelection(g)&&g.anchor.getNode().isAttached()&&g.focus.getNode().isAttached()?l.$setSelection(g.clone()):a.dirty=!0}}function F(a,b,c,f){a.modify(b?\"extend\":\"move\",c,f)}\nfunction G(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}\nfunction H(a,b,c,f,d,e){for(var h=b;null!==a;){for(b=a.getParent();null!==b&&b.excludeFromCopy(\"clone\");)b=b.getParent();if(null===b)break;if(!l.$isElementNode(a)||!a.excludeFromCopy(\"clone\")){let g=a.getKey(),k=e.get(g),n=void 0===k;n&&(k=w(a),e.set(g,k));!l.$isTextNode(k)||k.isSegmented()||k.isToken()?l.$isElementNode(k)&&(k.__children=k.__children.slice(f?h:0,f?void 0:(h||0)+1)):k.__text=k.__text.slice(f?h:0,f?c:h);if(l.$isRootNode(b)){n&&d.push(g);break}}h=e.get(b.getKey());h=l.$isElementNode(h)?\nh.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}function w(a){a=a.getLatest();let b=a.constructor.clone(a);b.__parent=a.__parent;if(l.$isElementNode(a)&&l.$isElementNode(b))return b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir,b;l.$isTextNode(a)&&l.$isTextNode(b)&&(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail);return b}\nfunction I(a,b){var c=A(a.getStyle());b=Object.entries(b).reduce((f,[d,e])=>{null===e?delete f[d]:f[d]=e;return f},{...c});c=B(b);a.setStyle(c);u.set(c,b)}exports.$addNodeStyle=function(a){a=a.getStyle();let b=z(a);u.set(a,b)};\nexports.$cloneContents=function(a){var b={nodeMap:[],range:[]};if(l.$isRangeSelection(a)){{var c=a.anchor,f=a.focus;let [n,q]=a.getCharacterOffsets();b=a.getNodes();if(0===b.length||1===b.length&&l.$isElementNode(b[0])&&b[0].excludeFromCopy(\"clone\"))b={nodeMap:[],range:[]};else{a=b.length;var d=b[0],e=d.getParent();if(null!==e&&(!e.canBeEmpty()||l.$isRootNode(e))){var h=e.__children;if(h.length===a){var g=!0;for(var k=0;k<h.length;k++)if(h[k]!==b[k].__key){g=!1;break}g&&(a++,b.push(e))}}e=b[a-1];\nc=c.isBefore(f);f=new Map;h=[];g=l.$isTextNode(d)&&1===a;H(d,c?n:q,g?c?q:n:void 0,!0,h,f);for(d=0;d<a;d++){k=b[d];let m=k.getKey();if(!(f.has(m)||l.$isElementNode(k)&&k.excludeFromCopy(\"clone\"))){let p=w(k);l.$isRootNode(k.getParent())&&h.push(k.getKey());\"root\"!==m&&f.set(m,p)}}H(e,g?void 0:c?q:n,void 0,!1,h,f);b={nodeMap:Array.from(f.entries()),range:h}}}}else if(l.DEPRECATED_$isGridSelection(a))b=v(a);else if(l.$isNodeSelection(a))throw Error(\"Minified Lexical error #1; visit https://lexical.dev/docs/error?code=1 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");\nreturn b};exports.$cloneWithProperties=w;exports.$getSelectionStyleValueForProperty=function(a,b,c=\"\"){let f=null,d=a.getNodes();var e=a.anchor,h=a.focus,g=a.isBackward();a=g?h.offset:e.offset;e=g?h.getNode():e.getNode();for(h=0;h<d.length;h++){var k=d[h];if((0===h||0!==a||!k.is(e))&&l.$isTextNode(k)){g=b;var n=c;k=k.getStyle();k=A(k);g=null!==k?k[g]||n:n;if(null===f)f=g;else if(f!==g){f=\"\";break}}}return null===f?c:f};\nexports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};exports.$isParentElementRTL=G;exports.$moveCaretSelection=F;exports.$moveCharacter=function(a,b,c){let f=G(a);F(a,b,c?!f:f,\"character\")};\nexports.$patchStyleText=function(a,b){var c=a.getNodes();let f=c.length-1,d=c[0],e=c[f];if(!a.isCollapsed()){var h=a.anchor,g=a.focus,k=d.getTextContent().length,n=g.offset,q=h.offset,m=h.isBefore(g),p=m?q:n;a=m?n:q;var r=m?h.type:g.type,t=m?g.type:h.type;h=m?g.key:h.key;l.$isTextNode(d)&&p===k&&(g=d.getNextSibling(),l.$isTextNode(g)&&(p=q=0,d=g));if(d.is(e))l.$isTextNode(d)&&(p=\"element\"===r?0:q>n?n:q,a=\"element\"===t?k:q>n?q:n,p!==a&&(0===p&&a===k?(I(d,b),d.select(p,a)):(c=d.splitText(p,a),c=0===\np?c[0]:c[1],I(c,b),c.select(0,a-p))));else for(l.$isTextNode(d)&&p<d.getTextContentSize()&&(0!==p&&(d=d.splitText(p)[1]),I(d,b)),l.$isTextNode(e)&&(p=e.getTextContent().length,e.__key!==h&&0!==a&&(a=p),a!==p&&([e]=e.splitText(a)),0!==a&&I(e,b)),a=1;a<f;a++)p=c[a],k=p.getKey(),l.$isTextNode(p)&&k!==d.getKey()&&k!==e.getKey()&&!p.isToken()&&I(p,b)}};\nexports.$selectAll=function(a){let b=a.anchor;a=a.focus;var c=b.getNode().getTopLevelElementOrThrow().getParentOrThrow();let f=c.getFirstDescendant();c=c.getLastDescendant();let d=\"element\",e=\"element\",h=0;l.$isTextNode(f)?d=\"text\":l.$isElementNode(f)||null===f||(f=f.getParentOrThrow());l.$isTextNode(c)?(e=\"text\",h=c.getTextContentSize()):l.$isElementNode(c)||null===c||(c=c.getParentOrThrow());f&&c&&(b.set(f.getKey(),0,d),a.set(c.getKey(),h,e))};\nexports.$shouldOverrideDefaultCharacterSelection=function(a,b){a=l.$getDecoratorNode(a.focus,b);return l.$isDecoratorNode(a)&&!a.isIsolated()};\nexports.$sliceSelectedTextNodeContent=function(a,b){if(b.isSelected()&&!b.isSegmented()&&!b.isToken()&&(l.$isRangeSelection(a)||l.DEPRECATED_$isGridSelection(a))){var c=a.anchor.getNode(),f=a.focus.getNode(),d=b.is(c),e=b.is(f);if(d||e){d=a.isBackward();let [h,g]=a.getCharacterOffsets();a=c.is(f);e=b.is(d?f:c);f=b.is(d?c:f);c=0;let k=void 0;a?(c=h>g?g:h,k=h>g?h:g):e?(c=d?g:h,k=void 0):f&&(d=d?h:g,c=0,k=d);b.__text=b.__text.slice(c,k)}}return b};\nexports.$wrapNodes=function(a,b,c=null){var f=a.getNodes();let d=f.length;var e=a.anchor;if(0===d||1===d&&\"element\"===e.type&&0===e.getNode().getChildrenSize()){a=\"text\"===e.type?e.getNode().getParentOrThrow():e.getNode();f=a.getChildren();let g=b();g.setFormat(a.getFormatType());g.setIndent(a.getIndent());f.forEach(k=>g.append(k));c&&(g=c.append(g));a.replace(g)}else{e=null;var h=[];for(let g=0;g<d;g++){let k=f[g];l.$isRootOrShadowRoot(k)?(E(a,h,h.length,b,c),h=[],e=k):null===e||null!==e&&l.$hasAncestor(k,\ne)?h.push(k):(E(a,h,h.length,b,c),h=[k])}E(a,h,h.length,b,c)}};exports.$wrapNodesImpl=E;\nexports.createDOMRange=function(a,b,c,f,d){let e=b.getKey(),h=f.getKey(),g=document.createRange(),k=a.getElementByKey(e);a=a.getElementByKey(h);l.$isTextNode(b)&&(k=x(k));l.$isTextNode(f)&&(a=x(a));if(void 0===b||void 0===f||null===k||null===a)return null;\"BR\"===k.nodeName&&([k,c]=y(k));\"BR\"===a.nodeName&&([a,d]=y(a));b=k.firstChild;k===a&&null!=b&&\"BR\"===b.nodeName&&0===c&&0===d&&(d=1);try{g.setStart(k,c),g.setEnd(a,d)}catch(n){return null}!g.collapsed||c===d&&e===h||(g.setStart(a,d),g.setEnd(k,\nc));return g};exports.createRectsFromDOMRange=function(a,b){var c=a.getRootElement();if(null===c)return[];a=c.getBoundingClientRect();c=getComputedStyle(c);c=parseFloat(c.paddingLeft)+parseFloat(c.paddingRight);b=Array.from(b.getClientRects());let f=b.length,d;for(let e=0;e<f;e++){let h=b[e],g=h.width+c===a.width;d&&d.top===h.top&&d.left===h.left&&d.width===h.width&&d.height===h.height||g?(b.splice(e--,1),f--):d=h}return b};exports.getStyleObjectFromCSS=A;\nexports.trimTextContentFromAnchor=function(a,b,c){let f=b.getNode();if(l.$isElementNode(f)){var d=f.getDescendantByIndex(b.offset);null!==d&&(f=d)}for(;0<c&&null!==f;){var e=f.getPreviousSibling(),h=0;if(null===e){d=f.getParentOrThrow();for(var g=d.getPreviousSibling();null===g;){d=d.getParent();if(null===d){e=null;break}g=d.getPreviousSibling()}null!==d&&(h=d.isInline()?0:2,e=l.$isElementNode(g)?g.getLastDescendant():g)}let k=f.getTextContent();\"\"===k&&l.$isElementNode(f)&&!f.isInline()&&(k=\"\\n\\n\");\nd=k.length;g=d-c;let n=k.slice(0,g);if(!l.$isTextNode(f)||c>=d)g=f.getParent(),f.remove(),null!=g&&0===g.getChildrenSize()&&g.remove(),c-=d+h,f=e;else{let q=f.getKey();e=a.getEditorState().read(()=>{const m=l.$getNodeByKey(q);return l.$isTextNode(m)&&m.isSimpleText()?m.getTextContent():null});null!==e&&e!==k?(c=l.$getPreviousSelection(),d=f,f.isSimpleText()?f.setTextContent(e):(d=l.$createTextNode(e),f.replace(d)),l.$isRangeSelection(c)&&c.isCollapsed()&&(c=c.anchor.offset,d.select(c,c))):f.isSimpleText()?\n(e=b.key===q,h=b.offset,h<c&&(h=d),c=e?h-c:0,d=e?h:g,e&&0===c?([c]=f.splitText(c,d),c.remove()):([,c]=f.splitText(c,d),c.remove())):(c=l.$createTextNode(n),f.replace(c));c=0}}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalSelection = process.env.NODE_ENV === 'development' ? require('./LexicalSelection.dev.js') : require('./LexicalSelection.prod.js')\nmodule.exports = LexicalSelection;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 n=require(\"@lexical/selection\"),q=require(\"lexical\");\nfunction r(c,d,h,b=null){let e=null!=b?d.isSelected():!0,l=q.$isElementNode(d)&&d.excludeFromCopy(\"html\");var a=d;null!==b&&(a=n.$cloneWithProperties(d),a=q.$isTextNode(a)&&null!=b?n.$sliceSelectedTextNodeContent(b,a):a);let f=q.$isElementNode(a)?a.getChildren():[],{element:k,after:g}=a.exportDOM(c);if(!k)return!1;let m=new DocumentFragment;for(let p=0;p<f.length;p++){let t=f[p],w=r(c,t,m,b);!e&&q.$isElementNode(d)&&w&&d.extractWithChild(t,b,\"html\")&&(e=!0)}e&&!l?(k.append(m),h.append(k),g&&(c=g.call(a,\nk))&&k.replaceWith(c)):h.append(m);return e}let u=new Set([\"STYLE\"]);\nfunction v(c,d,h=new Map,b,e=!1){let l=[];if(u.has(c.nodeName))return l;let a=null;var {nodeName:f}=c,k=d._htmlConversions.get(f.toLowerCase());f=null;if(void 0!==k)for(g of k)k=g(c),null!==k&&(null===f||f.priority<k.priority)&&(f=k);var g=(g=null!==f?f.conversion:null)?g(c,void 0,e):null;f=null;if(null!==g){f=g.after;a=g.node;if(null!==a){for(var [,m]of h)if(a=m(a,b),!a)break;a&&l.push(a)}null!=g.forChild&&h.set(c.nodeName,g.forChild)}c=c.childNodes;b=[];for(m=0;m<c.length;m++)b.push(...v(c[m],d,\nnew Map(h),a,e||!0===(g&&g.preformatted)));null!=f&&(b=f(b));null==a?l=l.concat(b):q.$isElementNode(a)&&a.append(...b);return l}exports.$generateHtmlFromNodes=function(c,d){if(\"undefined\"===typeof document||\"undefined\"===typeof window)throw Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");let h=document.createElement(\"div\"),b=q.$getRoot().getChildren();for(let e=0;e<b.length;e++)r(c,b[e],h,d);return h.innerHTML};\nexports.$generateNodesFromDOM=function(c,d){let h=[];d=d.body?Array.from(d.body.childNodes):[];let b=d.length;for(let l=0;l<b;l++){var e=d[l];u.has(e.nodeName)||(e=v(e,c),null!==e&&(h=h.concat(e)))}return h}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalHtml = process.env.NODE_ENV === 'development' ? require('./LexicalHtml.dev.js') : require('./LexicalHtml.prod.js')\nmodule.exports = LexicalHtml;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 d=require(\"@lexical/html\"),n=require(\"@lexical/list\"),r=require(\"@lexical/selection\"),t=require(\"@lexical/utils\"),z=require(\"lexical\");function A(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nfunction B(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?\"\":d.$generateHtmlFromNodes(a,b)}function C(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(D(a,b))}\nfunction E(a,b,c){(z.DEPRECATED_$isGridSelection(c)||null!==t.$findMatchingParent(c.anchor.getNode(),g=>z.DEPRECATED_$isGridCellNode(g))&&null!==t.$findMatchingParent(c.focus.getNode(),g=>z.DEPRECATED_$isGridCellNode(g)))&&1===b.length&&z.DEPRECATED_$isGridNode(b[0])?F(b,c,!1,a):I(b,c)}\nfunction I(a,b){let c=[],g=null,e=null;for(let k=0;k<a.length;k++){let f=a[k];if(n.$isListItemNode(f)){null==e&&(e=n.$createListNode(\"bullet\"),c.push(e));e.append(f);continue}else null!=e&&(e=null);let h=z.$isLineBreakNode(f);if(h||z.$isDecoratorNode(f)&&f.isInline()||z.$isElementNode(f)&&f.isInline()||z.$isTextNode(f)){if(null===g&&(g=z.$createParagraphNode(),c.push(g),h))continue;null!==g&&g.append(f)}else c.push(f),g=null}z.$isRangeSelection(b)?b.insertNodes(c):z.DEPRECATED_$isGridSelection(b)&&\n(a=b.anchor.getNode(),z.DEPRECATED_$isGridCellNode(a)||A(41),a.append(...c))}\nfunction F(a,b,c,g){1===a.length&&z.DEPRECATED_$isGridNode(a[0])||A(42);var e=a[0];a=e.getChildren();c=e.getFirstChildOrThrow().getChildrenSize();var k=e.getChildrenSize(),f=t.$findMatchingParent(b.anchor.getNode(),l=>z.DEPRECATED_$isGridCellNode(l));b=(e=f&&t.$findMatchingParent(f,l=>z.DEPRECATED_$isGridRowNode(l)))&&t.$findMatchingParent(e,l=>z.DEPRECATED_$isGridNode(l));z.DEPRECATED_$isGridCellNode(f)&&z.DEPRECATED_$isGridRowNode(e)&&z.DEPRECATED_$isGridNode(b)||A(43);var h=e.getIndexWithinParent(),\np=Math.min(b.getChildrenSize()-1,h+k-1);k=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,k+c-1);c=Math.min(k,f);e=Math.min(h,p);k=Math.max(k,f);h=Math.max(h,p);p=b.getChildren();f=0;let m,q;for(let l=e;l<=h;l++){var x=p[l];z.DEPRECATED_$isGridRowNode(x)||A(24);var y=a[f];z.DEPRECATED_$isGridRowNode(y)||A(24);x=x.getChildren();y=y.getChildren();let G=0;for(let u=c;u<=k;u++){let v=x[u];z.DEPRECATED_$isGridCellNode(v)||A(25);let H=y[G];z.DEPRECATED_$isGridCellNode(H)||A(25);l===e&&u===c?m=\nv.getKey():l===h&&u===k&&(q=v.getKey());let N=v.getChildren();H.getChildren().forEach(w=>{z.$isTextNode(w)&&z.$createParagraphNode().append(w);v.append(w)});N.forEach(w=>w.remove());G++}f++}m&&q&&(a=z.DEPRECATED_$createGridSelection(),a.set(b.getKey(),m,q),z.$setSelection(a),g.dispatchCommand(z.SELECTION_CHANGE_COMMAND,void 0))}\nfunction J(a,b,c,g=[]){let e=null!=b?c.isSelected():!0,k=z.$isElementNode(c)&&c.excludeFromCopy(\"html\");var f=c;if(null!==b){var h=r.$cloneWithProperties(c);f=h=z.$isTextNode(h)&&null!=b?r.$sliceSelectedTextNodeContent(b,h):h}let p=z.$isElementNode(f)?f.getChildren():[];var m=f;h=m.exportJSON();h.type!==m.constructor.getType()&&A(58);var q=h.children;z.$isElementNode(m)&&(Array.isArray(q)||A(59));z.$isTextNode(f)&&(h.text=f.__text);for(f=0;f<p.length;f++)m=p[f],q=J(a,b,m,h.children),!e&&z.$isElementNode(c)&&\nq&&c.extractWithChild(m,b,\"clone\")&&(e=!0);if(e&&!k)g.push(h);else if(Array.isArray(h.children))for(a=0;a<h.children.length;a++)g.push(h.children[a]);return e}function D(a,b){let c=[],g=z.$getRoot().getChildren();for(let e=0;e<g.length;e++)J(a,b,g[e],c);return{namespace:a._config.namespace,nodes:c}}function K(a){let b=[];for(let c=0;c<a.length;c++){let g=z.$parseSerializedNode(a[c]);z.$isTextNode(g)&&r.$addNodeStyle(g);b.push(g)}return b}let L=null;\nfunction M(a,b){b.preventDefault();b=b.clipboardData;if(null===b)return!1;let c=z.$getSelection(),g=B(a);a=C(a);let e=\"\";null!==c&&(e=c.getTextContent());null!==g&&b.setData(\"text/html\",g);null!==a&&b.setData(\"application/x-lexical-editor\",a);b.setData(\"text/plain\",e);return!0}exports.$generateJSONFromSelectedNodes=D;exports.$generateNodesFromSerializedNodes=K;exports.$getHtmlContent=B;exports.$getLexicalContent=C;\nexports.$insertDataTransferForPlainText=function(a,b){a=a.getData(\"text/plain\");null!=a&&b.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,b,c){var g=a.getData(\"application/x-lexical-editor\");if(g)try{let k=JSON.parse(g);if(k.namespace===c._config.namespace&&Array.isArray(k.nodes)){let f=K(k.nodes);return E(c,f,b)}}catch{}if(g=a.getData(\"text/html\"))try{var e=(new DOMParser).parseFromString(g,\"text/html\");let k=d.$generateNodesFromDOM(c,e);return E(c,k,b)}catch{}a=a.getData(\"text/plain\");if(null!=a)if(z.$isRangeSelection(b))for(a=a.split(/\\r?\\n/),c=a.length,e=0;e<c;e++)b.insertText(a[e]),\ne<c-1&&b.insertParagraph();else b.insertRawText(a)};exports.$insertGeneratedNodes=E;\nexports.copyToClipboard__EXPERIMENTAL=async function(a,b){if(null!==L)return!1;if(null!==b)return new Promise(k=>{a.update(()=>{k(M(a,b))})});var c=a.getRootElement();let g=document.getSelection();if(null===c||null===g)return!1;let e=document.createElement(\"span\");e.style.cssText=\"position: fixed; top: -1000px;\";e.append(document.createTextNode(\"#\"));c.append(e);c=new Range;c.setStart(e,0);c.setEnd(e,1);g.removeAllRanges();g.addRange(c);return new Promise(k=>{let f=a.registerCommand(z.COPY_COMMAND,\nh=>{h instanceof ClipboardEvent&&(f(),null!==L&&(window.clearTimeout(L),L=null),k(M(a,h)));return!0},z.COMMAND_PRIORITY_CRITICAL);L=window.setTimeout(()=>{f();L=null;k(!1)},50);document.execCommand(\"copy\");e.remove()})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalClipboard = process.env.NODE_ENV === 'development' ? require('./LexicalClipboard.dev.js') : require('./LexicalClipboard.prod.js')\nmodule.exports = LexicalClipboard;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 a=require(\"@lexical/clipboard\"),g=require(\"@lexical/selection\"),h=require(\"@lexical/utils\"),k=require(\"lexical\");let l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,q=l&&\"documentMode\"in document?document.documentMode:null;l&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);l&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet r=l&&\"InputEvent\"in window&&!q?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,t=l&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),u=l&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,v=k.createCommand(\"DRAG_DROP_PASTE_FILE\");\nclass w extends k.ElementNode{static getType(){return\"quote\"}static clone(c){return new w(c.__key)}constructor(c){super(c)}createDOM(c){let b=document.createElement(\"blockquote\");h.addClassNamesToElement(b,c.theme.quote);return b}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:x,priority:0})}}static importJSON(c){let b=y();b.setFormat(c.format);b.setIndent(c.indent);b.setDirection(c.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let c=\nk.$createParagraphNode(),b=this.getDirection();c.setDirection(b);this.insertAfter(c);return c}collapseAtStart(){let c=k.$createParagraphNode();this.getChildren().forEach(b=>c.append(b));this.replace(c);return!0}}function y(){return new w}\nclass z extends k.ElementNode{static getType(){return\"heading\"}static clone(c){return new z(c.__tag,c.__key)}constructor(c,b){super(b);this.__tag=c}getTag(){return this.__tag}createDOM(c){let b=this.__tag,d=document.createElement(b);c=c.theme.heading;void 0!==c&&h.addClassNamesToElement(d,c[b]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:A,priority:0}),h2:()=>({conversion:A,priority:0}),h3:()=>({conversion:A,priority:0}),h4:()=>({conversion:A,priority:0}),h5:()=>({conversion:A,\npriority:0}),h6:()=>({conversion:A,priority:0}),p:c=>{c=c.firstChild;return null!==c&&B(c)?{conversion:()=>({node:null}),priority:3}:null},span:c=>B(c)?{conversion:()=>({node:C(\"h1\")}),priority:3}:null}}static importJSON(c){let b=C(c.tag);b.setFormat(c.format);b.setIndent(c.indent);b.setDirection(c.direction);return b}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let c=k.$createParagraphNode(),b=this.getDirection();c.setDirection(b);this.insertAfter(c);\nreturn c}collapseAtStart(){let c=k.$createParagraphNode();this.getChildren().forEach(b=>c.append(b));this.replace(c);return!0}extractWithChild(){return!0}}function B(c){return\"span\"===c.nodeName.toLowerCase()?\"26pt\"===c.style.fontSize:!1}function A(c){c=c.nodeName.toLowerCase();let b=null;if(\"h1\"===c||\"h2\"===c||\"h3\"===c||\"h4\"===c||\"h5\"===c||\"h6\"===c)b=C(c);return{node:b}}function x(){return{node:y()}}function C(c){return new z(c)}\nfunction D(c,b){c.preventDefault();b.update(()=>{let d=k.$getSelection(),e=c instanceof InputEvent||c instanceof KeyboardEvent?null:c.clipboardData;null!=e&&(k.$isRangeSelection(d)||k.DEPRECATED_$isGridSelection(d))&&a.$insertDataTransferForRichText(e,d,b)},{tag:\"paste\"})}\nasync function E(c,b){null!=b.getEditorState().read(()=>k.$getSelection())&&(await a.copyToClipboard__EXPERIMENTAL(b,c instanceof ClipboardEvent?c:null),b.update(()=>{let d=k.$getSelection();k.$isRangeSelection(d)?d.removeText():k.$isNodeSelection(d)&&d.getNodes().forEach(e=>e.remove())}))}function F(c){let b=null;c instanceof DragEvent?b=c.dataTransfer:c instanceof ClipboardEvent&&(b=c.clipboardData);return null===b?[!1,[]]:[b.types.includes(\"Files\"),Array.from(b.files)]}\nfunction G(c,b){var d=k.$getSelection();if(k.$isRangeSelection(d)){var e=new Set;d=d.getNodes();for(let m=0;m<d.length;m++){let n=d[m];var f=n.getKey();e.has(f)||(e.add(f),f=h.$getNearestBlockElementAncestorOrThrow(n),f.canInsertTab()?c(n):f.canIndent()&&b(f))}}}function H(c){c=k.$getNearestNodeFromDOMNode(c);return k.$isDecoratorNode(c)}exports.$createHeadingNode=C;exports.$createQuoteNode=y;exports.$isHeadingNode=function(c){return c instanceof z};\nexports.$isQuoteNode=function(c){return c instanceof w};exports.DRAG_DROP_PASTE=v;exports.HeadingNode=z;exports.QuoteNode=w;exports.eventFiles=F;\nexports.registerRichText=function(c){return h.mergeRegister(c.registerCommand(k.CLICK_COMMAND,()=>{const b=k.$getSelection();return k.$isNodeSelection(b)?(b.clear(),!0):!1},0),c.registerCommand(k.DELETE_CHARACTER_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteCharacter(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DELETE_WORD_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteWord(b);return!0},k.COMMAND_PRIORITY_EDITOR),\nc.registerCommand(k.DELETE_LINE_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteLine(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,b=>{const d=k.$getSelection();if(\"string\"===typeof b)k.$isRangeSelection(d)?d.insertText(b):k.DEPRECATED_$isGridSelection(d);else{if(!k.$isRangeSelection(d)&&!k.DEPRECATED_$isGridSelection(d))return!1;const e=b.dataTransfer;null!=e?a.$insertDataTransferForRichText(e,d,c):k.$isRangeSelection(d)&&\n(b=b.data)&&d.insertText(b)}return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.REMOVE_TEXT_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;b.removeText();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.FORMAT_TEXT_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.formatText(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.FORMAT_ELEMENT_COMMAND,b=>{var d=k.$getSelection();if(!k.$isRangeSelection(d)&&!k.$isNodeSelection(d))return!1;\nd=d.getNodes();for(const e of d)h.$getNearestBlockElementAncestorOrThrow(e).setFormat(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INSERT_LINE_BREAK_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.insertLineBreak(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INSERT_PARAGRAPH_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;b.insertParagraph();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INDENT_CONTENT_COMMAND,\n()=>{G(()=>{c.dispatchCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},b=>{const d=b.getIndent();10!==d&&b.setIndent(d+1)});return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>{G(b=>{k.$isTextNode(b)&&(b=b.getTextContent(),\"\\t\"===b[b.length-1]&&c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!0))},b=>{const d=b.getIndent();0!==d&&b.setIndent(d-1)});return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_UP_COMMAND,b=>{const d=k.$getSelection();return k.$isNodeSelection(d)&&\n!H(b.target)&&(b=d.getNodes(),0<b.length)?(b[0].selectPrevious(),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_DOWN_COMMAND,()=>{var b=k.$getSelection();return k.$isNodeSelection(b)&&(b=b.getNodes(),0<b.length)?(b[0].selectNext(0,0),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_LEFT_COMMAND,b=>{const d=k.$getSelection();if(k.$isNodeSelection(d)){var e=d.getNodes();if(0<e.length)return b.preventDefault(),e[0].selectPrevious(),!0}return k.$isRangeSelection(d)?g.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(e=b.shiftKey,b.preventDefault(),g.$moveCharacter(d,e,!0),!0):!1:!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_RIGHT_COMMAND,b=>{const d=k.$getSelection();if(k.$isNodeSelection(d)&&!H(b.target)){var e=d.getNodes();if(0<e.length)return b.preventDefault(),e[0].selectNext(0,0),!0}if(!k.$isRangeSelection(d))return!1;e=b.shiftKey;return g.$shouldOverrideDefaultCharacterSelection(d,!1)?(b.preventDefault(),g.$moveCharacter(d,e,!1),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_BACKSPACE_COMMAND,\nb=>{if(H(b.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;b.preventDefault();({anchor:b}=d);const e=b.getNode();return d.isCollapsed()&&0===b.offset&&!k.$isRootNode(e)&&0<h.$getNearestBlockElementAncestorOrThrow(e).getIndent()?c.dispatchCommand(k.OUTDENT_CONTENT_COMMAND,void 0):c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_DELETE_COMMAND,b=>{if(H(b.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;\nb.preventDefault();return c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!1)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ENTER_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;if(null!==b){if((u||t)&&r)return!1;b.preventDefault();if(b.shiftKey)return c.dispatchCommand(k.INSERT_LINE_BREAK_COMMAND,!1)}return c.dispatchCommand(k.INSERT_PARAGRAPH_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_TAB_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;\nb.preventDefault();return c.dispatchCommand(b.shiftKey?k.OUTDENT_CONTENT_COMMAND:k.INDENT_CONTENT_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ESCAPE_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;c.blur();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DROP_COMMAND,b=>{const [,d]=F(b);if(0<d.length){var e=b.clientX;var f=b.clientY;e=\"undefined\"!==typeof document.caretRangeFromPoint?document.caretRangeFromPoint(e,f):\"undefined\"!==document.caretPositionFromPoint?\ndocument.caretPositionFromPoint(e,f):null;if(null!==e){const {startOffset:m,endOffset:n,startContainer:I,endContainer:J}=e;e=k.$getNearestNodeFromDOMNode(I);f=k.$getNearestNodeFromDOMNode(J);if(null!==e&&null!==f){const p=k.$createRangeSelection();k.$isTextNode(e)?p.anchor.set(e.getKey(),m,\"text\"):p.anchor.set(e.getParentOrThrow().getKey(),e.getIndexWithinParent()+1,\"element\");k.$isTextNode(f)?p.focus.set(f.getKey(),n,\"text\"):p.focus.set(f.getParentOrThrow().getKey(),f.getIndexWithinParent()+1,\"element\");\ne=k.$normalizeSelection__EXPERIMENTAL(p);k.$setSelection(e)}c.dispatchCommand(v,d)}b.preventDefault();return!0}b=k.$getSelection();return k.$isRangeSelection(b)?!0:!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DRAGSTART_COMMAND,b=>{const [d]=F(b),e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;b.preventDefault();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DRAGOVER_COMMAND,b=>{const [d]=F(b),e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;b.preventDefault();\nreturn!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.COPY_COMMAND,b=>{a.copyToClipboard__EXPERIMENTAL(c,b instanceof ClipboardEvent?b:null);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.CUT_COMMAND,b=>{E(b,c);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.PASTE_COMMAND,b=>{var [,d]=F(b);if(null!==d&&0<d.length)return c.dispatchCommand(v,d),!0;d=k.$getSelection();return k.$isRangeSelection(d)||k.DEPRECATED_$isGridSelection(d)?(D(b,c),!0):!1},k.COMMAND_PRIORITY_EDITOR))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalRichText = process.env.NODE_ENV === 'development' ? require('./LexicalRichText.dev.js') : require('./LexicalRichText.prod.js')\nmodule.exports = LexicalRichText;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 l=require(\"@lexical/utils\"),m=require(\"lexical\");\nclass n extends m.ElementNode{static getType(){return\"link\"}static clone(a){return new n(a.__url,{rel:a.__rel,target:a.__target},a.__key)}constructor(a,b={},c){super(c);let {target:h=null,rel:e=null}=b;this.__url=a;this.__target=h;this.__rel=e}createDOM(a){let b=document.createElement(\"a\");b.href=this.__url;null!==this.__target&&(b.target=this.__target);null!==this.__rel&&(b.rel=this.__rel);l.addClassNamesToElement(b,a.theme.link);return b}updateDOM(a,b){let c=this.__url,h=this.__target,e=this.__rel;\nc!==a.__url&&(b.href=c);h!==a.__target&&(h?b.target=h:b.removeAttribute(\"target\"));e!==a.__rel&&(e?b.rel=e:b.removeAttribute(\"rel\"));return!1}static importDOM(){return{a:()=>({conversion:p,priority:1})}}static importJSON(a){let b=q(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(a){this.getWritable().__url=\na}getTarget(){return this.getLatest().__target}setTarget(a){this.getWritable().__target=a}getRel(){return this.getLatest().__rel}setRel(a){this.getWritable().__rel=a}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=q(this.__url,{rel:this.__rel,target:this.__target});a.append(b);return b}return null}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(a,b){if(!m.$isRangeSelection(b))return!1;\na=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&0<b.getTextContent().length}}function p(a){let b=null;if(a instanceof HTMLAnchorElement){let c=a.textContent;null!==c&&\"\"!==c&&(b=q(a.getAttribute(\"href\")||\"\",{rel:a.getAttribute(\"rel\"),target:a.getAttribute(\"target\")}))}return{node:b}}function q(a,b){return new n(a,b)}function r(a){return a instanceof n}\nclass u extends n{static getType(){return\"autolink\"}static clone(a){return new u(a.__url,{rel:a.__rel,target:a.__target},a.__key)}static importJSON(a){let b=v(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),type:\"autolink\",version:1}}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=v(this.__url,{rel:this._rel,target:this.__target});\na.append(b);return b}return null}}function v(a,b){return new u(a,b)}let w=m.createCommand(\"TOGGLE_LINK_COMMAND\");function x(a){return y(a,b=>r(b))}function y(a,b){for(;null!==a&&null!==(a=a.getParent())&&!b(a););return a}exports.$createAutoLinkNode=v;exports.$createLinkNode=q;exports.$isAutoLinkNode=function(a){return a instanceof u};exports.$isLinkNode=r;exports.AutoLinkNode=u;exports.LinkNode=n;exports.TOGGLE_LINK_COMMAND=w;\nexports.toggleLink=function(a,b={}){let {target:c,rel:h}=b;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let f=k.getChildren();for(let g=0;g<f.length;g++)k.insertBefore(f[g]);k.remove()}});else{if(1===b.length){var e=b[0];e=r(e)?e:x(e);if(null!==e){e.setURL(a);void 0!==c&&e.setTarget(c);void 0!==h&&e.setRel(h);return}}let k=null,f=null;b.forEach(g=>{var d=g.getParent();if(d!==f&&null!==d&&(!m.$isElementNode(g)||g.isInline()))if(r(d))f=\nd,d.setURL(a),void 0!==c&&d.setTarget(c),void 0!==h&&d.setRel(h);else if(d.is(k)||(k=d,f=q(a,{rel:h,target:c}),r(d)?null===g.getPreviousSibling()?d.insertBefore(f):d.insertAfter(f):g.insertBefore(f)),r(g)){if(!g.is(f)){if(null!==f){d=g.getChildren();for(let t=0;t<d.length;t++)f.append(d[t])}g.remove()}}else null!==f&&f.append(g)})}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalLink = process.env.NODE_ENV === 'development' ? require('./LexicalLink.dev.js') : require('./LexicalLink.prod.js')\nmodule.exports = LexicalLink;","import {\n $createParagraphNode,\n ElementNode\n} from 'lexical';\nimport {\n addClassNamesToElement\n} from '@lexical/utils';\n\nexport class AsideNode extends ElementNode {\n static getType() {\n return 'aside';\n }\n\n static clone(node) {\n return new AsideNode(node.__key);\n }\n\n // View\n\n createDOM(config) {\n const element = document.createElement('aside');\n addClassNamesToElement(element, config.theme.aside);\n return element;\n }\n updateDOM(prevNode, dom) {\n return false;\n }\n\n static importDOM() {\n return {\n aside: node => ({\n conversion: convertAsideElement,\n priority: 0\n })\n };\n }\n\n static importJSON(serializedNode) {\n const node = $createAsideNode();\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n exportJSON() {\n return {\n ...super.exportJSON(),\n type: 'aside'\n };\n }\n\n // Mutation\n\n insertNewAfter() {\n const newBlock = $createParagraphNode();\n const direction = this.getDirection();\n newBlock.setDirection(direction);\n this.insertNewAfter(newBlock);\n return newBlock;\n }\n\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n}\n\nfunction convertAsideElement() {\n const node = $createAsideNode;\n return {node};\n}\n\nexport function $createAsideNode() {\n return new AsideNode();\n}\n\nexport function $isAsideNode(node) {\n return node instanceof AsideNode;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"lexical\"),h=require(\"react\");function k(b,a){return b.getEditorState().read(()=>{let f=e.$getNodeByKey(a);return null===f?!1:f.isSelected()})}\nexports.useLexicalNodeSelection=function(b){let [a]=c.useLexicalComposerContext(),[f,l]=h.useState(()=>k(a,b));h.useEffect(()=>a.registerUpdateListener(()=>{l(k(a,b))}),[a,b]);let m=h.useCallback(g=>{a.update(()=>{let d=e.$getSelection();e.$isNodeSelection(d)||(d=e.$createNodeSelection(),e.$setSelection(d));g?d.add(b):d.delete(b)})},[a,b]),n=h.useCallback(()=>{a.update(()=>{const g=e.$getSelection();e.$isNodeSelection(g)&&g.clear()})},[a]);return[f,m,n]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst useLexicalNodeSelection = process.env.NODE_ENV === 'development' ? require('./useLexicalNodeSelection.dev.js') : require('./useLexicalNodeSelection.prod.js')\nmodule.exports = useLexicalNodeSelection;","import React from 'react';\n\nconst CardContext = React.createContext({});\n\nexport default CardContext;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const CardWrapper = React.forwardRef(({isSelected, cardWidth, cardType, children, ...props}, ref) => {\n return (\n <div\n className={`relative border border-transparent caret-grey-800 ${isSelected ? 'shadow-[0_0_0_2px] shadow-green' : 'hover:shadow-[0_0_0_1px] hover:shadow-green'} ${(cardWidth === 'wide') ? 'mx-[calc(50%-(50vw-var(--kg-breakout-adjustment))-.8rem)] w-[calc(65vw+2px-var(--kg-breakout-adjustment))] min-w-[calc(100%+3.6rem)] sm:min-w-[calc(100%+10rem)] lg:min-w-[calc(100%+18rem)] translate-x-[calc(50vw-50%+.8rem-var(--kg-breakout-adjustment))]' : (cardWidth === 'full') ? 'lg:mx-[calc(50%-50vw+(var(--kg-breakout-adjustment)/2))] lg:w-[calc(100vw-var(--kg-breakout-adjustment))]' : ''}`}\n ref={ref}\n data-kg-card={cardType}\n data-kg-card-selected={isSelected}\n {...props}\n >\n {children}\n </div>\n );\n});\n\nCardWrapper.propTypes = {\n isSelected: PropTypes.bool,\n cardWidth: PropTypes.oneOf(['regular', 'wide', 'full'])\n};\n\nCardWrapper.defaultProps = {\n cardWidth: 'regular'\n};\n","import React from 'react';\nimport {\n $createNodeSelection,\n $createParagraphNode,\n $getNodeByKey,\n $getSelection,\n $isDecoratorNode,\n $isNodeSelection,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_EDITOR,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND\n} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalNodeSelection} from '@lexical/react/useLexicalNodeSelection';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport WrapperContext from '../context/CardContext';\nimport {CardWrapper} from './ui/CardWrapper';\n\nconst KoenigCardWrapperComponent = ({nodeKey, children, width}) => {\n const [editor] = useLexicalComposerContext();\n const [isSelected, setSelected, clearSelected] = useLexicalNodeSelection(nodeKey);\n const [selection, setSelection] = React.useState(null);\n const [cardType, setCardType] = React.useState(null);\n const [cardWidth, setCardWidth] = React.useState(width || 'regular');\n const containerRef = React.useRef(null);\n\n React.useLayoutEffect(() => {\n editor.getEditorState().read(() => {\n const cardNode = $getNodeByKey(nodeKey);\n setCardType(cardNode.getType());\n });\n\n // We only do this for init\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n setSelection(editorState.read(() => $getSelection()));\n }),\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n if (containerRef.current.contains(event.target)) {\n clearSelected();\n setSelected(true);\n } else if (isSelected) {\n setSelected(false);\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event) => {\n // TODO: test if this is needed when code card is working again\n // we don't want to insert paragraphs if Enter is pressed inside card's form element\n // if (event.target.matches('input textarea select option')) {\n // return false;\n // }\n\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n // This is to avoid deleting the card when backspacing inside the caption / alt input of the card when the card is selected\n if (cardNode.getType() === 'image' && event.target.matches('input')) {\n editor.update(() => {\n const caption = cardNode.getCaption();\n cardNode.setCaption(caption.slice(0, -1));\n });\n return false;\n }\n const previousSibling = cardNode.getPreviousSibling();\n const nextSibling = cardNode.getNextSibling();\n\n if (previousSibling) {\n if (previousSibling.selectEnd) {\n previousSibling.selectEnd();\n } else if ($isDecoratorNode(previousSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(previousSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectPrevious();\n }\n } else if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const nextSibling = cardNode.getNextSibling();\n\n if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n } else {\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n )\n );\n }, [editor, isSelected, setSelected, clearSelected, nodeKey]);\n\n return (\n <WrapperContext.Provider value={{isSelected, cardWidth, setCardWidth, selection, cardContainerRef: containerRef}}>\n <CardWrapper\n isSelected={isSelected}\n cardType={cardType}\n ref={containerRef}\n cardWidth={cardWidth}\n >\n {children}\n </CardWrapper>\n </WrapperContext.Provider>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","export function HorizontalRuleCard() {\n return (\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n );\n}\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {HorizontalRuleCard} from '../components/ui/cards/HorizontalRuleCard';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nexport class HorizontalRuleNode extends DecoratorNode {\n static getType() {\n return 'horizontalrule';\n }\n\n static clone(node) {\n return new HorizontalRuleNode(node.__key);\n }\n\n static importJSON(serializedNode) {\n return $createHorizontalRuleNode();\n }\n\n static kgMenu = {\n label: 'Divider',\n desc: 'Insert a dividing line',\n Icon: DividerCardIcon,\n insertCommand: INSERT_HORIZONTAL_RULE_COMMAND,\n matches: ['divider', 'horizontal-rule', 'hr']\n };\n\n exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isInline() {\n return false;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} className=\"inline-block\">\n <HorizontalRuleCard />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport function $createHorizontalRuleNode() {\n return new HorizontalRuleNode();\n}\n\nexport function $isHorizontalRuleNode(node) {\n return node instanceof HorizontalRuleNode;\n}\n","import {useEffect} from 'react';\n\nconst useAutoExpandTextArea = ({el, value}) => {\n useEffect(() => {\n const element = el.current;\n if (element) {\n element.style.height = '0px';\n const height = element.scrollHeight;\n element.style.height = `${height}px`;\n }\n }, [el, value]);\n};\n\nexport default useAutoExpandTextArea;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport useAutoExpandTextArea from '../../../utils/autoExpandTextArea';\n\nexport function CodeBlockCard({code, language, updateCode, updateLanguage}) {\n const textareaRef = React.useRef(null);\n\n useAutoExpandTextArea({el: textareaRef, value: code});\n\n return (\n <code>\n <textarea\n ref={textareaRef}\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n tabIndex=\"0\"\n autoFocus\n className='min-h-170 w-full bg-grey-50 p-3 text-grey-900'\n value={code}\n onChange={updateCode}\n />\n </code>\n );\n}\n\nCodeBlockCard.propTypes = {\n code: PropTypes.string\n};","import * as React from 'react';\nimport {\n $getNodeByKey,\n createCommand,\n DecoratorNode\n} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {CodeBlockCard} from '../components/ui/cards/CodeBlockCard';\n\nexport const CODE_BLOCK_COMMAND = createCommand();\n\nfunction CodeBlockComponent({code, language, nodeKey, editor}) {\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n const updateLanguage = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setLanguage(event.target.value);\n });\n };\n\n return (\n <CodeBlockCard\n code={code}\n updateCode={updateCode}\n language={language}\n updateLanguage={updateLanguage}\n />\n );\n}\n\nexport class CodeBlockNode extends DecoratorNode {\n __code = '';\n __language = '';\n\n static getType() {\n return 'codeblock';\n }\n\n static clone(node) {\n return new CodeBlockNode(node.__key, node.__code);\n }\n\n static importJSON(serializedNode) {\n return $createCodeBlockNode();\n }\n\n exportJSON() {\n return {\n type: 'codeblock',\n version: 1,\n code: this.__code,\n language: this.__language\n };\n }\n\n constructor(language, initCode, key) {\n super(key);\n this.__language = language;\n this.__code = initCode;\n }\n\n createDOM(config) {\n return document.createElement('div');\n }\n\n updateDOM() {\n return false;\n }\n\n getCode() {\n const self = this.getLatest();\n return self.__code;\n }\n\n setCode(code) {\n const self = this.getWritable();\n self.__code = code;\n }\n\n getLanguage() {\n const self = this.getLatest();\n return self.__language;\n }\n\n setLanguage(language) {\n const self = this.getWritable();\n self.__language = language;\n }\n\n getTextContent() {\n const self = this.getLatest();\n return self.__code;\n }\n\n decorate(editor, config) {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()}>\n <CodeBlockComponent\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n </KoenigCardWrapper>\n );\n }\n\n isInline() {\n return false;\n }\n}\n\nexport function $createCodeBlockNode(language, initCode) {\n return new CodeBlockNode(language, initCode);\n}\n\nexport function $isCodeBlockNode(node) {\n return node instanceof CodeBlockNode;\n}\n","import React from 'react';\n\nconst KoenigComposerContext = React.createContext({});\n\nexport default KoenigComposerContext;\n","import React from 'react';\n\nfunction CaptionInput({value, placeholder, onChange}) {\n const handleOnChange = (e) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n onChange={handleOnChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={value}\n />\n );\n}\n\nfunction AltTextInput({value, placeholder, onChange}) {\n const handleOnChange = (e) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n onChange={handleOnChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={value}\n />\n );\n}\n\nfunction AltToggleButton({isEditingAlt, onClick}) {\n return (\n <button\n name=\"alt-toggle-button\"\n className={`absolute bottom-0 right-0 m-2 cursor-pointer rounded border px-1 font-sans text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${isEditingAlt ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={onClick}\n >\n Alt\n </button>\n );\n}\n\nexport function CardCaptionEditor({\n altText,\n altTextPlaceholder,\n setAltText,\n caption,\n captionPlaceholder,\n setCaption,\n isSelected\n}) {\n const [isEditingAlt, setIsEditingAlt] = React.useState(false);\n\n const toggleIsEditingAlt = (e) => {\n e.stopPropagation();\n setIsEditingAlt(!isEditingAlt);\n };\n\n // always switch back to displaying caption when card is not selected\n React.useEffect(() => {\n if (!isSelected) {\n setIsEditingAlt(false);\n }\n }, [isSelected, setIsEditingAlt]);\n\n if (isSelected || caption) {\n return (\n <figcaption className=\"flex w-full p-2\">\n {isEditingAlt\n ? <AltTextInput value={altText} placeholder={altTextPlaceholder} onChange={setAltText} />\n : <CaptionInput value={caption} placeholder={captionPlaceholder} onChange={setCaption} /> }\n {setAltText && <AltToggleButton isEditingAlt={isEditingAlt} onClick={toggleIsEditingAlt} />}\n </figcaption>\n );\n }\n}\n","const CardText = ({text}) => {\n return (\n <span data-kg-card-drag-text className=\"text-sm font-sans font-bold text-grey-800 transition-all group-hover:text-grey-800\">{text}</span>\n );\n};\n\nexport function MediaPlaceholder({desc, Icon, filePicker, size, handleDrag, handleDrop, isDraggedOver, ...props}) {\n return (\n <div\n onDragEnter={handleDrag} \n onDragLeave={handleDrag} \n onDragOver={handleDrag}\n onDrop={handleDrop}\n className=\"border border-transparent\" {...props}>\n <div className={`h-100 relative flex items-center justify-center border border-grey/20 bg-grey-50 ${size === 'xsmall' ? 'before:pb-[12.5%]' : 'before:pb-[62.5%]'}`}>\n {\n isDraggedOver ?\n <CardText text=\"Drop it like it's hot 🔥\" />\n :\n <button onClick={filePicker} name=\"placeholder-button\" className={`group flex cursor-pointer items-center justify-center ${size === 'xsmall' ? 'p-4' : 'p-20 flex-col'}`}>\n <Icon className={`opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100 ${size === 'large' ? 'h-20 w-20 text-grey' : size === 'small' ? 'h-14 w-14 text-grey' : size === 'xsmall' ? 'w-6 h-6 mr-3 text-grey-700' : 'h-16 w-16 text-grey'}`} />\n <p className={`font-sans text-sm font-normal text-grey-700 transition-all group-hover:text-grey-800 ${size === 'xsmall' ? '' : 'mt-4'}`}>{desc}</p>\n </button>\n }\n </div>\n </div>\n );\n}\n","// Triggers the file selection dialog from a given referenced element\n\nexport function openFileSelection({fileInputRef}) {\n fileInputRef.current.click();\n}","export function ImageUploadForm({onFileChange, fileInputRef}) {\n return (\n <form onChange={onFileChange}>\n <input\n name=\"image-input\"\n type='file'\n accept='image/*'\n ref={fileInputRef}\n hidden={true}\n />\n </form>\n );\n}\n\nexport default ImageUploadForm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {CardCaptionEditor} from '../CardCaptionEditor';\nimport {MediaPlaceholder} from '../MediaPlaceholder';\nimport {ReactComponent as ImgPlaceholderIcon} from '../../../assets/icons/kg-img-placeholder.svg';\nimport {openFileSelection} from '../../../utils/openFileSelection';\nimport ImageUploadForm from '../ImageUploadForm';\n\nfunction PopulatedImageCard({src, alt, previewSrc, progress}) {\n const progressStyle = {\n width: `${progress?.toFixed(0)}%`\n };\n return (\n <div>\n <img className={previewSrc ? `opacity-40` : ``} src={previewSrc ? previewSrc : src} alt={alt ? alt : `upload in progress, ${progress} `} />\n {previewSrc && progress && !src ?\n <div className=\"absolute inset-0 flex items-center min-w-full bg-white/50 justify-center overflow-hidden\">\n <div className=\"not-kg-prose bg-grey-200 rounded-full shadow w-[60%]\">\n <div className=\"bg-green rounded-full text-xs leading-none py-1 text-center text-white\" style={progressStyle}></div>\n </div>\n </div>\n : <></>\n }\n </div>\n );\n}\n\nfunction EmptyImageCard({onFileChange, setFileInputRef, handleDrag, handleDrop, isDraggedOver}) {\n const fileInputRef = React.useRef(null);\n\n const onFileInputRef = (element) => {\n fileInputRef.current = element;\n setFileInputRef(fileInputRef);\n };\n\n return (\n <>\n <MediaPlaceholder\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n filePicker={() => openFileSelection({fileInputRef})}\n desc=\"Click to select an image\"\n Icon={ImgPlaceholderIcon}\n isDraggedOver={isDraggedOver}\n />\n <ImageUploadForm\n filePicker={() => openFileSelection({fileInputRef})}\n onFileChange={onFileChange}\n fileInputRef={onFileInputRef}\n />\n </>\n );\n}\n\nconst ImageHolder = ({\n src,\n altText,\n previewSrc,\n uploadProgress,\n onFileChange,\n setFileInputRef,\n handleDrag,\n handleDrop,\n isDraggedOver\n}) => {\n if (previewSrc || src) {\n return (\n <PopulatedImageCard \n src={src} \n alt={altText}\n previewSrc={previewSrc} \n progress={uploadProgress} \n />\n );\n } else {\n return (\n <EmptyImageCard\n handleDrag={handleDrag} \n onFileChange={onFileChange} \n setFileInputRef={setFileInputRef}\n handleDrop={handleDrop}\n isDraggedOver={isDraggedOver}\n />\n );\n }\n};\n\nexport function ImageCard({\n isSelected,\n src,\n onFileChange,\n caption,\n setCaption,\n altText,\n setAltText,\n setFigureRef,\n fileInputRef,\n handleDrag,\n handleDrop,\n isDraggedOver,\n cardWidth,\n previewSrc,\n uploadProgress\n}) {\n const figureRef = React.useRef(null);\n\n React.useEffect(() => {\n if (setFigureRef) {\n setFigureRef(figureRef);\n }\n }, [figureRef, setFigureRef]);\n\n const setFileInputRef = (ref) => {\n if (fileInputRef) {\n fileInputRef.current = ref.current;\n }\n };\n return (\n <>\n <figure data-kg-card-width={cardWidth} ref={figureRef}>\n <ImageHolder\n src={src}\n altText={altText}\n previewSrc={previewSrc}\n uploadProgress={uploadProgress}\n onFileChange={onFileChange}\n setFileInputRef={setFileInputRef}\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n isDraggedOver={isDraggedOver}\n />\n <CardCaptionEditor\n altText={altText || ''}\n setAltText={setAltText}\n altTextPlaceholder=\"Type alt text for image (optional)\"\n caption={caption || ''}\n setCaption={setCaption}\n captionPlaceholder=\"Type caption for image (optional)\"\n isSelected={isSelected}\n />\n </figure>\n </>\n );\n}\n\nImageCard.propTypes = {\n isSelected: PropTypes.bool,\n setAltText: PropTypes.func,\n caption: PropTypes.string,\n altText: PropTypes.string,\n setCaption: PropTypes.func,\n src: PropTypes.string,\n isDraggedOver: PropTypes.bool,\n previewSrc: PropTypes.string,\n uploadProgress: PropTypes.number\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPHBhdGggZD0iTTE2LjE5IDMuNTFhLjUxLjUxIDAgMCAwLS43MSAwTDQuMDcgMTQuOTJhLjUuNSAwIDAgMCAwIC43MWw0LjI4IDQuMjhhLjQ4LjQ4IDAgMCAwIC43IDBMMjAuNDcgOC41YS41MS41MSAwIDAgMCAwLS43MVpNMyAxNi43MWEuNTEuNTEgMCAwIDAtLjQ3LS4xMy40OC40OCAwIDAgMC0uMzYuMzNMMCAyMy4zM2EuNDkuNDkgMCAwIDAgLjEyLjUxLjUuNSAwIDAgMCAuNTQuMTZsNi40Mi0yLjE0YS41Mi41MiAwIDAgMCAuMzMtLjM2LjQ5LjQ5IDAgMCAwLS4xNC0uNVpNMjMgMWEzLjYgMy42IDAgMCAwLTUgMGwtLjcxLjcxYS41LjUgMCAwIDAgMCAuNzFsNC4yOCA0LjI4YS41MS41MSAwIDAgMCAuNyAwTDIzIDZhMy41MyAzLjUzIDAgMCAwIDAtNVoiLz4KPC9zdmc+\"","import {ReactComponent as BoldIcon} from '../../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as QuoteIcon} from '../../assets/icons/kg-quote.svg';\nimport {ReactComponent as QuoteOneIcon} from '../../assets/icons/kg-quote-1.svg';\nimport {ReactComponent as QuoteTwoIcon} from '../../assets/icons/kg-quote-2.svg';\nimport {ReactComponent as LinkIcon} from '../../assets/icons/kg-link.svg';\nimport {ReactComponent as ImageRegularIcon} from '../../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImageWideIcon} from '../../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImageFullIcon} from '../../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ImageReplaceIcon} from '../../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../../assets/icons/kg-add.svg';\nimport {ReactComponent as EditIcon} from '../../assets/icons/kg-edit.svg';\nimport {ReactComponent as SnippetIcon} from '../../assets/icons/kg-snippet.svg';\n\nexport const TOOLBAR_ICONS = {\n bold: BoldIcon,\n italic: ItalicIcon,\n headingOne: HeadingOneIcon,\n headingTwo: HeadingTwoIcon,\n quote: QuoteIcon,\n quoteOne: QuoteOneIcon,\n quoteTwo: QuoteTwoIcon,\n link: LinkIcon,\n imageRegular: ImageRegularIcon,\n imageWide: ImageWideIcon,\n imageFull: ImageFullIcon,\n imageReplace: ImageReplaceIcon,\n add: AddIcon,\n edit: EditIcon,\n snippet: SnippetIcon\n};\n\nexport function ToolbarMenu({children, ...props}) {\n return (\n <ul className=\"m-0 relative flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white after:absolute after:top-[36px] after:left-[calc(50%-8px)] after:w-0 after:border-t-8 after:border-t-black after:border-x-8 after:border-x-transparent\" {...props}>\n {children}\n </ul>\n );\n}\n\nexport function ToolbarMenuItem({label, isActive, onClick, icon, ...props}) {\n const Icon = TOOLBAR_ICONS[icon];\n\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <button\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n onClick={onClick}\n aria-label={label}\n data-kg-active={isActive}\n >\n <Icon className={isActive ? 'fill-green' : 'fill-white'} />\n </button>\n </li>\n );\n}\n\nexport function ToolbarMenuSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n}\n","import React from 'react';\n\nexport function ActionToolbar({isVisible, children, ...props}) {\n if (isVisible) {\n return (\n <div className=\"not-kg-prose absolute top-[-44px] left-1/2 -translate-x-1/2 z-[1000]\" {...props}>\n {children}\n </div>\n );\n }\n}\n","// gets image dimensions from a given Url\n\nexport async function getImageDimensions(url) {\n const img = new Image();\n img.src = url;\n return new Promise((resolve, reject) => {\n img.onload = () => {\n resolve({width: img.naturalWidth, height: img.naturalHeight});\n };\n img.onerror = reject;\n });\n}\n","import {$getNodeByKey} from 'lexical';\nimport {getImageDimensions} from './getImageDimensions';\n\nexport const imageUploadHandler = async (files, nodeKey, editor, imageUploader) => {\n if (!files) {\n return;\n }\n let url = URL.createObjectURL(files[0]);\n if (url) {\n await editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setPreviewSrc(url);\n });\n }\n const {width, height} = await getImageDimensions(url);\n const fileSrc = await imageUploader.imageUploader(files);\n await editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setImgWidth(width);\n node.setImgHeight(height);\n node.setSrc(fileSrc.src);\n });\n return;\n};\n","import React from 'react';\nimport {$getNodeByKey} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport CardContext from '../context/CardContext';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {ImageCard} from '../components/ui/cards/ImageCard';\nimport {ToolbarMenu, ToolbarMenuItem, ToolbarMenuSeparator} from '../components/ui/ToolbarMenu';\nimport {ActionToolbar} from '../components/ui/ActionToolbar';\nimport {ImageUploadForm} from '../components/ui/ImageUploadForm';\nimport {openFileSelection} from '../utils/openFileSelection';\nimport {imageUploadHandler} from '../utils/imageUploadHandler';\n\nexport function ImageNodeComponent({nodeKey, src, altText, caption, triggerFileDialog, previewSrc}) {\n const [editor] = useLexicalComposerContext();\n const [dragOver, setDragOver] = React.useState(false);\n const {imageUploader} = React.useContext(KoenigComposerContext);\n const {isSelected, cardWidth, setCardWidth} = React.useContext(CardContext);\n const fileInputRef = React.useRef();\n const toolbarFileInputRef = React.useRef();\n\n const onFileChange = async (e) => {\n const fls = e.target.files;\n return await imageUploadHandler(fls, nodeKey, editor, imageUploader);\n };\n\n const setCaption = (newCaption) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCaption(newCaption);\n });\n };\n\n const setAltText = (newAltText) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setAltText(newAltText);\n });\n };\n\n // when card is inserted from the card menu or slash command we want to show the file picker immediately\n // uses a setTimeout to avoid issues with React rendering the component twice in dev mode 🙈\n React.useEffect(() => {\n if (!triggerFileDialog) {\n return;\n }\n\n const renderTimeout = setTimeout(() => {\n // trigger dialog\n openFileSelection({fileInputRef});\n\n // clear the property on the node so we don't accidentally trigger anything with a re-render\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setTriggerFileDialog(false);\n });\n });\n\n return (() => {\n clearTimeout(renderTimeout);\n });\n });\n\n const handleImageCardResize = (newWidth) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCardWidth(newWidth); // this is a property on the node, not the card\n setCardWidth(newWidth); // sets the state of the toolbar component\n });\n };\n\n const handleDrag = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.type === 'dragenter' || e.type === 'dragover') {\n setDragOver(true);\n } else if (e.type === 'dragleave') {\n setDragOver(false);\n }\n return;\n };\n\n const handleDrop = async (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files && e.dataTransfer.files[0]) {\n const fls = e.dataTransfer.files;\n if (fls) {\n setDragOver(false);\n await imageUploadHandler(fls, nodeKey, editor, imageUploader);\n }\n }\n };\n\n const uploadProgress = imageUploader?.uploadProgress || 0;\n\n return (\n <>\n <ImageCard\n isSelected={isSelected}\n fileInputRef={fileInputRef}\n onFileChange={onFileChange}\n src={src}\n altText={altText}\n setAltText={setAltText}\n caption={caption}\n setCaption={setCaption}\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n isDraggedOver={dragOver}\n cardWidth={cardWidth}\n previewSrc={previewSrc}\n uploadProgress={uploadProgress}\n />\n <ActionToolbar\n isVisible={src && isSelected}\n data-kg-card-toolbar=\"image\"\n >\n <ImageUploadForm\n onFileChange={onFileChange}\n fileInputRef={toolbarFileInputRef}\n />\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Regular\" icon=\"imageRegular\" isActive={cardWidth === 'regular' ? true : false} onClick={() => handleImageCardResize('regular')} />\n <ToolbarMenuItem label=\"Wide\" icon=\"imageWide\" isActive={cardWidth === 'wide' ? true : false} onClick={() => handleImageCardResize('wide')}/>\n <ToolbarMenuItem label=\"Full\" icon=\"imageFull\" isActive={cardWidth === 'full' ? true : false} onClick={() => handleImageCardResize('full')} />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Link\" icon=\"link\" isActive={false} />\n <ToolbarMenuItem label=\"Replace\" icon=\"imageReplace\" isActive={false} onClick={() => openFileSelection({fileInputRef: toolbarFileInputRef})} />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Snippet\" icon=\"snippet\" isActive={false} />\n </ToolbarMenu>\n </ActionToolbar>\n </>\n );\n}\n","import React from 'react';\nimport {DecoratorNode, createCommand} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\n// import KoenigComposerContext from '../context/KoenigComposerContext';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ImageNodeComponent} from './ImageNodeComponent';\nexport const INSERT_IMAGE_COMMAND = createCommand();\nexport const UPLOAD_IMAGE_COMMAND = createCommand();\n\nfunction convertImageElement(domNode) {\n if (domNode instanceof HTMLImageElement) {\n const {alt: altText, src} = domNode;\n const node = $createImageNode({altText, src});\n return {node};\n }\n // TODO: add <figure> and other handling from kg-parser-plugins\n return null;\n}\n\nexport class ImageNode extends DecoratorNode {\n // payload properties\n __src;\n __caption;\n __altText;\n __cardWidth;\n __width;\n __height;\n\n // TODO: does this belong on the node? If we're storing progress here because\n // the node might be re-created whilst uploading then wouldn't we need file\n // refs too?\n // ;\n\n // transient properties used to control node behaviour\n __triggerFileDialog = false;\n __previewSrc = null;\n\n static getType() {\n return 'image';\n }\n\n static kgMenu = {\n label: 'Image',\n desc: 'Upload, or embed with /image [url]',\n Icon: ImageCardIcon,\n insertCommand: INSERT_IMAGE_COMMAND,\n insertParams: {\n triggerFileDialog: true\n },\n matches: ['image', 'img'],\n queryParams: ['src']\n };\n\n static clone(node) {\n return new ImageNode(\n {\n src: node.__src,\n caption: node.__caption,\n altText: node.__altText,\n cardWidth: node.__cardWidth,\n width: node.__width,\n height: node.__height\n },\n node.__key\n );\n }\n\n // from https://github.com/TryGhost/Ghost/blob/main/ghost/admin/app/components/gh-image-uploader.js#L18\n static extensionTypes = ['gif', 'jpg', 'jpeg', 'png', 'svg', 'svgz', 'webp'];\n static mimeTypes = ['image/gif', 'image/jpg', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];\n\n static importJSON(serializedNode) {\n const {caption, altText, src, cardWidth, width, height} = serializedNode;\n const node = $createImageNode({\n altText,\n caption,\n src,\n cardWidth,\n width,\n height\n });\n return node;\n }\n\n exportDOM(){\n const element = document.createElement('figure');\n const img = document.createElement('img');\n const figcaption = document.createElement('figcaption');\n img.src = this.getSrc();\n figcaption.innerHTML = this.getCaption();\n element.appendChild(img);\n element.appendChild(figcaption);\n return {element};\n }\n\n static importDom() {\n return {\n img: (node = Node) => ({\n conversion: convertImageElement,\n priority: 1\n })\n };\n }\n\n constructor({src, caption, altText, cardWidth, triggerFileDialog, width, height, previewSrc} = {}, key) {\n super(key);\n this.__caption = caption || '';\n this.__altText = altText || '';\n this.__src = src || '';\n this.__previewSrc = previewSrc || '';\n this.__cardWidth = cardWidth || 'regular';\n this.__triggerFileDialog = triggerFileDialog || false;\n this.__width = width || null;\n this.__height = height || null;\n }\n\n exportJSON() {\n // checks if src is a data string\n const src = this.getSrc();\n const isBlob = src.startsWith('data:');\n const dataset = {\n altText: this.getAltText(),\n caption: this.getCaption(),\n src: isBlob ? '<base64String>' : this.getSrc(),\n type: 'image',\n cardWidth: this.getCardWidth(),\n width: this.getImgWidth(),\n height: this.getImgHeight()\n };\n return dataset;\n }\n\n createDOM() {\n const element = document.createElement('div');\n return element;\n }\n\n updateDOM() {\n return false;\n }\n\n isInline() {\n return false;\n }\n\n getSrc() {\n return this.__src;\n }\n\n setSrc(src) {\n const writable = this.getWritable();\n return writable.__src = src;\n }\n\n getPreviewSrc() {\n return this.__previewSrc;\n }\n\n setPreviewSrc(previewSrc) {\n const writable = this.getWritable();\n return writable.__previewSrc = previewSrc;\n }\n\n setCardWidth(cardWidth) {\n const writable = this.getWritable();\n return writable.__cardWidth = cardWidth;\n }\n\n getCardWidth() {\n return this.__cardWidth;\n }\n\n getImgWidth() {\n return this.__width;\n }\n\n setImgWidth(width) {\n const writable = this.getWritable();\n return writable.__width = width;\n }\n\n getImgHeight() {\n return this.__height;\n }\n\n setImgHeight(height) {\n const writable = this.getWritable();\n return writable.__height = height;\n }\n\n getCaption() {\n return this.__caption;\n }\n\n setCaption(caption) {\n const writable = this.getWritable();\n return writable.__caption = caption;\n }\n\n getAltText() {\n return this.__altText;\n }\n\n setAltText(altText) {\n const writable = this.getWritable();\n return writable.__altText = altText;\n }\n\n setTriggerFileDialog(shouldTrigger) {\n const writable = this.getWritable();\n return writable.__triggerFileDialog = shouldTrigger;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} width={this.__cardWidth}>\n <ImageNodeComponent\n nodeKey={this.getKey()}\n src={this.__src}\n altText={this.__altText}\n caption={this.__caption}\n triggerFileDialog={this.__triggerFileDialog}\n previewSrc={this.getPreviewSrc()}\n />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport const $createImageNode = (dataset) => {\n // don't trigger the file dialog when rendering if we've already been given a url\n if (dataset.src) {\n delete dataset.triggerFileDialog;\n }\n\n return new ImageNode(dataset);\n};\n\nexport function $isImageNode(node) {\n return node instanceof ImageNode;\n}\n\nexport default ImageNode;\n","import {ListItemNode, ListNode} from '@lexical/list';\nimport {HeadingNode, QuoteNode} from '@lexical/rich-text';\nimport {LinkNode} from '@lexical/link';\nimport {AsideNode} from './AsideNode';\nimport {HorizontalRuleNode} from './HorizontalRuleNode';\nimport {CodeBlockNode} from './CodeBlockNode';\nimport {ImageNode} from './ImageNode';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode,\n HorizontalRuleNode,\n ImageNode\n];\n\nexport default DEFAULT_NODES;\n","const defaultTheme = {\n paragraph: undefined,\n heading: {\n h1: undefined,\n h2: undefined,\n h3: undefined,\n h4: undefined,\n h5: undefined,\n h6: undefined\n },\n quote: undefined,\n aside: undefined,\n list: {\n nested: {\n listitem: '!list-none'\n },\n ol: undefined,\n ul: undefined,\n listitem: undefined\n },\n link: undefined,\n text: {\n bold: undefined,\n italic: 'italic',\n overflowed: undefined,\n hashtag: undefined,\n underline: undefined,\n strikethrough: undefined,\n underlinestrikethrough: undefined,\n code: undefined\n },\n code: undefined\n};\n\nexport default defaultTheme;\n","import React from 'react';\nimport {LexicalComposer} from '@lexical/react/LexicalComposer';\nimport DEFAULT_NODES from '../nodes/DefaultNodes';\nimport defaultTheme from '../themes/default';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\n\n// Catch any errors that occur during Lexical updates and log them\n// or throw them as needed. If you don't throw them, Lexical will\n// try to recover gracefully without losing user data.\nfunction defaultOnError(error) {\n console.error(error); // eslint-disable-line\n}\n\nconst defaultConfig = {\n namespace: 'KoenigEditor',\n theme: defaultTheme\n};\n\nconst KoenigComposer = ({\n initialEditorState,\n nodes = [...DEFAULT_NODES],\n onError = defaultOnError,\n imageUploadFunction,\n children\n}) => {\n const initialConfig = React.useMemo(() => {\n return Object.assign({}, defaultConfig, {\n nodes,\n editorState: initialEditorState,\n onError\n });\n }, [initialEditorState, nodes, onError]);\n\n const editorContainerRef = React.useRef(null);\n\n const imageUploader = imageUploadFunction || function () {\n console.error('requires imageUploadFunction to be passed to KoenigComposer component, eg <KoenigComposer imageUploadFunction={function} />'); // eslint-disable-line no-console\n return;\n };\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n <KoenigComposerContext.Provider value={{imageUploader, editorContainerRef}}>\n {children}\n </KoenigComposerContext.Provider>\n </LexicalComposer>\n );\n};\n\nexport default KoenigComposer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 h=require(\"lexical\");function r(c,e=!0){if(c)return!1;c=t();e&&(c=c.trim());return\"\"===c}function t(){return h.$getRoot().getTextContent()}function u(c,e){if(!e||!r(c,!1))return!1;c=h.$getRoot().getChildren();e=c.length;if(1<e)return!1;for(let f=0;f<e;f++){var b=c[f];if(h.$isElementNode(b)){if(\"paragraph\"!==b.__type||0!==b.__indent)return!1;b=b.getChildren();let n=b.length;for(let p=0;p<n;p++)if(!h.$isTextNode(b[f]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(c,e){return()=>u(c,e)};exports.$findTextIntersectionFromCharacters=function(c,e){var b=c.getFirstChild();c=0;a:for(;null!==b;){if(h.$isElementNode(b)){var f=b.getFirstChild();if(null!==f){b=f;continue}}else if(h.$isTextNode(b)){f=b.getTextContentSize();if(c+f>e)return{node:b,offset:e-c};c+=f}f=b.getNextSibling();if(null!==f)b=f;else{for(b=b.getParent();null!==b;){f=b.getNextSibling();if(null!==f){b=f;continue a}b=b.getParent()}break}}return null};\nexports.$isRootTextContentEmpty=r;exports.$isRootTextContentEmptyCurry=function(c,e){return()=>r(c,e)};exports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(c,e,b,f){let n=a=>{const d=h.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},p=c.registerNodeTransform(h.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(h.$isTextNode(d)){var k=d.getTextContent(),g=e(k+l);if(d instanceof b){if(null===g||0!==d.getLatest().__mode){n(d);return}g=g.end-k.length;if(0<g){m=l.slice(0,g);m=k+m;d.select();d.setTextContent(m);g===l.length?a.remove():(d=l.slice(g),\na.setTextContent(d));return}}else if(null===g||g.start<k.length)return}for(;;){a=e(l);l=g=null===a?\"\":l.slice(a.end);if(\"\"===g){if(k=m.getNextSibling(),h.$isTextNode(k))if(g=m.getTextContent()+k.getTextContent(),g=e(g),null===g){k instanceof b?n(k):k.markDirty();break}else if(0!==g.start)break}else if(k=e(g),null!==k&&0===k.start)break;if(null===a)break;if(0===a.start&&h.$isTextNode(d)&&d.isTextEntity())continue;let q;0===a.start?[q,m]=m.splitText(a.end):[,q,m]=m.splitText(a.start,a.end);a=f(q);q.replace(a);\nif(null==m)break}}});c=c.registerNodeTransform(b,a=>{var d=a.getTextContent();const l=e(d);null===l||0!==l.start?n(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),n(a)),d=a.getNextSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),a instanceof b&&n(a)))});return[p,c]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalText = process.env.NODE_ENV === 'development' ? require('./LexicalText.dev.js') : require('./LexicalText.prod.js')\nmodule.exports = LexicalText;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 g=require(\"lexical\");\nexports.registerDragonSupport=function(l){let r=m=>{var h=l.getRootElement();if(document.activeElement===h&&(h=m.data,\"string\"===typeof h)){try{var a=JSON.parse(h)}catch(k){return}if(a&&\"nuanria_messaging\"===a.protocol&&\"request\"===a.type&&(a=a.payload)&&\"makeChanges\"===a.functionId&&(a=a.args)){const [k,n,p,q,t]=a;l.update(()=>{const f=g.$getSelection();if(g.$isRangeSelection(f)){var e=f.anchor;let b=e.getNode(),c=0,d=0;g.$isTextNode(b)&&0<=k&&0<=n&&(c=k,d=k+n,f.setTextNodeRange(b,c,b,d));if(c!==\nd||\"\"!==p)f.insertRawText(p),b=e.getNode();g.$isTextNode(b)&&(c=q,d=q+t,e=b.getTextContentSize(),c=c>e?e:c,d=d>e?e:d,f.setTextNodeRange(b,c,b,d));m.stopImmediatePropagation()}})}}};window.addEventListener(\"message\",r,!0);return()=>{window.removeEventListener(\"message\",r,!0)}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalDragon = process.env.NODE_ENV === 'development' ? require('./LexicalDragon.dev.js') : require('./LexicalDragon.prod.js')\nmodule.exports = LexicalDragon;","/**\n * Copyright (c) Meta Platforms, Inc. and 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=require(\"@lexical/react/LexicalComposerContext\"),h=require(\"react\"),l=require(\"@lexical/text\"),m=require(\"@lexical/utils\"),n=require(\"react-dom\"),q=require(\"@lexical/dragon\"),r=require(\"@lexical/rich-text\"),t=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?h.useLayoutEffect:h.useEffect;function u(a){return a.getEditorState().read(l.$canShowPlaceholderCurry(a.isComposing(),a.isEditable()))}\nfunction v(a){let [f,d]=h.useState(()=>u(a));t(()=>{function c(){let e=u(a);d(e)}c();return m.mergeRegister(a.registerUpdateListener(()=>{c()}),a.registerEditableListener(()=>{c()}))},[a]);return f}\nfunction w(a,f){let [d,c]=h.useState(()=>a.getDecorators());t(()=>a.registerDecoratorListener(e=>{n.flushSync(()=>{c(e)})}),[a]);h.useEffect(()=>{c(a.getDecorators())},[a]);return h.useMemo(()=>{let e=[],p=Object.keys(d);for(let k=0;k<p.length;k++){var g=p[k];let y=h.createElement(f,{onError:x=>a._onError(x)},h.createElement(h.Suspense,{fallback:null},d[g]));g=a.getElementByKey(g);null!==g&&e.push(n.createPortal(y,g))}return e},[f,d,a])}\nfunction z(a){t(()=>m.mergeRegister(r.registerRichText(a),q.registerDragonSupport(a)),[a])}exports.RichTextPlugin=function({contentEditable:a,placeholder:f,ErrorBoundary:d}){let [c]=b.useLexicalComposerContext(),e=v(c);d=w(c,d);z(c);return h.createElement(h.Fragment,null,a,e&&f,d)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalRichTextPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalRichTextPlugin.dev.js') : require('./LexicalRichTextPlugin.prod.js')\nmodule.exports = LexicalRichTextPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 h=require(\"react\");function m(b,c){m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,a){g.__proto__=a;return g};return m(b,c)}function n(b,c){b.prototype=Object.create(c.prototype);b.prototype.constructor=b;m(b,c)}function r(b,c){void 0===b&&(b=[]);void 0===c&&(c=[]);return b.length!==c.length||b.some(function(g,a){return!Object.is(g,c[a])})}\nvar t={error:null},u=function(b){function c(){for(var a,d=arguments.length,f=Array(d),e=0;e<d;e++)f[e]=arguments[e];a=b.call.apply(b,[this].concat(f))||this;a.state=t;a.resetErrorBoundary=function(){for(var k,p=arguments.length,q=Array(p),l=0;l<p;l++)q[l]=arguments[l];null==a.props.onReset?void 0:(k=a.props).onReset.apply(k,q);a.reset()};return a}n(c,b);c.getDerivedStateFromError=function(a){return{error:a}};var g=c.prototype;g.reset=function(){this.setState(t)};g.componentDidCatch=function(a,d){var f,\ne;null==(f=(e=this.props).onError)?void 0:f.call(e,a,d)};g.componentDidUpdate=function(a,d){var f=this.props.resetKeys;if(null!==this.state.error&&null!==d.error&&r(a.resetKeys,f)){var e,k;null==(e=(k=this.props).onResetKeysChange)?void 0:e.call(k,a.resetKeys,f);this.reset()}};g.render=function(){var a=this.state.error,d=this.props,f=d.fallbackRender,e=d.FallbackComponent;d=d.fallback;if(null!==a){a={error:a,resetErrorBoundary:this.resetErrorBoundary};if(h.isValidElement(d))return d;if(\"function\"===\ntypeof f)return f(a);if(e)return h.createElement(e,a);throw Error(\"react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop\");}return this.props.children};return c}(h.Component);module.exports=function({children:b,onError:c}){return h.createElement(u,{fallback:h.createElement(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"}},\"An error was thrown.\"),onError:c},b)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalErrorBoundary = process.env.NODE_ENV === 'development' ? require('./LexicalErrorBoundary.dev.js') : require('./LexicalErrorBoundary.prod.js')\nmodule.exports = LexicalErrorBoundary;","/**\n * Copyright (c) Meta Platforms, Inc. and 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=require(\"@lexical/react/LexicalComposerContext\"),k=require(\"react\"),l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?k.useLayoutEffect:k.useEffect;\nexports.ContentEditable=function({ariaActiveDescendantID:m,ariaAutoComplete:n,ariaControls:p,ariaDescribedBy:q,ariaExpanded:r,ariaLabel:t,ariaLabelledBy:u,ariaMultiline:v,ariaOwneeID:w,ariaRequired:x,autoCapitalize:e,autoComplete:y,autoCorrect:f,className:z,id:A,role:g=\"textbox\",spellCheck:B=!0,style:C,tabIndex:D,testid:E}){let [c]=b.useLexicalComposerContext(),[a,h]=k.useState(!1),F=k.useCallback(d=>{c.setRootElement(d)},[c]);l(()=>{h(c.isEditable());return c.registerEditableListener(d=>{h(d)})},\n[c]);return k.createElement(\"div\",{\"aria-activedescendant\":a?m:null,\"aria-autocomplete\":a?n:null,\"aria-controls\":a?p:null,\"aria-describedby\":q,\"aria-expanded\":a?\"combobox\"===g?!!r:null:null,\"aria-label\":t,\"aria-labelledby\":u,\"aria-multiline\":v,\"aria-owns\":a?w:null,\"aria-required\":x,autoCapitalize:void 0!==e?String(e):void 0,autoComplete:y,autoCorrect:void 0!==f?String(f):void 0,className:z,contentEditable:a,\"data-testid\":E,id:A,ref:F,role:a?g:void 0,spellCheck:B,style:C,tabIndex:D})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalContentEditable = process.env.NODE_ENV === 'development' ? require('./LexicalContentEditable.dev.js') : require('./LexicalContentEditable.prod.js')\nmodule.exports = LexicalContentEditable;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 d=require(\"@lexical/utils\"),u=require(\"lexical\");\nfunction v(b,a,m,k,p){if(null===b||0===m.size&&0===k.size&&!p)return 0;var f=a._selection,c=b._selection;if(p)return 1;if(!(u.$isRangeSelection(f)&&u.$isRangeSelection(c)&&c.isCollapsed()&&f.isCollapsed()))return 0;p=a._nodeMap;let e=[];for(let g of m)m=p.get(g),void 0!==m&&e.push(m);for(let [g,n]of k)n&&(k=p.get(g),void 0===k||u.$isRootNode(k)||e.push(k));if(0===e.length)return 0;if(1<e.length)return k=a._nodeMap,a=k.get(f.anchor.key),c=k.get(c.anchor.key),a&&c&&!b._nodeMap.has(a.__key)&&u.$isTextNode(a)&&\n1===a.__text.length&&1===f.anchor.offset?2:0;a=e[0];b=b._nodeMap.get(a.__key);if(!u.$isTextNode(b)||!u.$isTextNode(a)||b.__mode!==a.__mode)return 0;b=b.__text;a=a.__text;if(b===a)return 0;f=f.anchor;c=c.anchor;if(f.key!==c.key||\"text\"!==f.type)return 0;f=f.offset;c=c.offset;b=a.length-b.length;return 1===b&&c===f-1?2:-1===b&&c===f+1?3:-1===b&&c===f?4:0}\nfunction w(b,a){let m=Date.now(),k=0;return(p,f,c,e,g,n)=>{let r=Date.now();if(n.has(\"historic\"))return k=0,m=r,2;let q=v(p,f,e,g,b.isComposing()),t=(()=>{var l=null===c||c.editor===b,h=n.has(\"history-push\");if(!h&&l&&n.has(\"history-merge\"))return 0;if(null===p)return 1;const x=f._selection,y=p._selection;return 0<e.size||0<g.size?!1===h&&0!==q&&q===k&&r<m+a&&l||1===e.size&&(h=Array.from(e)[0],l=p._nodeMap.get(h),h=f._nodeMap.get(h),l=u.$isTextNode(l)&&u.$isTextNode(h)?l.__type===h.__type&&l.__text===\nh.__text&&l.__mode===h.__mode&&l.__detail===h.__detail&&l.__style===h.__style&&l.__format===h.__format&&l.__parent===h.__parent:!1,l)?0:1:null===y&&null!==x?0:2})();m=r;k=q;return t}}exports.createEmptyHistoryState=function(){return{current:null,redoStack:[],undoStack:[]}};\nexports.registerHistory=function(b,a,m){let k=w(b,m);m=({editorState:c,prevEditorState:e,dirtyLeaves:g,dirtyElements:n,tags:r})=>{const q=a.current,t=a.redoStack,l=a.undoStack,h=null===q?null:q.editorState;if(null===q||c!==h){g=k(e,c,q,g,n,r);if(1===g)0!==t.length&&(a.redoStack=[]),null!==q&&(l.push({...q,undoSelection:e.read(u.$getSelection)}),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));else if(2===g)return;a.current={editor:b,editorState:c}}};let p=d.mergeRegister(b.registerCommand(u.UNDO_COMMAND,\n()=>{let c=a.redoStack,e=a.undoStack;if(0!==e.length){let g=a.current,n=e.pop();null!==g&&(c.push(g),b.dispatchCommand(u.CAN_REDO_COMMAND,!0));0===e.length&&b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);a.current=n||null;n&&n.editor.setEditorState(n.editorState.clone(n.undoSelection),{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.REDO_COMMAND,()=>{let c=a.redoStack;var e=a.undoStack;if(0!==c.length){let g=a.current;null!==g&&(e.push(g),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));\ne=c.pop();0===c.length&&b.dispatchCommand(u.CAN_REDO_COMMAND,!1);a.current=e||null;e&&e.editor.setEditorState(e.editorState,{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_EDITOR_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;return!1},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_HISTORY_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;b.dispatchCommand(u.CAN_REDO_COMMAND,!1);b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);return!0},u.COMMAND_PRIORITY_EDITOR),\nb.registerUpdateListener(m)),f=b.registerUpdateListener(m);return()=>{p();f()}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalHistory = process.env.NODE_ENV === 'development' ? require('./LexicalHistory.dev.js') : require('./LexicalHistory.prod.js')\nmodule.exports = LexicalHistory;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"@lexical/react/LexicalComposerContext\"),history=require(\"@lexical/history\"),f=require(\"react\");function g(a,b,d=1E3){let e=f.useMemo(()=>b||history.createEmptyHistoryState(),[b]);f.useEffect(()=>history.registerHistory(a,e,d),[d,a,e])}exports.createEmptyHistoryState=history.createEmptyHistoryState;exports.HistoryPlugin=function({externalHistoryState:a}){let [b]=c.useLexicalComposerContext();g(b,a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalHistoryPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalHistoryPlugin.dev.js') : require('./LexicalHistoryPlugin.prod.js')\nmodule.exports = LexicalHistoryPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"react\"),g=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?f.useLayoutEffect:f.useEffect;\nexports.OnChangePlugin=function({ignoreHistoryMergeTagChange:d=!0,ignoreSelectionChange:e=!1,onChange:a}){let [b]=c.useLexicalComposerContext();g(()=>{if(a)return b.registerUpdateListener(({editorState:h,dirtyElements:k,dirtyLeaves:l,prevEditorState:m,tags:n})=>{e&&0===k.size&&0===l.size||d&&n.has(\"history-merge\")||m.isEmpty()||a(h,b)})},[b,d,e,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalOnChangePlugin = process.env.NODE_ENV === 'development' ? require('./LexicalOnChangePlugin.dev.js') : require('./LexicalOnChangePlugin.prod.js')\nmodule.exports = LexicalOnChangePlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and 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=require(\"@lexical/list\"),c=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"react\"),e=require(\"@lexical/utils\"),f=require(\"lexical\");\nfunction g(a){d.useEffect(()=>e.mergeRegister(a.registerCommand(f.INDENT_CONTENT_COMMAND,()=>{b.indentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.OUTDENT_CONTENT_COMMAND,()=>{b.outdentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_ORDERED_LIST_COMMAND,()=>{b.insertList(a,\"number\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_UNORDERED_LIST_COMMAND,()=>{b.insertList(a,\"bullet\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.REMOVE_LIST_COMMAND,\n()=>{b.removeList(a);return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.INSERT_PARAGRAPH_COMMAND,()=>b.$handleListInsertParagraph()?!0:!1,f.COMMAND_PRIORITY_LOW)),[a])}exports.ListPlugin=function(){let [a]=c.useLexicalComposerContext();d.useEffect(()=>{if(!a.hasNodes([b.ListNode,b.ListItemNode]))throw Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\");},[a]);g(a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalListPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalListPlugin.dev.js') : require('./LexicalListPlugin.prod.js')\nmodule.exports = LexicalListPlugin;","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {\n $createNodeSelection,\n $getSelection,\n $isDecoratorNode,\n $isNodeSelection,\n $isRangeSelection,\n $setSelection,\n $createTextNode,\n COMMAND_PRIORITY_HIGH,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n PASTE_COMMAND\n} from 'lexical';\n\nimport {$createLinkNode} from '@lexical/link';\nimport {mergeRegister} from '@lexical/utils';\n\nconst RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX = 10;\n\nfunction $selectDecoratorNode(node) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(node.getKey());\n $setSelection(nodeSelection);\n}\n\nfunction getTopLevelNativeElement(node) {\n if (node.nodeType === Node.TEXT_NODE) {\n node = node.parentNode;\n }\n\n const selector = '[data-lexical-editor] > *';\n return node.closest(selector);\n}\n\nfunction useKoenigBehaviour({editor, containerElem}) {\n // deselect cards on mousedown outside of the editor container\n React.useEffect(() => {\n const onMousedown = (event) => {\n if (!containerElem.current.contains(event.target)) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n $setSelection(null);\n }\n });\n }\n };\n\n window.addEventListener('mousedown', onMousedown);\n\n return () => {\n window.removeEventListener('mousedown', onMousedown);\n };\n }, [editor, containerElem]);\n\n // override built-in keyboard movement around card (DecoratorNode) boundaries,\n // cards should be selected on up/down and when deleting content around them\n React.useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n () => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const previousSibling = currentNode.getPreviousSibling();\n\n // do nothing if decorator node is top of document and selected\n // TODO: handle exposing this in some way so consuming app can\n // can control this behaviour\n if (!previousSibling) {\n return true;\n }\n\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const topLevelElement = selection.anchor.getNode().getTopLevelElement();\n const nativeSelection = window.getSelection();\n\n // empty paragraphs are odd because the native range won't\n // have a rect to compare positioning\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n const atStartOfElement =\n selection.anchor.offset === 0 &&\n selection.focus.offset === 0;\n\n if (onEmptyNode || atStartOfElement) {\n const previousSibling = topLevelElement.getPreviousSibling();\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n } else {\n const range = nativeSelection.getRangeAt(0).cloneRange();\n const rects = range.getClientRects();\n\n if (rects.length > 0) {\n // try second rect first because when the caret is at the beginning\n // of a line the first rect will be positioned on line above breaking\n // the top position check\n const rangeRect = rects[1] || rects[0];\n const nativeTopLevelElement = getTopLevelNativeElement(nativeSelection.anchorNode);\n const elemRect = nativeTopLevelElement.getBoundingClientRect();\n\n const atTopOfNode = Math.abs(rangeRect.top - elemRect.top) <= RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX;\n\n if (atTopOfNode) {\n const previousSibling = topLevelElement.getPreviousSibling();\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n }\n }\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n () => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const nextSibling = currentNode.getNextSibling();\n\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const topLevelElement = selection.anchor.getNode().getTopLevelElement();\n const nativeSelection = window.getSelection();\n const nativeTopLevelElement = getTopLevelNativeElement(nativeSelection.anchorNode);\n\n // empty paragraphs are odd because the native range won't\n // have a rect to compare positioning\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n const atEndOfElement =\n nativeSelection.rangeCount !== 0 &&\n nativeSelection.anchorNode === nativeTopLevelElement &&\n nativeSelection.anchorOffset === nativeTopLevelElement.children.length - 1 &&\n nativeSelection.focusOffset === nativeTopLevelElement.children.length - 1;\n\n if (onEmptyNode || atEndOfElement) {\n const nextSibling = topLevelElement.getNextSibling();\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n } else {\n const range = nativeSelection.getRangeAt(0).cloneRange();\n const rects = range.getClientRects();\n\n if (rects.length > 0) {\n const rangeRect = rects[0];\n const elemRect = nativeTopLevelElement.getBoundingClientRect();\n\n if (Math.abs(rangeRect.bottom - elemRect.bottom) < RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX) {\n const nextSibling = topLevelElement.getNextSibling();\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n }\n }\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand (\n PASTE_COMMAND,\n (clipboard) => {\n const clipboardDataset = clipboard?.clipboardData?.getData('text');\n const linkMatch = clipboardDataset?.match(/^(https?:\\/\\/[^\\s]+)$/); // replace with better regex to include more protocols like mailto, ftp, etc\n const selection = $getSelection();\n const selectionContent = selection.getTextContent();\n if (linkMatch && selectionContent.length > 0) {\n const link = linkMatch[1];\n if ($isRangeSelection(selection)) {\n const textNode = selection.extract()[0];\n const linkNode = $createLinkNode(link);\n const linkTextNode = $createTextNode(selectionContent);\n linkTextNode.setFormat(textNode.getFormat());\n linkNode.append(linkTextNode);\n textNode.replace(linkNode);\n }\n return true;\n }\n },\n COMMAND_PRIORITY_HIGH\n ));\n });\n\n return null;\n}\n\nexport default function KoenigBehaviourPlugin({containerElem = document.querySelector('.koenig-editor')}) {\n const [editor] = useLexicalComposerContext();\n return useKoenigBehaviour({editor, containerElem});\n}\n","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n","Prism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n","(function (Prism) {\n\n\t// Allow only one line break\n\tvar inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n\n\t/**\n\t * This function is intended for the creation of the bold or italic pattern.\n\t *\n\t * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n\t *\n\t * _Note:_ Keep in mind that this adds a capturing group.\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction createInline(pattern) {\n\t\tpattern = pattern.replace(/<inner>/g, function () { return inner; });\n\t\treturn RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n\t}\n\n\n\tvar tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n\tvar tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () { return tableCell; });\n\tvar tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n\n\n\tPrism.languages.markdown = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('markdown', 'prolog', {\n\t\t'front-matter-block': {\n\t\t\tpattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^---|---$/,\n\t\t\t\t'front-matter': {\n\t\t\t\t\tpattern: /\\S+(?:\\s+\\S+)*/,\n\t\t\t\t\talias: ['yaml', 'language-yaml'],\n\t\t\t\t\tinside: Prism.languages.yaml\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'blockquote': {\n\t\t\t// > ...\n\t\t\tpattern: /^>(?:[\\t ]*>)*/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n\t\t\tinside: {\n\t\t\t\t'table-data-rows': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-data': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-line': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\||:?-{3,}:?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-header-row': {\n\t\t\t\t\tpattern: RegExp('^' + tableRow + '$'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-header': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\talias: 'important',\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\t// Prefixed by 4 spaces or 1 tab and preceded by an empty line\n\t\t\t\tpattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ```optional language\n\t\t\t\t// code block\n\t\t\t\t// ```\n\t\t\t\tpattern: /^```[\\s\\S]*?^```$/m,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code-block': {\n\t\t\t\t\t\tpattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'code-language': {\n\t\t\t\t\t\tpattern: /^(```).+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /```/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'title': [\n\t\t\t{\n\t\t\t\t// title 1\n\t\t\t\t// =======\n\n\t\t\t\t// title 2\n\t\t\t\t// -------\n\t\t\t\tpattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /==+$|--+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// # title 1\n\t\t\t\t// ###### title 6\n\t\t\t\tpattern: /(^\\s*)#.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /^#+|#+$/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'hr': {\n\t\t\t// ***\n\t\t\t// ---\n\t\t\t// * * *\n\t\t\t// -----------\n\t\t\tpattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list': {\n\t\t\t// * item\n\t\t\t// + item\n\t\t\t// - item\n\t\t\t// 1. item\n\t\t\tpattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'url-reference': {\n\t\t\t// [id]: http://example.com \"Optional title\"\n\t\t\t// [id]: http://example.com 'Optional title'\n\t\t\t// [id]: http://example.com (Optional title)\n\t\t\t// [id]: <http://example.com> \"Optional title\"\n\t\t\tpattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /^(!?\\[)[^\\]]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n\t\t\t\t'punctuation': /^[\\[\\]!:]|[<>]/\n\t\t\t},\n\t\t\talias: 'url'\n\t\t},\n\t\t'bold': {\n\t\t\t// **strong**\n\t\t\t// __strong__\n\n\t\t\t// allow one nested instance of italic text using the same delimiter\n\t\t\tpattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^..)[\\s\\S]+(?=..$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*|__/\n\t\t\t}\n\t\t},\n\t\t'italic': {\n\t\t\t// *em*\n\t\t\t// _em_\n\n\t\t\t// allow one nested instance of bold text using the same delimiter\n\t\t\tpattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^.)[\\s\\S]+(?=.$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /[*_]/\n\t\t\t}\n\t\t},\n\t\t'strike': {\n\t\t\t// ~~strike through~~\n\t\t\t// ~strike~\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /~~?/\n\t\t\t}\n\t\t},\n\t\t'code-snippet': {\n\t\t\t// `code`\n\t\t\t// ``code``\n\t\t\tpattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: ['code', 'keyword']\n\t\t},\n\t\t'url': {\n\t\t\t// [example](http://example.com \"Optional title\")\n\t\t\t// [example][id]\n\t\t\t// [example] [id]\n\t\t\tpattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'operator': /^!/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /(^\\]\\()[^\\s)]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n\t\t['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {\n\t\t\tif (token !== inside) {\n\t\t\t\tPrism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n\t\t\t}\n\t\t});\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'markdown' && env.language !== 'md') {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction walkTokens(tokens) {\n\t\t\tif (!tokens || typeof tokens === 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = tokens.length; i < l; i++) {\n\t\t\t\tvar token = tokens[i];\n\n\t\t\t\tif (token.type !== 'code') {\n\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n\t\t\t\t * is optional. But the grammar is defined so that there is only one case we have to handle:\n\t\t\t\t *\n\t\t\t\t * token.content = [\n\t\t\t\t * <span class=\"punctuation\">```</span>,\n\t\t\t\t * <span class=\"code-language\">xxxx</span>,\n\t\t\t\t * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n\t\t\t\t * <span class=\"code-block\">...</span>,\n\t\t\t\t * '\\n', // exactly one new lines again\n\t\t\t\t * <span class=\"punctuation\">```</span>\n\t\t\t\t * ];\n\t\t\t\t */\n\n\t\t\t\tvar codeLang = token.content[1];\n\t\t\t\tvar codeBlock = token.content[3];\n\n\t\t\t\tif (codeLang && codeBlock &&\n\t\t\t\t\tcodeLang.type === 'code-language' && codeBlock.type === 'code-block' &&\n\t\t\t\t\ttypeof codeLang.content === 'string') {\n\n\t\t\t\t\t// this might be a language that Prism does not support\n\n\t\t\t\t\t// do some replacements to support C++, C#, and F#\n\t\t\t\t\tvar lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp');\n\t\t\t\t\t// only use the first word\n\t\t\t\t\tlang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n\t\t\t\t\tvar alias = 'language-' + lang;\n\n\t\t\t\t\t// add alias\n\t\t\t\t\tif (!codeBlock.alias) {\n\t\t\t\t\t\tcodeBlock.alias = [alias];\n\t\t\t\t\t} else if (typeof codeBlock.alias === 'string') {\n\t\t\t\t\t\tcodeBlock.alias = [codeBlock.alias, alias];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcodeBlock.alias.push(alias);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twalkTokens(env.tokens);\n\t});\n\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type !== 'code-block') {\n\t\t\treturn;\n\t\t}\n\n\t\tvar codeLang = '';\n\t\tfor (var i = 0, l = env.classes.length; i < l; i++) {\n\t\t\tvar cls = env.classes[i];\n\t\t\tvar match = /language-(.+)/.exec(cls);\n\t\t\tif (match) {\n\t\t\t\tcodeLang = match[1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar grammar = Prism.languages[codeLang];\n\n\t\tif (!grammar) {\n\t\t\tif (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n\t\t\t\tvar id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n\t\t\t\tenv.attributes['id'] = id;\n\n\t\t\t\tPrism.plugins.autoloader.loadLanguages(codeLang, function () {\n\t\t\t\t\tvar ele = document.getElementById(id);\n\t\t\t\t\tif (ele) {\n\t\t\t\t\t\tele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenv.content = Prism.highlight(textContent(env.content), grammar, codeLang);\n\t\t}\n\t});\n\n\tvar tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');\n\n\t/**\n\t * A list of known entity names.\n\t *\n\t * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n\t *\n\t * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n\t */\n\tvar KNOWN_ENTITY_NAMES = {\n\t\t'amp': '&',\n\t\t'lt': '<',\n\t\t'gt': '>',\n\t\t'quot': '\"',\n\t};\n\n\t// IE 11 doesn't support `String.fromCodePoint`\n\tvar fromCodePoint = String.fromCodePoint || String.fromCharCode;\n\n\t/**\n\t * Returns the text content of a given HTML source code string.\n\t *\n\t * @param {string} html\n\t * @returns {string}\n\t */\n\tfunction textContent(html) {\n\t\t// remove all tags\n\t\tvar text = html.replace(tagPattern, '');\n\n\t\t// decode known entities\n\t\ttext = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n\t\t\tcode = code.toLowerCase();\n\n\t\t\tif (code[0] === '#') {\n\t\t\t\tvar value;\n\t\t\t\tif (code[1] === 'x') {\n\t\t\t\t\tvalue = parseInt(code.slice(2), 16);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = Number(code.slice(1));\n\t\t\t\t}\n\n\t\t\t\treturn fromCodePoint(value);\n\t\t\t} else {\n\t\t\t\tvar known = KNOWN_ENTITY_NAMES[code];\n\t\t\t\tif (known) {\n\t\t\t\t\treturn known;\n\t\t\t\t}\n\n\t\t\t\t// unable to decode\n\t\t\t\treturn m;\n\t\t\t}\n\t\t});\n\n\t\treturn text;\n\t}\n\n\tPrism.languages.md = Prism.languages.markdown;\n\n}(Prism));\n","Prism.languages.c = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://en.cppreference.com/w/c/language/string_literal\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'char': {\n\t\t// https://en.cppreference.com/w/c/language/character_constant\n\t\tpattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'macro': {\n\t\t// allow for multiline macro definitions\n\t\t// spaces after the # character compile fine with gcc\n\t\tpattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'string': [\n\t\t\t\t{\n\t\t\t\t\t// highlight the path of the include statement as a string\n\t\t\t\t\tpattern: /^(#\\s*include\\s*)<[^>]+>/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tPrism.languages.c['string']\n\t\t\t],\n\t\t\t'char': Prism.languages.c['char'],\n\t\t\t'comment': Prism.languages.c['comment'],\n\t\t\t'macro-name': [\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'function'\n\t\t\t\t}\n\t\t\t],\n\t\t\t// highlight macro directives as keywords\n\t\t\t'directive': {\n\t\t\t\tpattern: /^(#\\s*)[a-z]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'directive-hash': /^#/,\n\t\t\t'punctuation': /##|\\\\(?=[\\r\\n])/,\n\t\t\t'expression': {\n\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\tinside: Prism.languages.c\n\t\t\t}\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('c', 'function', {\n\t// highlight predefined macros as constants\n\t'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n});\n\ndelete Prism.languages.c['boolean'];\n","(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n","Prism.languages.objectivec = Prism.languages.extend('c', {\n\t'string': {\n\t\tpattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n\t'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\n\ndelete Prism.languages.objectivec['class-name'];\n\nPrism.languages.objc = Prism.languages.objectivec;\n","Prism.languages.sql = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/@[\\w.$]+/\n\t],\n\t'string': {\n\t\tpattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n\t\tgreedy: true,\n\t\tlookbehind: true\n\t},\n\t'identifier': {\n\t\tpattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n\t\tgreedy: true,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^`|`$/\n\t\t}\n\t},\n\t'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, // Should we highlight user defined functions too?\n\t'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n\t'punctuation': /[;[\\]()`,.]/\n};\n","Prism.languages.python = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-interpolation': {\n\t\tpattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n\t\t\t\tpattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-spec': {\n\t\t\t\t\t\tpattern: /(:)[^:(){}]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'conversion-option': {\n\t\t\t\t\t\tpattern: //,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n\t\tlookbehind: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bclass\\s+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'decorator': {\n\t\tpattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n\t\tlookbehind: true,\n\t\talias: ['annotation', 'punctuation'],\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n\t'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n\t'boolean': /\\b(?:False|None|True)\\b/,\n\t'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n\t'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n\nPrism.languages.py = Prism.languages.python;\n","(function (Prism) {\n\n\tvar multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\t// support 4 levels of nested comments\n\t\tmultilineComment = multilineComment.replace(/<self>/g, function () { return multilineComment; });\n\t}\n\tmultilineComment = multilineComment.replace(/<self>/g, function () { return /[^\\s\\S]/.source; });\n\n\n\tPrism.languages.rust = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'attribute': {\n\t\t\tpattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name',\n\t\t\tinside: {\n\t\t\t\t'string': null // see below\n\t\t\t}\n\t\t},\n\n\t\t// Closure params should not be confused with bitwise OR |\n\t\t'closure-params': {\n\t\t\tpattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'closure-punctuation': {\n\t\t\t\t\tpattern: /^\\||\\|$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: null // see below\n\t\t\t}\n\t\t},\n\n\t\t'lifetime-annotation': {\n\t\t\tpattern: /'\\w+/,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'fragment-specifier': {\n\t\t\tpattern: /(\\$\\w+:)[a-z]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'variable': /\\$\\w+/,\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfn\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'type-definition': {\n\t\t\tpattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'module-declaration': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': [\n\t\t\t// https://github.com/rust-lang/reference/blob/master/src/keywords.md\n\t\t\t/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n\t\t\t// primitives and str\n\t\t\t// https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n\t\t\t/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n\t\t],\n\n\t\t// functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n\t\t// and Rust's naming conventions recommend snake_case anyway.\n\t\t// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n\t\t'macro': {\n\t\t\tpattern: /\\b\\w+!/,\n\t\t\talias: 'property'\n\t\t},\n\t\t'constant': /\\b[A-Z_][A-Z_\\d]+\\b/,\n\t\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t\t'namespace': {\n\t\t\tpattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\n\t\t// Hex, oct, bin, dec numbers with visual separators and type suffix\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n\t\t'operator': /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n\t};\n\n\tPrism.languages.rust['closure-params'].inside.rest = Prism.languages.rust;\n\tPrism.languages.rust['attribute'].inside['string'] = Prism.languages.rust['string'];\n\n}(Prism));\n","Prism.languages.swift = {\n\t'comment': {\n\t\t// Nested comments are supported up to 2 levels\n\t\tpattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-literal': [\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ /(?![\"#])/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\(?=[\\r\\n])/,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])(#+)/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ '\\\\2'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\#+\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t],\n\n\t'directive': {\n\t\t// directives with conditions\n\t\tpattern: RegExp(\n\t\t\t/#/.source\n\t\t\t+ '(?:'\n\t\t\t+ (\n\t\t\t\t/(?:elseif|if)\\b/.source\n\t\t\t\t+ '(?:[ \\t]*'\n\t\t\t\t// This regex is a little complex. It's equivalent to this:\n\t\t\t\t// (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n\t\t\t\t// where <round> is a general parentheses expression.\n\t\t\t\t+ /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source\n\t\t\t\t+ ')+'\n\t\t\t)\n\t\t\t+ '|'\n\t\t\t+ /(?:else|endif)\\b/.source\n\t\t\t+ ')'\n\t\t),\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive-name': /^#\\w+/,\n\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t\t'operator': /!|&&|\\|\\||[<>]=?/,\n\t\t\t'punctuation': /[(),]/\n\t\t}\n\t},\n\t'literal': {\n\t\tpattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n\t\talias: 'constant'\n\t},\n\t'other-directive': {\n\t\tpattern: /#\\w+\\b/,\n\t\talias: 'property'\n\t},\n\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'atrule'\n\t},\n\n\t'function-definition': {\n\t\tpattern: /(\\bfunc\\s+)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'label': {\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n\t\tpattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n\t\tlookbehind: true,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'nil': {\n\t\tpattern: /\\bnil\\b/,\n\t\talias: 'constant'\n\t},\n\n\t'short-argument': /\\$\\d+\\b/,\n\t'omit': {\n\t\tpattern: /\\b_\\b/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n\n\t// A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n\t'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n\n\t// Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n\t// https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n\t// This regex only supports ASCII operators.\n\t'operator': /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n\t'punctuation': /[{}[\\]();,.:\\\\]/\n};\n\nPrism.languages.swift['string-literal'].forEach(function (rule) {\n\trule.inside['interpolation'].inside = Prism.languages.swift;\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 e=require(\"prismjs\");require(\"prismjs/components/prism-clike\");require(\"prismjs/components/prism-javascript\");require(\"prismjs/components/prism-markup\");require(\"prismjs/components/prism-markdown\");require(\"prismjs/components/prism-c\");require(\"prismjs/components/prism-css\");require(\"prismjs/components/prism-objectivec\");require(\"prismjs/components/prism-sql\");require(\"prismjs/components/prism-python\");require(\"prismjs/components/prism-rust\");require(\"prismjs/components/prism-swift\");\nvar n=require(\"@lexical/utils\"),u=require(\"lexical\");let v={c:\"C\",clike:\"C-like\",css:\"CSS\",html:\"HTML\",js:\"JavaScript\",markdown:\"Markdown\",objc:\"Objective-C\",plain:\"Plain Text\",py:\"Python\",rust:\"Rust\",sql:\"SQL\",swift:\"Swift\",xml:\"XML\"},x={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function y(a){return x[a]||a}\nclass z extends u.TextNode{constructor(a,b,c){super(a,c);this.__highlightType=b}static getType(){return\"code-highlight\"}static clone(a){return new z(a.__text,a.__highlightType||void 0,a.__key)}getHighlightType(){return this.getLatest().__highlightType}createDOM(a){let b=super.createDOM(a);a=A(a.theme,this.__highlightType);n.addClassNamesToElement(b,a);return b}updateDOM(a,b,c){let d=super.updateDOM(a,b,c);a=A(c.theme,a.__highlightType);c=A(c.theme,this.__highlightType);a!==c&&(a&&n.removeClassNamesFromElement(b,\na),c&&n.addClassNamesToElement(b,c));return d}static importJSON(a){let b=B(a.text,a.highlightType);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),highlightType:this.getHighlightType(),type:\"code-highlight\",version:1}}setFormat(){return this}}function A(a,b){return b&&a&&a.codeHighlight&&a.codeHighlight[b]}function B(a,b){return new z(a,b)}function C(a){return a instanceof z}\nfunction D(a){let b=null,c=a.getPreviousSiblings();for(c.push(a);0<c.length&&(a=c.pop(),C(a)&&(b=a),!u.$isLineBreakNode(a)););return b}function E(a){let b=null,c=a.getNextSiblings();for(c.unshift(a);0<c.length&&(a=c.shift(),C(a)&&(b=a),!u.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;function G(a,b){for(let c of a.childNodes){if(c instanceof HTMLElement&&c.tagName===b)return!0;G(c,b)}return!1}\nclass H extends u.ElementNode{static getType(){return\"code\"}static clone(a){return new H(a.__language,a.__key)}constructor(a,b){super(b);this.__language=F(a)}createDOM(a){let b=document.createElement(\"code\");n.addClassNamesToElement(b,a.theme.code);b.setAttribute(\"spellcheck\",\"false\");(a=this.getLanguage())&&b.setAttribute(\"data-highlight-language\",a);return b}updateDOM(a,b){let c=this.__language;a=a.__language;c?c!==a&&b.setAttribute(\"data-highlight-language\",c):a&&b.removeAttribute(\"data-highlight-language\");\nreturn!1}static importDOM(){return{code:a=>null!=a.textContent&&(/\\r?\\n/.test(a.textContent)||G(a,\"BR\"))?{conversion:I,priority:1}:null,div:()=>({conversion:aa,priority:1}),pre:()=>({conversion:I,priority:0}),table:a=>J(a)?{conversion:ba,priority:4}:null,td:a=>{let b=a.closest(\"table\");return a.classList.contains(\"js-file-line\")?{conversion:ca,priority:4}:b&&J(b)?{conversion:K,priority:4}:null},tr:a=>(a=a.closest(\"table\"))&&J(a)?{conversion:K,priority:4}:null}}static importJSON(a){let b=L(a.language);\nb.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),language:this.getLanguage(),type:\"code\",version:1}}insertNewAfter(a){var b=this.getChildren(),c=b.length;if(2<=c&&\"\\n\"===b[c-1].getTextContent()&&\"\\n\"===b[c-2].getTextContent()&&a.isCollapsed()&&a.anchor.key===this.__key&&a.anchor.offset===c)return b[c-1].remove(),b[c-2].remove(),a=u.$createParagraphNode(),this.insertAfter(a),a;b=a.anchor.getNode();var d=D(b);if(null!=d){c=0;\nfor(d=d.getTextContent();c<d.length&&/[\\t ]/.test(d[c]);)c+=1;if(0<c)return c=d.substring(0,c),c=B(c),b.insertAfter(c),a.insertNodes([u.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=u.$getSelection();return u.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=u.$createParagraphNode();this.getChildren().forEach(b=>a.append(b));this.replace(a);return!0}setLanguage(a){this.getWritable().__language=F(a)}getLanguage(){return this.getLatest().__language}}\nfunction L(a){return new H(a)}function M(a){return a instanceof H}function I(){return{node:L(),preformatted:!0}}function aa(a){let b=null!==a.style.fontFamily.match(\"monospace\");return b||da(a)?{after:c=>{let d=a.parentNode;null!=d&&a!==d.lastChild&&c.push(u.$createLineBreakNode());return c},node:b?L():null,preformatted:b}:{node:null}}function ba(){return{node:L(),preformatted:!0}}function K(){return{node:null}}\nfunction ca(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(u.$createLineBreakNode());return b},node:null}}function da(a){for(a=a.parentElement;null!==a;){if(null!==a.style.fontFamily.match(\"monospace\"))return!0;a=a.parentElement}return!1}function J(a){return a.classList.contains(\"js-file-line-container\")}let N={tokenize(a,b){return e.tokenize(a,e.languages[b||\"\"]||e.languages.javascript)}};\nfunction O(a,b){var c=a.length;let d=-1;if(b)for(b=0;b<c;b++){let f=a[b];if(\" \"!==f&&\"\\t\"!==f){d=b;break}}else for(--c;-1<c;c--)if(b=a[c],\" \"!==b&&\"\\t\"!==b){d=c;break}return d}\nfunction P(a){let b=null,c=-1;var d=a.getPreviousSiblings();for(d.push(a);0<d.length;){var f=d.pop();if(C(f)){var g=f.getTextContent();g=O(g,!0);-1!==g&&(b=f,c=g)}if(u.$isLineBreakNode(f))break}if(null===b)for(a=a.getNextSiblings();0<a.length;){d=a.shift();if(C(d)&&(f=d.getTextContent(),f=O(f,!0),-1!==f)){b=d;c=f;break}if(u.$isLineBreakNode(d))break}return{node:b,offset:c}}\nfunction Q(a){let b=null,c=-1;var d=a.getNextSiblings();for(d.unshift(a);0<d.length;){var f=d.shift();if(C(f)){var g=f.getTextContent();g=O(g,!1);-1!==g&&(b=f,c=g+1)}if(u.$isLineBreakNode(f))break}if(null===b)for(a=a.getPreviousSiblings();0<a.length;){d=a.pop();if(C(d)&&(f=d.getTextContent(),f=O(f,!1),-1!==f)){b=d;c=f+1;break}if(u.$isLineBreakNode(d))break}return{node:b,offset:c}}function R(a,b,c){let d=a.getParent();M(d)?S(d,b,c):C(a)&&a.replace(u.$createTextNode(a.__text))}let T=new Set;\nfunction S(a,b,c){let d=a.getKey();T.has(d)||(T.add(d),void 0===a.getLanguage()&&a.setLanguage(\"javascript\"),b.update(()=>{ea(d,()=>{var f=u.$getNodeByKey(d);if(!M(f)||!f.isAttached())return!1;var g=f.getTextContent();g=c.tokenize(g,f.getLanguage()||\"javascript\");g=U(g);var k=f.getChildren();for(f=0;f<k.length&&V(k[f],g[f]);)f++;var h=k.length;let m=g.length,p=Math.min(h,m)-f,l=0;for(;l<p;)if(l++,!V(k[h-l],g[m-l])){l--;break}k=f;h-=l;g=g.slice(f,m-l);let {from:w,to:t,nodesForReplacement:r}={from:k,\nnodesForReplacement:g,to:h};return w!==t||r.length?(a.splice(w,t-w,r),!0):!1})},{onUpdate:()=>{T.delete(d)},skipTransforms:!0}))}function U(a){let b=[];a.forEach(c=>{if(\"string\"===typeof c){c=c.split(\"\\n\");for(var d=0;d<c.length;d++){let f=c[d];f.length&&b.push(B(f));d<c.length-1&&b.push(u.$createLineBreakNode())}}else({content:d}=c),\"string\"===typeof d?b.push(B(d,c.type)):Array.isArray(d)&&1===d.length&&\"string\"===typeof d[0]?b.push(B(d[0],c.type)):Array.isArray(d)&&b.push(...U(d))});return b}\nfunction ea(a,b){a=u.$getNodeByKey(a);if(M(a)&&a.isAttached()){var c=u.$getSelection();if(u.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&u.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let k=c.getNode();g=d+k.getPreviousSiblings().reduce((h,m)=>h+(u.$isLineBreakNode(m)?0:m.getTextContentSize()),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(k=>{if(u.$isTextNode(k)){let h=k.getTextContentSize();if(h>=g)return k.select(g,g),!0;g-=h}return!1}))}else b()}}\nfunction V(a,b){return C(a)&&C(b)?a.__text===b.__text&&a.__highlightType===b.__highlightType:u.$isLineBreakNode(a)&&u.$isLineBreakNode(b)?!0:!1}function W(a){var b=u.$getSelection();if(!u.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!u.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&X(c,a);for(c=1;c<b.length;c++)d=b[c],u.$isLineBreakNode(b[c-1])&&C(d)&&X(d,a);return!0}\nfunction X(a,b){let c=a.getTextContent();b===u.INDENT_CONTENT_COMMAND?0<c.length&&/\\s/.test(c[0])?a.setTextContent(\"\\t\"+c):(b=B(\"\\t\"),a.insertBefore(b)):0===c.indexOf(\"\\t\")&&(1===c.length?a.remove():a.setTextContent(c.substring(1)))}\nfunction Y(a,b){let c=u.$getSelection();if(!u.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,k=f.offset,h=d.getNode(),m=f.getNode();var p=a===u.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(m))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),p&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!p&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var l=D(h);let w=E(m);if(null==l||null==w)return!1;let t=l.getNodesBetween(w);for(let q=0;q<t.length;q++){let Z=t[q];if(!C(Z)&&!u.$isLineBreakNode(Z))return!1}b.preventDefault();b.stopPropagation();b=p?l.getPreviousSibling():w.getNextSibling();if(!u.$isLineBreakNode(b))return!0;l=p?b.getPreviousSibling():b.getNextSibling();if(null==l)return!0;p=p?D(l):E(l);let r=null!=p?p:l;b.remove();t.forEach(q=>q.remove());a===u.KEY_ARROW_UP_COMMAND?(t.forEach(q=>r.insertBefore(q)),\nr.insertBefore(b)):(r.insertAfter(b),r=b,t.forEach(q=>{r.insertAfter(q);r=q}));c.setTextNodeRange(h,g,m,k);return!0}function fa(a,b){let c=u.$getSelection();if(!u.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),k=f.getNode();a=a===u.MOVE_TO_START;if(!C(g)||!C(k))return!1;let h,m;a?{node:h,offset:m}=P(k):{node:h,offset:m}=Q(k);null!==h&&-1!==m&&c.setTextNodeRange(h,m,h,m);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=B;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=v;exports.CODE_LANGUAGE_MAP=x;exports.CodeHighlightNode=z;exports.CodeNode=H;exports.DEFAULT_CODE_LANGUAGE=\"javascript\";exports.PrismTokenizer=N;exports.getCodeLanguages=()=>Object.keys(e.languages).filter(a=>\"function\"!==typeof e.languages[a]).sort();exports.getDefaultCodeLanguage=()=>\"javascript\";exports.getEndOfCodeInLine=Q;exports.getFirstCodeHighlightNodeOfLine=D;\nexports.getLanguageFriendlyName=function(a){a=y(a);return v[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=P;exports.normalizeCodeLang=y;\nexports.registerCodeHighlighting=function(a,b){if(!a.hasNodes([H,z]))throw Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");null==b&&(b=N);return n.mergeRegister(a.registerMutationListener(H,c=>{a.update(()=>{for(let [g,k]of c)if(\"destroyed\"!==k){var d=u.$getNodeByKey(g);if(null!==d)a:{var f=d;d=a.getElementByKey(f.getKey());if(null===d)break a;f=f.getChildren();let h=f.length;if(h===d.__cachedChildrenLength)break a;d.__cachedChildrenLength=h;let m=\"1\",p=1;for(let l=\n0;l<h;l++)u.$isLineBreakNode(f[l])&&(m+=\"\\n\"+ ++p);d.setAttribute(\"data-gutter\",m)}}})}),a.registerNodeTransform(H,c=>S(c,a,b)),a.registerNodeTransform(u.TextNode,c=>R(c,a,b)),a.registerNodeTransform(z,c=>R(c,a,b)),a.registerCommand(u.INDENT_CONTENT_COMMAND,()=>W(u.INDENT_CONTENT_COMMAND),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.OUTDENT_CONTENT_COMMAND,()=>W(u.OUTDENT_CONTENT_COMMAND),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.KEY_ARROW_UP_COMMAND,c=>Y(u.KEY_ARROW_UP_COMMAND,c),u.COMMAND_PRIORITY_LOW),\na.registerCommand(u.KEY_ARROW_DOWN_COMMAND,c=>Y(u.KEY_ARROW_DOWN_COMMAND,c),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.MOVE_TO_END,c=>fa(u.MOVE_TO_END,c),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.MOVE_TO_START,c=>fa(u.MOVE_TO_START,c),u.COMMAND_PRIORITY_LOW))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalCode = process.env.NODE_ENV === 'development' ? require('./LexicalCode.dev.js') : require('./LexicalCode.prod.js')\nmodule.exports = LexicalCode;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 k=require(\"lexical\"),t=require(\"@lexical/code\"),A=require(\"@lexical/list\"),F=require(\"@lexical/rich-text\"),aa=require(\"@lexical/utils\"),G=require(\"@lexical/link\");function H(a,b){let c={};for(let d of a)a=b(d),c[a]?c[a].push(d):c[a]=[d];return c}function I(a){a=H(a,b=>b.type);return{element:a.element||[],textFormat:a[\"text-format\"]||[],textMatch:a[\"text-match\"]||[]}}let J=/[!-/:-@[-`{-~\\s]/;\nfunction ba(a){let b=I(a),c=b.textFormat.filter(d=>1===d.format.length);return()=>{let d=[];var e=k.$getRoot().getChildren();for(let f of e)e=ca(f,b.element,c,b.textMatch),null!=e&&d.push(e);return d.join(\"\\n\\n\")}}function ca(a,b,c,d){for(let e of b)if(b=e.export(a,f=>K(f,c,d)),null!=b)return b;return k.$isElementNode(a)?K(a,c,d):null}\nfunction K(a,b,c){let d=[];a=a.getChildren();a:for(let e of a){for(let f of c)if(a=f.export(e,l=>K(l,b,c),(l,h)=>L(l,h,b)),null!=a){d.push(a);continue a}k.$isLineBreakNode(e)?d.push(\"\\n\"):k.$isTextNode(e)?d.push(L(e,e.getTextContent(),b)):k.$isElementNode(e)&&d.push(K(e,b,c))}return d.join(\"\")}function L(a,b,c){let d=b.trim(),e=d,f=new Set;for(let h of c){c=h.format[0];let p=h.tag;if(M(a,c)&&!f.has(c)){f.add(c);var l=N(a,!0);M(l,c)||(e=p+e);l=N(a,!1);M(l,c)||(e+=p)}}return b.replace(d,e)}\nfunction N(a,b){let c=b?a.getPreviousSibling():a.getNextSibling();c||(a=a.getParentOrThrow(),a.isInline()&&(c=b?a.getPreviousSibling():a.getNextSibling()));for(;c;){if(k.$isElementNode(c)){if(!c.isInline())break;a=b?c.getLastDescendant():c.getFirstDescendant();if(k.$isTextNode(a))return a;c=b?c.getPreviousSibling():c.getNextSibling()}if(k.$isTextNode(c))return c;if(!k.$isElementNode(c))break}return null}function M(a,b){return k.$isTextNode(a)&&a.hasFormat(b)}\nlet O=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,da=O&&\"documentMode\"in document?document.documentMode:null;O&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);O&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);O&&\"InputEvent\"in window&&!da?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1;\nlet P=O&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Q=O&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ea=/^\\s{0,3}$/,R=/^```(\\w{1,10})?\\s?$/;\nfunction fa(a){let b=I(a),c=ha(b.textFormat);return d=>{var e=d.split(\"\\n\"),f=e.length;d=k.$getRoot();d.clear();for(let g=0;g<f;g++){var l=e[g];a:{var h=e,p=g;var r=d;var y=h[p].match(R);if(y)for(var q=p,m=h.length;++q<m;)if(h[q].match(R)){y=t.$createCodeNode(y[1]);h=k.$createTextNode(h.slice(p+1,q).join(\"\\n\"));y.append(h);r.append(y);r=[y,q];break a}r=[null,p]}let [n,v]=r;if(null!=n)g=v;else{r=l;m=d;var w=b.element;q=c;h=b.textMatch;p=r.trim();y=k.$createTextNode(p);l=k.$createParagraphNode();l.append(y);\nm.append(l);for(let {regExp:x,replace:u}of w)if(m=r.match(x)){y.setTextContent(r.slice(m[0].length));u(l,[y],m,!0);break}S(y,q,h);l.isAttached()&&0<p.length&&(r=l.getPreviousSibling(),k.$isParagraphNode(r)||F.$isQuoteNode(r)||A.$isListNode(r))&&(q=r,A.$isListNode(r)&&(r=r.getLastDescendant(),q=null==r?null:aa.$findMatchingParent(r,A.$isListItemNode)),null!=q&&0<q.getTextContentSize()&&(q.splice(q.getChildrenSize(),0,[k.$createLineBreakNode(),...l.getChildren()]),l.remove()))}}e=d.getChildren();for(let g of e)e=\ng,k.$isParagraphNode(e)?(f=e.getFirstChild(),e=null==f||1===e.getChildrenSize()&&k.$isTextNode(f)&&ea.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction S(a,b,c){var d=a.getTextContent();let e=ia(d,b);if(e){var f,l;if(e[0]===d)var h=a;else{d=e.index||0;let p=d+e[0].length;0===d?[h,f]=a.splitText(p):[l,h,f]=a.splitText(d,p)}h.setTextContent(e[2]);if(a=b.transformersByTag[e[1]])for(let p of a.format)h.hasFormat(p)||h.toggleFormat(p);h.hasFormat(\"code\")||S(h,b,c);l&&S(l,b,c);f&&S(f,b,c)}else T(a,c)}\nfunction T(a,b){a:for(;a;){for(let c of b){let d=a.getTextContent().match(c.importRegExp);if(!d)continue;let e=d.index||0,f=e+d[0].length,l,h,p;0===e?[l,a]=a.splitText(f):[h,l,p]=a.splitText(e,f);h&&T(h,b);p&&(a=p);c.replace(l,d);continue a}break}}\nfunction ia(a,b){var c=a.match(b.openTagsRegExp);if(null==c)return null;for(let f of c){var d=f.replace(/^\\s/,\"\");c=b.fullMatchRegExpByTag[d];if(null!=c&&(c=a.match(c),d=b.transformersByTag[d],null!=c&&null!=d)){if(!1!==d.intraword)return c;var {index:e=0}=c;d=a[e-1];e=a[e+c[0].length];if(!(d&&!J.test(d)||e&&!J.test(e)))return c}}return null}\nfunction ha(a){let b={},c={},d=[];for(let e of a){({tag:a}=e);b[a]=e;let f=a.replace(/(\\*|\\^)/g,\"\\\\$1\");d.push(f);c[a]=P||Q?new RegExp(`(${f})(?![${f}\\\\s])(.*?[^${f}\\\\s])${f}(?!${f})`):new RegExp(`(?<![\\\\\\\\${f}])(${f})((\\\\\\\\${f})?.*?[^${f}\\\\s](\\\\\\\\${f})?)((?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))(${f})(?![\\\\\\\\${f}])`)}return{fullMatchRegExpByTag:c,openTagsRegExp:new RegExp((P||Q?\"\":\"(?<![\\\\\\\\])\")+\"(\"+d.join(\"|\")+\")\",\"g\"),transformersByTag:b}}\nfunction U(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(V(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function V(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet W=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},X=a=>(b,c,d)=>{var e=b.getPreviousSibling();const f=A.$createListItemNode(\"check\"===a?\"x\"===d[3]:void 0);A.$isListNode(e)&&e.getListType()===a?(e.append(f),b.remove()):(e=A.$createListNode(a,\"number\"===a?Number(d[2]):void 0),e.append(f),b.replace(e));f.append(...c);f.select(0,0);(b=Math.floor(d[1].length/4))&&f.setIndent(b)},Y=(a,b,c)=>{const d=[];var e=a.getChildren();let f=0;for(const h of e)if(A.$isListItemNode(h)){if(1===h.getChildrenSize()&&\n(e=h.getFirstChild(),A.$isListNode(e))){d.push(Y(e,b,c+1));continue}e=\" \".repeat(4*c);var l=a.getListType();l=\"number\"===l?`${a.getStart()+f}. `:\"check\"===l?`- [${h.getChecked()?\"x\":\" \"}] `:\"- \";d.push(e+l+b(h));f++}return d.join(\"\\n\")},ja={dependencies:[F.HeadingNode],export:(a,b)=>{if(!F.$isHeadingNode(a))return null;const c=Number(a.getTag().slice(1));return\"#\".repeat(c)+\" \"+b(a)},regExp:/^(#{1,6})\\s/,replace:W(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},ka={dependencies:[F.QuoteNode],\nexport:(a,b)=>{if(!F.$isQuoteNode(a))return null;a=b(a).split(\"\\n\");b=[];for(const c of a)b.push(\"> \"+c);return b.join(\"\\n\")},regExp:/^>\\s/,replace:(a,b,c,d)=>{if(d&&(c=a.getPreviousSibling(),F.$isQuoteNode(c))){c.splice(c.getChildrenSize(),0,[k.$createLineBreakNode(),...b]);c.select(0,0);a.remove();return}c=F.$createQuoteNode();c.append(...b);a.replace(c);c.select(0,0)},type:\"element\"},la={dependencies:[t.CodeNode],export:a=>{if(!t.$isCodeNode(a))return null;const b=a.getTextContent();return\"```\"+\n(a.getLanguage()||\"\")+(b?\"\\n\"+b:\"\")+\"\\n```\"},regExp:/^```(\\w{1,10})?\\s/,replace:W(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},ma={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:X(\"bullet\"),type:\"element\"},na={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:X(\"check\"),type:\"element\"},oa={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:X(\"number\"),type:\"element\"},pa={format:[\"code\"],tag:\"`\",type:\"text-format\"},qa={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},ra={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},ta={format:[\"bold\"],tag:\"**\",type:\"text-format\"},ua={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},va={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},wa={format:[\"italic\"],tag:\"*\",type:\"text-format\"},xa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},ya={dependencies:[G.LinkNode],export:(a,b,c)=>{if(!G.$isLinkNode(a))return null;b=`[${a.getTextContent()}](${a.getURL()})`;const d=a.getFirstChild();return 1===a.getChildrenSize()&&k.$isTextNode(d)?c(d,b):b},importRegExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))$/,replace:(a,b)=>{const [,c,d]=b;b=G.$createLinkNode(d);const e=k.$createTextNode(c);e.setFormat(a.getFormat());b.append(e);a.replace(b)},trigger:\")\",type:\"text-match\"},\nza=[ja,ka,la,ma,oa],Aa=[pa,qa,ra,ta,ua,wa,xa,va],Ba=[ya],Z=[...za,...Aa,...Ba];exports.$convertFromMarkdownString=function(a,b=Z){return fa(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=qa;exports.BOLD_ITALIC_UNDERSCORE=ra;exports.BOLD_STAR=ta;exports.BOLD_UNDERSCORE=ua;exports.CHECK_LIST=na;exports.CODE=la;exports.ELEMENT_TRANSFORMERS=za;exports.HEADING=ja;exports.INLINE_CODE=pa;exports.ITALIC_STAR=wa;exports.ITALIC_UNDERSCORE=xa;exports.LINK=ya;\nexports.ORDERED_LIST=oa;exports.QUOTE=ka;exports.STRIKETHROUGH=va;exports.TEXT_FORMAT_TRANSFORMERS=Aa;exports.TEXT_MATCH_TRANSFORMERS=Ba;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=ma;\nexports.registerMarkdownShortcuts=function(a,b=Z){let c=I(b),d=H(c.textFormat,({tag:f})=>f[f.length-1]),e=H(c.textMatch,({trigger:f})=>f);for(let f of b)if(b=f.type,(\"element\"===b||\"text-match\"===b)&&!a.hasNodes(f.dependencies))throw Error(\"Minified Lexical error #79; visit https://lexical.dev/docs/error?code=79 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a.registerUpdateListener(({tags:f,dirtyLeaves:l,editorState:h,prevEditorState:p})=>\n{if(!f.has(\"historic\")){var r=h.read(k.$getSelection);f=p.read(k.$getSelection);if(k.$isRangeSelection(f)&&k.$isRangeSelection(r)&&r.isCollapsed()){p=r.anchor.key;var y=r.anchor.offset,q=h._nodeMap.get(p);k.$isTextNode(q)&&l.has(p)&&(1===y||y===f.anchor.offset+1)&&a.update(()=>{if(!q.hasFormat(\"code\")){var m=q.getParent();if(null!==m&&!t.$isCodeNode(m)){var w=r.anchor.offset;b:{var g=c.element,n=m.getParent();if(k.$isRootOrShadowRoot(n)&&m.getFirstChild()===q&&(n=q.getTextContent(),\" \"===n[w-1]))for(let {regExp:C,\nreplace:D}of g)if((g=n.match(C))&&g[0].length===w){n=q.getNextSiblings();let [E,sa]=q.splitText(w);E.remove();n=sa?[sa,...n]:n;D(m,n,g,!1);m=!0;break b}m=!1}if(!m){b:{g=q.getTextContent();m=e[g[w-1]];if(null!=m){w<g.length&&(g=g.slice(0,w));for(x of m)if(m=g.match(x.regExp),null!==m){g=m.index||0;n=g+m[0].length;var v=void 0;0===g?[v]=q.splitText(n):[,v]=q.splitText(g,n);v.selectNext(0,0);x.replace(v,m);var x=!0;break b}}x=!1}if(!x)b:{n=q.getTextContent();--w;var u=n[w];if(x=d[u])for(let C of x){var {tag:B}=\nC;x=B.length;let D=w-x+1;if(!(1<x&&!V(n,D,B,0,x)||\" \"===n[D-1])&&(v=n[w+1],!1!==C.intraword||!v||J.test(v))){m=v=q;g=U(n,D,B);for(var z=m;0>g&&(z=z.getPreviousSibling())&&!k.$isLineBreakNode(z);)k.$isTextNode(z)&&(g=z.getTextContent(),m=z,g=U(g,g.length,B));if(!(0>g||m===v&&g+x===D||(B=m.getTextContent(),0<g&&B[g-1]===u||(z=B[g-1],!1===C.intraword&&z&&!J.test(z))))){n=v.getTextContent();n=n.slice(0,D)+n.slice(w+1);v.setTextContent(n);n=m===v?n:B;m.setTextContent(n.slice(0,g)+n.slice(g+x));n=k.$getSelection();\nu=k.$createRangeSelection();k.$setSelection(u);w=w-x*(m===v?2:1)+1;u.anchor.set(m.__key,g,\"text\");u.focus.set(v.__key,w,\"text\");for(let E of C.format)u.hasFormat(E)||u.formatText(E);u.anchor.set(u.focus.key,u.focus.offset,u.focus.type);for(let E of C.format)u.hasFormat(E)&&u.toggleFormat(E);k.$isRangeSelection(n)&&(u.format=n.format);break b}}}}}}}})}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalMarkdown = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdown.dev.js') : require('./LexicalMarkdown.prod.js')\nmodule.exports = LexicalMarkdown;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 a=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"@lexical/react/useLexicalNodeSelection\"),h=require(\"@lexical/utils\"),l=require(\"lexical\"),p=require(\"react\");let q=l.createCommand(\"INSERT_HORIZONTAL_RULE_COMMAND\");\nfunction r({nodeKey:b}){let [f]=a.useLexicalComposerContext(),m=p.useRef(null),[e,g,n]=d.useLexicalNodeSelection(b),k=p.useCallback(c=>{e&&l.$isNodeSelection(l.$getSelection())&&(c.preventDefault(),c=l.$getNodeByKey(b),t(c)&&c.remove(),g(!1));return!1},[e,b,g]);p.useEffect(()=>h.mergeRegister(f.registerCommand(l.CLICK_COMMAND,c=>c.target===m.current?(c.shiftKey||n(),g(!e),!0):!1,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_DELETE_COMMAND,k,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_BACKSPACE_COMMAND,\nk,l.COMMAND_PRIORITY_LOW)),[n,f,e,k,g]);return p.createElement(\"hr\",{ref:m,className:e?\"selected\":void 0})}\nclass u extends l.DecoratorNode{static getType(){return\"horizontalrule\"}static clone(b){return new u(b.__key)}static importJSON(){return v()}static importDOM(){return{hr:()=>({conversion:w,priority:0})}}exportJSON(){return{type:\"horizontalrule\",version:1}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(){let b=document.createElement(\"div\");b.style.display=\"contents\";return b}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}decorate(){return p.createElement(r,{nodeKey:this.__key})}}\nfunction w(){return{node:v()}}function v(){return new u}function t(b){return b instanceof u}exports.$createHorizontalRuleNode=v;exports.$isHorizontalRuleNode=t;exports.HorizontalRuleNode=u;exports.INSERT_HORIZONTAL_RULE_COMMAND=q\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalHorizontalRuleNode = process.env.NODE_ENV === 'development' ? require('./LexicalHorizontalRuleNode.dev.js') : require('./LexicalHorizontalRuleNode.prod.js')\nmodule.exports = LexicalHorizontalRuleNode;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 c=require(\"@lexical/markdown\"),d=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"@lexical/react/LexicalHorizontalRuleNode\"),f=require(\"react\");let g=[{dependencies:[e.HorizontalRuleNode],export:a=>e.$isHorizontalRuleNode(a)?\"***\":null,regExp:/^(---|\\*\\*\\*|___)\\s?$/,replace:(a,b,k,h)=>{b=e.$createHorizontalRuleNode();h||null!=a.getNextSibling()?a.replace(b):a.insertBefore(b);b.selectNext()},type:\"element\"},...c.TRANSFORMERS];exports.DEFAULT_TRANSFORMERS=g;\nexports.MarkdownShortcutPlugin=function({transformers:a=g}){let [b]=d.useLexicalComposerContext();f.useEffect(()=>c.registerMarkdownShortcuts(b,a),[b,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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'\nconst LexicalMarkdownShortcutPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdownShortcutPlugin.dev.js') : require('./LexicalMarkdownShortcutPlugin.prod.js')\nmodule.exports = LexicalMarkdownShortcutPlugin;","import {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode, HorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode, CodeBlockNode} from '../nodes/CodeBlockNode';\nimport {$isImageNode, $createImageNode, ImageNode} from '../nodes/ImageNode';\n\nexport const HR = {\n dependencies: [HorizontalRuleNode],\n export: (node) => {\n return $isHorizontalRuleNode(node) ? '---' : null;\n },\n regExp: /^(---|\\*\\*\\*|___)\\s?$/,\n replace: (parentNode, _1, _2, isImport) => {\n const line = $createHorizontalRuleNode();\n\n // TODO: Get rid of isImport flag\n if (isImport || parentNode.getNextSibling() != null) { // eslint-disable-line\n parentNode.replace(line);\n } else {\n parentNode.insertBefore(line);\n }\n\n line.selectNext();\n },\n type: 'element'\n};\n\nexport const CODE_BLOCK = {\n dependencies: [CodeBlockNode],\n export: (node) => {\n if (!$isCodeBlockNode(node)) {\n return null;\n }\n const textContent = node.getTextContent();\n return (\n '```' +\n (node.getLanguage() || '') +\n (textContent ? '\\n' + textContent : '') +\n '\\n' +\n '```'\n );\n },\n regExp: /^```(\\w{1,10})?\\s/,\n replace: (textNode, match, text) => {\n const initCode = text[1] || '';\n const language = match[1];\n const codeBlockNode = $createCodeBlockNode(language, initCode);\n textNode.replace(codeBlockNode);\n },\n type: 'element'\n};\n\n// render imageNode when writing image!\n// regex that detects exactly the string 'image!'\n\nexport const IMAGE = {\n dependencies: [ImageNode],\n export: (node) => {\n if (!$isImageNode(node)){\n return null;\n } else {\n const {src, alt} = node.dataset;\n return ``;\n }\n },\n regExp: /^image! $/,\n replace: (parentNode, match, text) => {\n const alt = '';\n const src = '';\n const imageNode = $createImageNode({altText: alt, src});\n parentNode.replace(imageNode);\n },\n type: 'element'\n};\n\nexport const ELEMENT_TRANSFORMERS = [\n HEADING,\n QUOTE,\n UNORDERED_LIST,\n ORDERED_LIST,\n HR,\n CODE_BLOCK,\n IMAGE\n];\n\nexport const DEFAULT_TRANSFORMERS = [\n ...ELEMENT_TRANSFORMERS,\n ...TEXT_FORMAT_TRANSFORMERS,\n ...TEXT_MATCH_TRANSFORMERS\n];\n\nexport default function MarkdownShortcutPlugin({transformers = DEFAULT_TRANSFORMERS} = {}) {\n return LexicalMarkdownShortcutPlugin({transformers});\n}\n","import {$isAtNodeEnd} from '@lexical/selection';\n\nexport function getSelectedNode(selection) {\n const anchor = selection.anchor;\n const focus = selection.focus;\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n } else {\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n }\n}\n","import {ReactComponent as PlusIcon} from '../../assets/icons/plus.svg';\n\nexport function PlusButton({onClick}) {\n return (\n <div className=\"absolute top-[-2px] left-[-66px]\" data-kg-plus-button>\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n onClick={onClick}\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n </div>\n );\n}\n\nexport function PlusMenu({children}) {\n return (\n <div className=\"absolute left-[-16px]\" data-kg-plus-menu>\n {children}\n </div>\n );\n}\n","import React from 'react';\n\nexport const CardMenuSection = ({label, children, ...props}) => {\n return (\n <li role=\"separator\" className=\"text-grey flex shrink-0 flex-col justify-center text-[1.1rem] font-semibold uppercase tracking-wide\" {...props}>\n <span className=\"mb-2 block px-4 pt-3\" style={{minWidth: 'calc(100% - 3.2rem)'}}>{label}</span>\n <ul role=\"menu\">\n {children}\n </ul>\n </li>\n );\n};\n\nexport const CardMenuItem = ({label, desc, isSelected, onClick, Icon, ...props}) => {\n // browsers will move focus on mouseDown but we don't want that because it\n // removes focus from the editor meaning key commands don't work as\n // expected after a card is inserted\n const preventMouseDown = (event) => {\n event.preventDefault();\n };\n\n return (\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n className={`text-grey-800 hover:bg-grey-100 flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] text-left ${isSelected ? 'bg-grey-100' : ''}`} onMouseDown={preventMouseDown} onClick={onClick} data-kg-card-menu-item={label}\n data-kg-cardmenu-selected={isSelected}\n {...props}\n >\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"text-grey-900 m-0 ml-4 truncate text-[1.3rem] font-medium leading-[1.6rem] tracking-[.02rem]\">{label}</div>\n <div className=\"text-grey m-0 ml-4 truncate text-xs font-normal leading-[1.6rem] tracking-[.02rem]\">{desc}</div>\n </div>\n </button>\n </li>\n );\n};\n\nexport const CardSnippetItem = ({label, isSelected, Icon, ...props}) => {\n return (\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n className={`text-grey-800 hover:bg-grey-100 flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] ${isSelected ? 'bg-grey-100' : ''}`}\n data-kg-cardmenu-selected={isSelected}\n {...props}\n >\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"text-grey-900 m-0 ml-4 truncate text-[1.3rem] font-medium leading-[1.6rem] tracking-[.02rem]\">{label}</div>\n </div>\n </button>\n </li>\n );\n};\n\nexport const CardMenu = ({menu = new Map(), insert = () => {}, selectedItemIndex}) => {\n // build up the children arrays from the passed in menu Map\n const CardMenuSections = [];\n\n let itemIndex = 0;\n for (const [sectionLabel, items] of menu) {\n const CardMenuItems = [];\n\n items.forEach((item) => { // eslint-disable-line no-loop-func\n const isSelected = itemIndex === selectedItemIndex;\n const onClick = (event) => {\n event.preventDefault();\n insert?.(item.insertCommand, {insertParams: item.insertParams, queryParams: item.queryParams});\n };\n\n if (!item.type || item.type === 'card') {\n CardMenuItems.push(\n <CardMenuItem\n key={itemIndex}\n label={item.label}\n desc={item.desc}\n Icon={item.Icon}\n isSelected={isSelected}\n onClick={onClick}\n data-kg-cardmenu-idx={itemIndex}\n />\n );\n } else if (item.type === 'snippet') {\n CardMenuItems.push(\n <CardSnippetItem\n key={itemIndex}\n label={item.label}\n Icon={item.Icon}\n isSelected={isSelected}\n onClick={onClick}\n data-kg-cardmenu-idx={itemIndex}\n />\n );\n }\n\n itemIndex = itemIndex + 1;\n });\n\n CardMenuSections.push(<CardMenuSection key={sectionLabel} label={sectionLabel}>{CardMenuItems}</CardMenuSection>);\n }\n\n return (\n <ul role=\"menu\" className=\"not-kg-prose z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 font-sans text-sm shadow after:block after:pb-4\">\n {CardMenuSections}\n </ul>\n );\n};\n","export function getEditorCardNodes(editor) {\n // TODO: open upstream PR to add public method of getting nodes\n const allNodes = editor._nodes;\n const cardNodes = [];\n\n for (const [nodeType, {klass}] of allNodes) {\n if (!klass.kgMenu) {\n continue;\n }\n\n cardNodes.push([nodeType, klass]);\n }\n\n return cardNodes;\n}\n","export function buildCardMenu(nodes, {query} = {}) {\n const menu = new Map();\n\n query = query?.toLowerCase();\n\n let maxItemIndex = -1;\n\n function addMenuItem(item) {\n if (query && (!item.matches || !item.matches.find(m => m.startsWith(query)))) {\n return;\n }\n\n const section = item.section || 'Primary';\n\n if (!menu.has(section)) {\n menu.set(section, [item]);\n } else {\n menu.get(section).push(item);\n }\n\n maxItemIndex = maxItemIndex + 1;\n }\n\n for (const [nodeType, node] of nodes) {\n if (Array.isArray(node.kgMenu)) {\n node.kgMenu.forEach(item => addMenuItem({nodeType, ...item}));\n } else {\n addMenuItem({nodeType, ...node.kgMenu});\n }\n }\n\n return {menu, maxItemIndex};\n}\n","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection} from 'lexical';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {PlusButton, PlusMenu} from '../components/ui/PlusMenu';\nimport {CardMenu} from '../components/ui/CardMenu';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction usePlusCardMenu(editor) {\n const [isShowingButton, setIsShowingButton] = React.useState(false);\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [cachedRange, setCachedRange] = React.useState(null);\n const [cardMenu, setCardMenu] = React.useState({});\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.top - containerRect.top;\n }\n\n function getElementRange(elem) {\n const range = new Range();\n range.setStart(elem, 0);\n range.setEnd(elem, 0);\n return range;\n }\n\n const moveCursorToCachedRange = React.useCallback(() => {\n if (!cachedRange) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange);\n }, [cachedRange]);\n\n const showButton = React.useCallback((elem) => {\n const range = getElementRange(elem);\n setCachedRange(range);\n setIsShowingButton(true);\n }, [setIsShowingButton, setCachedRange]);\n\n const hideButton = React.useCallback(() => {\n setIsShowingButton(false);\n setIsShowingMenu(false);\n setCachedRange(null);\n }, [setIsShowingButton, setIsShowingMenu, setCachedRange]);\n\n const openMenu = React.useCallback((event) => {\n event?.preventDefault();\n moveCursorToCachedRange();\n setIsShowingMenu(true);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const updateButton = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n hideButton();\n return;\n }\n\n const node = getSelectedNode(selection);\n\n if (!$isParagraphNode(node) || node.getTextContent() !== '') {\n hideButton();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const p = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (p?.tagName !== 'P' || !rootElement.contains(p)) {\n hideButton();\n return;\n }\n\n setTopPosition(getTopPosition(p));\n showButton(p);\n });\n }, [editor, showButton, hideButton]);\n\n const insert = React.useCallback((insertCommand, {insertParams = {}} = {}) => {\n const commandParams = {...insertParams};\n editor.dispatchCommand(insertCommand, commandParams);\n closeMenu();\n }, [editor, closeMenu]);\n\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n updateButton();\n }, [editor, updateButton]);\n });\n\n // hide the button as soon as there's any selection made outside of the\n // editor canvas - any click outside makes a selection so no need for\n // additional mouse tracking for this\n const hideButtonOnOutsideSelection = React.useCallback(() => {\n if (isShowingButton) {\n const nativeSelection = window.getSelection();\n\n // clicking inside the menu changes native selection, we don't want\n // to close the menu when that occurs\n if (isShowingMenu && containerRef.current?.contains(nativeSelection.anchorNode)) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n\n if (!rootElement.contains(nativeSelection.anchorNode)) {\n hideButton();\n }\n }\n }, [editor, isShowingButton, isShowingMenu, hideButton]);\n\n React.useEffect(() => {\n document.addEventListener('selectionchange', hideButtonOnOutsideSelection);\n return () => {\n document.removeEventListener('selectionchange', hideButtonOnOutsideSelection);\n };\n }, [hideButtonOnOutsideSelection]);\n\n // show or move the button when the mouse moves over a blank paragraph\n const updateButtonOnMousemove = React.useCallback((event) => {\n // once the menu is open moving the mouse should not have any effect on button/menu positioning\n if (isShowingMenu) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n let {pageX, pageY} = event;\n\n // add a horizontal buffer to the pointer position so that the button\n // doesn't disappear when moving across the gap between button and paragraph\n let containerRect = rootElement.getBoundingClientRect();\n if (pageX < containerRect.left) {\n pageX = pageX + 40;\n }\n\n // use the page coordinates to find the element under the pointer\n\n // TODO: this basic implementation isn't quite as forgiving as the mobiledoc implementation\n // which appears to have a threshold around the point which creates a bigger hit area for\n // nearby elements, whereas this removes the button immediately on margin mouseover. See:\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/editor/editor.ts#L1306\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/cursor/position.ts#L115\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/selection-utils.ts#L39-L90\n const hoveredElem = document.elementFromPoint(pageX, pageY);\n\n if (rootElement.contains(hoveredElem)) {\n if (hoveredElem?.tagName === 'P' && hoveredElem.textContent === '') {\n // place cursor next to the hovered paragraph\n setTopPosition(getTopPosition(hoveredElem));\n showButton(hoveredElem);\n } else {\n // reset button based on cursor position\n updateButton();\n }\n }\n }, [editor, isShowingMenu, setTopPosition, showButton, updateButton]);\n\n React.useEffect(() => {\n window.addEventListener('mousemove', updateButtonOnMousemove);\n return () => {\n window.removeEventListener('mousemove', updateButtonOnMousemove);\n };\n }, [updateButtonOnMousemove]);\n\n // when menu is open, watch the window for mousedown events so that we can\n // close it when we detect a click outside\n const closeMenuOnClickOutside = React.useCallback((event) => {\n if (isShowingMenu) {\n if (!containerRef.current?.contains(event.target)) {\n return closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('mousedown', closeMenuOnClickOutside);\n return () => {\n window.removeEventListener('mousedown', closeMenuOnClickOutside);\n };\n }, [closeMenuOnClickOutside]);\n\n // when menu is open, close it when Escape or arrow keys are pressed\n const handleKeydown = React.useCallback((event) => {\n if (isShowingMenu) {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n\n let arrowKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (arrowKeys.includes(event.key)) {\n closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('keydown', handleKeydown);\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n });\n\n // build up the card menu based on registered nodes and current search\n React.useEffect(() => {\n const cardNodes = getEditorCardNodes(editor);\n setCardMenu(buildCardMenu(cardNodes, {insert}));\n }, [editor, insert, setCardMenu]);\n\n const style = {\n top: `${topPosition}px`\n };\n\n if (cardMenu.menu?.size === 0) {\n return null;\n }\n\n if (isShowingButton) {\n return (\n <div className=\"absolute\" style={style} ref={containerRef} data-kg-plus-container>\n {isShowingButton && <PlusButton onClick={openMenu} />}\n {isShowingMenu && <PlusMenu><CardMenu menu={cardMenu.menu} insert={insert} /></PlusMenu>}\n </div>\n );\n } else {\n return null;\n }\n}\n\nexport default function PlusCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return usePlusCardMenu(editor);\n}\n","export function SlashMenu({children}) {\n return (\n <div data-kg-slash-menu>\n {children}\n </div>\n );\n}\n","import React from 'react';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_HIGH, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_LEFT_COMMAND, KEY_ARROW_RIGHT_COMMAND, KEY_ARROW_UP_COMMAND, KEY_ENTER_COMMAND} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {SlashMenu} from '../components/ui/SlashMenu';\nimport {CardMenu} from '../components/ui/CardMenu';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction useSlashCardMenu(editor) {\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [query, setQuery] = React.useState('');\n const [commandParams, setCommandParams] = React.useState([]);\n const [cardMenu, setCardMenu] = React.useState({});\n const [selectedItemIndex, setSelectedItemIndex] = React.useState(0);\n const cachedRange = React.useRef(null);\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.bottom - containerRect.top;\n }\n\n function moveCursorToCachedRange() {\n if (!cachedRange.current) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange.current);\n }\n\n const openMenu = React.useCallback(() => {\n setIsShowingMenu(true);\n }, [setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n setQuery('');\n setCommandParams([]);\n cachedRange.current = null;\n }, [setIsShowingMenu]);\n\n const insert = React.useCallback((insertCommand, {insertParams = {}, queryParams = {}} = {}) => {\n const dataset = {...insertParams};\n\n for (let i = 0; i < queryParams.length; i++) {\n if (commandParams[i]) {\n const key = queryParams[i];\n const value = commandParams[i];\n dataset[key] = value;\n }\n }\n\n editor.update(() => {\n const selection = $getSelection();\n selection.modify('extend', true, 'lineboundary');\n selection.deleteCharacter(true);\n editor.dispatchCommand(insertCommand, dataset);\n });\n\n closeMenu();\n }, [editor, commandParams, closeMenu]);\n\n // close menu if selection moves out of the slash command\n // update the search query when typing\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n closeMenu();\n return;\n }\n\n const node = getSelectedNode(selection).getTopLevelElement();\n\n if (!node || !$isParagraphNode(node) || !node.getTextContent().startsWith('/')) {\n closeMenu();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const anchorNode = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (anchorNode?.nodeType !== Node.TEXT_NODE || !rootElement.contains(anchorNode)) {\n closeMenu();\n return;\n }\n\n // store the cached range so we can reset the cursor when Escape is pressed\n // because that will _always_ blur the contenteditable which we don't want\n cachedRange.current = nativeSelection.getRangeAt(0);\n\n // capture text after the / as a query for filtering cards\n const command = node.getTextContent().slice(1);\n const [q, ...cps] = command.split(' ');\n setQuery(q);\n setCommandParams(cps);\n });\n });\n }, [editor, closeMenu, setQuery, setCommandParams]);\n\n // open the menu when / is pressed on a blank paragraph\n React.useEffect(() => {\n if (isShowingMenu) {\n return;\n }\n\n const triggerMenu = (event) => {\n const {key, isComposing, shiftKey, ctrlKey, metaKey, altKey} = event;\n\n // we only care about / presses when not composing or pressed with modifiers\n if (key !== '/' || isComposing || shiftKey || ctrlKey || metaKey || altKey) {\n return;\n }\n\n // ignore if editor doesn't have focus\n const rootElement = editor.getRootElement();\n if (!rootElement.matches(':focus')) {\n return;\n }\n\n // potentially valid / press\n editor.getEditorState().read(() => {\n const selection = $getSelection();\n const node = getSelectedNode(selection).getTopLevelElement();\n\n // ignore if selection is not on a top-level paragraph\n if (!node || !$isParagraphNode(node)) {\n return;\n }\n\n const paragraphSize = node.getTextContentSize();\n const isEmptyParagraph = selection.isCollapsed() && node.getTextContent() === '';\n // if full paragraph is selected, pressing / will replace it so that's a valid press\n const isFullParagraphSelection = !selection.isCollapsed() && (\n (selection.anchor.offset === 0 && selection.focus.offset === paragraphSize) ||\n (selection.anchor.offset === paragraphSize && selection.focus.offset === 0)\n );\n\n if (isEmptyParagraph || isFullParagraphSelection) {\n const nativeSelection = window.getSelection();\n let selectionElem;\n\n if (nativeSelection.anchorNode.nodeType === Node.TEXT_NODE) {\n selectionElem = nativeSelection.anchorNode.parentNode.closest('p');\n } else {\n selectionElem = nativeSelection.anchorNode;\n }\n\n setTopPosition(getTopPosition(selectionElem));\n openMenu();\n }\n });\n };\n\n window.addEventListener('keypress', triggerMenu);\n return () => {\n window.removeEventListener('keypress', triggerMenu);\n };\n }, [editor, isShowingMenu, setTopPosition, openMenu]);\n\n // close the menu when Escape is pressed\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const handleEscape = (event) => {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n };\n\n window.addEventListener('keydown', handleEscape);\n return () => {\n window.removeEventListener('keydown', handleEscape);\n };\n }, [isShowingMenu, closeMenu]);\n\n // close the menu on clicks outside the menu\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const handleMousedown = (event) => {\n if (containerRef.current?.contains(event.target)) {\n return;\n }\n\n closeMenu();\n };\n\n window.addEventListener('mousedown', handleMousedown);\n return () => {\n window.removeEventListener('mousedown', handleMousedown);\n };\n }, [isShowingMenu, closeMenu]);\n\n // capture key navigation to move/insert selected card item\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const moveUp = (event) => {\n if (selectedItemIndex === 0) {\n setSelectedItemIndex(cardMenu.maxItemIndex);\n } else {\n setSelectedItemIndex(selectedItemIndex - 1);\n }\n\n event.preventDefault();\n return true;\n };\n\n const moveDown = (event) => {\n if (selectedItemIndex === cardMenu.maxItemIndex) {\n setSelectedItemIndex(0);\n } else {\n setSelectedItemIndex(selectedItemIndex + 1);\n }\n\n event.preventDefault();\n return true;\n };\n\n const enter = (event) => {\n document.querySelector(`[data-kg-slash-menu] [data-kg-cardmenu-idx=\"${selectedItemIndex}\"]`)?.click();\n event.preventDefault();\n return true;\n };\n\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n moveDown,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n moveUp,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_RIGHT_COMMAND,\n moveDown,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_LEFT_COMMAND,\n moveUp,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n enter,\n COMMAND_PRIORITY_HIGH\n )\n );\n }, [editor, isShowingMenu, cardMenu, selectedItemIndex]);\n\n // build up the card menu based on registered nodes and current search\n React.useEffect(() => {\n const cardNodes = getEditorCardNodes(editor);\n setCardMenu(buildCardMenu(cardNodes, {insert, query}));\n setSelectedItemIndex(0);\n }, [editor, query, insert, setCardMenu, setSelectedItemIndex]);\n\n if (cardMenu.menu?.size === 0) {\n return null;\n }\n\n if (isShowingMenu) {\n return (\n <div className=\"absolute\" style={{top: `${topPosition}px`}} ref={containerRef} data-kg-slash-container>\n <SlashMenu>\n <CardMenu menu={cardMenu.menu} selectedItemIndex={selectedItemIndex} insert={insert} />\n </SlashMenu>\n </div>\n );\n }\n\n return null;\n}\n\nexport default function SlashCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return useSlashCardMenu(editor);\n}\n","const VERTICAL_GAP = 10;\n\nexport function setFloatingElemPosition(\n targetRect,\n floatingElem,\n anchorElem,\n options = {}\n) {\n options = Object.assign({\n verticalGap: VERTICAL_GAP,\n controlOpacity: false\n }, options);\n\n const scrollerElem = anchorElem.parentElement;\n\n if (targetRect === null || !scrollerElem) {\n if (options.controlOpacity) {\n floatingElem.style.opacity = '0';\n }\n floatingElem.style.top = '-10000px';\n floatingElem.style.left = '-10000px';\n\n return;\n }\n\n const floatingElemRect = floatingElem.getBoundingClientRect();\n const anchorElementRect = anchorElem.getBoundingClientRect();\n const editorScrollerRect = scrollerElem.getBoundingClientRect();\n\n let top = targetRect.top - floatingElemRect.height - options.verticalGap;\n let left = targetRect.left + targetRect.width / 2 - floatingElemRect.width / 2;\n\n if (left < editorScrollerRect.left) {\n left = editorScrollerRect.left;\n }\n\n if (left + floatingElemRect.width > editorScrollerRect.right) {\n left = editorScrollerRect.right - floatingElemRect.width;\n }\n\n top -= anchorElementRect.top;\n left -= anchorElementRect.left;\n\n if (options.controlOpacity) {\n floatingElem.style.opacity = '1';\n }\n floatingElem.style.top = `${top}px`;\n floatingElem.style.left = `${left}px`;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nexport function getDOMRangeRect(\n nativeSelection,\n rootElement,\n) {\n const domRange = nativeSelection.getRangeAt(0);\n\n let rect;\n\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) { // eslint-disable-line eqeqeq\n inner = inner.firstElementChild;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n return rect;\n}\n","export function getScrollParent(node) {\n const isElement = node instanceof HTMLElement;\n const overflowY = isElement && window.getComputedStyle(node).overflowY;\n const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n if (!node) {\n return null;\n } else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n return node;\n }\n\n return getScrollParent(node.parentNode) || document.body;\n}\n","import React, {useEffect} from 'react';\nimport {createPortal} from 'react-dom';\nimport {\n $createParagraphNode,\n $getSelection,\n $isRangeSelection,\n $isTextNode,\n COMMAND_PRIORITY_LOW,\n FORMAT_TEXT_COMMAND,\n SELECTION_CHANGE_COMMAND\n} from 'lexical';\nimport {\n $wrapNodes\n} from '@lexical/selection';\nimport {\n $createHeadingNode,\n $isHeadingNode,\n $createQuoteNode\n} from '@lexical/rich-text';\nimport {\n $isListNode,\n ListNode\n} from '@lexical/list';\nimport {\n $getNearestNodeOfType,\n mergeRegister\n} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$createAsideNode} from '../nodes/AsideNode';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {setFloatingElemPosition} from '../utils/setFloatingElemPosition';\nimport {getDOMRangeRect} from '../utils/getDOMRangeRect';\nimport {getScrollParent} from '../utils/getScrollParent';\nimport {\n ToolbarMenu,\n ToolbarMenuItem,\n ToolbarMenuSeparator\n} from '../components/ui/ToolbarMenu';\n\nconst blockTypeToBlockName = {\n bullet: 'Bulleted List',\n check: 'Check List',\n code: 'Code Block',\n h1: 'Heading 1',\n h2: 'Heading 2',\n h3: 'Heading 3',\n h4: 'Heading 4',\n h5: 'Heading 5',\n h6: 'Heading 6',\n number: 'Numbered List',\n paragraph: 'Normal',\n quote: 'Quote',\n aside: 'Aside'\n};\n\nfunction FloatingFormatToolbar({isText, editor, anchorElem, blockType, isBold, isItalic}) {\n const [stickyToolbar, setStickyToolbar] = React.useState(false);\n const toolbarRef = React.useRef(null);\n // const [isVisible, setIsVisible] = React.useState(false);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createParagraphNode());\n }\n });\n }\n };\n\n const formatHeading = (headingSize) => {\n if (blockType !== headingSize) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode(headingSize));\n }\n });\n }\n };\n\n const formatQuote = () => {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n if (blockType === 'quote') {\n $wrapNodes(selection, () => $createAsideNode());\n } else if (blockType === 'aside') {\n $wrapNodes(selection, () => $createParagraphNode());\n } else {\n $wrapNodes(selection, () => $createQuoteNode());\n }\n }\n });\n };\n\n const updateFloatingToolbar = React.useCallback(() => {\n const toolbarElement = toolbarRef.current;\n\n if (!toolbarElement) {\n return;\n }\n\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n selection !== null &&\n nativeSelection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const rangeRect = getDOMRangeRect(nativeSelection, rootElement);\n if (!stickyToolbar) {\n setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }\n }, [editor, anchorElem, stickyToolbar]);\n\n const toggleVis = React.useCallback(() => {\n if (isText !== false) {\n toolbarRef.current.style.opacity = '1';\n }\n }, [isText]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n document.addEventListener('mouseup', toggleVis);\n return () => {\n document.removeEventListener('mouseup', toggleVis);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n const shiftUp = (e) => {\n if (e.key === 'Shift') {\n toggleVis();\n }\n };\n document.addEventListener('keyup', shiftUp);\n return () => {\n document.removeEventListener('keyup', shiftUp);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n const scrollElement = getScrollParent(anchorElem);\n\n const update = () => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n };\n\n window.addEventListener('resize', update);\n if (scrollElement) {\n scrollElement.addEventListener('scroll', update);\n }\n\n return () => {\n window.removeEventListener('resize', update);\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', update);\n }\n };\n }, [editor, updateFloatingToolbar, anchorElem]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n editorState.read(() => {\n updateFloatingToolbar();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateFloatingToolbar();\n return false;\n },\n COMMAND_PRIORITY_LOW\n )\n );\n }, [editor, updateFloatingToolbar]);\n\n return (\n <div className={`absolute`} ref={toolbarRef} data-kg-floating-toolbar style={{opacity: 0}}>\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Format text as bold\" isActive={isBold} icon=\"bold\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold');\n }} data-kg-toolbar-button=\"bold\" />\n <ToolbarMenuItem label=\"Format text as italics\" isActive={isItalic} icon=\"italic\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic');\n }} data-kg-toolbar-button=\"italic\" />\n <ToolbarMenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} icon=\"headingOne\" onClick={() => {\n (blockType === 'h2' ? formatParagraph() : formatHeading('h2'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h2\" />\n <ToolbarMenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} icon=\"headingTwo\" onClick={() => {\n (blockType === 'h3' ? formatParagraph() : formatHeading('h3'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h3\" />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} icon={blockType === 'aside' ? 'quoteOne' : 'quoteTwo'} onClick={() => {\n (formatQuote());\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"quote\" />\n </ToolbarMenu>\n </div>\n );\n}\n\nfunction useFloatingFormatToolbar(editor, anchorElem) {\n const [isText, setIsText] = React.useState(false);\n const [isBold, setIsBold] = React.useState(false);\n const [isItalic, setIsItalic] = React.useState(false);\n const [blockType, setBlockType] = React.useState('paragraph');\n\n const updatePopup = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // Should not to pop up the floating toolbar when using IME input\n if (editor.isComposing()) {\n return;\n }\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n nativeSelection !== null &&\n (\n !$isRangeSelection(selection) ||\n rootElement === null ||\n !rootElement.contains(nativeSelection.anchorNode)\n )\n ) {\n setIsText(false);\n return;\n }\n\n if (!$isRangeSelection(selection)) {\n return;\n }\n\n const anchorNode = getSelectedNode(selection);\n const element = anchorNode.getKey() === 'root'\n ? anchorNode\n : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n\n // update text format\n setIsBold(selection.hasFormat('bold'));\n setIsItalic(selection.hasFormat('italic'));\n\n if (elementDOM !== null) {\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList\n ? parentList.getListType()\n : element.getListType();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element)\n ? element.getTag()\n : element.getType();\n\n if (type in blockTypeToBlockName) {\n setBlockType(type);\n }\n }\n }\n\n if (selection.getTextContent() !== '') {\n setIsText($isTextNode(anchorNode));\n } else {\n setIsText(false);\n }\n });\n }, [editor]);\n\n useEffect(() => {\n document.addEventListener('selectionchange', updatePopup);\n return () => {\n document.removeEventListener('selectionchange', updatePopup);\n };\n }, [updatePopup]);\n\n useEffect(() => {\n return editor.registerUpdateListener(() => {\n updatePopup();\n });\n }, [editor, updatePopup]);\n\n if (!isText) {\n return;\n }\n\n return createPortal(\n <FloatingFormatToolbar\n isText={isText}\n editor={editor}\n anchorElem={anchorElem}\n blockType={blockType}\n isBold={isBold}\n isItalic={isItalic}\n />,\n anchorElem\n );\n}\n\nexport default function FloatingFormatToolbarPlugin({anchorElem = document.body}) {\n const [editor] = useLexicalComposerContext();\n return useFloatingFormatToolbar(editor, anchorElem);\n}\n","import React from 'react';\nimport {\n $getSelection,\n COMMAND_PRIORITY_HIGH,\n $isRangeSelection,\n $createNodeSelection,\n $setSelection,\n $isParagraphNode\n} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {mergeRegister} from '@lexical/utils';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {$createImageNode, ImageNode, INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\nimport {imageUploadHandler} from '../utils/imageUploadHandler';\n\nexport const ImagePlugin = () => {\n const [editor] = useLexicalComposerContext();\n const {imageUploader} = React.useContext(KoenigComposerContext);\n\n const handleImageUpload = React.useCallback(async (files, imageNodeKey) => {\n if (files?.length > 0) {\n return await imageUploadHandler(files, imageNodeKey, editor, imageUploader);\n }\n }, [imageUploader, editor]);\n\n React.useEffect(() => {\n if (!editor.hasNodes([ImageNode])){\n console.error('ImagePlugin: ImageNode not registered'); // eslint-disable-line no-console\n return;\n }\n return mergeRegister(\n editor.registerCommand(\n INSERT_IMAGE_COMMAND,\n async (dataset) => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const imageNode = $createImageNode(dataset);\n\n if (!dataset.src) {\n const imageNodeKey = imageNode.getKey();\n handleImageUpload(dataset, imageNodeKey);\n }\n // insert a paragraph if this will be the last card and\n // we're not already on a blank paragraph so we always\n // have a trailing paragraph in the doc\n \n const selectedNode = selection.focus.getNode();\n const selectedIsBlankParagraph = $isParagraphNode(selectedNode) && selectedNode.getTextContent() === '';\n const nextNode = selectedNode.getTopLevelElementOrThrow().getNextSibling();\n if (!selectedIsBlankParagraph && !nextNode) {\n selection.insertParagraph();\n }\n\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(imageNode);\n\n // move the focus away from the paragraph to the inserted\n // decorator node\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(imageNode.getKey());\n $setSelection(nodeSelection);\n\n // TODO: trigger file selector?\n }\n\n return true;\n },\n COMMAND_PRIORITY_HIGH\n )\n // editor.registerCommand(\n // UPLOAD_IMAGE_COMMAND,\n // async (files) => {\n // // const dataset = await imageUploader.imageUploader(files);\n // editor.dispatchCommand(INSERT_IMAGE_COMMAND, dataset);\n // },\n // COMMAND_PRIORITY_HIGH\n // ),\n // todo: create another command to handle more of the upload logic to allow us to be able to keep the image uploader more \"dry / generic\" as it needs to handle multiple states of the upload,\n // eg: the progress bar, error states, temp image, etc\n );\n }, [editor, imageUploader, handleImageUpload]);\n\n return null;\n};\n\nexport default ImagePlugin;\n","import React from 'react';\nimport {DRAG_DROP_PASTE} from '@lexical/rich-text';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {COMMAND_PRIORITY_LOW} from 'lexical';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\n\nfunction isMimeType(file, acceptableMimeTypes) {\n const mimeType = file.type;\n let key = Object.keys(acceptableMimeTypes).find(k => acceptableMimeTypes[k].includes(mimeType));\n return key;\n}\n \nfunction mediaFileReader(files, acceptableMimeTypes) {\n const filesIterator = files[Symbol.iterator]();\n return new Promise((resolve, reject) => {\n const processed = [];\n let node;\n const handleNextFile = () => {\n const {done, value: file} = filesIterator.next();\n if (done) {\n return resolve({processed, node});\n }\n const fileReader = new FileReader();\n fileReader.addEventListener('error', reject);\n fileReader.addEventListener('load', () => {\n const result = fileReader.result;\n if (typeof result === 'string') {\n processed.push(file);\n }\n handleNextFile();\n });\n const nodeType = isMimeType(file, acceptableMimeTypes);\n if (nodeType) {\n fileReader.readAsDataURL(file);\n node = nodeType;\n } else {\n console.error('unsupported file type'); // eslint-disable-line no-console\n handleNextFile();\n }\n };\n handleNextFile();\n });\n}\n\nasync function getListofAcceptableMimeTypes(editor) {\n const nodes = getEditorCardNodes(editor);\n let acceptableMimeTypes = {};\n for (const [nodeType, node] of nodes) {\n if (nodeType && node.mimeTypes) {\n acceptableMimeTypes[nodeType] = node.mimeTypes;\n }\n }\n return {\n acceptableMimeTypes\n };\n}\n\nfunction DragDropPastePlugin() {\n const [editor] = useLexicalComposerContext();\n\n const handleDrag = React.useCallback((e) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const handleDrop = React.useCallback(async (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files) {\n editor.dispatchCommand(DRAG_DROP_PASTE, e.dataTransfer.files);\n }\n }, [editor]);\n\n React.useEffect(() => {\n // TODO: consuming app should be able to configure the element where they want to listen to the drag and drop events\n const dropTarget = document.querySelector('.gh-koenig-editor') || document;\n dropTarget.addEventListener('dragover', handleDrag);\n dropTarget.addEventListener('drop', handleDrop);\n\n return () => {\n dropTarget.removeEventListener('dragover', handleDrag);\n dropTarget.removeEventListener('drop', handleDrop);\n };\n }, [handleDrop, handleDrag]);\n\n const handleFileUpload = React.useCallback(async (files) => {\n const {acceptableMimeTypes} = await getListofAcceptableMimeTypes(editor);\n const {processed, node} = await mediaFileReader(files, acceptableMimeTypes);\n if (processed.length) {\n if (node === 'image') {\n editor.dispatchCommand(INSERT_IMAGE_COMMAND, processed);\n }\n }\n }, [editor]);\n\n React.useEffect(() => {\n return editor.registerCommand(\n DRAG_DROP_PASTE,\n async (files) => {\n try {\n return await handleFileUpload(files);\n } catch (error) {\n console.error(error); // eslint-disable-line no-console\n }\n },\n COMMAND_PRIORITY_LOW \n );\n }, [editor, handleFileUpload]);\n return null;\n}\n\nexport default DragDropPastePlugin;\n","import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_EDITOR} from 'lexical';\nimport {useEffect} from 'react';\nimport {$createHorizontalRuleNode, INSERT_HORIZONTAL_RULE_COMMAND} from '../nodes/HorizontalRuleNode';\n\nexport const HorizontalRulePlugin = () => {\n const [editor] = useLexicalComposerContext();\n\n useEffect(() => {\n if (!editor.hasNodes([])) {\n console.error('HorizontalRulePlugin: HorizontalRuleNode not registered'); // eslint-disable-line no-console\n return;\n }\n return editor.registerCommand(\n INSERT_HORIZONTAL_RULE_COMMAND,\n () => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const horizontalRuleNode = $createHorizontalRuleNode();\n\n // insert a paragraph unless we're already on a blank paragraph\n const selectedNode = selection.focus.getNode();\n if ($isParagraphNode(selectedNode) && selectedNode.getTextContent() !== '') {\n selection.insertParagraph();\n }\n\n // insert the horizontal rule before the current/inserted paragraph\n // so the cursor stays on the blank paragraph\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(horizontalRuleNode);\n }\n\n return true;\n },\n COMMAND_PRIORITY_EDITOR\n );\n }, [editor]);\n\n return null;\n};\n\nexport default HorizontalRulePlugin;\n","export function EditorPlaceholder() {\n return (\n <div className=\"pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl text-grey-500\">Begin writing your post...</div>\n );\n}\n","import React from 'react';\nimport {RichTextPlugin} from '@lexical/react/LexicalRichTextPlugin';\nimport LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary';\nimport {ContentEditable} from '@lexical/react/LexicalContentEditable';\nimport {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin';\nimport {OnChangePlugin} from '@lexical/react/LexicalOnChangePlugin';\nimport {ListPlugin} from '@lexical/react/LexicalListPlugin';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport KoenigBehaviourPlugin from '../plugins/KoenigBehaviourPlugin';\nimport MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport PlusCardMenuPlugin from '../plugins/PlusCardMenuPlugin';\nimport SlashCardMenuPlugin from '../plugins/SlashCardMenuPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbarPlugin';\nimport ImagePlugin from '../plugins/ImagePlugin';\nimport DragDropPastePlugin from '../plugins/DragDropPastePlugin';\n\nimport HorizontalRulePlugin from '../plugins/HorizontalRulePlugin';\nimport {EditorPlaceholder} from './ui/EditorPlaceholder';\nimport '../styles/index.css';\n\nconst KoenigEditor = ({\n onChange,\n markdownTransformers\n}) => {\n const _onChange = React.useCallback((editorState) => {\n const json = editorState.toJSON();\n onChange?.(json);\n }, [onChange]);\n\n const {editorContainerRef} = React.useContext(KoenigComposerContext);\n\n // we need an element reference for the container element that\n // any floating elements in plugins will be rendered inside\n const [floatingAnchorElem, setFloatingAnchorElem] = React.useState(null);\n const onRef = (_floatingAnchorElem) => {\n if (_floatingAnchorElem !== null) {\n setFloatingAnchorElem(_floatingAnchorElem);\n }\n };\n\n return (\n <div className=\"koenig-lexical\" ref={editorContainerRef}>\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<EditorPlaceholder />}\n ErrorBoundary={LexicalErrorBoundary}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <KoenigBehaviourPlugin containerElem={editorContainerRef} />\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n <PlusCardMenuPlugin />\n <SlashCardMenuPlugin />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n <ImagePlugin />\n <DragDropPastePlugin />\n <HorizontalRulePlugin />\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["SvgKgBold","props","React","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgLink","SvgKgQuote","SvgKgImgRegular","SvgKgImgWide","SvgKgImgFull","SvgKgReplace","SvgKgAdd","SvgKgSnippet","SvgPlus","SvgKgCardTypeImage","SvgKgCardTypeMarkdown","SvgKgCardTypeHtml","SvgKgCardTypeGallery","SvgKgCardTypeDivider","SvgKgCardTypeBookmark","SvgKgCardTypeEmail","SvgKgCardTypeEmailCta","SvgKgCardTypePreview","SvgKgCardTypeButton","SvgKgCardTypeCallout","SvgKgCardTypeGif","SvgKgCardTypeToggle","SvgKgCardTypeVideo","SvgKgCardTypeAudio","SvgKgCardTypeFile","SvgKgCardTypeProduct","SvgKgCardTypeHeader","SvgKgCardTypeYoutube","SvgKgCardTypeTwitter","SvgKgCardTypeUnsplash","SvgKgCardTypeVimeo","SvgKgCardTypeCodepen","SvgKgCardTypeSpotify","SvgKgCardTypeSoundcloud","SvgKgCardTypeNft","SvgKgCardTypeOther","SvgKgCardTypeSnippet","SvgKgImgPlaceholder","SvgKgGalleryPlaceholder","f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","module","DesignSandbox","_jsx","ComponentTitle","TextToolbar","ImageToolbar","GalleryToolbar","PlusButton","CardMenu","DividerCard","CodeBlock","ImageCard","GalleryCard","label","ToolbarItem","BoldIcon","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","ToolbarSeparator","QuoteIcon","LinkIcon","SnippetIcon","ImgRegularIcon","ImgWideIcon","ImgFullIcon","ReplaceIcon","AddIcon","Icon","PlusIcon","CardMenuSection","CardMenuItem","ImageCardIcon","MarkdownCardIcon","HtmlCardIcon","GalleryCardIcon","DividerCardIcon","BookmarkCardIcon","EmailCardIcon","EmailCtaCardIcon","PreviewCardIcon","ButtonCardIcon","CalloutCardIcon","GifCardIcon","ToggleCardIcon","VideoCardIcon","AudioCardIcon","FileCardIcon","ProductCardIcon","HeaderCardIcon","YoutubeCardIcon","TwitterCardIcon","UnsplashCardIcon","VimeoCardIcon","CodepenCardIcon","SpotifyCardIcon","SoundcloudCardIcon","NftCardIcon","OtherCardIcon","CardSnippetItem","SnippetCardIcon","minWidth","desc","_jsxs","CaptionEditor","isActive","setActive","useState","altText","setAltText","toggleActive","toggleAltText","stopPropagation","MediaPlaceholder","ImgPlaceholderIcon","placeholder","GalleryPlaceholderIcon","LexicalComposerContext_prod","LexicalComposerContext","LexicalComposerContext_1","ba","ca","da","ea","fa","ha","ia","ja","la","ma","na","oa","pa","qa","ra","sa","ta","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","r","t","Na","u","Oa","Pa","Qa","Ra","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","x","ib","A","v","w","jb","C","D","y","F","z","kb","B","lb","E","R","aa","G","mb","nb","ob","pb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","H","I","J","K","L","Fb","M","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","N","Qb","Rb","Sb","Tb","Ub","Vb","Wb","O","Xb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","P","Q","S","kc","T","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","U","Pc","Jc","Kc","Lc","Mc","Nc","Oc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","V","ad","bd","cd","dd","ed","fd","gd","hd","id","X","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Cd","Dd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Y","Z","Sd","Td","Ud","Vd","Wd","Xd","Yd","W","Zd","Sa","ua","we","xe","qb","Ed","va","Fd","Gd","Yb","Hd","Zb","Id","ye","Ta","ka","wa","Jd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Lexical_prod","Lexical","Lexical_1","require$$1","require$$2","LexicalComposer_prod","LexicalComposer","LexicalComposer_1","LexicalUtils_prod","LexicalUtils","LexicalUtils_1","LexicalList_prod","LexicalList","LexicalList_1","LexicalSelection_prod","LexicalSelection","LexicalSelection_1","LexicalHtml_prod","LexicalHtml","LexicalHtml_1","require$$3","require$$4","LexicalClipboard_prod","LexicalClipboard","LexicalClipboard_1","LexicalRichText_prod","LexicalRichText","LexicalRichText_1","LexicalLink_prod","LexicalLink","LexicalLink_1","AsideNode","ElementNode","node","config","element","addClassNamesToElement","prevNode","dom","convertAsideElement","serializedNode","$createAsideNode","newBlock","$createParagraphNode","direction","paragraph","child","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","CardContext","createContext","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","CardWrapper","forwardRef","isSelected","cardWidth","cardType","children","ref","propTypes","PropTypes","bool","oneOf","defaultProps","KoenigCardWrapperComponent","nodeKey","width","editor","useLexicalComposerContext","setSelected","clearSelected","selection","setSelection","setCardType","setCardWidth","containerRef","useRef","useLayoutEffect","getEditorState","read","cardNode","$getNodeByKey","getType","useEffect","mergeRegister","registerUpdateListener","editorState","$getSelection","registerCommand","CLICK_COMMAND","event","current","contains","target","COMMAND_PRIORITY_LOW","KEY_ENTER_COMMAND","latestSelection","$isNodeSelection","getNodes","length","preventDefault","paragraphNode","getTopLevelElementOrThrow","insertAfter","select","COMMAND_PRIORITY_EDITOR","KEY_BACKSPACE_COMMAND","matches","update","caption","getCaption","setCaption","slice","previousSibling","getPreviousSibling","nextSibling","getNextSibling","selectEnd","$isDecoratorNode","nodeSelection","$createNodeSelection","add","getKey","$setSelection","selectPrevious","selectStart","selectNext","remove","KEY_DELETE_COMMAND","WrapperContext","cardContainerRef","HorizontalRuleCard","INSERT_HORIZONTAL_RULE_COMMAND","createCommand","HorizontalRuleNode","DecoratorNode","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","getTextContent","isInline","updateDOM","decorate","KoenigCardWrapper","_HorizontalRuleNode","__publicField","kgMenu","insertCommand","$isHorizontalRuleNode","useAutoExpandTextArea","el","value","height","CodeBlockCard","code","language","updateCode","updateLanguage","textareaRef","string","CodeBlockComponent","setCode","setLanguage","CodeBlockNode","constructor","initCode","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","$isCodeBlockNode","KoenigComposerContext","CaptionInput","onChange","AltTextInput","AltToggleButton","isEditingAlt","onClick","CardCaptionEditor","altTextPlaceholder","captionPlaceholder","setIsEditingAlt","toggleIsEditingAlt","CardText","text","filePicker","size","handleDrag","handleDrop","isDraggedOver","openFileSelection","fileInputRef","ImageUploadForm","onFileChange","PopulatedImageCard","src","alt","previewSrc","progress","progressStyle","toFixed","_Fragment","EmptyImageCard","setFileInputRef","onFileInputRef","ImageHolder","uploadProgress","setFigureRef","figureRef","func","number","SvgKgQuote1","SvgKgQuote2","SvgKgEdit","TOOLBAR_ICONS","bold","italic","headingOne","headingTwo","quote","quoteOne","QuoteOneIcon","quoteTwo","QuoteTwoIcon","link","imageRegular","ImageRegularIcon","imageWide","ImageWideIcon","imageFull","ImageFullIcon","imageReplace","ImageReplaceIcon","edit","EditIcon","snippet","ToolbarMenu","ToolbarMenuItem","icon","ToolbarMenuSeparator","ActionToolbar","isVisible","getImageDimensions","url","img","resolve","reject","imageUploadHandler","files","imageUploader","fileSrc","ImageNodeComponent","triggerFileDialog","dragOver","setDragOver","useContext","toolbarFileInputRef","fls","newCaption","newAltText","renderTimeout","setTimeout","setTriggerFileDialog","clearTimeout","handleImageCardResize","newWidth","dataTransfer","INSERT_IMAGE_COMMAND","convertImageElement","domNode","HTMLImageElement","$createImageNode","ImageNode","__src","__caption","__altText","__cardWidth","__width","__height","__triggerFileDialog","__previewSrc","exportDOM","figcaption","getSrc","innerHTML","appendChild","importDom","Node","conversion","priority","isBlob","startsWith","dataset","getAltText","getCardWidth","getImgWidth","getImgHeight","setSrc","writable","getPreviewSrc","setPreviewSrc","setImgWidth","setImgHeight","shouldTrigger","_ImageNode","insertParams","queryParams","extensionTypes","mimeTypes","$isImageNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","theme","KoenigComposer","initialEditorState","nodes","onError","imageUploadFunction","initialConfig","useMemo","Object","assign","editorContainerRef","LexicalText_prod","LexicalText","LexicalText_1","LexicalDragon_prod","LexicalDragon","LexicalDragon_1","require$$5","require$$6","LexicalRichTextPlugin_prod","LexicalRichTextPlugin","LexicalRichTextPlugin_1","require","setPrototypeOf","bind","__proto__","prototype","create","some","is","arguments","Array","call","apply","concat","state","resetErrorBoundary","onReset","reset","getDerivedStateFromError","setState","componentDidCatch","componentDidUpdate","resetKeys","onResetKeysChange","render","fallbackRender","FallbackComponent","fallback","isValidElement","Error","Component","border","color","padding","LexicalErrorBoundary","LexicalErrorBoundary_1","LexicalContentEditable_prod","LexicalContentEditable","LexicalContentEditable_1","LexicalHistory_prod","LexicalHistory","LexicalHistory_1","history","LexicalHistoryPlugin_prod","LexicalHistoryPlugin","LexicalHistoryPlugin_1","LexicalOnChangePlugin_prod","LexicalOnChangePlugin","LexicalOnChangePlugin_1","LexicalListPlugin_prod","LexicalListPlugin","LexicalListPlugin_1","RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX","$selectDecoratorNode","getTopLevelNativeElement","nodeType","TEXT_NODE","parentNode","selector","closest","useKoenigBehaviour","containerElem","onMousedown","addEventListener","removeEventListener","KEY_ARROW_UP_COMMAND","$isRangeSelection","isCollapsed","topLevelElement","anchor","getNode","getTopLevelElement","nativeSelection","window","getSelection","onEmptyNode","trim","offset","atStartOfElement","focus","rects","getRangeAt","cloneRange","getClientRects","rangeRect","elemRect","anchorNode","getBoundingClientRect","Math","abs","top","COMMAND_PRIORITY_HIGH","KEY_ARROW_DOWN_COMMAND","nativeTopLevelElement","atEndOfElement","rangeCount","anchorOffset","focusOffset","bottom","PASTE_COMMAND","clipboard","clipboardDataset","clipboardData","getData","linkMatch","match","selectionContent","textNode","extract","linkNode","$createLinkNode","linkTextNode","$createTextNode","setFormat","getFormat","append","replace","KoenigBehaviourPlugin","querySelector","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","scripts","className","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","objId","property","propertyType","async","container","env","parent","insertHighlightedCode","highlightedCode","worker","evt","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","from","to","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","next","newNode","count","array","message","immediateClose","script","highlightAutomaticallyCallback","readyState","global","tagName","includedCdataInside","def","attrName","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","xhr","parseRange","range","start","comma","end","pre","extension","autoloader","lines","elements","logged","inner","createInline","tableCell","tableRow","tableLine","walkTokens","codeLang","codeBlock","cls","textContent","ele","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","known","multilineComment","rule","require$$12","require$$13","LexicalCode_prod","LexicalCode","LexicalCode_1","LexicalMarkdown_prod","LexicalMarkdown","LexicalMarkdown_1","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","_1","_2","isImport","line","insertBefore","CODE_BLOCK","codeBlockNode","IMAGE","imageNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","focusNode","$isAtNodeEnd","PlusMenu","menu","Map","selectedItemIndex","CardMenuSections","itemIndex","sectionLabel","items","CardMenuItems","forEach","item","push","getEditorCardNodes","allNodes","cardNodes","klass","buildCardMenu","query","maxItemIndex","addMenuItem","section","usePlusCardMenu","isShowingButton","setIsShowingButton","isShowingMenu","setIsShowingMenu","topPosition","setTopPosition","cachedRange","setCachedRange","cardMenu","setCardMenu","getTopPosition","elem","containerRect","getElementRange","Range","setStart","setEnd","moveCursorToCachedRange","useCallback","removeAllRanges","addRange","showButton","hideButton","openMenu","closeMenu","resetCursor","updateButton","isComposing","$isParagraphNode","rootElement","getRootElement","commandParams","dispatchCommand","hideButtonOnOutsideSelection","updateButtonOnMousemove","pageX","pageY","left","hoveredElem","elementFromPoint","closeMenuOnClickOutside","handleKeydown","includes","style","PlusCardMenuPlugin","SlashMenu","useSlashCardMenu","setQuery","setCommandParams","setSelectedItemIndex","modify","deleteCharacter","command","cps","split","triggerMenu","shiftKey","ctrlKey","metaKey","altKey","paragraphSize","getTextContentSize","isEmptyParagraph","isFullParagraphSelection","selectionElem","handleEscape","handleMousedown","moveUp","moveDown","enter","click","KEY_ARROW_RIGHT_COMMAND","KEY_ARROW_LEFT_COMMAND","SlashCardMenuPlugin","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","options","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","getDOMRangeRect","domRange","rect","getScrollParent","overflowY","isScrollable","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","aside","FloatingFormatToolbar","isText","blockType","isBold","isItalic","stickyToolbar","setStickyToolbar","toolbarRef","formatParagraph","formatHeading","headingSize","$wrapNodes","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","toolbarElement","toggleVis","opacity","shiftUp","scrollElement","SELECTION_CHANGE_COMMAND","FORMAT_TEXT_COMMAND","useFloatingFormatToolbar","setIsText","setIsBold","setIsItalic","setBlockType","updatePopup","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","$isTextNode","createPortal","FloatingFormatToolbarPlugin","body","ImagePlugin","handleImageUpload","imageNodeKey","hasNodes","selectedNode","selectedIsBlankParagraph","nextNode","insertParagraph","isMimeType","file","acceptableMimeTypes","mimeType","keys","find","mediaFileReader","filesIterator","Symbol","iterator","Promise","processed","handleNextFile","done","fileReader","FileReader","result","readAsDataURL","getListofAcceptableMimeTypes","DragDropPastePlugin","DRAG_DROP_PASTE","dropTarget","handleFileUpload","HorizontalRulePlugin","horizontalRuleNode","EditorPlaceholder","KoenigEditor","markdownTransformers","_onChange","json","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin"],"mappings":"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"}
|