teem-editor 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/teem-editor.cjs +34 -34
- package/dist/teem-editor.cjs.map +1 -1
- package/dist/teem-editor.css +1 -1
- package/dist/teem-editor.js +4995 -4656
- package/dist/teem-editor.js.map +1 -1
- package/package.json +1 -1
package/dist/teem-editor.cjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Gm=Object.defineProperty;var Um=(n,e,t)=>e in n?Gm(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var oe=(n,e,t)=>Um(n,typeof e!="symbol"?e+"":e,t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("react/jsx-runtime"),Q=require("react"),Fm=require("dompurify"),I={fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round"};function ee({children:n,size:e=18}){return g.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:n})}const te={undo:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M9 14L4 9l5-5"}),g.jsx("path",{...I,d:"M4 9h10a6 6 0 010 12h-3"})]}),redo:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M15 14l5-5-5-5"}),g.jsx("path",{...I,d:"M20 9H10a6 6 0 000 12h3"})]}),bold:g.jsxs(ee,{children:[g.jsx("path",{fill:"none",stroke:"currentColor",strokeWidth:2.8,strokeLinecap:"round",strokeLinejoin:"round",d:"M7 5h6a3.5 3.5 0 010 7H7z"}),g.jsx("path",{fill:"none",stroke:"currentColor",strokeWidth:2.8,strokeLinecap:"round",strokeLinejoin:"round",d:"M7 12h7a3.5 3.5 0 010 7H7z"})]}),italic:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M10 5h8"}),g.jsx("path",{...I,d:"M6 19h8"}),g.jsx("path",{...I,d:"M14 5l-4 14"})]}),strike:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M5 12h14"}),g.jsx("path",{...I,d:"M16 7.5A4 4 0 0012 6c-2.8 0-4.5 1.5-4.5 3.2 0 3.3 7.5 1.7 7.5 5.1A3.4 3.4 0 0112 18c-2.2 0-4-1-4.8-2.4"})]}),ul:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M9 6h11M9 12h11M9 18h11"}),g.jsx("circle",{cx:"5",cy:"6",r:"1.2",fill:"currentColor"}),g.jsx("circle",{cx:"5",cy:"12",r:"1.2",fill:"currentColor"}),g.jsx("circle",{cx:"5",cy:"18",r:"1.2",fill:"currentColor"})]}),ol:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M11 6h9M11 12h9M11 18h9"}),g.jsxs("g",{fill:"currentColor",stroke:"none",fontSize:"8",fontWeight:"700",fontFamily:"system-ui, -apple-system, sans-serif",children:[g.jsx("text",{x:"3.5",y:"8",children:"1"}),g.jsx("text",{x:"3.5",y:"14.2",children:"2"}),g.jsx("text",{x:"3.5",y:"20.4",children:"3"})]})]}),quote:g.jsx(ee,{children:g.jsx("path",{fill:"currentColor",stroke:"none",d:"M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z"})}),alignRight:g.jsx(ee,{children:g.jsx("path",{...I,d:"M4 6h16M8 12h12M4 18h16"})}),alignCenter:g.jsx(ee,{children:g.jsx("path",{...I,d:"M4 6h16M7 12h10M4 18h16"})}),alignLeft:g.jsx(ee,{children:g.jsx("path",{...I,d:"M4 6h16M4 12h12M4 18h16"})}),link:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M10 13a5 5 0 007.07 0l1.41-1.41a5 5 0 00-7.07-7.07L10 5.93"}),g.jsx("path",{...I,d:"M14 11a5 5 0 00-7.07 0L5.52 12.4a5 5 0 007.07 7.07L14 18.07"})]}),cta:g.jsxs(ee,{children:[g.jsx("rect",{...I,x:"4",y:"7",width:"16",height:"10",rx:"2"}),g.jsx("path",{...I,d:"M8 12h8"})]}),image:g.jsxs(ee,{children:[g.jsx("rect",{...I,x:"3",y:"5",width:"18",height:"14",rx:"2"}),g.jsx("circle",{cx:"9",cy:"10",r:"1.5",fill:"currentColor"}),g.jsx("path",{...I,d:"M3 16l5-4 4 3 3-2 6 3"})]}),rtl:g.jsxs(ee,{children:[g.jsx("path",{fill:"currentColor",stroke:"none",d:"M9 10v5h2V4h2v11h2V4h2V2H9C6.79 2 5 3.79 5 6s1.79 4 4 4z"}),g.jsx("path",{fill:"currentColor",stroke:"none",d:"M3 18l4-4v3H19v2H7v3l-4-4z"})]}),ltr:g.jsxs(ee,{children:[g.jsx("g",{transform:"translate(24 0) scale(-1 1)",children:g.jsx("path",{fill:"currentColor",stroke:"none",d:"M9 10v5h2V4h2v11h2V4h2V2H9C6.79 2 5 3.79 5 6s1.79 4 4 4z"})}),g.jsx("path",{fill:"currentColor",stroke:"none",d:"M21 18l-4-4v3H5v2h12v3l4-4z"})]}),hr:g.jsx(ee,{children:g.jsx("path",{...I,d:"M4 12h16"})}),table:g.jsxs(ee,{children:[g.jsx("rect",{...I,x:"3",y:"5",width:"18",height:"14",rx:"1"}),g.jsx("path",{...I,d:"M3 10h18M3 14h18M9 5v14M15 5v14"})]}),indent:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M4 6h16M12 12h8M4 18h16"}),g.jsx("path",{...I,d:"M4 9l4 3-4 3"})]}),outdent:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M4 6h16M12 12h8M4 18h16"}),g.jsx("path",{...I,d:"M8 9L4 12l4 3"})]}),textColor:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M6 16l3.5-9h1L14 16"}),g.jsx("path",{...I,d:"M7.5 13h5"})]}),bgColor:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M8 4l8 8-4 4-8-8z"}),g.jsx("path",{...I,d:"M5 19h10"})]}),chevronDown:g.jsx(ee,{size:12,children:g.jsx("path",{...I,d:"M6 9l6 6 6-6"})}),code:g.jsxs(ee,{children:[g.jsx("path",{...I,d:"M8 8L4 12l4 4"}),g.jsx("path",{...I,d:"M16 8l4 4-4 4"}),g.jsx("path",{...I,d:"M14 5l-4 14"})]}),markdown:g.jsx("svg",{viewBox:"0 0 36 16",dir:"ltr",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true",focusable:"false",overflow:"visible",children:g.jsx("text",{x:"18",y:"8",fill:"currentColor",stroke:"none",fontSize:"18",fontWeight:"700",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",textAnchor:"middle",dominantBaseline:"central",direction:"ltr",unicodeBidi:"bidi-override",children:".md"})}),fullscreen:g.jsx(ee,{children:g.jsx("path",{...I,d:"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5"})}),exitFullscreen:g.jsx(ee,{children:g.jsx("path",{...I,d:"M9 4H4v5M15 4h5v5M9 20H4v-5M15 20h5v-5"})}),close:g.jsx(ee,{size:16,children:g.jsx("path",{...I,d:"M6 6l12 12M18 6L6 18"})}),edit:g.jsxs(ee,{size:16,children:[g.jsx("path",{...I,d:"M12 20h9"}),g.jsx("path",{...I,d:"M16.5 3.5a2.1 2.1 0 013 3L7 19l-4 1 1-4 12.5-12.5z"})]}),unlink:g.jsxs(ee,{size:16,children:[g.jsx("path",{...I,d:"M10 13a5 5 0 007.07 0l1.41-1.41a5 5 0 00-7.07-7.07L10 5.93"}),g.jsx("path",{...I,d:"M14 11a5 5 0 00-7.07 0L5.52 12.4a5 5 0 007.07 7.07L14 18.07"}),g.jsx("path",{...I,d:"M4 4l16 16"})]}),plus:g.jsx(ee,{size:16,children:g.jsx("path",{...I,d:"M12 5v14M5 12h14"})}),trash:g.jsxs(ee,{size:16,children:[g.jsx("path",{...I,d:"M3 6h18"}),g.jsx("path",{...I,d:"M8 6V4h8v2"}),g.jsx("path",{...I,d:"M6 6l1 14h10l1-14"}),g.jsx("path",{...I,d:"M10 11v6M14 11v6"})]})},Hm={placeholder:"Write something…",toolbar:"TeemEditor toolbar",undo:"Undo",redo:"Redo",blockType:"Block type",paragraph:"Paragraph",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",quote:"Quote",preformatted:"Preformatted",bold:"Bold",italic:"Italic",strike:"Strikethrough",bulletList:"Bullet list",numberedList:"Numbered list",alignRight:"Align right",alignCenter:"Align center",alignLeft:"Align left",alignImageRight:"Align image right",alignImageCenter:"Align image center",alignImageLeft:"Align image left",rtl:"Right to left",ltr:"Left to right",indent:"Indent",outdent:"Outdent",insertLink:"Insert link",removeLink:"Remove link",insertCta:"Insert CTA button",ctaTitle:"Insert CTA button",ctaEditTitle:"Edit CTA button",ctaUrl:"URL",ctaText:"Button text",ctaTextPlaceholder:"Get started",ctaClasses:"CSS classes (optional)",ctaClassesPlaceholder:"btn btn-primary",ctaClassesHint:"Separate classes with spaces.",ctaSubmit:"Insert button",ctaUrlRequired:"Please enter a URL.",ctaTextRequired:"Please enter button text.",ctaInvalid:"Invalid CTA button.",insertImage:"Insert image",insertTable:"Insert table",tablePickHint:"Select table size",tableMenuLabel:"Table options",tableInsertRowAbove:"Insert row above",tableInsertRowBelow:"Insert row below",tableInsertColumnLeft:"Insert column left",tableInsertColumnRight:"Insert column right",tableDeleteRow:"Delete row",tableDeleteColumn:"Delete column",tableDeleteTable:"Delete table",horizontalRule:"Horizontal rule",textColor:"Text color",bgColor:"Highlight color",applyCurrentColor:"Apply current color",openPalette:"Open color palette",noColor:"No color",customColor:"Custom color",pickCustomColor:"Pick custom color",sourceMode:"Edit HTML",visualMode:"Back to visual editor",markdown:"Markdown to HTML",markdownTitle:"Convert Markdown to HTML",markdownLabel:"Markdown",markdownPlaceholder:`# Heading
|
|
2
2
|
|
|
3
|
-
Write **markdown** here…`,markdownHint:"Paste Markdown text and click Convert to insert HTML into the editor.",markdownSubmit:"Convert & insert",markdownEmpty:"Please enter some Markdown text.",markdownFailed:"Markdown conversion failed.",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",editorLabel:"Rich text editor",sourceLabel:"HTML source editor",close:"Close",cancel:"Cancel",save:"Save",linkTitle:"Insert link",linkUrl:"URL",linkText:"Display text (optional)",linkTextPlaceholder:"Link text",linkSubmit:"Insert link",linkEditTitle:"Edit link",linkEdit:"Edit",linkPopoverLabel:"Link options",linkUrlRequired:"Please enter a link URL.",linkInvalid:"Invalid link.",linkUnsafe:"The link URL is invalid or unsafe.",imageTitle:"Insert image",imageSubmit:"Insert image",imageBusy:"Processing…",imageUploadTab:"Upload file",imageUrlTab:"From URL",imageFile:"Image file",imageUrl:"Image URL",imageAlt:"Alt text",imageAltPlaceholder:"Short image description",imageHint:"Only jpg, png, gif, and webp — max 2 MB",imagePickFile:"Please select an image file.",imageInsertFailed:"Failed to insert image.",imageUploadFailed:"Image upload failed.",imageUnsafe:"The image URL is invalid or unsafe.",altTitle:"Edit image alt text",altLabel:"Alt text",altPlaceholder:"Short description for accessibility and SEO",altHint:"Shown when the image cannot load, and used by screen readers.",editAlt:"Edit Alt",editAltTitle:"Edit image alt text",resizeImage:"Resize image",fileInvalid:"Invalid file.",fileEmpty:"File is empty.",fileTooLarge:n=>`File size must not exceed ${n} MB.`,fileBadExtension:"File extension is not allowed. Only jpg, png, gif, and webp.",fileBadMime:"File type is not allowed.",fileBadContent:"File content is not a valid image.",fileMimeMismatch:"Declared file type does not match actual content.",fileReadError:"Failed to read the file."},
|
|
3
|
+
Write **markdown** here…`,markdownHint:"Paste Markdown text and click Convert to insert HTML into the editor.",markdownSubmit:"Convert & insert",markdownEmpty:"Please enter some Markdown text.",markdownFailed:"Markdown conversion failed.",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",editorLabel:"Rich text editor",sourceLabel:"HTML source editor",close:"Close",cancel:"Cancel",save:"Save",linkTitle:"Insert link",linkUrl:"URL",linkText:"Display text (optional)",linkTextPlaceholder:"Link text",linkSubmit:"Insert link",linkEditTitle:"Edit link",linkEdit:"Edit",linkPopoverLabel:"Link options",linkUrlRequired:"Please enter a link URL.",linkInvalid:"Invalid link.",linkUnsafe:"The link URL is invalid or unsafe.",imageTitle:"Insert image",imageSubmit:"Insert image",imageBusy:"Processing…",imageUploadTab:"Upload file",imageUrlTab:"From URL",imageFile:"Image file",imageUrl:"Image URL",imageAlt:"Alt text",imageAltPlaceholder:"Short image description",imageHint:"Only jpg, png, gif, and webp — max 2 MB",imagePickFile:"Please select an image file.",imageInsertFailed:"Failed to insert image.",imageUploadFailed:"Image upload failed.",imageUnsafe:"The image URL is invalid or unsafe.",imageLinkTitle:"Image link",imageLinkMode:"On click",imageLinkNone:"No link",imageLinkUrl:"Link to URL",imageLinkFile:"Link to this image",imageLinkLightbox:"Lightbox",imageLinkLightboxShort:"Lightbox",imageLinkUrlLabel:"Link URL",imageLinkFileHint:"Opens the same uploaded image in a new tab when clicked.",imageLinkLightboxHint:"Opens the full image in a lightbox when clicked.",imageLinkUrlRequired:"Please enter a link URL.",imageLinkInvalid:"Invalid image link.",imageLinkSet:"Linked",editImageLink:"Link",editImageLinkTitle:"Edit image link",imageLinkFileShort:"File",altTitle:"Edit image alt text",altLabel:"Alt text",altPlaceholder:"Short description for accessibility and SEO",altHint:"Shown when the image cannot load, and used by screen readers.",editAlt:"Edit Alt",editAltTitle:"Edit image alt text",resizeImage:"Resize image",fileInvalid:"Invalid file.",fileEmpty:"File is empty.",fileTooLarge:n=>`File size must not exceed ${n} MB.`,fileBadExtension:"File extension is not allowed. Only jpg, png, gif, and webp.",fileBadMime:"File type is not allowed.",fileBadContent:"File content is not a valid image.",fileMimeMismatch:"Declared file type does not match actual content.",fileReadError:"Failed to read the file."},Km={placeholder:"متن خود را بنویسید…",toolbar:"نوار ابزار ویرایشگر",undo:"قبل (واگرد)",redo:"بعد (بازگردانی)",blockType:"نوع بلوک",paragraph:"پاراگراف",heading1:"عنوان ۱",heading2:"عنوان ۲",heading3:"عنوان ۳",heading4:"عنوان ۴",heading5:"عنوان ۵",heading6:"عنوان ۶",quote:"نقلقول",preformatted:"پیشقالببندیشده",bold:"ضخیم",italic:"کج",strike:"خطخورده",bulletList:"فهرست نقطهای",numberedList:"فهرست عددی",alignRight:"راستچین",alignCenter:"وسطچین",alignLeft:"چپچین",alignImageRight:"تراز راست تصویر",alignImageCenter:"تراز وسط تصویر",alignImageLeft:"تراز چپ تصویر",rtl:"راست به چپ",ltr:"چپ به راست",indent:"فرورفتگی",outdent:"بیرونآمدگی",insertLink:"درج لینک",removeLink:"حذف لینک",insertCta:"درج دکمه CTA",ctaTitle:"درج دکمه CTA",ctaEditTitle:"ویرایش دکمه CTA",ctaUrl:"آدرس",ctaText:"متن دکمه",ctaTextPlaceholder:"شروع کنید",ctaClasses:"کلاسهای CSS (اختیاری)",ctaClassesPlaceholder:"btn btn-primary",ctaClassesHint:"کلاسها را با فاصله جدا کنید.",ctaSubmit:"درج دکمه",ctaUrlRequired:"آدرس را وارد کنید.",ctaTextRequired:"متن دکمه را وارد کنید.",ctaInvalid:"دکمه CTA نامعتبر است.",insertImage:"درج تصویر",insertTable:"درج جدول",tablePickHint:"اندازه جدول را انتخاب کنید",tableMenuLabel:"تنظیمات جدول",tableInsertRowAbove:"درج سطر بالا",tableInsertRowBelow:"درج سطر پایین",tableInsertColumnLeft:"درج ستون چپ",tableInsertColumnRight:"درج ستون راست",tableDeleteRow:"حذف سطر",tableDeleteColumn:"حذف ستون",tableDeleteTable:"حذف جدول",horizontalRule:"خط افقی",textColor:"رنگ متن",bgColor:"رنگ پسزمینه",applyCurrentColor:"اعمال رنگ فعلی",openPalette:"باز کردن پالت رنگ",noColor:"بدون رنگ",customColor:"رنگ دلخواه",pickCustomColor:"انتخاب رنگ دلخواه",sourceMode:"ویرایش HTML",visualMode:"بازگشت به حالت دیداری",markdown:"تبدیل Markdown به HTML",markdownTitle:"تبدیل Markdown به HTML",markdownLabel:"متن Markdown",markdownPlaceholder:`# عنوان
|
|
4
4
|
|
|
5
|
-
متن **مارکداون** را اینجا بنویسید…`,markdownHint:"متن Markdown را وارد کنید و روی «تبدیل و درج» بزنید تا HTML در ویرایشگر درج شود.",markdownSubmit:"تبدیل و درج",markdownEmpty:"لطفاً متن Markdown وارد کنید.",markdownFailed:"تبدیل Markdown ناموفق بود.",fullscreen:"تمامصفحه",exitFullscreen:"خروج از تمامصفحه",editorLabel:"ویرایشگر متن",sourceLabel:"ویرایشگر کد HTML",close:"بستن",cancel:"انصراف",save:"ذخیره",linkTitle:"درج لینک",linkUrl:"آدرس",linkText:"متن نمایشی (اختیاری)",linkTextPlaceholder:"متن لینک",linkSubmit:"درج لینک",linkEditTitle:"ویرایش لینک",linkEdit:"ویرایش",linkPopoverLabel:"تنظیمات لینک",linkUrlRequired:"آدرس لینک را وارد کنید.",linkInvalid:"لینک نامعتبر است.",linkUnsafe:"آدرس لینک نامعتبر یا ناامن است.",imageTitle:"درج تصویر",imageSubmit:"درج تصویر",imageBusy:"در حال پردازش…",imageUploadTab:"آپلود فایل",imageUrlTab:"از آدرس",imageFile:"فایل تصویر",imageUrl:"آدرس تصویر",imageAlt:"متن جایگزین",imageAltPlaceholder:"توضیح کوتاه تصویر",imageHint:"فقط jpg، png، gif و webp — حداکثر ۲ مگابایت",imagePickFile:"یک فایل تصویر انتخاب کنید.",imageInsertFailed:"درج تصویر ناموفق بود.",imageUploadFailed:"آپلود تصویر ناموفق بود.",imageUnsafe:"آدرس تصویر نامعتبر یا ناامن است.",altTitle:"ویرایش متن جایگزین تصویر",altLabel:"متن جایگزین (Alt)",altPlaceholder:"توضیح کوتاه تصویر برای دسترسپذیری و SEO",altHint:"این متن وقتی تصویر لود نشود نمایش داده میشود و برای خوانندههای صفحه مهم است.",editAlt:"ویرایش Alt",editAltTitle:"ویرایش متن جایگزین تصویر",resizeImage:"تغییر اندازه تصویر",fileInvalid:"فایل نامعتبر است.",fileEmpty:"فایل خالی است.",fileTooLarge:n=>`حجم فایل نباید بیشتر از ${n} مگابایت باشد.`,fileBadExtension:"پسوند فایل مجاز نیست. فقط jpg، png، gif و webp.",fileBadMime:"نوع فایل مجاز نیست.",fileBadContent:"محتوای فایل تصویر معتبر نیست.",fileMimeMismatch:"نوع اعلامشده فایل با محتوای واقعی همخوانی ندارد.",fileReadError:"خواندن فایل با خطا مواجه شد."},
|
|
5
|
+
متن **مارکداون** را اینجا بنویسید…`,markdownHint:"متن Markdown را وارد کنید و روی «تبدیل و درج» بزنید تا HTML در ویرایشگر درج شود.",markdownSubmit:"تبدیل و درج",markdownEmpty:"لطفاً متن Markdown وارد کنید.",markdownFailed:"تبدیل Markdown ناموفق بود.",fullscreen:"تمامصفحه",exitFullscreen:"خروج از تمامصفحه",editorLabel:"ویرایشگر متن",sourceLabel:"ویرایشگر کد HTML",close:"بستن",cancel:"انصراف",save:"ذخیره",linkTitle:"درج لینک",linkUrl:"آدرس",linkText:"متن نمایشی (اختیاری)",linkTextPlaceholder:"متن لینک",linkSubmit:"درج لینک",linkEditTitle:"ویرایش لینک",linkEdit:"ویرایش",linkPopoverLabel:"تنظیمات لینک",linkUrlRequired:"آدرس لینک را وارد کنید.",linkInvalid:"لینک نامعتبر است.",linkUnsafe:"آدرس لینک نامعتبر یا ناامن است.",imageTitle:"درج تصویر",imageSubmit:"درج تصویر",imageBusy:"در حال پردازش…",imageUploadTab:"آپلود فایل",imageUrlTab:"از آدرس",imageFile:"فایل تصویر",imageUrl:"آدرس تصویر",imageAlt:"متن جایگزین",imageAltPlaceholder:"توضیح کوتاه تصویر",imageHint:"فقط jpg، png، gif و webp — حداکثر ۲ مگابایت",imagePickFile:"یک فایل تصویر انتخاب کنید.",imageInsertFailed:"درج تصویر ناموفق بود.",imageUploadFailed:"آپلود تصویر ناموفق بود.",imageUnsafe:"آدرس تصویر نامعتبر یا ناامن است.",imageLinkTitle:"لینک تصویر",imageLinkMode:"با کلیک",imageLinkNone:"بدون لینک",imageLinkUrl:"لینک به آدرس",imageLinkFile:"لینک به همین تصویر",imageLinkLightbox:"لایتباکس",imageLinkLightboxShort:"لایتباکس",imageLinkUrlLabel:"آدرس لینک",imageLinkFileHint:"با کلیک، همان تصویر در تب جدید باز میشود.",imageLinkLightboxHint:"با کلیک، تصویر در اندازه بزرگ (لایتباکس) باز میشود.",imageLinkUrlRequired:"آدرس لینک را وارد کنید.",imageLinkInvalid:"لینک تصویر نامعتبر است.",imageLinkSet:"لینکدار",editImageLink:"لینک",editImageLinkTitle:"ویرایش لینک تصویر",imageLinkFileShort:"فایل",altTitle:"ویرایش متن جایگزین تصویر",altLabel:"متن جایگزین (Alt)",altPlaceholder:"توضیح کوتاه تصویر برای دسترسپذیری و SEO",altHint:"این متن وقتی تصویر لود نشود نمایش داده میشود و برای خوانندههای صفحه مهم است.",editAlt:"ویرایش Alt",editAltTitle:"ویرایش متن جایگزین تصویر",resizeImage:"تغییر اندازه تصویر",fileInvalid:"فایل نامعتبر است.",fileEmpty:"فایل خالی است.",fileTooLarge:n=>`حجم فایل نباید بیشتر از ${n} مگابایت باشد.`,fileBadExtension:"پسوند فایل مجاز نیست. فقط jpg، png، gif و webp.",fileBadMime:"نوع فایل مجاز نیست.",fileBadContent:"محتوای فایل تصویر معتبر نیست.",fileMimeMismatch:"نوع اعلامشده فایل با محتوای واقعی همخوانی ندارد.",fileReadError:"خواندن فایل با خطا مواجه شد."},Jm={placeholder:"اكتب شيئاً…",toolbar:"شريط أدوات المحرر",undo:"تراجع",redo:"إعادة",blockType:"نوع الكتلة",paragraph:"فقرة",heading1:"عنوان 1",heading2:"عنوان 2",heading3:"عنوان 3",heading4:"عنوان 4",heading5:"عنوان 5",heading6:"عنوان 6",quote:"اقتباس",preformatted:"نص منسق مسبقاً",bold:"عريض",italic:"مائل",strike:"يتوسطه خط",bulletList:"قائمة نقطية",numberedList:"قائمة مرقمة",alignRight:"محاذاة لليمين",alignCenter:"محاذاة للوسط",alignLeft:"محاذاة لليسار",alignImageRight:"محاذاة الصورة لليمين",alignImageCenter:"محاذاة الصورة للوسط",alignImageLeft:"محاذاة الصورة لليسار",rtl:"من اليمين إلى اليسار",ltr:"من اليسار إلى اليمين",indent:"زيادة المسافة البادئة",outdent:"إنقاص المسافة البادئة",insertLink:"إدراج رابط",removeLink:"إزالة الرابط",insertCta:"إدراج زر CTA",ctaTitle:"إدراج زر CTA",ctaEditTitle:"تحرير زر CTA",ctaUrl:"العنوان",ctaText:"نص الزر",ctaTextPlaceholder:"ابدأ الآن",ctaClasses:"فئات CSS (اختياري)",ctaClassesPlaceholder:"btn btn-primary",ctaClassesHint:"افصل الفئات بمسافات أو فواصل — بدون نقطة في البداية.",ctaSubmit:"إدراج الزر",ctaUrlRequired:"يرجى إدخال العنوان.",ctaTextRequired:"يرجى إدخال نص الزر.",ctaInvalid:"زر CTA غير صالح.",insertImage:"إدراج صورة",insertTable:"إدراج جدول",tablePickHint:"اختر حجم الجدول",tableMenuLabel:"خيارات الجدول",tableInsertRowAbove:"إدراج صف أعلاه",tableInsertRowBelow:"إدراج صف أدناه",tableInsertColumnLeft:"إدراج عمود لليسار",tableInsertColumnRight:"إدراج عمود لليمين",tableDeleteRow:"حذف الصف",tableDeleteColumn:"حذف العمود",tableDeleteTable:"حذف الجدول",horizontalRule:"خط أفقي",textColor:"لون النص",bgColor:"لون التمييز",applyCurrentColor:"تطبيق اللون الحالي",openPalette:"فتح لوحة الألوان",noColor:"بدون لون",customColor:"لون مخصص",pickCustomColor:"اختيار لون مخصص",sourceMode:"تحرير HTML",visualMode:"العودة إلى المحرر المرئي",markdown:"Markdown إلى HTML",markdownTitle:"تحويل Markdown إلى HTML",markdownLabel:"نص Markdown",markdownPlaceholder:`# عنوان
|
|
6
6
|
|
|
7
|
-
اكتب **markdown** هنا…`,markdownHint:"الصق نص Markdown واضغط تحويل لإدراج HTML في المحرر.",markdownSubmit:"تحويل وإدراج",markdownEmpty:"يرجى إدخال نص Markdown.",markdownFailed:"فشل تحويل Markdown.",fullscreen:"ملء الشاشة",exitFullscreen:"الخروج من ملء الشاشة",editorLabel:"محرر النص",sourceLabel:"محرر مصدر HTML",close:"إغلاق",cancel:"إلغاء",save:"حفظ",linkTitle:"إدراج رابط",linkUrl:"العنوان",linkText:"نص العرض (اختياري)",linkTextPlaceholder:"نص الرابط",linkSubmit:"إدراج الرابط",linkEditTitle:"تحرير الرابط",linkEdit:"تحرير",linkPopoverLabel:"خيارات الرابط",linkUrlRequired:"يرجى إدخال عنوان الرابط.",linkInvalid:"رابط غير صالح.",linkUnsafe:"عنوان الرابط غير صالح أو غير آمن.",imageTitle:"إدراج صورة",imageSubmit:"إدراج الصورة",imageBusy:"جارٍ المعالجة…",imageUploadTab:"رفع ملف",imageUrlTab:"من رابط",imageFile:"ملف الصورة",imageUrl:"رابط الصورة",imageAlt:"النص البديل",imageAltPlaceholder:"وصف قصير للصورة",imageHint:"فقط jpg و png و gif و webp — بحد أقصى 2 ميجابايت",imagePickFile:"يرجى اختيار ملف صورة.",imageInsertFailed:"فشل إدراج الصورة.",imageUploadFailed:"فشل رفع الصورة.",imageUnsafe:"رابط الصورة غير صالح أو غير آمن.",altTitle:"تحرير النص البديل للصورة",altLabel:"النص البديل (Alt)",altPlaceholder:"وصف قصير لإمكانية الوصول و SEO",altHint:"يظهر عندما يتعذر تحميل الصورة، ويستخدمه قارئات الشاشة.",editAlt:"تحرير Alt",editAltTitle:"تحرير النص البديل للصورة",resizeImage:"تغيير حجم الصورة",fileInvalid:"ملف غير صالح.",fileEmpty:"الملف فارغ.",fileTooLarge:n=>`يجب ألا يتجاوز حجم الملف ${n} ميجابايت.`,fileBadExtension:"امتداد الملف غير مسموح. فقط jpg و png و gif و webp.",fileBadMime:"نوع الملف غير مسموح.",fileBadContent:"محتوى الملف ليس صورة صالحة.",fileMimeMismatch:"نوع الملف المعلن لا يطابق المحتوى الفعلي.",fileReadError:"فشل قراءة الملف."},La={en:Zm,fa:Xm,ar:jm},Em=new Set(["fa","ar"]);function ml(n="en"){const e=String(n||"en").toLowerCase();return La[e]?e:"en"}function _a(n="en"){return La[ml(n)]}function If(n="en"){return Em.has(ml(n))?"rtl":"ltr"}function Vf(n){return[{value:"p",label:n.paragraph},{value:"h1",label:n.heading1},{value:"h2",label:n.heading2},{value:"h3",label:n.heading3},{value:"h4",label:n.heading4},{value:"h5",label:n.heading5},{value:"h6",label:n.heading6},{value:"blockquote",label:n.quote},{value:"pre",label:n.preformatted}]}const Lm=["#111827","#dc2626","#ea580c","#ca8a04","#16a34a","#2563eb","#7c3aed","#db2777","#ffffff"],_m=["transparent","#fef08a","#bbf7d0","#bfdbfe","#fecaca","#e9d5ff","#fed7aa","#e5e7eb","#111827"];function ge({label:n,active:e,disabled:t,onClick:i,children:r,className:s=""}){return g.jsx("button",{type:"button",className:`te-tool${e?" is-active":""}${s?` ${s}`:""}`,title:n,"aria-label":n,"aria-pressed":!!e,disabled:t,onMouseDown:l=>{l.preventDefault(),i==null||i(l)},children:r})}function ti(){return g.jsx("span",{className:"te-toolbar__divider","aria-hidden":"true"})}const Wi=10,qi=5,zm=20,Dm=20;function Wm(n,e){if(n<Wi&&e<qi)return{cols:Wi,rows:qi};const t=n>=Wi?Math.min(zm,n+1):Wi,i=e>=qi?Math.min(Dm,e+1):qi;return{cols:t,rows:i}}function qm({label:n,disabled:e,onInsert:t,onRememberSelection:i,t:r}){const[s,l]=Q.useState(!1),[o,a]=Q.useState(Wi),[c,h]=Q.useState(qi),[u,f]=Q.useState(0),[d,p]=Q.useState(0),O=Q.useRef(null),m=()=>{a(Wi),h(qi),f(0),p(0)};Q.useEffect(()=>{if(!s||e){e&&l(!1);return}const w=x=>{var P;(P=O.current)!=null&&P.contains(x.target)||(l(!1),m())},T=x=>{x.key==="Escape"&&(l(!1),m())};return document.addEventListener("mousedown",w),document.addEventListener("keydown",T),()=>{document.removeEventListener("mousedown",w),document.removeEventListener("keydown",T)}},[s,e]);const y=(w,T)=>{f(w),p(T);const{cols:x,rows:P}=Wm(w,T);a(x),h(P)},k=()=>{u<1||d<1||(i==null||i(),t({cols:u,rows:d}),l(!1),m())};return g.jsxs("div",{className:`te-table-picker${s?" is-open":""}${e?" is-disabled":""}`,ref:O,children:[g.jsx("button",{type:"button",className:`te-tool${s?" is-active":""}`,title:n,"aria-label":n,"aria-expanded":s,"aria-haspopup":"true",disabled:e,onMouseDown:w=>{w.preventDefault(),!e&&(i==null||i(),s?(l(!1),m()):(m(),l(!0)))},children:ee.table}),s&&!e?g.jsxs("div",{className:"te-table-picker__panel",role:"dialog","aria-label":n,onMouseDown:w=>w.preventDefault(),children:[g.jsx("div",{className:"te-table-picker__grid",style:{gridTemplateColumns:`repeat(${o}, 16px)`,gridTemplateRows:`repeat(${c}, 16px)`},onMouseLeave:()=>{f(0),p(0),a(Wi),h(qi)},children:Array.from({length:c*o},(w,T)=>{const x=Math.floor(T/o)+1,P=T%o+1,$=P<=u&&x<=d;return g.jsx("button",{type:"button",className:`te-table-picker__cell${$?" is-selected":""}`,"aria-label":`${P} × ${x}`,onMouseEnter:()=>y(P,x),onClick:k},`${P}-${x}`)})}),g.jsx("div",{className:"te-table-picker__size","aria-live":"polite",children:u>0&&d>0?`${u} × ${d}`:r.tablePickHint})]}):null]})}function ih({label:n,icon:e,colors:t,value:i,onChange:r,onRememberSelection:s,allowTransparent:l=!1,disabled:o=!1,t:a}){const[c,h]=Q.useState(!1),[u,f]=Q.useState(null),d=Q.useRef(null),p=Q.useRef(!1),O=u??i,m=!O||O==="transparent"?l?"repeating-conic-gradient(#ddd 0% 25%, #fff 0% 50%) 50% / 6px 6px":"#111827":O;Q.useEffect(()=>{if(!c||o){f(null),o&&h(!1);return}const k=x=>{var P;p.current||(P=d.current)!=null&&P.contains(x.target)||h(!1)},w=x=>{x.key==="Escape"&&!p.current&&h(!1)},T=()=>{window.setTimeout(()=>{p.current=!1},50)};return document.addEventListener("mousedown",k),document.addEventListener("keydown",w),window.addEventListener("focus",T),()=>{document.removeEventListener("mousedown",k),document.removeEventListener("keydown",w),window.removeEventListener("focus",T)}},[c,o]);const y=(k,{close:w=!0}={})=>{o||(s==null||s(),r(k),f(null),w&&h(!1))};return g.jsxs("div",{className:`te-color${c?" is-open":""}${o?" is-disabled":""}`,ref:d,children:[g.jsxs("div",{className:"te-color__split",children:[g.jsxs("button",{type:"button",className:"te-tool te-color__apply",title:`${n} — ${a.applyCurrentColor}`,"aria-label":`${n} — ${a.applyCurrentColor}`,disabled:o,onMouseDown:k=>{k.preventDefault(),!o&&(s==null||s(),r(i))},children:[g.jsx("span",{className:"te-color__icon",children:e}),g.jsx("span",{className:"te-color__bar",style:{background:m},"aria-hidden":"true"})]}),g.jsx("button",{type:"button",className:`te-tool te-color__caret${c?" is-active":""}`,title:`${a.openPalette}: ${n}`,"aria-label":`${a.openPalette}: ${n}`,"aria-expanded":c,"aria-haspopup":"true",disabled:o,onMouseDown:k=>{k.preventDefault(),!o&&(s==null||s(),h(w=>!w))},children:ee.chevronDown})]}),c&&!o?g.jsxs("div",{className:"te-color__swatches",role:"group","aria-label":n,onMouseDown:k=>k.stopPropagation(),children:[t.map(k=>g.jsx("button",{type:"button",className:`te-swatch${i===k?" is-selected":""}`,style:{background:k==="transparent"?"repeating-conic-gradient(#ddd 0% 25%, #fff 0% 50%) 50% / 8px 8px":k,borderColor:k==="#ffffff"?"#d1d5db":void 0},title:k==="transparent"?a.noColor:k,"aria-label":k==="transparent"?a.noColor:k,onMouseDown:w=>{w.preventDefault(),w.stopPropagation(),y(k)}},k)),g.jsx("label",{className:"te-swatch te-swatch--picker",title:a.customColor,onMouseDown:k=>{k.stopPropagation(),p.current=!0,s==null||s()},children:g.jsx("input",{type:"color",value:O&&O!=="transparent"?O:"#111827",onMouseDown:k=>{k.stopPropagation(),p.current=!0},onClick:k=>{k.stopPropagation(),p.current=!0},onInput:k=>{f(k.target.value)},onChange:k=>{y(k.target.value,{close:!1}),p.current=!1},onBlur:()=>{window.setTimeout(()=>{p.current=!1,f(null)},50)},"aria-label":`${a.pickCustomColor}: ${n}`})})]}):null]})}function Ym({t:n,states:e,canUndo:t,canRedo:i,onCommand:r,onBlockChange:s,onOpenLink:l,onOpenCta:o,onOpenImage:a,onUndo:c,onRedo:h,onRememberSelection:u,sourceMode:f=!1,onToggleSource:d,onOpenMarkdown:p,fullscreen:O=!1,onToggleFullscreen:m}){const[y,k]=Q.useState("#111827"),[w,T]=Q.useState("#fef08a"),x=f,P=Vf(n);return g.jsxs("div",{className:"te-toolbar",role:"toolbar","aria-label":n.toolbar,children:[g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(ge,{label:n.undo,disabled:x||!t,onClick:c,children:ee.undo}),g.jsx(ge,{label:n.redo,disabled:x||!i,onClick:h,children:ee.redo})]}),g.jsx(ti,{}),g.jsx("div",{className:"te-toolbar__group",children:g.jsxs("label",{className:"te-select-wrap",children:[g.jsx("span",{className:"te-sr-only",children:n.blockType}),g.jsx("select",{className:"te-select",value:e.format||"p",disabled:x,onChange:$=>s($.target.value),onMouseDown:$=>{$.stopPropagation(),u==null||u()},children:P.map($=>g.jsx("option",{value:$.value,children:$.label},$.value))})]})}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(ge,{label:n.bold,active:e.bold,disabled:x,onClick:()=>r("bold"),children:ee.bold}),g.jsx(ge,{label:n.italic,active:e.italic,disabled:x,onClick:()=>r("italic"),children:ee.italic}),g.jsx(ge,{label:n.strike,active:e.strikeThrough,disabled:x,onClick:()=>r("strikeThrough"),children:ee.strike})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(ge,{label:n.bulletList,active:e.unorderedList,disabled:x,onClick:()=>r("insertUnorderedList"),children:ee.ul}),g.jsx(ge,{label:n.numberedList,active:e.orderedList,disabled:x,onClick:()=>r("insertOrderedList"),children:ee.ol}),g.jsx(ge,{label:n.quote,active:e.format==="blockquote",disabled:x,onClick:()=>s(e.format==="blockquote"?"p":"blockquote"),children:ee.quote})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(ge,{label:e.hasSelectedImage?n.alignImageRight:n.alignRight,active:e.justifyRight,disabled:x,onClick:()=>r("justifyRight"),children:ee.alignRight}),g.jsx(ge,{label:e.hasSelectedImage?n.alignImageCenter:n.alignCenter,active:e.justifyCenter,disabled:x,onClick:()=>r("justifyCenter"),children:ee.alignCenter}),g.jsx(ge,{label:e.hasSelectedImage?n.alignImageLeft:n.alignLeft,active:e.justifyLeft,disabled:x,onClick:()=>r("justifyLeft"),children:ee.alignLeft})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(ge,{label:n.rtl,disabled:x,onClick:()=>r("rtl"),children:ee.rtl}),g.jsx(ge,{label:n.ltr,disabled:x,onClick:()=>r("ltr"),children:ee.ltr})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(ge,{label:n.indent,className:"te-tool--indent",disabled:x,onClick:()=>r("indent"),children:ee.indent}),g.jsx(ge,{label:n.outdent,className:"te-tool--outdent",disabled:x,onClick:()=>r("outdent"),children:ee.outdent})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(ge,{label:e.link?n.linkEdit:n.insertLink,active:e.link,disabled:x,onClick:l,children:ee.link}),g.jsx(ge,{label:e.cta?n.ctaEditTitle:n.insertCta,active:e.cta,disabled:x,onClick:o,children:ee.cta}),g.jsx(ge,{label:n.insertImage,disabled:x,onClick:a,children:ee.image}),g.jsx(qm,{label:n.insertTable,disabled:x,t:n,onRememberSelection:u,onInsert:({rows:$,cols:X})=>r("insertTable",{rows:$,cols:X})}),g.jsx(ge,{label:n.horizontalRule,disabled:x,onClick:()=>r("insertHorizontalRule"),children:ee.hr})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group te-toolbar__colors",children:[g.jsx(ih,{label:n.textColor,icon:ee.textColor,colors:Lm,value:y,disabled:x,t:n,onRememberSelection:u,onChange:$=>{k($),r("foreColor",$)}}),g.jsx(ih,{label:n.bgColor,icon:ee.bgColor,colors:_m,value:w,allowTransparent:!0,disabled:x,t:n,onRememberSelection:u,onChange:$=>{T($),r("hiliteColor",$)}})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(ge,{label:f?n.visualMode:n.sourceMode,active:f,onClick:d,children:ee.code}),g.jsx(ge,{label:n.markdown,className:"te-tool--md",onClick:p,children:ee.markdown}),g.jsx(ge,{label:O?n.exitFullscreen:n.fullscreen,active:O,onClick:m,children:O?ee.exitFullscreen:ee.fullscreen})]})]})}function jr({open:n,title:e,onClose:t,children:i,footer:r,closeLabel:s="Close"}){const l=Q.useId(),o=Q.useRef(null),a=Q.useRef(t);return a.current=t,Q.useEffect(()=>{var u,f;if(!n)return;const c=d=>{var p;d.key==="Escape"&&((p=a.current)==null||p.call(a))};document.addEventListener("keydown",c);const h=document.activeElement;return(f=(u=o.current)==null?void 0:u.querySelector("input,button,textarea,select"))==null||f.focus(),()=>{document.removeEventListener("keydown",c),h&&typeof h.focus=="function"&&h.focus()}},[n]),n?g.jsx("div",{className:"te-modal-backdrop",role:"presentation",onMouseDown:t,children:g.jsxs("div",{className:"te-modal",role:"dialog","aria-modal":"true","aria-labelledby":l,ref:o,onMouseDown:c=>c.stopPropagation(),children:[g.jsxs("div",{className:"te-modal__header",children:[g.jsx("h3",{id:l,children:e}),g.jsx("button",{type:"button",className:"te-modal__close",onClick:t,"aria-label":s,children:ee.close})]}),g.jsx("div",{className:"te-modal__body",children:i}),r?g.jsx("div",{className:"te-modal__footer",children:r}):null]})}):null}function Im({open:n,onClose:e,onSubmit:t,initialUrl:i="",initialText:r="",initialClasses:s="",isEdit:l=!1,t:o}){const[a,c]=Q.useState(i),[h,u]=Q.useState(r),[f,d]=Q.useState(s),[p,O]=Q.useState("");Q.useEffect(()=>{n&&(c(i),u(r),d(s),O(""))},[n,i,r,s]);const m=y=>{y.preventDefault();const k=a.trim(),w=h.trim();if(!k){O(o.ctaUrlRequired);return}if(!w){O(o.ctaTextRequired);return}try{t({url:k,text:w,classes:f.trim()}),e()}catch(T){O(T.message||o.ctaInvalid)}};return g.jsx(jr,{open:n,title:l?o.ctaEditTitle:o.ctaTitle,onClose:e,closeLabel:o.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,children:o.cancel}),g.jsx("button",{type:"submit",form:"te-cta-form",className:"te-btn te-btn--primary",children:l?o.save:o.ctaSubmit})]}),children:g.jsxs("form",{id:"te-cta-form",onSubmit:m,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:o.ctaUrl}),g.jsx("input",{type:"text",dir:"ltr",placeholder:"https://example.com or /about",value:a,onChange:y=>c(y.target.value),required:!0})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:o.ctaText}),g.jsx("input",{type:"text",placeholder:o.ctaTextPlaceholder,value:h,onChange:y=>u(y.target.value),required:!0})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:o.ctaClasses}),g.jsx("input",{type:"text",dir:"ltr",placeholder:o.ctaClassesPlaceholder,value:f,onChange:y=>d(y.target.value)})]}),g.jsx("p",{className:"te-hint",children:o.ctaClassesHint}),p?g.jsx("p",{className:"te-error",children:p}):null]})})}function Vm({open:n,onClose:e,onSubmit:t,initialUrl:i="",initialText:r="",isEdit:s=!1,t:l}){const[o,a]=Q.useState(i),[c,h]=Q.useState(r),[u,f]=Q.useState("");Q.useEffect(()=>{n&&(a(i),h(r),f(""))},[n,i,r]);const d=p=>{p.preventDefault();const O=o.trim();if(!O){f(l.linkUrlRequired);return}try{t({url:O,text:c.trim()}),e()}catch(m){f(m.message||l.linkInvalid)}};return g.jsx(jr,{open:n,title:s?l.linkEditTitle:l.linkTitle,onClose:e,closeLabel:l.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,children:l.cancel}),g.jsx("button",{type:"submit",form:"te-link-form",className:"te-btn te-btn--primary",children:s?l.save:l.linkSubmit})]}),children:g.jsxs("form",{id:"te-link-form",onSubmit:d,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:l.linkUrl}),g.jsx("input",{type:"text",dir:"ltr",placeholder:"https://example.com or /about",value:o,onChange:p=>a(p.target.value),required:!0})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:l.linkText}),g.jsx("input",{type:"text",placeholder:l.linkTextPlaceholder,value:c,onChange:p=>h(p.target.value)})]}),u?g.jsx("p",{className:"te-error",children:u}):null]})})}const Bm=[{action:"insertRowAbove",labelKey:"tableInsertRowAbove",icon:"plus"},{action:"insertRowBelow",labelKey:"tableInsertRowBelow",icon:"plus"},{action:"insertColumnLeft",labelKey:"tableInsertColumnLeft",icon:"plus"},{action:"insertColumnRight",labelKey:"tableInsertColumnRight",icon:"plus"},{action:"deleteRow",labelKey:"tableDeleteRow",icon:"trash",danger:!0},{action:"deleteColumn",labelKey:"tableDeleteColumn",icon:"trash",danger:!0},{action:"deleteTable",labelKey:"tableDeleteTable",icon:"trash",danger:!0}];function Nm({top:n,left:e,t,onAction:i,onClose:r}){const s=Q.useRef(null);return Q.useEffect(()=>{const l=a=>{var c;(c=s.current)!=null&&c.contains(a.target)||r==null||r()},o=a=>{a.key==="Escape"&&(r==null||r())};return document.addEventListener("mousedown",l),document.addEventListener("keydown",o),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",o)}},[r]),g.jsx("div",{ref:s,className:"te-table-menu",style:{top:n,left:e},role:"menu","aria-label":t.tableMenuLabel,onMouseDown:l=>l.preventDefault(),onContextMenu:l=>l.preventDefault(),children:Bm.map((l,o)=>g.jsxs(Q.Fragment,{children:[o===4?g.jsx("div",{className:"te-table-menu__divider","aria-hidden":"true"}):null,g.jsxs("button",{type:"button",className:`te-table-menu__item${l.danger?" te-table-menu__item--danger":""}`,role:"menuitem",onClick:()=>i(l.action),children:[g.jsx("span",{className:"te-table-menu__icon","aria-hidden":"true",children:ee[l.icon]}),g.jsx("span",{children:t[l.labelKey]})]})]},l.action))})}function Gm({url:n,top:e,left:t,t:i,onEdit:r,onUnlink:s,onMouseEnter:l,onMouseLeave:o}){return g.jsxs("div",{className:"te-link-popover",style:{top:e,left:t},role:"dialog","aria-label":i.linkPopoverLabel,onMouseEnter:l,onMouseLeave:o,onMouseDown:a=>a.preventDefault(),children:[g.jsx("div",{className:"te-link-popover__url",dir:"ltr",title:n,children:n}),g.jsxs("div",{className:"te-link-popover__actions",children:[g.jsx("button",{type:"button",className:"te-link-popover__btn",onClick:r,"aria-label":i.linkEdit,title:i.linkEdit,children:ee.edit}),g.jsx("button",{type:"button",className:"te-link-popover__btn te-link-popover__btn--danger",onClick:s,"aria-label":i.removeLink,title:i.removeLink,children:ee.unlink})]})]})}function Um({open:n,onClose:e,onSubmitUrl:t,onSubmitFile:i,accept:r="image/jpeg,image/png,image/gif,image/webp",t:s}){const[l,o]=Q.useState("file"),[a,c]=Q.useState(""),[h,u]=Q.useState(""),[f,d]=Q.useState(""),[p,O]=Q.useState(!1),m=Q.useRef(null);Q.useEffect(()=>{n&&(o("file"),c(""),u(""),d(""),O(!1),m.current&&(m.current.value=""))},[n]);const y=async w=>{w.preventDefault(),d(""),O(!0);try{await t({url:a.trim(),alt:h.trim()}),e()}catch(T){d(T.message||s.imageInsertFailed)}finally{O(!1)}},k=async w=>{var x,P;w.preventDefault();const T=(P=(x=m.current)==null?void 0:x.files)==null?void 0:P[0];if(!T){d(s.imagePickFile);return}d(""),O(!0);try{await i({file:T,alt:h.trim()}),e()}catch($){d($.message||s.imageUploadFailed)}finally{O(!1)}};return g.jsxs(jr,{open:n,title:s.imageTitle,onClose:e,closeLabel:s.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,disabled:p,children:s.cancel}),g.jsx("button",{type:"submit",form:l==="file"?"te-image-file-form":"te-image-url-form",className:"te-btn te-btn--primary",disabled:p,children:p?s.imageBusy:s.imageSubmit})]}),children:[g.jsxs("div",{className:"te-tabs",role:"tablist",children:[g.jsx("button",{type:"button",role:"tab","aria-selected":l==="file",className:l==="file"?"is-active":"",onClick:()=>o("file"),children:s.imageUploadTab}),g.jsx("button",{type:"button",role:"tab","aria-selected":l==="url",className:l==="url"?"is-active":"",onClick:()=>o("url"),children:s.imageUrlTab})]}),l==="file"?g.jsxs("form",{id:"te-image-file-form",onSubmit:k,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:s.imageFile}),g.jsx("input",{ref:m,type:"file",accept:r})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:s.imageAlt}),g.jsx("input",{type:"text",value:h,onChange:w=>u(w.target.value),placeholder:s.imageAltPlaceholder})]}),g.jsx("p",{className:"te-hint",children:s.imageHint}),f?g.jsx("p",{className:"te-error",children:f}):null]}):g.jsxs("form",{id:"te-image-url-form",onSubmit:y,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:s.imageUrl}),g.jsx("input",{type:"url",dir:"ltr",placeholder:"https://...",value:a,onChange:w=>c(w.target.value),required:!0})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:s.imageAlt}),g.jsx("input",{type:"text",value:h,onChange:w=>u(w.target.value),placeholder:s.imageAltPlaceholder})]}),f?g.jsx("p",{className:"te-error",children:f}):null]})]})}function Fm({open:n,onClose:e,onSubmit:t,initialAlt:i="",t:r}){const[s,l]=Q.useState(i);Q.useEffect(()=>{n&&l(i)},[n,i]);const o=a=>{a.preventDefault(),t({alt:s.trim()}),e()};return g.jsx(jr,{open:n,title:r.altTitle,onClose:e,closeLabel:r.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,children:r.cancel}),g.jsx("button",{type:"submit",form:"te-image-alt-form",className:"te-btn te-btn--primary",children:r.save})]}),children:g.jsxs("form",{id:"te-image-alt-form",onSubmit:o,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:r.altLabel}),g.jsx("input",{type:"text",value:s,onChange:a=>l(a.target.value),placeholder:r.altPlaceholder})]}),g.jsx("p",{className:"te-hint",children:r.altHint})]})})}function Hm({open:n,onClose:e,onSubmit:t,t:i}){const[r,s]=Q.useState(""),[l,o]=Q.useState("");Q.useEffect(()=>{n&&(s(""),o(""))},[n]);const a=c=>{c.preventDefault();const h=r.trim();if(!h){o(i.markdownEmpty);return}try{t(h),e()}catch(u){o(u.message||i.markdownFailed)}};return g.jsx(jr,{open:n,title:i.markdownTitle,onClose:e,closeLabel:i.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,children:i.cancel}),g.jsx("button",{type:"submit",form:"te-markdown-form",className:"te-btn te-btn--primary",children:i.markdownSubmit})]}),children:g.jsxs("form",{id:"te-markdown-form",onSubmit:a,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:i.markdownLabel}),g.jsx("textarea",{className:"te-textarea",value:r,onChange:c=>s(c.target.value),placeholder:i.markdownPlaceholder,rows:10,dir:"auto",spellCheck:!1})]}),g.jsx("p",{className:"te-hint",children:i.markdownHint}),l?g.jsx("p",{className:"te-error",children:l}):null]})})}const Km=["p","br","div","span","h1","h2","h3","h4","h5","h6","ul","ol","li","strong","b","em","i","s","strike","del","blockquote","pre","code","a","img","hr","u","font","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col"],Jm=["href","target","rel","src","alt","title","width","height","style","dir","class","color","face","size","contenteditable","data-align","loading","draggable","colspan","rowspan","scope","align","valign","border","cellpadding","cellspacing"],e0=/^(https?:|blob:|data:image\/(png|jpeg|jpg|gif|webp);base64,)/i;function js(n,e=!1){if(!n||typeof n!="string")return!1;const t=n.trim();return t?e?e0.test(t)||t.startsWith("/"):/^(javascript|vbscript|data):/i.test(t)?!1:t.startsWith("#")||t.startsWith("/")||/^(https?|mailto|tel|blob):/i.test(t)||t.startsWith("//")?!0:!/^[a-z][a-z0-9+.-]*:/i.test(t):!1}const t0=/^(?:(?:https?|blob):|data:image\/(?:png|jpeg|jpg|gif|webp);base64,|mailto:|tel:|\/|#)/i;function i0(n){return Mm.sanitize(n,{ALLOWED_TAGS:Km,ALLOWED_ATTR:Jm,ALLOW_DATA_ATTR:!1,ALLOWED_URI_REGEXP:t0,FORBID_TAGS:["script","iframe","object","embed","form","input","style"],FORBID_ATTR:["onerror","onload","onclick","onmouseover","onfocus","onblur","onchange","onsubmit"]})}function n0(n){if(!n||typeof n!="string")return"";const e=new Set(["color","background-color","text-align","direction","margin","margin-top","margin-right","margin-bottom","margin-left","margin-inline-start","margin-inline-end","padding-right","padding-left","padding-inline-start","padding-inline-end","text-indent","font-weight","font-style","text-decoration","text-decoration-line","display","float","max-width","width","height","box-sizing","border","border-collapse","border-width","border-style","border-color","border-top","border-right","border-bottom","border-left","vertical-align","padding","padding-top","padding-right","padding-bottom","padding-left","background","background-color"]);return n.split(";").map(t=>t.trim()).filter(Boolean).map(t=>{const i=t.indexOf(":");if(i===-1)return null;const r=t.slice(0,i).trim().toLowerCase(),s=t.slice(i+1).trim();return!e.has(r)||/expression|url\s*\(|javascript|import/i.test(s)?null:`${r}: ${s}`}).filter(Boolean).join("; ")}function nh(n){if(!n||typeof n!="string")return 0;const e=n.trim().match(/^(\d+(?:\.\d+)?)px$/i);return e?Math.round(Number(e[1])):0}function r0(n){let e=nh(n.style.width)||parseInt(n.getAttribute("width")||"",10),t=nh(n.style.height)||parseInt(n.getAttribute("height")||"",10);e>0&&t>0&&(n.setAttribute("width",String(e)),n.setAttribute("height",String(t)),n.style.width=`${e}px`,n.style.height=`${t}px`),n.style.display||(n.style.display="block"),n.style.maxWidth="100%"}function Je(n){if(!n)return"";const e=i0(n);if(typeof document>"u")return e;const t=document.createElement("div");return t.innerHTML=e,t.querySelectorAll("font").forEach(i=>{const r=document.createElement("span"),s=i.getAttribute("color");for(s&&(r.style.color=s);i.firstChild;)r.appendChild(i.firstChild);i.replaceWith(r)}),t.querySelectorAll("a").forEach(i=>{const r=i.getAttribute("href")||"";js(r,!1)?(i.setAttribute("rel","noopener noreferrer"),/^https?:/i.test(r)&&i.setAttribute("target","_blank")):i.removeAttribute("href")}),t.querySelectorAll("img").forEach(i=>{var s,l,o,a;const r=i.getAttribute("src")||"";if(!js(r,!0)){i.remove();return}if(i.removeAttribute("onerror"),i.removeAttribute("onload"),r0(i),!((l=(s=i.parentElement)==null?void 0:s.classList)!=null&&l.contains("te-figure"))){const c=document.createElement("div");c.className="te-figure",c.setAttribute("contenteditable","false");const h=i.style.textAlign||i.getAttribute("data-align")||((a=(o=i.parentElement)==null?void 0:o.style)==null?void 0:a.textAlign)||"center";c.setAttribute("data-align",h),c.style.textAlign=h,i.replaceWith(c),c.appendChild(i)}}),t.querySelectorAll(".te-figure").forEach(i=>{i.setAttribute("contenteditable","false"),i.getAttribute("data-align")||i.setAttribute("data-align",i.style.textAlign||"center"),i.querySelectorAll(".te-figure__alt-btn, .te-figure__resize-handle, button").forEach(r=>r.remove()),i.classList.remove("is-selected"),i.querySelector("img")||i.remove()}),t.querySelectorAll("img.is-selected").forEach(i=>{i.classList.remove("is-selected")}),t.querySelectorAll("[style]").forEach(i=>{const r=n0(i.getAttribute("style"));r?i.setAttribute("style",r):i.removeAttribute("style")}),s0(t),Qn(t),t.innerHTML}function s0(n){n.querySelectorAll("table").forEach(e=>{e.querySelectorAll("th, td").forEach(t=>{!(t.textContent||"").replace(/\u200b/g,"").trim()&&!t.querySelector("img, br")&&(t.innerHTML="<br>")})})}function Vl(n){const e=n.parentNode;if(e){for(;n.firstChild;)e.insertBefore(n.firstChild,n);e.removeChild(n)}}function l0(n){const e=[];for(let t=0;t<n.style.length;t+=1)e.push(n.style.item(t));return e}function Bl(n){if(!n||n.nodeType!==Node.ELEMENT_NODE||n.tagName!=="SPAN")return!1;const e=l0(n);return e.length?e.every(t=>t==="color"||t==="background-color"):!1}function Qn(n){if(!n)return;let e=0,t=!0;for(;t&&e<80;)t=!1,e+=1,[...n.querySelectorAll("span")].forEach(i=>{var s;if(!i.isConnected)return;if(!((s=i.getAttribute("style"))!=null&&s.trim())&&!i.className){Vl(i),t=!0;return}if(!Bl(i))return;const r=i.parentElement;if(r&&Bl(r)&&r.childNodes.length===1&&r.firstChild===i){for(i.style.color&&(r.style.color=i.style.color),i.style.backgroundColor&&(r.style.backgroundColor=i.style.backgroundColor);i.firstChild;)r.insertBefore(i.firstChild,i);i.remove(),t=!0;return}r&&Bl(r)&&(i.style.color&&(r.style.color=i.style.color),i.style.backgroundColor&&(r.style.backgroundColor=i.style.backgroundColor),Vl(i),t=!0)});n.querySelectorAll("span").forEach(i=>{var r;!((r=i.getAttribute("style"))!=null&&r.trim())&&!i.className&&Vl(i)})}function Er(n){return js(n,!1)}function Bf(n){return js(n,!0)}const o0=[{mime:"image/jpeg",bytes:[255,216,255]},{mime:"image/png",bytes:[137,80,78,71]},{mime:"image/gif",bytes:[71,73,70,56]},{mime:"image/webp",check:n=>n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80}],Nf={maxSizeBytes:2*1024*1024,allowedMimeTypes:["image/jpeg","image/png","image/gif","image/webp"],allowedExtensions:[".jpg",".jpeg",".png",".gif",".webp"]};function a0(n){const e=n.lastIndexOf(".");return e===-1?"":n.slice(e).toLowerCase()}function c0(n){return n.replace(/[/\\?%*:|"<>]/g,"_").replace(/\s+/g,"-").replace(/\.+/g,".").slice(0,100)||"image"}async function h0(n,e=16){const i=await n.slice(0,e).arrayBuffer();return new Uint8Array(i)}function u0(n){for(const e of o0)if(e.check){if(e.check(n))return e.mime}else if(e.bytes.every((t,i)=>n[i]===t))return e.mime;return null}function Gf(n={}){return n.messages||_a(n.language||"en")}async function Uf(n,e={}){const t={...Nf,...e},i=Gf(e),r=[];if(!n||!(n instanceof Blob))return{ok:!1,errors:[i.fileInvalid]};if(n.size<=0&&r.push(i.fileEmpty),n.size>t.maxSizeBytes){const a=(t.maxSizeBytes/1048576).toFixed(1);r.push(i.fileTooLarge(a))}const s=a0(n.name||"");t.allowedExtensions.includes(s)||r.push(i.fileBadExtension);const l=(n.type||"").toLowerCase();l&&!t.allowedMimeTypes.includes(l)&&r.push(i.fileBadMime);let o=null;try{const a=await h0(n);o=u0(a),o?l&&l!==o&&!(l==="image/jpg"&&o==="image/jpeg")&&r.push(i.fileMimeMismatch):r.push(i.fileBadContent)}catch{r.push(i.fileReadError)}return r.length?{ok:!1,errors:r}:{ok:!0,mime:o||l,safeName:c0(n.name||`image${s}`),errors:[]}}function f0(n,e){return new Promise((t,i)=>{const r=new FileReader;r.onload=()=>{const s=r.result;if(typeof s!="string"||!s.startsWith("data:image/")){i(new Error("Failed to encode image."));return}if(e&&s.startsWith("data:")){const l=s.indexOf(",");if(l!==-1){t(`data:${e};base64,${s.slice(l+1)}`);return}}t(s)},r.onerror=()=>i(r.error||new Error("Failed to read file.")),r.readAsDataURL(n)})}async function Ff(n,e={}){const t=Gf(e),i=await Uf(n,e);if(!i.ok)throw new Error(i.errors.join(" "));if(typeof e.onUpload=="function"){const r=await e.onUpload(n,{mime:i.mime,safeName:i.safeName});if(!r||typeof r!="string")throw new Error(t.imageUploadFailed);return r}try{return await f0(n,i.mime)}catch{throw new Error(t.fileReadError)}}function Hf(n=50){let e=[],t=-1;return{push(i){t>=0&&e[t]===i||(e=e.slice(0,t+1),e.push(i),e.length>n?e.shift():t+=1,t>=n&&(t=n-1),t=e.length-1)},undo(){return t<=0?null:(t-=1,e[t])},redo(){return t>=e.length-1?null:(t+=1,e[t])},canUndo(){return t>0},canRedo(){return t<e.length-1},current(){return t>=0?e[t]:null},reset(i=""){e=[i],t=0}}}const d0="img, .te-figure, video, iframe, table, hr, blockquote, ul li, ol li, pre, code",p0=/<(?:img|video|iframe|table|hr)\b|te-figure\b|<blockquote\b|<(?:ul|ol)\b|<pre\b|<code\b/i;function Oi(n){if(String(n||"").replace(/<[^>]+>/g,"").replace(/\u200b/g,"").trim())return!1;if(typeof document<"u"){const t=document.createElement("div");return t.innerHTML=n,!t.querySelector(d0)}return!p0.test(String(n||""))}function Le(n){n&&n.focus({preventScroll:!0})}function Nn(n){const e=window.getSelection();if(!e||e.rangeCount===0)return null;const t=e.getRangeAt(0);return n.contains(t.commonAncestorContainer)?t.cloneRange():null}function zt(n){if(!n)return!1;const e=window.getSelection();if(!e)return!1;try{return e.removeAllRanges(),e.addRange(n),!0}catch{return!1}}function Ne(n,e=null){try{return document.execCommand(n,!1,e)}catch{return!1}}function fi(n){try{return document.queryCommandState(n)}catch{return!1}}function O0(n){try{return document.queryCommandValue(n)}catch{return""}}function g0(){const n=(O0("formatBlock")||"").toLowerCase();return n?n.replace(/[<>]/g,""):"p"}function Kf(){try{document.execCommand("styleWithCSS",!1,!0)}catch{}}function Ln(n){const e=window.getSelection();if(!e||e.rangeCount===0)return null;const t=e.getRangeAt(0);return n.contains(t.commonAncestorContainer)?t:null}function za(n,e=null){var s;const t=e||Ln(n);if(!t||!n)return null;let i=t.commonAncestorContainer;if(i.nodeType===Node.TEXT_NODE&&(i=i.parentElement),!i||!n.contains(i))return null;const r=(s=i.closest)==null?void 0:s.call(i,"a[href]");return!r||!n.contains(r)?null:{element:r,url:r.getAttribute("href")||"",text:r.textContent||""}}function rh(n){return!n||n.collapsed?"":n.toString()}function m0(n){if(!n)return!1;const e=document.createRange();return e.selectNodeContents(n),zt(e)}function gr(n,e){n.setAttribute("href",e),n.setAttribute("rel","noopener noreferrer"),/^https?:/i.test(e)?n.setAttribute("target","_blank"):n.removeAttribute("target")}function b0(n,e,t,i,r){if(!n||!e||!n.contains(e))return!1;if(!Er(t))throw new Error(r&&r.linkUnsafe||"The link URL is invalid or unsafe.");return gr(e,t),i&&(e.textContent=i),!0}function x0(n,e){return!n||!e||!n.contains(e)?!1:(m0(e),Le(n),Ne("unlink"))}function sh(n,e){Le(n);let t=Ln(n);if(!t)return!1;if(t.collapsed){const s=y0(t);if(s)zt(s),t=s;else{const l=document.createElement("span");e.color&&(l.style.color=e.color),e.backgroundColor&&(l.style.backgroundColor=e.backgroundColor),l.appendChild(document.createTextNode("")),t.insertNode(l);const o=document.createRange();return o.setStart(l.firstChild,1),o.collapse(!0),zt(o),!0}}if(S0(t,e))return Qn(n),!0;const r=w0(n,e);return Qn(n),r}function y0(n){const e=n.startContainer;if(!e||e.nodeType!==Node.TEXT_NODE)return null;const t=e.textContent||"";if(!t.trim())return null;let i=n.startOffset,r=n.endOffset;for(;i>0&&!/\s/.test(t[i-1]);)i-=1;for(;r<t.length&&!/\s/.test(t[r]);)r+=1;if(i===r)return null;const s=n.cloneRange();return s.setStart(e,i),s.setEnd(e,r),s}function S0(n,e){var l;let t=n.commonAncestorContainer;t.nodeType===Node.TEXT_NODE&&(t=t.parentElement);let i=null,r=t;for(;r;){if(r.tagName==="SPAN"&&r.hasAttribute("style")){const o=document.createRange();if(o.selectNodeContents(r),n.compareBoundaryPoints(Range.START_TO_START,o)===0&&n.compareBoundaryPoints(Range.END_TO_END,o)===0){i=r;break}}if((l=r.classList)!=null&&l.contains("te-editor"))break;r=r.parentElement}if(!i)return!1;e.color&&(i.style.color=e.color),e.backgroundColor&&(e.backgroundColor==="transparent"?i.style.backgroundColor="":i.style.backgroundColor=e.backgroundColor);const s=window.getSelection();if(s){const o=document.createRange();o.selectNodeContents(i),s.removeAllRanges(),s.addRange(o)}return!0}function k0(n,e){n.querySelectorAll("[style]").forEach(t=>{var i;e.forEach(r=>{t.style[r]=""}),!((i=t.getAttribute("style"))!=null&&i.trim())&&!t.className&&t.removeAttribute("style")})}function w0(n,e){const t=Ln(n);if(!t||t.collapsed)return!1;const i=[];e.color&&i.push("color"),e.backgroundColor&&i.push("backgroundColor");const r=t.extractContents(),s=document.createElement("div");s.appendChild(r),i.length&&k0(s,i),Qn(s);const l=document.createElement("span");for(e.color&&(l.style.color=e.color),e.backgroundColor&&(l.style.backgroundColor=e.backgroundColor);s.firstChild;)l.appendChild(s.firstChild);t.insertNode(l);const o=window.getSelection();if(o){const a=document.createRange();a.selectNodeContents(l),o.removeAllRanges(),o.addRange(a)}return!0}function Q0(n){Le(n);const e=Ln(n);e&&(Kf(),Ne("hiliteColor","transparent"),Ne("backColor","transparent"),n.querySelectorAll("span[style]").forEach(t=>{var i;e.intersectsNode(t)&&(t.style.backgroundColor="",(i=t.getAttribute("style"))!=null&&i.trim()||t.removeAttribute("style"))}),Qn(n))}function lh(n,e,t,i={}){switch(Le(n),Kf(),e){case"bold":Ne("bold");break;case"italic":Ne("italic");break;case"strikeThrough":Ne("strikeThrough");break;case"formatBlock":{const r=t||"p";Ne("formatBlock",r==="p"?"p":r);break}case"insertUnorderedList":Ne("insertUnorderedList");break;case"insertOrderedList":Ne("insertOrderedList");break;case"justifyRight":Nl(n,"right",i.selectedImage);break;case"justifyCenter":Nl(n,"center",i.selectedImage);break;case"justifyLeft":Nl(n,"left",i.selectedImage);break;case"indent":oh(n,1);break;case"outdent":oh(n,-1);break;case"insertHorizontalRule":Ne("insertHorizontalRule");break;case"insertTable":V0(n,(t==null?void 0:t.rows)??3,(t==null?void 0:t.cols)??3);break;case"foreColor":sh(n,{color:t});break;case"hiliteColor":!t||t==="transparent"?Q0(n):sh(n,{backgroundColor:t});break;case"removeFormat":Ne("removeFormat");break}}function Jf(n,e){var i;let t=e;for(t&&t.nodeType===Node.TEXT_NODE&&(t=t.parentElement);t&&t!==n;){if((i=t.matches)!=null&&i.call(t,"p,div,h1,h2,h3,h4,h5,h6,li,blockquote,pre,figure,.te-figure"))return t;t=t.parentElement}return null}const v0=24,$0=240;function P0(n){var i,r,s,l;const e=(i=n.style)==null?void 0:i.marginInlineStart;if(e){const o=parseFloat(e);if(!Number.isNaN(o))return o}const t=(l=(s=(r=n.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.getComputedStyle(n))==null?void 0:l.marginInlineStart;if(t){const o=parseFloat(t);if(!Number.isNaN(o)&&o>0)return o}return 0}function T0(n,e){const t=[],i=new Set,r=s=>{var o;const l=Jf(n,s);!l||l===n||i.has(l)||(o=l.matches)!=null&&o.call(l,"figure,.te-figure")||(i.add(l),t.push(l))};if(r(e.startContainer),r(e.endContainer),!e.collapsed)try{const s=n.ownerDocument.createTreeWalker(e.commonAncestorContainer.nodeType===Node.ELEMENT_NODE?e.commonAncestorContainer:e.commonAncestorContainer.parentElement||n,NodeFilter.SHOW_ELEMENT,{acceptNode(o){var a;return e.intersectsNode(o)?(a=o.matches)!=null&&a.call(o,"p,div,h1,h2,h3,h4,h5,h6,li,blockquote,pre")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP:NodeFilter.FILTER_REJECT}});let l=s.currentNode;for((l==null?void 0:l.nodeType)===Node.ELEMENT_NODE&&r(l);l=s.nextNode();)r(l)}catch{}return t}function oh(n,e){Le(n);const t=Ln(n);if(!t)return;const i=T0(n,t);i.length&&i.forEach(r=>{var o;if(r.tagName==="LI"){C0(r,e);return}const s=P0(r),l=Math.max(0,Math.min($0,s+e*v0));l<=0?(r.style.marginInlineStart="",(o=r.getAttribute("style"))!=null&&o.trim()||r.removeAttribute("style")):r.style.marginInlineStart=`${l}px`})}function C0(n,e){const t=n.parentElement;if(!t||t.tagName!=="UL"&&t.tagName!=="OL")return;if(e>0){const s=n.previousElementSibling;if(!s||s.tagName!=="LI")return;let l=s.querySelector(":scope > ul, :scope > ol");l||(l=document.createElement(t.tagName.toLowerCase()),s.appendChild(l)),l.appendChild(n);return}const i=t.parentElement;!i||i.tagName!=="LI"||!i.parentElement||(i.after(n),t.children.length||t.remove())}function Nl(n,e,t){var o,a;const i=t&&n.contains(t)?t:null;if(i){ah(i,e);return}const r=Ln(n),s=r==null?void 0:r.commonAncestorContainer,l=(s==null?void 0:s.nodeType)===Node.ELEMENT_NODE&&s.tagName==="IMG"?s:(a=(o=s==null?void 0:s.parentElement)==null?void 0:o.closest)==null?void 0:a.call(o,"img");if(l&&n.contains(l)){ah(l,e);return}Ne(e==="right"?"justifyRight":e==="center"?"justifyCenter":"justifyLeft")}function ed(n){var t,i;if((i=(t=n.parentElement)==null?void 0:t.classList)!=null&&i.contains("te-figure"))return n.parentElement;const e=document.createElement("div");return e.className="te-figure",e.setAttribute("contenteditable","false"),n.replaceWith(e),e.appendChild(n),e}function A0(n,e){const t=n.naturalWidth,i=n.naturalHeight;if(t>0&&i>0)return i/t;const r=parseInt(n.getAttribute("width")||"",10),s=parseInt(n.getAttribute("height")||"",10);if(r>0&&s>0)return s/r;const l=n.getBoundingClientRect();return l.width>0&&l.height>0?l.height/l.width:1}function R0(n,e,t){n.style.width=`${e}px`,n.style.height=`${t}px`,n.style.maxWidth="100%",n.style.display="block"}function M0(n,e,t){if(!n||e<=0||t<=0)return;const i=Math.round(e),r=Math.round(t);n.setAttribute("width",String(i)),n.setAttribute("height",String(r)),n.style.width=`${i}px`,n.style.height=`${r}px`,n.style.display="block",n.style.maxWidth="100%"}function Z0(n){return!n||n.complete&&n.naturalWidth>0?Promise.resolve():new Promise(e=>{const t=()=>e();n.addEventListener("load",t,{once:!0}),n.addEventListener("error",t,{once:!0})})}function ah(n,e){const t=ed(n);t.setAttribute("data-align",e),t.style.textAlign=e,t.style.width="fit-content",t.style.maxWidth="100%",n.style.display="block",n.style.float="none",n.style.marginLeft="0",n.style.marginRight="0",e==="center"?(t.style.marginLeft="auto",t.style.marginRight="auto"):e==="left"?(t.style.marginLeft="0",t.style.marginRight="auto"):(t.style.marginLeft="auto",t.style.marginRight="0")}function Gn(n,e,t){if(!n||!e)return;ar(e);const i=ed(n);i.classList.add("is-selected"),n.classList.add("is-selected");let r=i.querySelector(".te-figure__alt-btn");r||(r=document.createElement("button"),r.type="button",r.className="te-figure__alt-btn",r.setAttribute("contenteditable","false"),i.appendChild(r));const s=t||{},l=n.getAttribute("alt")||"";r.textContent=l?`Alt: ${l.length>28?`${l.slice(0,28)}…`:l}`:s.editAlt||"Edit Alt",r.title=s.editAltTitle||"Edit image alt text";let o=i.querySelector(".te-figure__resize-handle");o||(o=document.createElement("span"),o.className="te-figure__resize-handle",o.setAttribute("contenteditable","false"),o.setAttribute("role","presentation"),o.title=s.resizeImage||"Resize image",i.appendChild(o));const a=document.createRange();a.selectNode(i);const c=window.getSelection();c==null||c.removeAllRanges(),c==null||c.addRange(a),Le(e)}function X0(n,e,{editor:t,onComplete:i}={}){if(!n||!t||!e)return;const r=n.closest(".te-figure"),s=e.pointerId!==void 0,l=s?e.pointerId:null,o=e.clientX,a=n.getBoundingClientRect().width,c=parseInt(n.getAttribute("width")||"",10),h=a>0?a:c>0?c:200,u=A0(n),f=Math.max(48,t.clientWidth-16),d=getComputedStyle(t).direction;let p=h,O=Math.round(h*u);const m=k=>{if(s&&k.pointerId!==l)return;const w=k.clientX-o,T=d==="rtl"?-w:w;p=Math.round(Math.max(48,Math.min(h+T,f))),O=Math.round(p*u),R0(n,p,O),r&&(r.style.width="fit-content")},y=k=>{s&&k.pointerId!==l||(document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",y),document.removeEventListener("pointercancel",y),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",y),M0(n,p,O),i==null||i())};if(e.preventDefault(),s){const k=e.currentTarget||e.target;if(k!=null&&k.setPointerCapture)try{k.setPointerCapture(l)}catch{}document.addEventListener("pointermove",m),document.addEventListener("pointerup",y),document.addEventListener("pointercancel",y)}else document.addEventListener("mousemove",m),document.addEventListener("mouseup",y)}function ar(n){n&&(n.querySelectorAll(".te-figure.is-selected, img.is-selected").forEach(e=>{e.classList.remove("is-selected")}),n.querySelectorAll(".te-figure__alt-btn, .te-figure__resize-handle").forEach(e=>e.remove()))}function td(n,e,t){Le(n);const i=window.getSelection();if(!i)return;const r=document.createRange();if(e&&n.contains(e))r.setStart(e,0),r.collapse(!0);else if(t&&n.contains(t))r.selectNodeContents(t),r.collapse(!1);else if(Oi(n.innerHTML)){n.innerHTML="<p><br></p>";const s=n.querySelector("p");r.setStart(s,0),r.collapse(!0)}else r.selectNodeContents(n),r.collapse(!1);i.removeAllRanges(),i.addRange(r)}function j0(n){var s,l;if(!n)return!1;const e=n.querySelector(".te-figure.is-selected, img.is-selected");if(!e)return!1;const t=(s=e.classList)!=null&&s.contains("te-figure")?e:(l=e.closest)==null?void 0:l.call(e,".te-figure");if(!t||!n.contains(t))return!1;const i=t.nextElementSibling,r=t.previousElementSibling;return t.remove(),ar(n),td(n,i,r),!0}function E0(n,e,t){var s;if(!n)return;n.setAttribute("alt",e||"");const i=(s=n.closest)==null?void 0:s.call(n,".te-figure"),r=i==null?void 0:i.querySelector(".te-figure__alt-btn");if(r){const l=t||{};r.textContent=e?`Alt: ${e.length>28?`${e.slice(0,28)}…`:e}`:l.editAlt||"Edit Alt"}}function L0(n,e){Le(n);const t=window.getSelection();if(!t||t.rangeCount===0){n.setAttribute("dir",e);return}let i=t.anchorNode;i&&i.nodeType===Node.TEXT_NODE&&(i=i.parentElement);const r=Jf(n,i);r&&r!==n?(r.setAttribute("dir",e),r.style.direction=e):n.setAttribute("dir",e)}function _0(n,e,t,i){if(Le(n),!Er(e))throw new Error(i&&i.linkUnsafe||"The link URL is invalid or unsafe.");const r=window.getSelection();if(r&&!r.isCollapsed&&n.contains(r.anchorNode)){Ne("createLink",e);const l=n.querySelectorAll("a[href]"),o=l[l.length-1];o&&gr(o,e)}else{const l=t||e,o=document.createElement("a");o.textContent=l,gr(o,e),$n(n,o)}}function id(n){return!n||typeof n!="string"?"":n.split(/[\s,]+/).map(e=>e.trim().replace(/^\.+/,"")).filter(e=>e&&/^-?[_a-zA-Z][\w-]*$/.test(e)).join(" ")}function nd(n){return!n||n.tagName!=="A"?!1:!!(n.getAttribute("class")||"").trim()}function Es(n,e=null){const t=za(n,e);return!t||!nd(t.element)?null:{...t,classes:t.element.getAttribute("class")||""}}function z0(n,e,t,i,r,s){if(!n||!e||!n.contains(e))return!1;if(!Er(t))throw new Error(s&&s.linkUnsafe||"The link URL is invalid or unsafe.");gr(e,t),i&&(e.textContent=i);const l=id(r);return e.className=l||"te-cta",!0}function D0(n,e,t,i,r){if(Le(n),!Er(e))throw new Error(r&&r.linkUnsafe||"The link URL is invalid or unsafe.");const s=id(i)||"te-cta",l=t||e,o=document.createElement("a");o.textContent=l,gr(o,e),o.className=s,$n(n,o)}function bl(n){var c,h;const e=(c=n==null?void 0:n.closest)==null?void 0:c.call(n,"tr"),t=(h=n==null?void 0:n.closest)==null?void 0:h.call(n,"table");if(!e||!t)return null;const i=[...t.rows],r=i.indexOf(e);if(r<0)return null;const s=[...e.cells],l=s.indexOf(n);if(l<0)return null;let o=0;for(let u=0;u<l;u+=1)o+=s[u].colSpan||1;let a=0;return i.forEach(u=>{let f=0;[...u.cells].forEach(d=>{f+=d.colSpan||1}),a=Math.max(a,f)}),{cell:n,row:e,table:t,rowIndex:r,colIndex:o,cellIndex:l,colCount:a,rowCount:i.length}}function vn(n,e){let t=0;for(const i of n.cells){const r=i.colSpan||1;if(e>=t&&e<t+r)return i;t+=r}return null}function xl(n){if(!n)return;const e=document.createRange();n.childNodes.length||(n.innerHTML="<br>"),e.selectNodeContents(n),e.collapse(!0),zt(e)}function W0(n){const e=document.createElement("tr");return[...n.cells].forEach(t=>{const i=document.createElement(t.tagName.toLowerCase());i.innerHTML="<br>",t.colSpan>1&&(i.colSpan=t.colSpan),e.appendChild(i)}),e}function ch(n,e,t){const i=bl(e);if(!i)return!1;const r=W0(i.row);return t==="above"?i.row.before(r):i.row.after(r),Le(n),xl(r.cells[i.cellIndex]||r.cells[0]),!0}function hh(n,e,t){const i=bl(e);if(!i)return!1;[...i.table.rows].forEach(l=>{const o=vn(l,i.colIndex),a=o||l.cells[l.cells.length-1],c=(a==null?void 0:a.tagName.toLowerCase())||"td",h=document.createElement(c);h.innerHTML="<br>",t==="left"&&o?l.insertBefore(h,o):t==="right"&&o?o.after(h):l.appendChild(h)}),Le(n);const r=i.table.rows[i.rowIndex],s=vn(r,t==="right"?i.colIndex+1:i.colIndex);return xl(s||r.cells[i.cellIndex]),!0}function q0(n,e){const t=bl(e);if(!t)return!1;if(t.rowCount<=1)return Da(n,e);const i=t.row.nextElementSibling,r=t.row.previousElementSibling;t.row.remove(),Le(n);const s=vn(i,t.colIndex)||vn(r,t.colIndex)||(i==null?void 0:i.cells[0])||(r==null?void 0:r.cells[0]);return xl(s),!0}function Y0(n,e){const t=bl(e);if(!t)return!1;if(t.colCount<=1)return Da(n,e);[...t.table.rows].forEach(s=>{const l=vn(s,t.colIndex);l&&l.remove()}),Le(n);const i=t.table.rows[Math.min(t.rowIndex,t.table.rows.length-1)],r=vn(i,t.colIndex)||(i==null?void 0:i.cells[t.cellIndex])||(i==null?void 0:i.cells[0]);return xl(r),!0}function Da(n,e){var s;const t=(s=e==null?void 0:e.closest)==null?void 0:s.call(e,"table");if(!t||!(n!=null&&n.contains(t)))return!1;const i=t.nextElementSibling,r=t.previousElementSibling;return t.remove(),Le(n),td(n,i,r),!0}function I0(n,e,t){if(!n||!t||!n.contains(t))return!1;switch(e){case"insertRowAbove":return ch(n,t,"above");case"insertRowBelow":return ch(n,t,"below");case"insertColumnLeft":return hh(n,t,"left");case"insertColumnRight":return hh(n,t,"right");case"deleteRow":return q0(n,t);case"deleteColumn":return Y0(n,t);case"deleteTable":return Da(n,t);default:return!1}}function V0(n,e=3,t=3){Le(n);const i=Math.max(1,Math.min(20,Number(e)||3)),r=Math.max(1,Math.min(20,Number(t)||3)),s=document.createElement("table"),l=document.createElement("tbody");for(let a=0;a<i;a+=1){const c=document.createElement("tr");for(let h=0;h<r;h+=1){const u=document.createElement(a===0?"th":"td");u.innerHTML="<br>",c.appendChild(u)}l.appendChild(c)}s.appendChild(l),$n(n,s);const o=document.createElement("p");o.innerHTML="<br>",$n(n,o)}function uh(n,e,t="",i){if(Le(n),!Bf(e))throw new Error(i&&i.imageUnsafe||"The image URL is invalid or unsafe.");const r=document.createElement("div");r.className="te-figure",r.setAttribute("contenteditable","false"),r.setAttribute("data-align","center"),r.style.textAlign="center",r.style.width="fit-content",r.style.maxWidth="100%",r.style.marginLeft="auto",r.style.marginRight="auto";const s=document.createElement("img");s.src=e,s.alt=t||"",s.setAttribute("loading","lazy"),s.draggable=!1,s.style.display="block",s.style.maxWidth="100%",r.appendChild(s),$n(n,r);const l=document.createElement("p");return l.innerHTML="<br>",$n(n,l),s}function $n(n,e){const t=window.getSelection();if(!t||t.rangeCount===0){n.appendChild(e);return}const i=t.getRangeAt(0);if(!n.contains(i.commonAncestorContainer)){n.appendChild(e);return}i.deleteContents(),i.insertNode(e),i.setStartAfter(e),i.collapse(!0),t.removeAllRanges(),t.addRange(i)}function B0(n){var i,r,s;const e=(i=n==null?void 0:n.querySelector)==null?void 0:i.call(n,".te-figure.is-selected, img.is-selected");let t=null;if(e){const l=(r=e.classList)!=null&&r.contains("te-figure")?e:(s=e.closest)==null?void 0:s.call(e,".te-figure");t=(l==null?void 0:l.getAttribute("data-align"))||null}return{bold:fi("bold"),italic:fi("italic"),strikeThrough:fi("strikeThrough"),unorderedList:fi("insertUnorderedList"),orderedList:fi("insertOrderedList"),justifyRight:t?t==="right":fi("justifyRight"),justifyCenter:t?t==="center":fi("justifyCenter"),justifyLeft:t?t==="left":fi("justifyLeft"),format:g0(),hasSelectedImage:!!e,link:!!za(n)&&!Es(n),cta:!!Es(n)}}function Eo(){return Eo=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(n[i]=t[i])}return n},Eo.apply(null,arguments)}function N0(n,e){if(n==null)return{};var t={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.indexOf(i)!==-1)continue;t[i]=n[i]}return t}let Lo=[],rd=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?rd:Lo).push(t=t+n[e])})();function G0(n){if(n<768)return!1;for(let e=0,t=Lo.length;;){let i=e+t>>1;if(n<Lo[i])t=i;else if(n>=rd[i])e=i+1;else return!0;if(e==t)return!1}}function fh(n){return n>=127462&&n<=127487}const dh=8205;function U0(n,e,t=!0,i=!0){return(t?sd:F0)(n,e,i)}function sd(n,e,t){if(e==n.length)return e;e&&ld(n.charCodeAt(e))&&od(n.charCodeAt(e-1))&&e--;let i=Gl(n,e);for(e+=ph(i);e<n.length;){let r=Gl(n,e);if(i==dh||r==dh||t&&G0(r))e+=ph(r),i=r;else if(fh(r)){let s=0,l=e-2;for(;l>=0&&fh(Gl(n,l));)s++,l-=2;if(s%2==0)break;e+=2}else break}return e}function F0(n,e,t){for(;e>1;){let i=sd(n,e-2,t);if(i<e)return i;e--}return 0}function Gl(n,e){let t=n.charCodeAt(e);if(!od(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return ld(i)?(t-55296<<10)+(i-56320)+65536:t}function ld(n){return n>=56320&&n<57344}function od(n){return n>=55296&&n<56320}function ph(n){return n<65536?1:2}class H{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=Pn(this,e,t);let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),Dt.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Pn(this,e,t);let i=[];return this.decompose(e,t,i,0),Dt.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),r=new cr(this),s=new cr(e);for(let l=t,o=t;;){if(r.next(l),s.next(l),l=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(o+=r.value.length,r.done||o>=i)return!0}}iter(e=1){return new cr(this,e)}iterRange(e,t=this.length){return new ad(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;i=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new cd(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?H.empty:e.length<=32?new we(e):Dt.from(we.split(e,[]))}}class we extends H{constructor(e,t=H0(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,r){for(let s=0;;s++){let l=this.text[s],o=r+l.length;if((t?i:o)>=e)return new K0(r,o,i,l);r=o+1,i++}}decompose(e,t,i,r){let s=e<=0&&t>=this.length?this:new we(Oh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let l=i.pop(),o=ks(s.text,l.text.slice(),0,s.length);if(o.length<=32)i.push(new we(o,l.length+s.length));else{let a=o.length>>1;i.push(new we(o.slice(0,a)),new we(o.slice(a)))}}else i.push(s)}replace(e,t,i){if(!(i instanceof we))return super.replace(e,t,i);[e,t]=Pn(this,e,t);let r=ks(this.text,ks(i.text,Oh(this.text,0,e)),t),s=this.length+i.length-(t-e);return r.length<=32?new we(r,s):Dt.from(we.split(r,[]),s)}sliceString(e,t=this.length,i=`
|
|
8
|
-
`){[e,t]=
|
|
9
|
-
`){[e,t]=
|
|
10
|
-
`,this;e--}else if(r instanceof we){let a=r.text[l+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[l+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof we?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class ad{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new cr(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class cd{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(H.prototype[Symbol.iterator]=function(){return this.iter()},cr.prototype[Symbol.iterator]=ad.prototype[Symbol.iterator]=cd.prototype[Symbol.iterator]=function(){return this});class K0{constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}}function Pn(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Me(n,e,t=!0,i=!0){return U0(n,e,t,i)}function J0(n){return n>=56320&&n<57344}function eb(n){return n>=55296&&n<56320}function tt(n,e){let t=n.charCodeAt(e);if(!eb(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return J0(i)?(t-55296<<10)+(i-56320)+65536:t}function Wa(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Wt(n){return n<65536?1:2}const _o=/\r\n?|\n/;var je=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(je||(je={}));class Nt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,r=0;t<this.sections.length;){let s=this.sections[t++],l=this.sections[t++];l<0?(e(i,r,s),r+=s):r+=l,i+=s}}iterChangedRanges(e,t=!1){zo(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];r<0?e.push(i,r):e.push(r,i)}return new Nt(e)}composeDesc(e){return this.empty?e:e.empty?this:hd(this,e)}mapDesc(e,t=!1){return e.empty?this:Do(this,e,t)}mapPos(e,t=-1,i=je.Simple){let r=0,s=0;for(let l=0;l<this.sections.length;){let o=this.sections[l++],a=this.sections[l++],c=r+o;if(a<0){if(c>e)return s+(e-r);s+=o}else{if(i!=je.Simple&&c>=e&&(i==je.TrackDel&&r<e&&c>e||i==je.TrackBefore&&r<e||i==je.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?s:s+a;s+=a}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let i=0,r=0;i<this.sections.length&&r<=t;){let s=this.sections[i++],l=this.sections[i++],o=r+s;if(l>=0&&r<=t&&o>=e)return r<e&&o>t?"cover":!0;r=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+i+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Nt(e)}static create(e){return new Nt(e)}}class Te extends Nt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return zo(this,(t,i,r,s,l)=>e=e.replace(r,r+(i-t),l),!1),e}mapDesc(e,t=!1){return Do(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,s=0;r<t.length;r+=2){let l=t[r],o=t[r+1];if(o>=0){t[r]=o,t[r+1]=l;let a=r>>1;for(;i.length<a;)i.push(H.empty);i.push(l?e.slice(s,s+l):H.empty)}s+=l}return new Te(t,i)}compose(e){return this.empty?e:e.empty?this:hd(this,e,!0)}map(e,t=!1){return e.empty?this:Do(this,e,t,!0)}iterChanges(e,t=!1){zo(this,e,t)}get desc(){return Nt.create(this.sections)}filter(e){let t=[],i=[],r=[],s=new mr(this);e:for(let l=0,o=0;;){let a=l==e.length?1e9:e[l++];for(;o<a||o==a&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,a-o);De(r,h,-1);let u=s.ins==-1?-1:s.off==0?s.ins:0;De(t,h,u),u>0&&yi(i,t,s.text),s.forward(h),o+=h}let c=e[l++];for(;o<c;){if(s.done)break e;let h=Math.min(s.len,c-o);De(t,h,-1),De(r,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),o+=h}}return{changes:new Te(t,i),filtered:Nt.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],r=this.sections[t+1];r<0?e.push(i):r==0?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,i){let r=[],s=[],l=0,o=null;function a(h=!1){if(!h&&!r.length)return;l<t&&De(r,t-l,-1);let u=new Te(r,s);o=o?o.compose(u.map(o)):u,r=[],s=[],l=0}function c(h){if(Array.isArray(h))for(let u of h)c(u);else if(h instanceof Te){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);a(),o=o?o.compose(h.map(o)):h}else{let{from:u,to:f=u,insert:d}=h;if(u>f||u<0||f>t)throw new RangeError(`Invalid change range ${u} to ${f} (in doc of length ${t})`);let p=d?typeof d=="string"?H.of(d.split(i||_o)):d:H.empty,O=p.length;if(u==f&&O==0)return;u<l&&a(),u>l&&De(r,u-l,-1),De(r,f-u,O),yi(s,r,p),l=f}}return c(e),a(!o),o}static empty(e){return new Te(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((l,o)=>o&&typeof l!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;i.length<r;)i.push(H.empty);i[r]=H.of(s.slice(1)),t.push(s[0],i[r].length)}}}return new Te(t,i)}static createSet(e,t){return new Te(e,t)}}function De(n,e,t,i=!1){if(e==0&&t<=0)return;let r=n.length-2;r>=0&&t<=0&&t==n[r+1]?n[r]+=e:r>=0&&e==0&&n[r]==0?n[r+1]+=t:i?(n[r]+=e,n[r+1]+=t):n.push(e,t)}function yi(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<i;)n.push(H.empty);n.push(t)}}function zo(n,e,t){let i=n.inserted;for(let r=0,s=0,l=0;l<n.sections.length;){let o=n.sections[l++],a=n.sections[l++];if(a<0)r+=o,s+=o;else{let c=r,h=s,u=H.empty;for(;c+=o,h+=a,a&&i&&(u=u.append(i[l-2>>1])),!(t||l==n.sections.length||n.sections[l+1]<0);)o=n.sections[l++],a=n.sections[l++];e(r,c,s,h,u),r=c,s=h}}}function Do(n,e,t,i=!1){let r=[],s=i?[]:null,l=new mr(n),o=new mr(e);for(let a=-1;;){if(l.done&&o.len||o.done&&l.len)throw new Error("Mismatched change set lengths");if(l.ins==-1&&o.ins==-1){let c=Math.min(l.len,o.len);De(r,c,-1),l.forward(c),o.forward(c)}else if(o.ins>=0&&(l.ins<0||a==l.i||l.off==0&&(o.len<l.len||o.len==l.len&&!t))){let c=o.len;for(De(r,o.ins,-1);c;){let h=Math.min(l.len,c);l.ins>=0&&a<l.i&&l.len<=h&&(De(r,0,l.ins),s&&yi(s,r,l.text),a=l.i),l.forward(h),c-=h}o.next()}else if(l.ins>=0){let c=0,h=l.len;for(;h;)if(o.ins==-1){let u=Math.min(h,o.len);c+=u,h-=u,o.forward(u)}else if(o.ins==0&&o.len<h)h-=o.len,o.next();else break;De(r,c,a<l.i?l.ins:0),s&&a<l.i&&yi(s,r,l.text),a=l.i,l.forward(l.len-h)}else{if(l.done&&o.done)return s?Te.createSet(r,s):Nt.create(r);throw new Error("Mismatched change set lengths")}}}function hd(n,e,t=!1){let i=[],r=t?[]:null,s=new mr(n),l=new mr(e);for(let o=!1;;){if(s.done&&l.done)return r?Te.createSet(i,r):Nt.create(i);if(s.ins==0)De(i,s.len,0,o),s.next();else if(l.len==0&&!l.done)De(i,0,l.ins,o),r&&yi(r,i,l.text),l.next();else{if(s.done||l.done)throw new Error("Mismatched change set lengths");{let a=Math.min(s.len2,l.len),c=i.length;if(s.ins==-1){let h=l.ins==-1?-1:l.off?0:l.ins;De(i,a,h,o),r&&h&&yi(r,i,l.text)}else l.ins==-1?(De(i,s.off?0:s.len,a,o),r&&yi(r,i,s.textBit(a))):(De(i,s.off?0:s.len,l.off?0:l.ins,o),r&&!l.off&&yi(r,i,l.text));o=(s.ins>a||l.ins>=0&&l.len>a)&&(o||i.length>c),s.forward2(a),l.forward(a)}}}}class mr{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?H.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?H.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class bi{constructor(e,t,i,r){this.from=e,this.to=t,this.flags=i,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new bi(i,r,this.flags,this.goalColumn)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,i);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,i,r){return new bi(e,t,i,r)}}class v{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:v.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new v([this.main],0)}addRange(e,t=!0){return v.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,v.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new v(e.ranges.map(t=>bi.fromJSON(t)),e.main)}static single(e,t=e){return new v([v.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=i:s.from<i)return v.normalized(e.slice(),t);i=s.to}return new v(e,t)}static cursor(e,t=0,i,r){return bi.create(e,e,(t==0?0:t<0?8:16)|(i==null?7:Math.min(6,i)),r)}static range(e,t,i,r,s){let l=r==null?7:Math.min(6,r);return!s&&e!=t&&(s=t<e?1:-1),s&&(l|=s<0?8:16),t<e?bi.create(t,e,l|32,i):bi.create(e,t,l,i)}static undirectionalRange(e,t){return bi.create(e,t,64,void 0)}static normalized(e,t=0){let i=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(i);for(let r=1;r<e.length;r++){let s=e[r],l=e[r-1];if(s.empty?s.from<=l.to:s.from<l.to){let o=l.from,a=Math.max(s.to,l.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?v.range(a,o):v.range(o,a))}}return new v(e,t)}}function ud(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let qa=0;class Z{constructor(e,t,i,r,s){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=qa++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new Z(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:Ya),!!e.static,e.enables)}of(e){return new ws([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ws(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ws(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function Ya(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}class ws{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=qa++}dynamicSlot(e){var t;let i=this.value,r=this.facet.compareInput,s=this.id,l=e[s]>>1,o=this.type==2,a=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?a=!0:u=="selection"?c=!0:(((t=e[u.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[u.id]);return{create(u){return u.values[l]=i(u),1},update(u,f){if(a&&f.docChanged||c&&(f.docChanged||f.selection)||Wo(u,h)){let d=i(u);if(o?!gh(d,u.values[l],r):!r(d,u.values[l]))return u.values[l]=d,1}return 0},reconfigure:(u,f)=>{let d,p=f.config.address[s];if(p!=null){let O=_s(f,p);if(this.dependencies.every(m=>m instanceof Z?f.facet(m)===u.facet(m):m instanceof _e?f.field(m,!1)==u.field(m,!1):!0)||(o?gh(d=i(u),O,r):r(d=i(u),O)))return u.values[l]=O,0}else d=i(u);return u.values[l]=d,1}}}get extension(){return this}}function gh(n,e,t){if(n.length!=e.length)return!1;for(let i=0;i<n.length;i++)if(!t(n[i],e[i]))return!1;return!0}function Wo(n,e){let t=!1;for(let i of e)hr(n,i)&1&&(t=!0);return t}function tb(n,e,t){let i=t.map(a=>n[a.id]),r=t.map(a=>a.type),s=i.filter(a=>!(a&1)),l=n[e.id]>>1;function o(a){let c=[];for(let h=0;h<i.length;h++){let u=_s(a,i[h]);if(r[h]==2)for(let f of u)c.push(f);else c.push(u)}return e.combine(c)}return{create(a){for(let c of i)hr(a,c);return a.values[l]=o(a),1},update(a,c){if(!Wo(a,s))return 0;let h=o(a);return e.compare(h,a.values[l])?0:(a.values[l]=h,1)},reconfigure(a,c){let h=Wo(a,i),u=c.config.facets[e.id],f=c.facet(e);if(u&&!h&&Ya(t,u))return a.values[l]=f,0;let d=o(a);return e.compare(d,f)?(a.values[l]=f,0):(a.values[l]=d,1)}}}const Hr=Z.define({static:!0});class _e{constructor(e,t,i,r,s){this.id=e,this.createF=t,this.updateF=i,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new _e(qa++,e.create,e.update,e.compare||((i,r)=>i===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Hr).find(i=>i.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,r)=>{let s=i.values[t],l=this.updateF(s,r);return this.compareF(s,l)?0:(i.values[t]=l,1)},reconfigure:(i,r)=>{let s=i.facet(Hr),l=r.facet(Hr),o;return(o=s.find(a=>a.field==this))&&o!=l.find(a=>a.field==this)?(i.values[t]=o.create(i),1):r.config.address[this.id]!=null?(i.values[t]=r.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,Hr.of({field:this,create:e})]}get extension(){return this}}const _i={lowest:4,low:3,default:2,high:1,highest:0};function Un(n){return e=>new fd(e,n)}const Ci={highest:Un(_i.highest),high:Un(_i.high),default:Un(_i.default),low:Un(_i.low),lowest:Un(_i.lowest)};class fd{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class yl{of(e){return new qo(this,e)}reconfigure(e){return yl.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class qo{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class Ls{constructor(e,t,i,r,s,l){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=l,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let r=[],s=Object.create(null),l=new Map;for(let f of ib(e,t,l))f instanceof _e?r.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let o=Object.create(null),a=[],c=[];for(let f of r)o[f.id]=c.length<<1,c.push(d=>f.slot(d));let h=i==null?void 0:i.config.facets;for(let f in s){let d=s[f],p=d[0].facet,O=h&&h[f]||[];if(d.every(m=>m.type==0))if(o[p.id]=a.length<<1|1,Ya(O,d))a.push(i.facet(p));else{let m=p.combine(d.map(y=>y.value));a.push(i&&p.compare(m,i.facet(p))?i.facet(p):m)}else{for(let m of d)m.type==0?(o[m.id]=a.length<<1|1,a.push(m.value)):(o[m.id]=c.length<<1,c.push(y=>m.dynamicSlot(y)));o[p.id]=c.length<<1,c.push(m=>tb(m,p,d))}}let u=c.map(f=>f(o));return new Ls(e,l,u,o,a,s)}}function ib(n,e,t){let i=[[],[],[],[],[]],r=new Map;function s(l,o){let a=r.get(l);if(a!=null){if(a<=o)return;let c=i[a].indexOf(l);c>-1&&i[a].splice(c,1),l instanceof qo&&t.delete(l.compartment)}if(r.set(l,o),Array.isArray(l))for(let c of l)s(c,o);else if(l instanceof qo){if(t.has(l.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(l.compartment)||l.inner;t.set(l.compartment,c),s(c,o)}else if(l instanceof fd)s(l.inner,l.prec);else if(l instanceof _e)i[o].push(l),l.provides&&s(l.provides,o);else if(l instanceof ws)i[o].push(l),l.facet.extensions&&s(l.facet.extensions,_i.default);else{let c=l.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${l}).`);if(c==l)throw new Error(`Unrecognized extension value in extension set (${l}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,o)}}return s(n,_i.default),i.reduce((l,o)=>l.concat(o))}function hr(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let r=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|r}function _s(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const dd=Z.define(),Yo=Z.define({combine:n=>n.some(e=>e),static:!0}),pd=Z.define({combine:n=>n.length?n[0]:void 0,static:!0}),Od=Z.define(),gd=Z.define(),md=Z.define(),bd=Z.define({combine:n=>n.length?n[0]:!1});class Ft{constructor(e,t){this.type=e,this.value=t}static define(){return new nb}}class nb{of(e){return new Ft(this,e)}}class rb{constructor(e){this.map=e}of(e){return new q(this,e)}}class q{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new q(this.type,t)}is(e){return this.type==e}static define(e={}){return new rb(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let r of e){let s=r.map(t);s&&i.push(s)}return i}}q.reconfigure=q.define();q.appendConfig=q.define();class Pe{constructor(e,t,i,r,s,l){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=l,this._doc=null,this._state=null,i&&ud(i,t.newLength),s.some(o=>o.type==Pe.time)||(this.annotations=s.concat(Pe.time.of(Date.now())))}static create(e,t,i,r,s,l){return new Pe(e,t,i,r,s,l)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(Pe.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}Pe.time=Ft.define();Pe.userEvent=Ft.define();Pe.addToHistory=Ft.define();Pe.remote=Ft.define();function sb(n,e){let t=[];for(let i=0,r=0;;){let s,l;if(i<n.length&&(r==e.length||e[r]>=n[i]))s=n[i++],l=n[i++];else if(r<e.length)s=e[r++],l=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,l):t[t.length-1]<l&&(t[t.length-1]=l)}}function xd(n,e,t){var i;let r,s,l;return t?(r=e.changes,s=Te.empty(e.changes.length),l=n.changes.compose(e.changes)):(r=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),l=n.changes.compose(r)),{changes:l,selection:e.selection?e.selection.map(s):(i=n.selection)===null||i===void 0?void 0:i.map(r),effects:q.mapEffects(n.effects,r).concat(q.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function Io(n,e,t){let i=e.selection,r=gn(e.annotations);return e.userEvent&&(r=r.concat(Pe.userEvent.of(e.userEvent))),{changes:e.changes instanceof Te?e.changes:Te.of(e.changes||[],t,n.facet(pd)),selection:i&&(i instanceof v?i:v.single(i.anchor,i.head)),effects:gn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function yd(n,e,t){let i=Io(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let l=!!e[s].sequential;i=xd(i,Io(n,e[s],l?i.changes.newLength:n.doc.length),l)}let r=Pe.create(n,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return ob(t?lb(r):r)}function lb(n){let e=n.startState,t=!0;for(let r of e.facet(Od)){let s=r(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:sb(t,s))}if(t!==!0){let r,s;if(t===!1)s=n.changes.invertedDesc,r=Te.empty(e.doc.length);else{let l=n.changes.filter(t);r=l.changes,s=l.filtered.mapDesc(l.changes).invertedDesc}n=Pe.create(e,r,n.selection&&n.selection.map(s),q.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let i=e.facet(gd);for(let r=i.length-1;r>=0;r--){let s=i[r](n);s instanceof Pe?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof Pe?n=s[0]:n=yd(e,gn(s),!1)}return n}function ob(n){let e=n.startState,t=e.facet(md),i=n;for(let r=t.length-1;r>=0;r--){let s=t[r](n);s&&Object.keys(s).length&&(i=xd(i,Io(e,s,n.changes.newLength),!0))}return i==n?n:Pe.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}const ab=[];function gn(n){return n==null?ab:Array.isArray(n)?n:[n]}var ue=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(ue||(ue={}));const cb=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Vo;try{Vo=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function hb(n){if(Vo)return Vo.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||cb.test(t)))return!0}return!1}function ub(n){return e=>{if(!/\S/.test(e))return ue.Space;if(hb(e))return ue.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return ue.Word;return ue.Other}}class U{constructor(e,t,i,r,s,l){this.config=e,this.doc=t,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,l&&(l._state=this);for(let o=0;o<this.config.dynamicSlots.length;o++)hr(this,o<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(i==null){if(t)throw new RangeError("Field is not present in this state");return}return hr(this,i),_s(this,i)}update(...e){return yd(this,e,!0)}applyTransaction(e){let t=this.config,{base:i,compartments:r}=t;for(let o of e.effects)o.is(yl.reconfigure)?(t&&(r=new Map,t.compartments.forEach((a,c)=>r.set(c,a)),t=null),r.set(o.value.compartment,o.value.extension)):o.is(q.reconfigure)?(t=null,i=o.value):o.is(q.appendConfig)&&(t=null,i=gn(i).concat(o.value));let s;t?s=e.startState.values.slice():(t=Ls.resolve(i,r,this),s=new U(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,c)=>c.reconfigure(a,this),null).values);let l=e.startState.facet(Yo)?e.newSelection:e.newSelection.asSingle();new U(t,e.newDoc,l,s,(o,a)=>a.update(o,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),r=this.changes(i.changes),s=[i.range],l=gn(i.effects);for(let o=1;o<t.ranges.length;o++){let a=e(t.ranges[o]),c=this.changes(a.changes),h=c.map(r);for(let f=0;f<o;f++)s[f]=s[f].map(h);let u=r.mapDesc(c,!0);s.push(a.range.map(u)),r=r.compose(h),l=q.mapEffects(l,h).concat(q.mapEffects(gn(a.effects),u))}return{changes:r,selection:v.create(s,t.mainIndex),effects:l}}changes(e=[]){return e instanceof Te?e:Te.of(e,this.doc.length,this.facet(U.lineSeparator))}toText(e){return H.of(e.split(this.facet(U.lineSeparator)||_o))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(hr(this,t),_s(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let r=e[i];r instanceof _e&&this.config.address[r.id]!=null&&(t[i]=r.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(i){for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)){let l=i[s],o=e[s];r.push(l.init(a=>l.spec.fromJSON(o,a)))}}return U.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Ls.resolve(e.extensions||[],new Map),i=e.doc instanceof H?e.doc:H.of((e.doc||"").split(t.staticFacet(U.lineSeparator)||_o)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return ud(r,i.length),t.staticFacet(Yo)||(r=r.asSingle()),new U(t,i,r,t.dynamicSlots.map(()=>null),(s,l)=>l.create(s),null)}get tabSize(){return this.facet(U.tabSize)}get lineBreak(){return this.facet(U.lineSeparator)||`
|
|
11
|
-
`}get readOnly(){return this.facet(bd)}phrase(e,...t){for(let i of this.facet(U.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?i:t[s-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let s of this.facet(dd))for(let l of s(this,t,i))Object.prototype.hasOwnProperty.call(l,e)&&r.push(l[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return ub(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),l=e-i,o=e-i;for(;l>0;){let a=Me(t,l,!1);if(s(t.slice(a,l))!=ue.Word)break;l=a}for(;o<r;){let a=Me(t,o);if(s(t.slice(o,a))!=ue.Word)break;o=a}return l==o?null:v.range(l+i,o+i)}}U.allowMultipleSelections=Yo;U.tabSize=Z.define({combine:n=>n.length?n[0]:4});U.lineSeparator=pd;U.readOnly=bd;U.phrases=Z.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(r=>n[r]==e[r])}});U.languageData=dd;U.changeFilter=Od;U.transactionFilter=gd;U.transactionExtender=md;yl.reconfigure=q.define();function Ht(n,e,t={}){let i={};for(let r of n)for(let s of Object.keys(r)){let l=r[s],o=i[s];if(o===void 0)i[s]=l;else if(!(o===l||l===void 0))if(Object.hasOwnProperty.call(t,s))i[s]=t[s](o,l);else throw new Error("Config merge conflict for field "+s)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}class ki{eq(e){return this==e}range(e,t=e){return Bo.create(e,t,this)}}ki.prototype.startSide=ki.prototype.endSide=0;ki.prototype.point=!1;ki.prototype.mapMode=je.TrackDel;function Ia(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let Bo=class Sd{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new Sd(e,t,i)}};function No(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Va{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return an(this.to)}findIndex(e,t,i,r=0){let s=i?this.to:this.from;for(let l=r,o=s.length;;){if(l==o)return l;let a=l+o>>1,c=s[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==l)return c>=0?l:o;c>=0?o=a:l=a+1}}between(e,t,i,r){for(let s=this.findIndex(t,-1e9,!0),l=this.findIndex(i,1e9,!1,s);s<l;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t,i,r,s){let l=[],o=[],a=[],c=-1,h=-1;e:for(let u=0;u<this.value.length;u++){let f=this.value[u],d=this.from[u]+e,p=this.to[u]+e,O,m;if(d==p){let y=t.mapPos(d,f.startSide,f.mapMode);if(y==null||(O=m=y,f.startSide!=f.endSide&&(m=t.mapPos(d,f.endSide),m<O)))continue}else if(O=t.mapPos(d,f.startSide),m=t.mapPos(p,f.endSide),O>m||O==m&&f.startSide>0&&f.endSide<=0)continue;if(!((m-O||f.endSide-f.startSide)<0))if(c<0&&(c=O),f.point&&(h=Math.max(h,m-O)),(O-i||f.startSide-r)>=0)l.push(f),o.push(O-c),a.push(m-c),i=m,r=f.endSide;else{if(O==m){for(let y=l.length-1;y>0;y--)if((O-a[y-1]||f.startSide-l[y-1].endSide)<=0){l.splice(y,0,f),o.splice(y,0,O),a.splice(y,0,m);continue e}}s(O,m,f)}}return{mapped:l.length?new Va(o,a,l,h):null,pos:c}}}class N{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new N(e,t,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=e,l=e.filter;if(t.length==0&&!l)return this;if(i&&(t=t.slice().sort(No)),this.isEmpty)return t.length?N.of(t):this;let o=new kd(this,null,-1).goto(0),a=0,c=[],h=new Gt;for(;o.value||a<t.length;)if(a<t.length&&(o.from-t[a].from||o.startSide-t[a].value.startSide)>=0){let u=t[a++];h.addInner(u.from,u.to,u.value)||c.push(u)}else o.rangeIndex==1&&o.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(o.chunkIndex)<t[a].from)&&(!l||r>this.chunkEnd(o.chunkIndex)||s<this.chunkPos[o.chunkIndex])&&h.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!l||r>o.to||s<o.from||l(o.from,o.to,o.value))&&(h.addInner(o.from,o.to,o.value)||c.push(Bo.create(o.from,o.to,o.value))),o.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?N.empty:this.nextLayer.update({add:c,filter:l,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],r=-1,s,l=(a,c,h)=>{s||(s=new Gt),s.add(a,c,h)};for(let a=0;a<this.chunk.length;a++){let c=this.chunkPos[a],h=this.chunk[a],u=e.touchesRange(c,c+h.length);if(u===!1)r=Math.max(r,h.maxPoint),t.push(h),i.push(e.mapPos(c));else if(u===!0){let[f,d]=t.length?[an(i)+an(t).length,an(an(t).value).endSide]:[-1,-1],{mapped:p,pos:O}=h.map(c,e,f,d,l);p&&(r=Math.max(r,p.maxPoint),t.push(p),i.push(O))}}let o=this.nextLayer.map(e);return s&&(o=s.finishInner(o)),t.length==0?o:new N(i,t,o||N.empty,r)}between(e,t,i){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],l=this.chunk[r];if(t>=s&&e<=s+l.length&&l.between(s,e-s,t-s,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return br.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return br.from(e).goto(t)}static compare(e,t,i,r,s=-1){let l=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),o=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),a=mh(l,o,i),c=new Fn(l,a,s),h=new Fn(o,a,s);i.iterGaps((u,f,d)=>bh(c,u,h,f,d,r)),i.empty&&i.length==0&&bh(c,0,h,0,0,r)}static eq(e,t,i=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),l=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=l.length)return!1;if(!s.length)return!0;let o=mh(s,l),a=new Fn(s,o,0).goto(i),c=new Fn(l,o,0).goto(i);for(;;){if(a.to!=c.to||!Go(a.active,c.active)||a.point&&(!c.point||!Ia(a.point,c.point)))return!1;if(a.to>r)return!0;a.next(),c.next()}}static spans(e,t,i,r,s=-1){let l=new Fn(e,null,s).goto(t),o=t,a=l.openStart;for(;;){let c=Math.min(l.to,i);if(l.point){let h=l.activeForPoint(l.to),u=l.pointFrom<t?h.length+1:l.point.startSide<0?h.length:Math.min(h.length,a);r.point(o,c,l.point,h,u,l.pointRank),a=Math.min(l.openEnd(c),h.length)}else c>o&&(r.span(o,c,l.active,a),a=l.openEnd(c));if(l.to>i)return a+(l.point&&l.to>i?1:0);o=l.to,l.next()}}static of(e,t=!1){let i=new Gt;for(let r of e instanceof Bo?[e]:t?fb(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return N.empty;let t=an(e);for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=N.empty;r=r.nextLayer)t=new N(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}}N.empty=new N([],[],null,-1);function an(n){return n[n.length-1]}function fb(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let i=n[t];if(No(e,i)>0)return n.slice().sort(No);e=i}return n}N.empty.nextLayer=N.empty;class Gt{finishChunk(e){this.chunks.push(new Va(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Gt)).add(e,t,i)}addInner(e,t,i){let r=e-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(N.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=N.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function mh(n,e,t){let i=new Map;for(let s of n)for(let l=0;l<s.chunk.length;l++)s.chunk[l].maxPoint<=0&&i.set(s.chunk[l],s.chunkPos[l]);let r=new Set;for(let s of e)for(let l=0;l<s.chunk.length;l++){let o=i.get(s.chunk[l]);o!=null&&(t?t.mapPos(o):o)==s.chunkPos[l]&&!(t!=null&&t.touchesRange(o,o+s.chunk[l].length))&&r.add(s.chunk[l])}return r}class kd{constructor(e,t,i,r=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class br{constructor(e){this.heap=e}static from(e,t=null,i=-1){let r=[];for(let s=0;s<e.length;s++)for(let l=e[s];!l.isEmpty;l=l.nextLayer)l.maxPoint>=i&&r.push(new kd(l,t,i,s));return r.length==1?r[0]:new br(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)Ul(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)Ul(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Ul(this.heap,0)}}}function Ul(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let r=n[i];if(i+1<n.length&&r.compare(n[i+1])>=0&&(r=n[i+1],i++),t.compare(r)<0)break;n[i]=t,n[e]=r,e=i}}class Fn{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=br.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Kr(this.active,e),Kr(this.activeTo,e),Kr(this.activeRank,e),this.minActive=xh(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;Jr(this.active,t,i),Jr(this.activeTo,t,r),Jr(this.activeRank,t,s),e&&Jr(e,t,this.cursor.from),this.minActive=xh(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&Kr(i,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let r=i.length-1;r>=0&&i[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function bh(n,e,t,i,r,s){n.goto(e),t.goto(i);let l=i+r,o=i,a=i-e,c=!!s.boundChange;for(let h=!1;;){let u=n.to+a-t.to,f=u||n.endSide-t.endSide,d=f<0?n.to+a:t.to,p=Math.min(d,l);if(n.point||t.point?(n.point&&t.point&&Ia(n.point,t.point)&&Go(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(o,p,n.point,t.point),h=!1):(h&&s.boundChange(o),p>o&&!Go(n.active,t.active)&&s.compareRange(o,p,n.active,t.active),c&&p<l&&(u||n.openEnd(d)!=t.openEnd(d))&&(h=!0)),d>l)break;o=d,f<=0&&n.next(),f>=0&&t.next()}}function Go(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!Ia(n[t],e[t]))return!1;return!0}function Kr(n,e){for(let t=e,i=n.length-1;t<i;t++)n[t]=n[t+1];n.pop()}function Jr(n,e,t){for(let i=n.length-1;i>=e;i--)n[i+1]=n[i];n[e]=t}function xh(n,e){let t=-1,i=1e9;for(let r=0;r<e.length;r++)(e[r]-i||n[r].endSide-n[t].endSide)<0&&(t=r,i=e[r]);return t}function _n(n,e,t=n.length){let i=0;for(let r=0;r<t&&r<n.length;)n.charCodeAt(r)==9?(i+=e-i%e,r++):(i++,r=Me(n,r));return i}function Uo(n,e,t,i){for(let r=0,s=0;;){if(s>=e)return r;if(r==n.length)break;s+=n.charCodeAt(r)==9?t-s%t:1,r=Me(n,r)}return i===!0?-1:n.length}const Fo="ͼ",yh=typeof Symbol>"u"?"__"+Fo:Symbol.for(Fo),Ho=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Sh=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class wi{constructor(e,t){this.rules=[];let{finish:i}=t||{};function r(l){return/^@/.test(l)?[l]:l.split(/,\s*/)}function s(l,o,a,c){let h=[],u=/^@(\w+)\b/.exec(l[0]),f=u&&u[1]=="keyframes";if(u&&o==null)return a.push(l[0]+";");for(let d in o){let p=o[d];if(/&/.test(d))s(d.split(/,\s*/).map(O=>l.map(m=>O.replace(/&/,m))).reduce((O,m)=>O.concat(m)),p,a);else if(p&&typeof p=="object"){if(!u)throw new RangeError("The value of a property ("+d+") should be a primitive value.");s(r(d),p,h,f)}else p!=null&&h.push(d.replace(/_.*/,"").replace(/[A-Z]/g,O=>"-"+O.toLowerCase())+": "+p+";")}(h.length||f)&&a.push((i&&!u&&!c?l.map(i):l).join(", ")+" {"+h.join(" ")+"}")}for(let l in e)s(r(l),e[l],this.rules)}getRules(){return this.rules.join(`
|
|
12
|
-
`)}static newName(){let e=
|
|
13
|
-
`;this.styleTag.textContent=l;let o=t.head||t;this.styleTag.parentNode!=o&&o.insertBefore(this.styleTag,o.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Qi={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},xr={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},pb=typeof navigator<"u"&&/Mac/.test(navigator.platform),Ob=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Xe=0;Xe<10;Xe++)Qi[48+Xe]=Qi[96+Xe]=String(Xe);for(var Xe=1;Xe<=24;Xe++)Qi[Xe+111]="F"+Xe;for(var Xe=65;Xe<=90;Xe++)Qi[Xe]=String.fromCharCode(Xe+32),xr[Xe]=String.fromCharCode(Xe);for(var Fl in Qi)xr.hasOwnProperty(Fl)||(xr[Fl]=Qi[Fl]);function gb(n){var e=pb&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||Ob&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?xr:Qi)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function le(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var r=t[i];typeof r=="string"?n.setAttribute(i,r):r!=null&&(n[i]=r)}e++}for(;e<arguments.length;e++)wd(n,arguments[e]);return n}function wd(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)wd(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let Ge=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Ko=typeof document<"u"?document:{documentElement:{style:{}}};const Jo=/Edge\/(\d+)/.exec(Ge.userAgent),Qd=/MSIE \d/.test(Ge.userAgent),ea=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ge.userAgent),Sl=!!(Qd||ea||Jo),wh=!Sl&&/gecko\/(\d+)/i.test(Ge.userAgent),Hl=!Sl&&/Chrome\/(\d+)/.exec(Ge.userAgent),Qh="webkitFontSmoothing"in Ko.documentElement.style,ta=!Sl&&/Apple Computer/.test(Ge.vendor),vh=ta&&(/Mobile\/\w+/.test(Ge.userAgent)||Ge.maxTouchPoints>2);var M={mac:vh||/Mac/.test(Ge.platform),windows:/Win/.test(Ge.platform),linux:/Linux|X11/.test(Ge.platform),ie:Sl,ie_version:Qd?Ko.documentMode||6:ea?+ea[1]:Jo?+Jo[1]:0,gecko:wh,gecko_version:wh?+(/Firefox\/(\d+)/.exec(Ge.userAgent)||[0,0])[1]:0,chrome:!!Hl,chrome_version:Hl?+Hl[1]:0,ios:vh,android:/Android\b/.test(Ge.userAgent),webkit:Qh,webkit_version:Qh?+(/\bAppleWebKit\/(\d+)/.exec(Ge.userAgent)||[0,0])[1]:0,safari:ta,safari_version:ta?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ge.userAgent)||[0,0])[1]:0,tabSize:Ko.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ba(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const zs=Object.create(null);function Na(n,e,t){if(n==e)return!0;n||(n=zs),e||(e=zs);let i=Object.keys(n),r=Object.keys(e);if(i.length-0!=r.length-0)return!1;for(let s of i)if(s!=t&&(r.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function mb(n,e){for(let t=n.attributes.length-1;t>=0;t--){let i=n.attributes[t].name;e[i]==null&&n.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?n.style.cssText=i:n.getAttribute(t)!=i&&n.setAttribute(t,i)}}function $h(n,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?n.style.cssText="":n.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?n.style.cssText=t[r]:n.setAttribute(r,t[r]));return i}function bb(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}class Tt{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Ee=(function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n})(Ee||(Ee={}));class _ extends ki{constructor(e,t,i,r){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Lr(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Ni(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:l}=vd(e,t);i=(s?t?-3e8:-1:5e8)-1,r=(l?t?2e8:1:-6e8)+1}return new Ni(e,i,r,t,e.widget||null,!0)}static line(e){return new _r(e)}static set(e,t=!1){return N.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}_.none=N.empty;class Lr extends _{constructor(e){let{start:t,end:i}=vd(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ba(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||zs}eq(e){return this==e||e instanceof Lr&&this.tagName==e.tagName&&Na(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Lr.prototype.point=!1;class _r extends _{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof _r&&this.spec.class==e.spec.class&&Na(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}_r.prototype.mapMode=je.TrackBefore;_r.prototype.point=!0;class Ni extends _{constructor(e,t,i,r,s,l){super(t,i,s,e),this.block=r,this.isReplace=l,this.mapMode=r?t<=0?je.TrackBefore:je.TrackAfter:je.TrackDel}get type(){return this.startSide!=this.endSide?Ee.WidgetRange:this.startSide<=0?Ee.WidgetBefore:Ee.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Ni&&xb(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Ni.prototype.point=!0;function vd(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function xb(n,e){return n==e||!!(n&&e&&n.compare(e))}function mn(n,e,t,i=0){let r=t.length-1;r>=0&&t[r]+i>=n?t[r]=Math.max(t[r],e):t.push(n,e)}class yr extends ki{constructor(e,t,i){super(),this.tagName=e,this.attributes=t,this.rank=i}eq(e){return e==this||e instanceof yr&&this.tagName==e.tagName&&Na(this.attributes,e.attributes)}static create(e){return new yr(e.tagName,e.attributes||zs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return N.of(e,t)}}yr.prototype.startSide=yr.prototype.endSide=-1;function Sr(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function ia(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function ur(n,e){if(!e.anchorNode)return!1;try{return ia(n,e.anchorNode)}catch{return!1}}function fr(n){return n.nodeType==3?wr(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function dr(n,e,t,i){return t?Ph(n,e,t,i,-1)||Ph(n,e,t,i,1):!1}function vi(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function Ds(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Ph(n,e,t,i,r){for(;;){if(n==t&&e==i)return!0;if(e==(r<0?0:oi(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=vi(n)+(r<0?0:1),n=s}else if(n.nodeType==1){if(n=n.childNodes[e+(r<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=r<0?oi(n):0}else return!1}}function oi(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function kr(n,e){let{left:t,right:i}=n;if(t==i)return n;let r=e?t:i;return{left:r,right:r,top:n.top,bottom:n.bottom}}function yb(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function $d(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function Sb(n,e,t,i,r,s,l,o){let a=n.ownerDocument,c=a.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let f,d=h==a.body,p=1,O=1;if(d)f=yb(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let k=h.getBoundingClientRect();({scaleX:p,scaleY:O}=$d(h,k)),f={left:k.left,right:k.left+h.clientWidth*p,top:k.top,bottom:k.top+h.clientHeight*O}}let m=0,y=0;if(r=="nearest")e.top<f.top+l?(y=e.top-(f.top+l),t>0&&e.bottom>f.bottom+y&&(y=e.bottom-f.bottom+l)):e.bottom>f.bottom-l&&(y=e.bottom-f.bottom+l,t<0&&e.top-y<f.top&&(y=e.top-(f.top+l)));else{let k=e.bottom-e.top,w=f.bottom-f.top;y=(r=="center"&&k<=w?e.top+k/2-w/2:r=="start"||r=="center"&&t<0?e.top-l:e.bottom-w+l)-f.top}if(i=="nearest"?e.left<f.left+s?(m=e.left-(f.left+s),t>0&&e.right>f.right+m&&(m=e.right-f.right+s)):e.right>f.right-s&&(m=e.right-f.right+s,t<0&&e.left<f.left+m&&(m=e.left-(f.left+s))):m=(i=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:i=="start"==o?e.left-s:e.right-(f.right-f.left)+s)-f.left,m||y)if(d)c.scrollBy(m,y);else{let k=0,w=0;if(y){let T=h.scrollTop;h.scrollTop+=y/O,w=(h.scrollTop-T)*O}if(m){let T=h.scrollLeft;h.scrollLeft+=m/p,k=(h.scrollLeft-T)*p}e={left:e.left-k,top:e.top-w,right:e.right-k,bottom:e.bottom-w},k&&Math.abs(k-m)<1&&(i="nearest"),w&&Math.abs(w-y)<1&&(r="nearest")}if(d)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Pd(n,e=!0){let t=n.ownerDocument,i=null,r=null;for(let s=n.parentNode;s&&!(s==t.body||(!e||i)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!i&&s.scrollWidth>s.clientWidth&&(i=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:i,y:r}}class kb{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?oi(t):0),i,Math.min(e.focusOffset,i?oi(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}}function Td(n){let e=[];for(let t=n;t;t=t.nodeType==11?t.host:t.parentNode)t.nodeType==1&&e.push({node:t,left:t.scrollLeft,top:t.scrollTop});return e}function Cd(n,e=!0){for(let{node:t,left:i,top:r}of n)e&&t.scrollTop!=r&&(t.scrollTop=r),t.scrollLeft!=i&&(t.scrollLeft=i)}let Li=null;M.safari&&M.safari_version>=26&&(Li=!1);function Ad(n){if(n.setActive)return n.setActive();if(Li)return n.focus(Li);let e=Td(n);n.focus(Li==null?{get preventScroll(){return Li={preventScroll:!0},!0}}:void 0),Li||(Li=!1,Cd(e))}let Th;function wr(n,e,t=e){let i=Th||(Th=document.createRange());return i.setEnd(n,t),i.setStart(n,e),i}function bn(n,e,t,i){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=i);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,n.dispatchEvent(s);let l=new KeyboardEvent("keyup",r);return l.synthetic=!0,n.dispatchEvent(l),s.defaultPrevented||l.defaultPrevented}function wb(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function Qb(n,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,oi(t));;)if(i){if(t.nodeType!=1)return!1;let r=t.childNodes[i-1];r.contentEditable=="false"?i--:(t=r,i=oi(t))}else{if(t==n)return!0;i=vi(t),t=t.parentNode}}function Rd(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function Md(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=oi(t)}else if(t.parentNode&&!Ds(t))i=vi(t),t=t.parentNode;else return null}}function Zd(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i<t.nodeValue.length)return{node:t,offset:i};if(t.nodeType==1&&i<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[i],i=0}else if(t.parentNode&&!Ds(t))i=vi(t)+1,t=t.parentNode;else return null}}class vt{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new vt(e.parentNode,vi(e),t)}static after(e,t){return new vt(e.parentNode,vi(e)+1,t)}}var ce=(function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n})(ce||(ce={}));const Gi=ce.LTR,Ga=ce.RTL;function Xd(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const vb=Xd("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),$b=Xd("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),na=Object.create(null),Xt=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);na[e]=t,na[t]=-e}function jd(n){return n<=247?vb[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?$b[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const Pb=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class Yt{get dir(){return this.level%2?Ga:Gi}constructor(e,t,i){this.from=e,this.to=t,this.level=i}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,i,r){let s=-1;for(let l=0;l<e.length;l++){let o=e[l];if(o.from<=t&&o.to>=t){if(o.level==i)return l;(s<0||(r!=0?r<0?o.from<t:o.to>t:e[s].level>o.level))&&(s=l)}}if(s<0)throw new RangeError("Index out of range");return s}}function Ed(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let i=n[t],r=e[t];if(i.from!=r.from||i.to!=r.to||i.direction!=r.direction||!Ed(i.inner,r.inner))return!1}return!0}const ae=[];function Tb(n,e,t,i,r){for(let s=0;s<=i.length;s++){let l=s?i[s-1].to:e,o=s<i.length?i[s].from:t,a=s?256:r;for(let c=l,h=a,u=a;c<o;c++){let f=jd(n.charCodeAt(c));f==512?f=h:f==8&&u==4&&(f=16),ae[c]=f==4?2:f,f&7&&(u=f),h=f}for(let c=l,h=a,u=a;c<o;c++){let f=ae[c];if(f==128)c<o-1&&h==ae[c+1]&&h&24?f=ae[c]=h:ae[c]=256;else if(f==64){let d=c+1;for(;d<o&&ae[d]==64;)d++;let p=c&&h==8||d<t&&ae[d]==8?u==1?1:8:256;for(let O=c;O<d;O++)ae[O]=p;c=d-1}else f==8&&u==1&&(ae[c]=1);h=f,f&7&&(u=f)}}}function Cb(n,e,t,i,r){let s=r==1?2:1;for(let l=0,o=0,a=0;l<=i.length;l++){let c=l?i[l-1].to:e,h=l<i.length?i[l].from:t;for(let u=c,f,d,p;u<h;u++)if(d=na[f=n.charCodeAt(u)])if(d<0){for(let O=o-3;O>=0;O-=3)if(Xt[O+1]==-d){let m=Xt[O+2],y=m&2?r:m&4?m&1?s:r:0;y&&(ae[u]=ae[Xt[O]]=y),o=O;break}}else{if(Xt.length==189)break;Xt[o++]=u,Xt[o++]=f,Xt[o++]=a}else if((p=ae[u])==2||p==1){let O=p==r;a=O?0:1;for(let m=o-3;m>=0;m-=3){let y=Xt[m+2];if(y&2)break;if(O)Xt[m+2]|=2;else{if(y&4)break;Xt[m+2]|=4}}}}}function Ab(n,e,t,i){for(let r=0,s=i;r<=t.length;r++){let l=r?t[r-1].to:n,o=r<t.length?t[r].from:e;for(let a=l;a<o;){let c=ae[a];if(c==256){let h=a+1;for(;;)if(h==o){if(r==t.length)break;h=t[r++].to,o=r<t.length?t[r].from:e}else if(ae[h]==256)h++;else break;let u=s==1,f=(h<e?ae[h]:i)==1,d=u==f?u?1:2:i;for(let p=h,O=r,m=O?t[O-1].to:n;p>a;)p==m&&(p=t[--O].from,m=O?t[O-1].to:n),ae[--p]=d;a=h}else s=c,a++}}}function ra(n,e,t,i,r,s,l){let o=i%2?2:1;if(i%2==r%2)for(let a=e,c=0;a<t;){let h=!0,u=!1;if(c==s.length||a<s[c].from){let O=ae[a];O!=o&&(h=!1,u=O==16)}let f=!h&&o==1?[]:null,d=h?i:i+1,p=a;e:for(;;)if(c<s.length&&p==s[c].from){if(u)break e;let O=s[c];if(!h)for(let m=O.to,y=c+1;;){if(m==t)break e;if(y<s.length&&s[y].from==m)m=s[y++].to;else{if(ae[m]==o)break e;break}}if(c++,f)f.push(O);else{O.from>a&&l.push(new Yt(a,O.from,d));let m=O.direction==Gi!=!(d%2);sa(n,m?i+1:i,r,O.inner,O.from,O.to,l),a=O.to}p=O.to}else{if(p==t||(h?ae[p]!=o:ae[p]==o))break;p++}f?ra(n,a,p,i+1,r,f,l):a<p&&l.push(new Yt(a,p,d)),a=p}else for(let a=t,c=s.length;a>e;){let h=!0,u=!1;if(!c||a>s[c-1].to){let O=ae[a-1];O!=o&&(h=!1,u=O==16)}let f=!h&&o==1?[]:null,d=h?i:i+1,p=a;e:for(;;)if(c&&p==s[c-1].to){if(u)break e;let O=s[--c];if(!h)for(let m=O.from,y=c;;){if(m==e)break e;if(y&&s[y-1].to==m)m=s[--y].from;else{if(ae[m-1]==o)break e;break}}if(f)f.push(O);else{O.to<a&&l.push(new Yt(O.to,a,d));let m=O.direction==Gi!=!(d%2);sa(n,m?i+1:i,r,O.inner,O.from,O.to,l),a=O.from}p=O.from}else{if(p==e||(h?ae[p-1]!=o:ae[p-1]==o))break;p--}f?ra(n,p,a,i+1,r,f,l):p<a&&l.push(new Yt(p,a,d)),a=p}}function sa(n,e,t,i,r,s,l){let o=e%2?2:1;Tb(n,r,s,i,o),Cb(n,r,s,i,o),Ab(r,s,i,o),ra(n,r,s,e,t,i,l)}function Rb(n,e,t){if(!n)return[new Yt(0,0,e==Ga?1:0)];if(e==Gi&&!t.length&&!Pb.test(n))return Ld(n.length);if(t.length)for(;n.length>ae.length;)ae[ae.length]=256;let i=[],r=e==Gi?0:1;return sa(n,r,r,t,0,n.length,i),i}function Ld(n){return[new Yt(0,n,0)]}let _d="";function Mb(n,e,t,i,r){var s;let l=i.head-n.from,o=Yt.find(e,l,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),a=e[o],c=a.side(r,t);if(l==c){let f=o+=r?1:-1;if(f<0||f>=e.length)return null;a=e[o=f],l=a.side(!r,t),c=a.side(r,t)}let h=Me(n.text,l,a.forward(r,t));(h<a.from||h>a.to)&&(h=c),_d=n.text.slice(Math.min(l,h),Math.max(l,h));let u=o==(r?e.length-1:0)?null:e[o+(r?1:-1)];return u&&h==c&&u.level+(r?0:1)<a.level?v.cursor(u.side(!r,t)+n.from,u.forward(r,t)?1:-1,u.level):v.cursor(h+n.from,a.forward(r,t)?-1:1,a.level)}function Zb(n,e,t){for(let i=e;i<t;i++){let r=jd(n.charCodeAt(i));if(r==1)return Gi;if(r==2||r==4)return Ga}return Gi}const zd=Z.define(),Dd=Z.define(),Wd=Z.define(),qd=Z.define(),la=Z.define(),Yd=Z.define(),Id=Z.define(),Ua=Z.define(),Fa=Z.define(),Vd=Z.define({combine:n=>n.some(e=>e)}),Bd=Z.define({combine:n=>n.some(e=>e)}),Nd=Z.define();class xn{constructor(e,t,i,r,s,l=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=l}map(e){return e.empty?this:new xn(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new xn(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const es=q.define({map:(n,e)=>n.map(e)}),Gd=q.define();function rt(n,e,t){let i=n.facet(qd);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const ri=Z.define({combine:n=>n.length?n[0]:!0});let Xb=0;const fn=Z.define({combine(n){return n.filter((e,t)=>{for(let i=0;i<t;i++)if(n[i].plugin==e.plugin)return!1;return!0})}});class be{constructor(e,t,i,r,s){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=r,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(fn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(fn.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:i,eventObservers:r,provide:s,decorations:l}=t||{};return new be(Xb++,e,i,r,o=>{let a=[];return l&&a.push(kl.of(c=>{let h=c.plugin(o);return h?l(h):_.none})),s&&a.push(s(o)),a})}static fromClass(e,t){return be.define((i,r)=>new e(i,r),t)}}class Kl{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(rt(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){rt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){rt(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Ud=Z.define(),Ha=Z.define(),kl=Z.define(),Fd=Z.define(),Ka=Z.define(),zr=Z.define(),Hd=Z.define();function Ch(n,e){let t=n.state.facet(Hd);if(!t.length)return t;let i=t.map(s=>s instanceof Function?s(n):s),r=[];return N.spans(i,e.from,e.to,{point(){},span(s,l,o,a){let c=s-e.from,h=l-e.from,u=r;for(let f=o.length-1;f>=0;f--,a--){let d=o[f].spec.bidiIsolate,p;if(d==null&&(d=Zb(e.text,c,h)),a>0&&u.length&&(p=u[u.length-1]).to==c&&p.direction==d)p.to=h,u=p.inner;else{let O={from:c,to:h,direction:d,inner:[]};u.push(O),u=O.inner}}}}),r}const Kd=Z.define();function Ja(n){let e=0,t=0,i=0,r=0;for(let s of n.state.facet(Kd)){let l=s(n);l&&(l.left!=null&&(e=Math.max(e,l.left)),l.right!=null&&(t=Math.max(t,l.right)),l.top!=null&&(i=Math.max(i,l.top)),l.bottom!=null&&(r=Math.max(r,l.bottom)))}return{left:e,right:t,top:i,bottom:r}}const nr=Z.define();class gt{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new gt(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>i.toA)){if(r.toA<i.fromA)break;i=i.join(r),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(t.length==0)return e;let i=[];for(let r=0,s=0,l=0;;){let o=r<e.length?e[r].fromB:1e9,a=s<t.length?t[s]:1e9,c=Math.min(o,a);if(c==1e9)break;let h=c+l,u=c,f=h;for(;;)if(s<t.length&&t[s]<=u){let d=t[s+1];s+=2,u=Math.max(u,d);for(let p=r;p<e.length&&e[p].fromB<=u;p++)l=e[p].toA-e[p].toB;f=Math.max(f,d+l)}else if(r<e.length&&e[r].fromB<=u){let d=e[r++];u=Math.max(u,d.toB),f=Math.max(f,d.toA),l=d.toA-d.toB}else break;i.push(new gt(h,f,c,u))}return i}}class Ws{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=Te.empty(this.startState.doc.length);for(let s of i)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,l,o,a)=>r.push(new gt(s,l,o,a))),this.changedRanges=r}static create(e,t,i){return new Ws(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const jb=[];class me{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return jb}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&mb(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let r of this.children){if(r==e)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,i){return null}domPosFor(e,t){let i=vi(this.dom),r=this.length?e>0:t>0;return new vt(this.parent.dom,i+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Ql)return e;return null}static get(e){return e.cmTile}}class wl extends me{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,i=null,r,s=(e==null?void 0:e.node)==t?e:null,l=0;for(let o of this.children){if(o.sync(e),l+=o.length+o.breakAfter,r=i?i.nextSibling:t.firstChild,s&&r!=o.dom&&(s.written=!0),o.dom.parentNode==t)for(;r&&r!=o.dom;)r=Ah(r);else t.insertBefore(o.dom,r);i=o.dom}for(r=i?i.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Ah(r);this.length=l}}function Ah(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class Ql extends wl{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=me.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,r=0,s=0;;)if(r==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&s++,r=t.pop()}else{let l=i.children[r++];if(l instanceof si)t.push(r),i=l,r=0;else{let o=s+l.length,a=e(l,s);if(a!==void 0)return a;s=o+l.breakAfter}}}resolveBlock(e,t){let i,r=-1,s,l=-1;if(this.blockTiles((o,a)=>{let c=a+o.length;if(e>=a&&e<=c){if(o.isWidget()&&t>=-1&&t<=1){if(o.flags&32)return!0;o.flags&16&&(i=void 0)}(a<e||e==c&&(t<-1?o.length:o.covers(1)))&&(!i||!o.isWidget()&&i.isWidget())&&(i=o,r=e-a),(c>e||e==a&&(t>1?o.length:o.covers(-1)))&&(!s||!o.isWidget()&&s.isWidget())&&(s=o,l=e-a)}}),!i&&!s)throw new Error("No tile at position "+e);return i&&t<0||!s?{tile:i,offset:r}:{tile:s,offset:l}}}class si extends wl{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new si(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class Tn extends wl{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let r=new Tn(t||document.createElement("div"),e);return(!t||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,i){let r=null,s=-1,l=null,o=-1;function a(h,u){for(let f=0,d=0;f<h.children.length&&d<=u;f++){let p=h.children[f],O=d+p.length;O>=u&&(p.isComposite()?a(p,u-d):(!l||l.isHidden&&(t>0&&!(l.flags&32)||i&&Lb(l,p)))&&(O>u||p.flags&32&&t<=1)?(l=p,o=u-d):(d<u||p.flags&16&&!p.isHidden&&t>=-1)&&(r=p,s=u-d)),d=O}}a(this,e);let c=(t<0?r:l)||r||l;return c?{tile:c,offset:c==r?s:o}:null}coordsIn(e,t,i){let r=this.resolveInline(e,t,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),t,i):Eb(this)}domIn(e,t){let i=this.resolveInline(e,t);if(i){let{tile:r,offset:s}=i;if(this.dom.contains(r.dom))return r.isText()?new vt(r.dom,Math.min(r.dom.nodeValue.length,s)):r.domPosFor(s,r.flags&16?1:r.flags&32?-1:t);let l=i.tile.parent,o=!1;for(let a of l.children){if(o)return new vt(a.dom,0);a==i.tile&&(o=!0)}}return new vt(this.dom,0)}}function Eb(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=fr(e);return t[t.length-1]||null}function Lb(n,e){let t=n.coordsIn(0,1),i=e.coordsIn(0,1);return t&&i&&i.top<t.bottom}class nt extends wl{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let i=new nt(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class Yi extends me{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t,i){let r=this.dom.nodeValue.length;e>r&&(e=r);let s=e,l=e,o=0;e==0&&t<0||e==r&&t>=0?M.chrome||M.gecko||(e?(s--,o=1):l<r&&(l++,o=-1)):t<0?s--:l<r&&l++;let a=wr(this.dom,s,l).getClientRects();if(!a.length)return null;let c=a[(o?o<0:t>=0)?0:a.length-1];return M.safari&&!o&&c.width==0&&(c=Array.prototype.find.call(a,h=>h.width)||c),i==null?c:kr(c,(o?o>0:t<0)==i)}static of(e,t){let i=new Yi(t||document.createTextNode(e),e);return t||(i.flags|=2),i}}class Ui extends me{constructor(e,t,i,r){super(e,t,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(i)return kr(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),l=null;if(!s.length)return null;let o=this.flags&16?!0:this.flags&32?!1:e>0;for(let a=o?s.length-1:0;l=s[a],!(e>0?a==0:a==s.length-1||l.top<l.bottom);a+=o?-1:1);return kr(l,!o)}}get overrideDOMText(){if(!this.length)return H.empty;let{root:e}=this;if(!e)return H.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,i,r,s){return s||(s=e.toDOM(t),e.editable||(s.contentEditable="false")),new Ui(s,i,e,r)}}class qs extends me{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!0}get overrideDOMText(){return H.empty}coordsIn(e,t,i){let r=this.dom.getBoundingClientRect();return i==null?r:kr(r,t>0==i)}}class _b{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,i){let{tile:r,index:s,beforeBreak:l,parents:o}=this;for(;e||t>0;)if(r.isComposite())if(l){if(!e)break;i&&i.break(),e--,l=!1}else if(s==r.children.length){if(!e&&!o.length)break;i&&i.leave(r),l=!!r.breakAfter,{tile:r,index:s}=o.pop(),s++}else{let a=r.children[s],c=a.breakAfter;(t>0?a.length<=e:a.length<e)&&(!i||i.skip(a,0,a.length)!==!1||!a.isComposite)?(l=!!c,s++,e-=a.length):(o.push({tile:r,index:s}),r=a,s=0,i&&a.isComposite()&&i.enter(a))}else{let a=r.length;if(s<a&&e){let c=Math.min(e,a-s);i&&i.skip(r,s,s+c),e-=c,s+=c}if(s==a)l=!!r.breakAfter,{tile:r,index:s}=o.pop(),s++;else if(!e)break}return this.tile=r,this.index=s,this.beforeBreak=l,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class zb{constructor(e,t,i,r){this.from=e,this.to=t,this.wrapper=i,this.rank=r}}class Db{constructor(e,t,i){this.cache=e,this.root=t,this.blockWrappers=i,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,i,r){var s;this.flushBuffer();let l=this.ensureMarks(t,i),o=l.lastChild;if(o&&o.isText()&&!(o.flags&8)&&o.length+e.length<512){this.cache.reused.set(o,2);let a=l.children[l.children.length-1]=new Yi(o.dom,o.text+e);a.parent=l}else l.append(r||Yi.of(e,(s=this.cache.find(Yi))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let i=this.curLine;i.dom!=t.line.dom&&(i.setDOM(this.cache.reused.has(t.line)?Jl(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let r=i;for(let o=t.marks.length-1;o>=0;o--){let a=t.marks[o],c=r.lastChild;if(c instanceof nt&&c.mark.eq(a.mark))c.dom!=a.dom&&c.setDOM(Jl(a.dom)),r=c;else{if(this.cache.reused.get(a)){let u=me.get(a.dom);u&&u.setDOM(Jl(a.dom))}let h=nt.of(a.mark,a.dom);r.append(h),r=h}this.cache.reused.set(a,2)}let s=me.get(e.text);s&&this.cache.reused.set(s,2);let l=new Yi(e.text,e.text.nodeValue);l.flags|=8,this.pos=e.range.toB,r.append(l)}addInlineWidget(e,t,i){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,i);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=Jd);let r=Tn.start(e,t||((i=this.cache.find(Tn))===null||i===void 0?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let l=e[s],o;if(t>0&&(o=r.lastChild)&&o instanceof nt&&o.mark.eq(l))r=o,t--;else{let a=nt.of(l,(i=this.cache.find(nt,c=>c.mark.eq(l)))===null||i===void 0?void 0:i.dom);r.append(a),r=a,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Rh(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(M.ios&&Rh(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(eo,0,32)||new Ui(eo.toDOM(),0,eo,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=e.rank*102+e.value.rank,i=new zb(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let r=t.lastChild;if(i.from<this.pos&&r instanceof si&&r.wrapper.eq(i.wrapper))t=r;else{let s=si.of(i.wrapper,(e=this.cache.find(si,l=>l.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find(qs,void 0,1);return i&&(i.flags=t),i||new qs(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class Wb{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:l}=this.cursor.next(this.skipCount);if(this.skipCount=0,l)throw new Error("Ran out of text content when drawing inline views");this.text=r;let o=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,o)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}}const Ys=[Ui,Tn,Yi,nt,qs,si,Ql];for(let n=0;n<Ys.length;n++)Ys[n].bucket=n;class qb{constructor(e){this.view=e,this.buckets=Ys.map(()=>[]),this.index=Ys.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let r=e.bucket,s=this.buckets[r],l=this.index[r];for(let o=0;o<s.length;o++){let a=(o+l)%s.length,c=s[a];if((!t||t(c))&&!this.reused.has(c))return s.splice(a,1),a<l&&this.index[r]--,this.reused.set(c,i),c}return null}findWidget(e,t,i){let r=this.buckets[0];if(r.length)for(let s=0,l=0;;s++){if(s==r.length){if(l)return null;l=1,s=0}let o=r[s];if(!this.reused.has(o)&&(l==0?o.widget.compare(e):o.widget.constructor==e.constructor&&e.updateDOM(o.dom,this.view,o.widget)))return r.splice(s,1),s<this.index[0]&&this.index[0]--,o.widget==e&&o.length==t&&(o.flags&497)==i?(this.reused.set(o,1),o):(this.reused.set(o,2),new Ui(o.dom,t,e,o.flags&-498|i))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class Yb{constructor(e,t,i,r,s){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new qb(e),this.text=new Wb(e.state.doc),this.builder=new Db(this.cache,new Ql(e,e.contentDOM),N.iter(i)),this.cache.reused.set(t,2),this.old=new _b(t),this.reuseWalker={skip:(l,o,a)=>{if(this.cache.add(l),l.isComposite())return!1},enter:l=>this.cache.add(l),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let r=0,s=0,l=0;;){let o=l<e.length?e[l++]:null,a=o?o.fromA:this.old.root.length;if(a>r){let c=a-r;this.preserve(c,!l,!o),r=a,s+=c}if(!o)break;t&&o.fromA<=t.range.fromA&&o.toA>=t.range.toA?(this.forward(o.fromA,t.range.fromA,t.range.fromA<t.range.toA?1:-1),this.emit(s,t.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(t,i),this.text.skip(t.range.toB-t.range.fromB),this.forward(t.range.fromA,o.toA),this.emit(t.range.toB,o.toB)):(this.forward(o.fromA,o.toA),this.emit(s,o.toB)),s=o.toB,r=o.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,i){let r=Bb(this.old),s=this.openMarks;this.old.advance(e,i?1:-1,{skip:(l,o,a)=>{if(l.isWidget())if(this.openWidget)this.builder.continueWidget(a-o);else{let c=a>0||o<l.length?Ui.of(l.widget,this.view,a-o,l.flags&496,this.cache.maybeReuse(l)):this.cache.reuse(l);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,r,s),s=r.length)}else if(l.isText())this.builder.ensureLine(null),!o&&a==l.length&&!this.cache.reused.has(l)?this.builder.addText(l.text,r,s,this.cache.reuse(l)):(this.cache.add(l),this.builder.addText(l.text.slice(o,a),r,s)),s=r.length;else if(l.isLine())l.flags&=-2,this.cache.reused.set(l,1),this.builder.addLine(l);else if(l instanceof qs)this.cache.add(l);else if(l instanceof nt)this.builder.ensureLine(null),this.builder.addMark(l,r,s),this.cache.reused.set(l,1),s=r.length;else return!1;this.openWidget=!1},enter:l=>{l.isLine()?this.builder.addLineStart(l.attrs,this.cache.maybeReuse(l)):(this.cache.add(l),l instanceof nt&&r.unshift(l.mark)),this.openWidget=!1},leave:l=>{l.isLine()?r.length&&(r.length=s=0):l instanceof nt&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,r=this.builder,s=-1,l=N.spans(this.decorations,e,t,{point:(o,a,c,h,u,f)=>{if(c instanceof Ni){if(this.disallowBlockEffectsFor[f]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(a>this.view.state.doc.lineAt(o).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,u>h.length)r.continueWidget(a-o);else{let d=c.widget||(c.block?Cn.block:Cn.inline),p=Ib(c),O=this.cache.findWidget(d,a-o,p)||Ui.of(d,this.view,a-o,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget(O)):(r.ensureLine(i),r.addInlineWidget(O,h,u))}i=null}else i=Vb(i,c);a>o&&this.text.skip(a-o)},span:(o,a,c,h)=>{for(let u=o;u<a;){let f=this.text.next(Math.min(512,a-u));f==null?(r.addLineStartIfNotCovered(i),r.addBreak(),u++):(r.ensureLine(i),r.addText(f,c,u==o?h:c.length),u+=f.length),i=null}s=c.length}});s>-1&&(this.openWidget=l>s),this.openWidget||r.addLineStartIfNotCovered(i),this.openMarks=l}forward(e,t,i=1){t-e<=10?this.old.advance(t-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let r=e.parentNode;;r=r.parentNode){let s=me.get(r);if(r==this.view.contentDOM)break;s instanceof nt?t.push(s):s!=null&&s.isLine()?i=s:s instanceof si||(r.nodeName=="DIV"&&!i&&r!=this.view.contentDOM?i=new Tn(r,Jd):i||t.push(nt.of(new Lr({tagName:r.nodeName.toLowerCase(),attributes:bb(r)}),r)))}return{line:i,marks:t}}}function Rh(n,e){let t=i=>{for(let r of i.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(n)}function Ib(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const Jd={class:"cm-line"};function Vb(n,e){let t=e.spec.attributes,i=e.spec.class;return!t&&!i||(n||(n={class:"cm-line"}),t&&Ba(t,n),i&&(n.class+=" "+i)),n}function Bb(n){let e=[];for(let t=n.parents.length;t>1;t--){let i=t==n.parents.length?n.tile:n.parents[t].tile;i instanceof nt&&e.push(i.mark)}return e}function Jl(n){let e=me.get(n);return e&&e.setDOM(n.cloneNode()),n}class Cn extends Tt{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Cn.inline=new Cn("span");Cn.block=new Cn("div");const eo=new class extends Tt{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Mh{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=_.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Ql(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:h,toA:u})=>u<this.minWidthFrom||h>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!tx(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?Gb(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;i=new gt(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(M.ie||M.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let l=this.decorations,o=this.blockWrappers;this.updateDeco();let a=Hb(l,this.decorations,e.changes);a.length&&(i=gt.extendWithRanges(i,a));let c=Jb(o,this.blockWrappers,e.changes);return c.length&&(i=gt.extendWithRanges(i,c)),s&&!i.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(i=s.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let l=this.tile,o=new Yb(this.view,l,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&me.get(t.text)&&o.cache.reused.set(me.get(t.text),2),this.tile=o.run(e,t),oa(l,o.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=M.chrome||M.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||i.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof to&&r.push(s.dom);i.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(Gd)&&(this.editContextFormatting=i.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:i}=this.tile,r=this.view.root.activeElement,s=r==i,l=!s&&!(this.view.state.facet(ri)||i.tabIndex>-1)&&ur(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(s||t||l))return;let o=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,c,h;if(a.empty?h=c=this.inlineDOMNearPos(a.anchor,a.assoc||1):(h=this.inlineDOMNearPos(a.head,a.head==a.from?1:-1),c=this.inlineDOMNearPos(a.anchor,a.anchor==a.from?1:-1)),M.gecko&&a.empty&&!this.hasComposition&&Nb(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=h=new vt(f,0),o=!0}let u=this.view.observer.selectionRange;(o||!u.focusNode||(!dr(c.node,c.offset,u.anchorNode,u.anchorOffset)||!dr(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,a))&&(this.view.observer.ignore(()=>{M.android&&M.chrome&&i.contains(u.focusNode)&&ex(u.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let f=Sr(this.view.root);if(f)if(a.empty){if(M.gecko){let d=Ub(c.node,c.offset);if(d&&d!=3){let p=(d==1?Md:Zd)(c.node,c.offset);p&&(c=new vt(p.node,p.offset))}}f.collapse(c.node,c.offset),a.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=a.bidiLevel)}else if(f.extend){f.collapse(c.node,c.offset);try{f.extend(h.node,h.offset)}catch{}}else{let d=document.createRange();a.anchor>a.head&&([c,h]=[h,c]),d.setEnd(h.node,h.offset),d.setStart(c.node,c.offset),f.removeAllRanges(),f.addRange(d)}l&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new vt(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new vt(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&dr(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Sr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let l=this.lineAt(t.head,t.assoc);if(!l)return;let o=l.posAtStart;if(t.head==o||t.head==o+l.length)return;let a=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!a||!c||a.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(h.node,h.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&i.collapse(r,s)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let s;if(e==i.dom)s=i.dom.childNodes[t];else{let l=oi(e)==0?0:t==0?-1:1;for(;;){let o=e.parentNode;if(o==i.dom)break;l==0&&o.firstChild!=o.lastChild&&(e==o.firstChild?l=-1:l=1),e=o}l<0?s=e:s=e.nextSibling}if(s==i.dom.firstChild)return r;for(;s&&!me.get(s);)s=s.nextSibling;if(!s)return r+i.length;for(let l=0,o=r;;l++){let a=i.children[l];if(a.dom==s)return o;o+=a.length+a.breakAfter}}else return i.isText()?e==i.dom?r+t:r+(t?i.length:0):r}domAtPos(e,t){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(r,t):i.domIn(r,t)}inlineDOMNearPos(e,t){let i,r=-1,s=!1,l,o=-1,a=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let u=h+c.length;if(h<=e&&(i=c,r=e-h,s=u<e),u>=e&&!l&&(l=c,o=e-h,a=h>e),h>e&&l)return!0}}),!i&&!l?this.domAtPos(e,t):(s&&l?i=null:a&&i&&(l=null),i&&t<0||!l?i.domIn(r,t):l.domIn(o,t))}coordsAt(e,t,i){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof to?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,i)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,l){if(s.isComposite())for(let o of s.children){if(o.length>=l){let a=r(o,l);if(a)return a}if(l-=o.length,l<0)break}else if(s.isText()&&l<s.length){let o=Me(s.text,l);if(o==l)return null;let a=wr(s.dom,l,o).getClientRects();for(let c=0;c<a.length;c++){let h=a[c];if(c==a.length-1||h.top<h.bottom&&h.left<h.right)return h}}return null}return r(t,i)}measureVisibleLineHeights(e){let t=[],{from:i,to:r}=e,s=this.view.contentDOM.clientWidth,l=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==ce.LTR,c=0,h=(u,f,d)=>{for(let p=0;p<u.children.length&&!(f>r);p++){let O=u.children[p],m=f+O.length,y=O.dom.getBoundingClientRect(),{height:k}=y;if(d&&!p&&(c+=y.top-d.top),O instanceof si)m>i&&h(O,f,y);else if(f>=i&&(c>0&&t.push(-c),t.push(k+c),c=0,l)){let w=O.dom.lastChild,T=w?fr(w):[];if(T.length){let x=T[T.length-1],P=a?x.right-y.left:y.right-x.left;P>o&&(o=P,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=m)}}d&&p==u.children.length-1&&(c+=d.bottom-y.bottom),f=m+O.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ce.RTL:ce.LTR}measureTextSize(){let e=this.tile.blockTiles(l=>{if(l.isLine()&&l.children.length&&l.length<=20){let o=0,a;for(let c of l.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=fr(c.dom);if(h.length!=1)return;o+=h[0].width,a=h[0].height}if(o)return{lineHeight:l.dom.getBoundingClientRect().height,charWidth:o/l.length,textHeight:a}}});if(e)return e;let t=document.createElement("div"),i,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let l=fr(t.firstChild)[0];i=t.getBoundingClientRect().height,r=l&&l.width?l.width/27:7,s=l&&l.height?l.height:i,t.remove()}),{lineHeight:i,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],l=s?s.from-1:this.view.state.doc.length;if(l>i){let o=(t.lineBlockAt(l).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(_.replace({widget:new to(o),block:!0,inclusive:!0,isBlockGap:!0}).range(i,l))}if(!s)break;i=s.to+1}return _.set(e)}updateDeco(){let e=1,t=this.view.state.facet(kl).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(Ka).map((s,l)=>{let o=typeof s=="function";return o&&(i=!0),o?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(N.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(Fd).map(s=>typeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Nd))try{if(c(this.view,e.range,e))return!0}catch(h){rt(this.view.state,h,"scroll handler")}let{range:t}=e,i=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!i)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=Ja(this.view),l={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:o,offsetHeight:a}=this.view.scrollDOM;if(Sb(this.view.scrollDOM,l,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,o),-o),Math.max(Math.min(e.yMargin,a),-a),this.view.textDirection==ce.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(i.top>window.visualViewport.offsetTop+window.visualViewport.height||i.bottom<window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(t.head,1);if(c){let h=Td(c.dom);c.dom.scrollIntoView({block:"nearest"}),Cd(h,!1)}}}lineHasWidget(e){let t=i=>i.isWidget()||i.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){oa(this.tile)}}function oa(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let i of n.children)oa(i,e)}}function Nb(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function ep(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let i=Md(t.focusNode,t.focusOffset),r=Zd(t.focusNode,t.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let o=me.get(r.node);if(!o||o.isText()&&o.text!=r.node.nodeValue)s=r;else if(n.docView.lastCompositionAfterCursor){let a=me.get(i.node);!a||a.isText()&&a.text!=i.node.nodeValue||(s=r)}}if(n.docView.lastCompositionAfterCursor=s!=i,!s)return null;let l=e-s.offset;return{from:l,to:l+s.node.nodeValue.length,node:s.node}}function Gb(n,e,t){let i=ep(n,t);if(!i)return null;let{node:r,from:s,to:l}=i,o=r.nodeValue;if(/[\n\r]/.test(o)||n.state.doc.sliceString(i.from,i.to)!=o)return null;let a=e.invertedDesc;return{range:new gt(a.mapPos(s),a.mapPos(l),s,l),text:r}}function Ub(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let Fb=class{constructor(){this.changes=[]}compareRange(e,t){mn(e,t,this.changes)}comparePoint(e,t){mn(e,t,this.changes)}boundChange(e){mn(e,e,this.changes)}};function Hb(n,e,t){let i=new Fb;return N.compare(n,e,t,i),i.changes}class Kb{constructor(){this.changes=[]}compareRange(e,t){mn(e,t,this.changes)}comparePoint(){}boundChange(e){mn(e,e,this.changes)}}function Jb(n,e,t){let i=new Kb;return N.compare(n,e,t,i),i.changes}function ex(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function tx(n,e){let t=!1;return e&&n.iterChangedRanges((i,r)=>{i<e.to&&r>e.from&&(t=!0)}),t}class to extends Tt{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function ix(n,e,t=1){let i=n.charCategorizer(e),r=n.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let l=s,o=s;t<0?l=Me(r.text,s,!1):o=Me(r.text,s);let a=i(r.text.slice(l,o));for(;l>0;){let c=Me(r.text,l,!1);if(i(r.text.slice(c,l))!=a)break;l=c}for(;o<r.length;){let c=Me(r.text,o);if(i(r.text.slice(o,c))!=a)break;o=c}return v.undirectionalRange(l+r.from,o+r.from)}function nx(n,e,t,i,r){let s=Math.round((i-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let o=n.viewState.heightOracle.textHeight,a=Math.floor((r-t.top-(n.defaultLineHeight-o)*.5)/o);s+=a*n.viewState.heightOracle.lineLength}let l=n.state.sliceDoc(t.from,t.to);return t.from+Uo(l,s,n.state.tabSize)}function aa(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!r||s.type==Ee.Text&&(r.type!=s.type||(t<0?s.from<e:s.to>e)))&&(r=s)}}return r||i}return i}function rx(n,e,t,i){let r=aa(n,e.head,e.assoc||-1),s=!i||r.type!=Ee.Text||!(n.lineWrapping||r.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let l=n.dom.getBoundingClientRect(),o=n.textDirectionAt(r.from),a=n.posAtCoords({x:t==(o==ce.LTR)?l.right-1:l.left+1,y:(s.top+s.bottom)/2});if(a!=null)return v.cursor(a,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function Zh(n,e,t,i){let r=n.state.doc.lineAt(e.head),s=n.bidiSpans(r),l=n.textDirectionAt(r.from);for(let o=e,a=null;;){let c=Mb(r,s,l,o,t),h=_d;if(!c){if(r.number==(t?n.state.doc.lines:1))return o;h=`
|
|
14
|
-
`,r=n.state.doc.line(r.number+(t?1:-1)),s=n.bidiSpans(r),c=n.visualLineSide(r,!t)}if(a){if(!a(h))return o}else{if(!i)return c;a=i(h)}o=c}}function sx(n,e,t){let i=n.state.charCategorizer(e),r=i(t);return s=>{let l=i(s);return r==ue.Space&&(r=l),r==l}}function lx(n,e,t,i){let r=e.head,s=t?1:-1;if(r==(t?n.state.doc.length:0))return v.cursor(r,e.assoc);let l=e.goalColumn,o,a=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=n.documentTop;if(c)l==null&&(l=c.left-a.left),o=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(r);l==null&&(l=Math.min(a.right-a.left,n.defaultCharacterWidth*(r-p.from))),o=(s<0?p.top:p.bottom)+h}let u=a.left+l,f=n.viewState.heightOracle.textHeight>>1,d=i??f;for(let p=0;;p+=f){let O=o+(d+p)*s,m=ca(n,{x:u,y:O},!1,s);if(t?O>a.bottom:O<a.top)return v.cursor(m.pos,m.assoc);let y=n.coordsAtPos(m.pos,m.assoc),k=y?(y.top+y.bottom)/2:0;if(!y||(t?k>o:k<o))return v.cursor(m.pos,m.assoc,void 0,l)}}function pr(n,e,t){for(;;){let i=0;for(let r of n)r.between(e-1,e+1,(s,l,o)=>{if(e>s&&e<l){let a=i||t||(e-s<l-e?-1:1);e=a<0?s:l,i=a}});if(!i)return e}}function tp(n,e){let t=null;for(let i=0;i<e.ranges.length;i++){let r=e.ranges[i],s=null;if(r.empty){let l=pr(n,r.from,0);l!=r.from&&(s=v.cursor(l,-1))}else{let l=pr(n,r.from,-1),o=pr(n,r.to,1);(l!=r.from||o!=r.to)&&(r.undirectional?s=v.undirectionalRange(r.from,r.to):s=v.range(r.from==r.anchor?l:o,r.from==r.head?l:o))}s&&(t||(t=e.ranges.slice()),t[i]=s)}return t?v.create(t,e.mainIndex):e}function io(n,e,t){let i=pr(n.state.facet(zr).map(r=>r(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:v.cursor(i,i<t.from?1:-1)}class qt{constructor(e,t){this.pos=e,this.assoc=t}}function ca(n,e,t,i){let r=n.contentDOM.getBoundingClientRect(),s=r.top+n.viewState.paddingTop,{x:l,y:o}=e,a=o-s,c;for(;;){if(a<0)return new qt(0,1);if(a>n.viewState.docHeight)return new qt(n.state.doc.length,-1);if(c=n.elementAtHeight(a),i==null)break;if(c.type==Ee.Text){if(i<0?c.to<n.viewport.from:c.from>n.viewport.to)break;let f=n.docView.coordsAt(i<0?c.from:c.to,i>0?-1:1);if(f&&(i<0?f.top<=a+s:f.bottom>=a+s))break}let u=n.viewState.heightOracle.textHeight/2;a=i>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Ee.Text){let u=nx(n,r,c,l,o);return new qt(u,u==c.from?1:-1)}}if(c.type!=Ee.Text)return a<(c.top+c.bottom)/2?new qt(c.from,1):new qt(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),new ox(n,l,o,n.textDirectionAt(c.from)).scanTile(h,c.from)}class ox{constructor(e,t,i,r){this.view=e,this.x=t,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[Yt.find(r,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[Yt.find(r,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:r}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from<t)}scan(e,t,i=!1){let r=0,s=e.length-1,l=new Set,o=this.bidiIn(e[0],e[s]),a,c,h=-1,u=1e9,f;e:for(;r<s;){let p=s-r,O=r+s>>1;t:if(l.has(O)){for(let k=1;k<p;k++){let w=O+k;if(w>=s&&(w-=p),!l.has(w)){O=w;break t}}break e}l.add(O);let m=t(O),y=0;if(m)for(let k=0;k<m.length;k++){let w=m[k];if(!(w.width==0&&m.length>1))if(w.bottom<this.y)(!a||a.bottom<w.bottom)&&(a=w),y=1;else if(w.top>this.y)(!c||c.top>w.top)&&(c=w),y=-1;else{let T=w.left>this.x?this.x-w.left:w.right<this.x?this.x-w.right:0,x=Math.abs(T);x<u&&(h=O,u=x,f=w),T&&(y=T<0==(this.baseDir==ce.LTR)?-1:1)}}y==-1&&(!o||this.baseDirAt(e[O],1))?s=O:y==1&&(!o||this.baseDirAt(e[O+1],-1))&&(r=O+1)}if(!f){if(!c&&!a)return{i:e[0],after:!1};let p=a&&(!c||this.y-a.bottom<c.top-this.y)?a:c;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(u&&!i){let{top:p,bottom:O}=f;if(a&&a.bottom>(p+p+O)/3)return this.y=a.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+O+O)/3)return this.y=c.top+1,this.scan(e,t,!0)}let d=(o?this.dirAt(e[h],1):this.baseDir)==ce.LTR;return{i:h,after:this.x>(f.left+f.right)/2==d}}scanText(e,t){let i=[];for(let s=0;s<e.length;s=Me(e.text,s))i.push(t+s);i.push(t+e.length);let r=this.scan(i,s=>{let l=i[s]-t,o=i[s+1]-t;return wr(e.dom,l,o).getClientRects()});return r.after?new qt(i[r.i+1],-1):new qt(i[r.i],1)}scanTile(e,t){if(!e.length)return new qt(t,1);if(e.children.length==1){let o=e.children[0];if(o.isText())return this.scanText(o,t);if(o.isComposite())return this.scanTile(o,t)}let i=[t];for(let o=0,a=t;o<e.children.length;o++)i.push(a+=e.children[o].length);let r=this.scan(i,o=>{let a=e.children[o];return a.flags&48?null:(a.dom.nodeType==1?a.dom:wr(a.dom,0,a.length)).getClientRects()}),s=e.children[r.i],l=i[r.i];return s.isText()?this.scanText(s,l):s.isComposite()?this.scanTile(s,l):r.after?new qt(i[r.i+1],-1):new qt(l,1)}}const cn="";class ax{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(U.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=cn}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let r=e;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let l=me.get(r),o=r.nextSibling;if(o==t){l!=null&&l.breakAfter&&!o&&i!=this.view.contentDOM&&this.lineBreak();break}let a=me.get(o);(l&&a?l.breakAfter:(l?l.breakAfter:Ds(r))||Ds(o)&&(r.nodeName!="BR"||l!=null&&l.isWidget())&&this.text.length>s)&&!hx(o,t)&&this.lineBreak(),r=o}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,l=1,o;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,i),l=this.lineSeparator.length):(o=r.exec(t))&&(s=o.index,l=o[0].length),this.append(t.slice(i,s<0?t.length:s)),s<0)break;if(this.lineBreak(),l>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=l-1);i=s+l}}readNode(e){let t=me.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(cx(e,i.node,i.offset)?t:0))}}function cx(n,e,t){for(;;){if(!e||t<oi(e))return!1;if(e==n)return!0;t=vi(e)+1,e=e.parentNode}}function hx(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let i=me.get(n);if(!(i!=null&&i.isWidget()))return!1;i&&(t||(t=[])).push(i)}if(t)for(let i of t){let r=i.overrideDOMText;if(r!=null&&r.length)return!1}return!0}class Xh{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class ux{constructor(e,t,i,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:l}=e.docView,o=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=ip(e.docView.tile,t,i,0))){let a=s||l?[]:dx(e),c=new ax(a,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=px(a,this.bounds.from)}else{let a=e.observer.selectionRange,c=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!ia(e.contentDOM,a.focusNode)?o.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),h=l&&l.node==a.anchorNode&&l.offset==a.anchorOffset||!ia(e.contentDOM,a.anchorNode)?o.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((M.ios||M.chrome)&&c!=h&&Math.min(c,h)<=o.main.from&&Math.max(c,h)>=o.main.to&&(u.from>0||u.to<e.state.doc.length)){let f=Math.min(c,h),d=Math.max(c,h),p=u.from-f,O=u.to-d;(p==0||p==1||f==0)&&(O==0||O==-1||d==e.state.doc.length)&&(c=0,h=e.state.doc.length)}if(e.inputState.composing>-1&&o.ranges.length>1)this.newSel=o.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(o.main.empty&&o.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(c,-1),d=0;f&&(d=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=v.create([v.cursor(c,d)])}else this.newSel=v.single(h,c)}}}function ip(n,e,t,i){if(n.isComposite()){let r=-1,s=-1,l=-1,o=-1;for(let a=0,c=i,h=i;a<n.children.length;a++){let u=n.children[a],f=c+u.length;if(c<e&&f>t)return ip(u,e,t,c);if(f>=e&&r==-1&&(r=a,s=c),c>t&&u.dom.parentNode==n.dom){l=a,o=h;break}h=f,c=f+u.breakAfter}return{from:s,to:o<0?i+n.length:o,startDOM:(r?n.children[r-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:l<n.children.length&&l>=0?n.children[l].dom:null}}else return n.isText()?{from:i,to:i+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function np(n,e){let t,{newSel:i}=e,{state:r}=n,s=r.selection.main,l=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,c=s.from,h=null;(l===8||M.android&&e.text.length<a-o)&&(c=s.to,h="end");let u=r.doc.sliceString(o,a,cn),f,d;!s.empty&&s.from>=o&&s.to<=a&&(e.typeOver||u!=e.text)&&u.slice(0,s.from-o)==e.text.slice(0,s.from-o)&&u.slice(s.to-o)==e.text.slice(f=e.text.length-(u.length-(s.to-o)))?t={from:s.from,to:s.to,insert:H.of(e.text.slice(s.from-o,f).split(cn))}:(d=rp(u,e.text,c-o,h))&&(M.chrome&&l==13&&d.toB==d.from+2&&e.text.slice(d.from,d.toB)==cn+cn&&d.toB--,t={from:o+d.from,to:o+d.toA,insert:H.of(e.text.slice(d.from,d.toB).split(cn))})}else i&&(!n.hasFocus&&r.facet(ri)||Is(i,s))&&(i=null);if(!t&&!i)return!1;if((M.mac||M.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(i&&t.insert.length==2&&(i=v.single(i.main.anchor-1,i.main.head-1)),t={from:t.from,to:t.to,insert:H.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).to<s.to&&n.docView.lineHasWidget(s.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:s.from,to:s.to,insert:r.toText(n.inputState.insertingText)}:M.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==`
|
|
15
|
-
`&&n.lineWrapping&&(i&&(i=v.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:H.of([" "])}),t)return ec(n,t,i,l);if(i&&!Is(i,s)){let o=!1,a="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(o=!0),a=n.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=tp(r.facet(zr).map(c=>c(n)),i))),n.dispatch({selection:i,scrollIntoView:o,userEvent:a}),!0}else return!1}function ec(n,e,t,i=-1){if(M.ios&&n.inputState.flushIOSKey(e))return!0;let r=n.state.selection.main;if(M.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&n.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&bn(n.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&bn(n.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&bn(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let l,o=()=>l||(l=fx(n,e,t));return n.state.facet(Yd).some(a=>a(n,e.from,e.to,s,o))||n.dispatch(o()),!0}function fx(n,e,t){let i,r=n.state,s=r.selection.main,l=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let a=e.from<s.from?-1:1,c=a<0?s.from:s.to,h=pr(r.facet(zr).map(u=>u(n)),c,a);e.from==h&&(l=h)}if(l>-1)i={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let a=s.from<e.from?r.sliceDoc(s.from,e.from):"",c=s.to>e.to?r.sliceDoc(e.to,s.to):"";i=r.replaceSelection(n.state.toText(a+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let a=r.changes(e),c=t&&t.main.to<=a.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),u,f=t&&ep(n,t.main.head);if(f){let p=e.insert.length-(e.to-e.from);u={from:f.from,to:f.to-p}}else u=n.state.doc.lineAt(s.head);let d=s.to-e.to;i=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:a,range:c||p.map(a)};let O=p.to-d,m=O-h.length;if(n.state.sliceDoc(m,O)!=h||O>=u.from&&m<=u.to)return{range:p};let y=r.changes({from:m,to:O,insert:e.insert}),k=p.to-s.to;return{changes:y,range:c?v.range(Math.max(0,c.anchor+k),Math.max(0,c.head+k)):p.map(y)}})}else i={changes:a,selection:c&&r.selection.replaceRange(c)}}let o="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,o+=".compose",n.inputState.compositionFirstChange&&(o+=".start",n.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:o,scrollIntoView:!0})}function rp(n,e,t,i){let r=Math.min(n.length,e.length),s=0;for(;s<r&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&n.length==e.length)return null;let l=n.length,o=e.length;for(;l>0&&o>0&&n.charCodeAt(l-1)==e.charCodeAt(o-1);)l--,o--;if(i=="end"){let a=Math.max(0,s-Math.min(l,o));t-=l+a-s}if(l<s&&n.length<e.length){let a=t<=s&&t>=l?s-t:0;s-=a,o=s+(o-l),l=s}else if(o<s){let a=t<=s&&t>=o?s-t:0;s-=a,l=s+(l-o),o=s}return{from:s,toA:l,toB:o}}function dx(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new Xh(t,i)),(r!=t||s!=i)&&e.push(new Xh(r,s))),e}function px(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?v.single(t+e,i+e):null}function Is(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class Ox{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,M.safari&&e.contentDOM.addEventListener("input",()=>null),M.gecko&&Rx(e.contentDOM.ownerDocument)}handleEvent(e){!Qx(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=mx(e),i=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let l=!t[s].handlers.length,o=i[s];o&&l!=!o.handlers.length&&(r.removeEventListener(s,this.handleEvent),o=null),o||r.addEventListener(s,this.handleEvent,{passive:l})}for(let s in i)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&lp.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),M.android&&M.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(M.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(sp.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||bx.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&M.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&gx(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,bn(this.view.contentDOM,t.key,t.keyCode,t.mods))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:M.safari&&!M.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function gx(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function jh(n,e){return(t,i)=>{try{return e.call(n,i,t)}catch(r){rt(t.state,r)}}}function mx(n){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of n){let r=i.spec,s=r&&r.plugin.domEventHandlers,l=r&&r.plugin.domEventObservers;if(s)for(let o in s){let a=s[o];a&&t(o).handlers.push(jh(i.value,a))}if(l)for(let o in l){let a=l[o];a&&t(o).observers.push(jh(i.value,a))}}for(let i in Pt)t(i).handlers.push(Pt[i]);for(let i in Fe)t(i).observers.push(Fe[i]);return e}const sp=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],bx="dthko",lp=[16,17,18,20,91,92,224,225],ts=6;function is(n){return Math.max(0,n)*.7+8}function xx(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class yx{constructor(e,t,i,r){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Pd(e.contentDOM),this.atoms=e.state.facet(zr).map(l=>l(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(U.allowMultipleSelections)&&Sx(e,t),this.dragging=wx(e,t)&&cp(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&xx(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,r=0,s=0,l=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:l}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:o}=this.scrollParents.y.getBoundingClientRect());let a=Ja(this.view);e.clientX-a.left<=r+ts?t=-is(r-e.clientX):e.clientX+a.right>=l-ts&&(t=is(e.clientX-l)),e.clientY-a.top<=s+ts?i=-is(s-e.clientY):e.clientY+a.bottom>=o-ts&&(i=is(e.clientY-o)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=tp(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Sx(n,e){let t=n.state.facet(zd);return t.length?t[0](e):M.mac?e.metaKey:e.ctrlKey}function kx(n,e){let t=n.state.facet(Dd);return t.length?t[0](e):M.mac?!e.altKey:!e.ctrlKey}function wx(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let i=Sr(n.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let l=r[s];if(l.left<=e.clientX&&l.right>=e.clientX&&l.top<=e.clientY&&l.bottom>=e.clientY)return!0}return!1}function Qx(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=me.get(t))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}const Pt=Object.create(null),Fe=Object.create(null),op=M.ie&&M.ie_version<15||M.ios&&M.webkit_version<604;function vx(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),ap(n,t.value)},50)}function vl(n,e,t){for(let i of n.facet(e))t=i(t,n);return t}function ap(n,e){e=vl(n.state,Ua,e);let{state:t}=n,i,r=1,s=t.toText(e),l=s.lines==t.selection.ranges.length;if(ha!=null&&t.selection.ranges.every(a=>a.empty)&&ha==s.toString()){let a=-1;i=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==a)return{range:c};a=h.from;let u=t.toText((l?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:v.cursor(c.from+u.length)}})}else l?i=t.changeByRange(a=>{let c=s.line(r++);return{changes:{from:a.from,to:a.to,insert:c.text},range:v.cursor(a.from+c.length)}}):i=t.replaceSelection(s);n.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Fe.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,M.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Fe.wheel=Fe.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Pt.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Fe.touchstart=(n,e)=>{let t=n.inputState,i=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),i&&(t.lastTouchX=i.clientX,t.lastTouchY=i.clientY),t.setSelectionOrigin("select.pointer")};Fe.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Fe.touchend=(n,e)=>{n.inputState.touchActive=!1};Pt.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of n.state.facet(Wd))if(t=i(n,e),t)break;if(!t&&e.button==0&&(t=Px(n,e)),t){let i=!n.hasFocus;n.inputState.startMouseSelection(new yx(n,e,t,i)),i&&n.observer.ignore(()=>{Ad(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let r=n.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function Eh(n,e,t,i){if(i==1)return v.cursor(e,t);if(i==2)return ix(n.state,e,t);{let r=n.docView.lineAt(e,t),s=n.state.doc.lineAt(r?r.posAtEnd:e),l=r?r.posAtStart:s.from,o=r?r.posAtEnd:s.to;return o<n.state.doc.length&&o==s.to&&o++,v.undirectionalRange(l,o)}}const $x=M.ie&&M.ie_version<=11;let Lh=null,_h=0,zh=0;function cp(n){if(!$x)return n.detail;let e=Lh,t=zh;return Lh=n,zh=Date.now(),_h=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(_h+1)%3:1}function Px(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=cp(e),r=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,l,o){let a=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Eh(n,a.pos,a.assoc,i);if(t.pos!=a.pos&&!l){let u=Eh(n,t.pos,t.assoc,i),f=Math.min(u.from,h.from),d=Math.max(u.to,h.to);h=f<h.from?v.range(f,d,h.assoc):v.range(d,f,h.assoc)}return l?r.replaceRange(r.main.extend(h.from,h.to,h.assoc)):o&&i==1&&r.ranges.length>1&&(c=Tx(r,a.pos))?c:o?r.addRange(h):v.create([h])}}}function Tx(n,e){for(let t=0;t<n.ranges.length;t++){let{from:i,to:r}=n.ranges[t];if(i<=e&&r>=e)return v.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Pt.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let r=n.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,l=s+r.length;(s>=t.to||l<=t.from)&&(t=v.undirectionalRange(s,l))}}let{inputState:i}=n;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",vl(n.state,Fa,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Pt.dragend=n=>(n.inputState.draggedContent=null,!1);function Dh(n,e,t,i){if(t=vl(n.state,Ua,t),!t)return;let r=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,l=i&&s&&kx(n,e)?{from:s.from,to:s.to}:null,o={from:r,insert:t},a=n.state.changes(l?[l,o]:o);n.focus(),n.dispatch({changes:a,selection:{anchor:a.mapPos(r,-1),head:a.mapPos(r,1)},userEvent:l?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Pt.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),r=0,s=()=>{++r==t.length&&Dh(n,e,i.filter(l=>l!=null).join(n.state.lineBreak),!1)};for(let l=0;l<t.length;l++){let o=new FileReader;o.onerror=s,o.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(i[l]=o.result),s()},o.readAsText(t[l])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return Dh(n,e,i,!0),!0}return!1};Pt.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=op?null:e.clipboardData;return t?(ap(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(vx(n),!1)};function Cx(n,e){let t=n.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),n.focus()},50)}function Ax(n){let e=[],t=[],i=!1;for(let r of n.selection.ranges)r.empty||(e.push(n.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of n.selection.ranges){let l=n.doc.lineAt(s);l.number>r&&(e.push(l.text),t.push({from:l.from,to:Math.min(n.doc.length,l.to+1)})),r=l.number}i=!0}return{text:vl(n,Fa,e.join(n.lineBreak)),ranges:t,linewise:i}}let ha=null;Pt.copy=Pt.cut=(n,e)=>{if(!ur(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:i,linewise:r}=Ax(n.state);if(!t&&!r)return!1;ha=r?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=op?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(Cx(n,t),!1)};const hp=Ft.define();function up(n,e){let t=[];for(let i of n.facet(Id)){let r=i(n,e);r&&t.push(r)}return t.length?n.update({effects:t,annotations:hp.of(!0)}):null}function fp(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=up(n.state,e);t?n.dispatch(t):n.update([])}},10)}Fe.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),fp(n)};Fe.blur=n=>{n.observer.clearSelectionRange(),fp(n)};Fe.compositionstart=Fe.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Fe.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,M.chrome&&M.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Fe.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Pt.beforeinput=(n,e)=>{var t,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),l=e.getTargetRanges();if(s&&l.length){let o=l[0],a=n.posAtDOM(o.startContainer,o.startOffset),c=n.posAtDOM(o.endContainer,o.endOffset);return ec(n,{from:a,to:c,insert:n.state.toText(s)},null),!0}}let r;if(M.chrome&&M.android&&(r=sp.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var l;(((l=window.visualViewport)===null||l===void 0?void 0:l.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return M.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),M.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Fe.compositionend(n,e),20),!1};const Wh=new Set;function Rx(n){Wh.has(n)||(Wh.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const qh=["pre-wrap","normal","pre-line","break-spaces"];let An=!1;function Yh(){An=!1}class Mx{constructor(e){this.lineWrapping=e,this.doc=H.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return qh.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i<e.length;i++){let r=e[i];r<0?i++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,i,r,s,l){let o=qh.indexOf(e)>-1,a=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=s,a){this.heightSamples={};for(let c=0;c<l.length;c++){let h=l[c];h<0?c++:this.heightSamples[Math.floor(h*10)]=!0}}return a}}class Zx{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Qt{constructor(e,t,i,r,s){this.from=e,this.length=t,this.top=i,this.height=r,this._content=s}get type(){return typeof this._content=="number"?Ee.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Ni?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Qt(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var he=(function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n})(he||(he={}));const Qs=.001;class Ue{constructor(e,t,i=2){this.length=e,this.height=t,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Qs&&(An=!0),this.height=e)}replace(e,t,i){return Ue.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let s=this,l=i.doc;for(let o=r.length-1;o>=0;o--){let{fromA:a,toA:c,fromB:h,toB:u}=r[o],f=s.lineAt(a,he.ByPosNoHeight,i.setDoc(t),0,0),d=f.to>=c?f:s.lineAt(c,he.ByPosNoHeight,i,0,0);for(u+=d.to-c,c=d.to;o>0&&f.from<=r[o-1].toA;)a=r[o-1].fromA,h=r[o-1].fromB,o--,a<f.from&&(f=s.lineAt(a,he.ByPosNoHeight,i,0,0));h+=f.from-a,a=f.from;let p=tc.build(i.setDoc(l),e,h,u);s=Vs(s,s.replace(a,c,p))}return s.updateHeight(i,0)}static empty(){return new ht(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,i=e.length,r=0,s=0;for(;;)if(t==i)if(r>s*2){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),i+=1+o.break,r-=o.size}else if(s>r*2){let o=e[i];o.break?e.splice(i,1,o.left,null,o.right):e.splice(i,1,o.left,o.right),i+=2+o.break,s-=o.size}else break;else if(r<s){let o=e[t++];o&&(r+=o.size)}else{let o=e[--i];o&&(s+=o.size)}let l=0;return e[t-1]==null?(l=1,t--):e[t]==null&&(l=1,i++),new jx(Ue.of(e.slice(0,t)),l,Ue.of(e.slice(i)))}}function Vs(n,e){return n==e?n:(n.constructor!=e.constructor&&(An=!0),e)}Ue.prototype.size=1;const Xx=_.replace({});class dp extends Ue{constructor(e,t,i){super(e,t),this.deco=i,this.spaceAbove=0}mainBlock(e,t){return new Qt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,i,r){return this.spaceAbove&&e<i+this.spaceAbove?new Qt(r,0,i,this.spaceAbove,Xx):this.mainBlock(i,r)}lineAt(e,t,i,r,s){let l=this.mainBlock(r,s);return this.spaceAbove?this.blockAt(0,i,r,s).join(l):l}forEachLine(e,t,i,r,s,l){e<=s+this.length&&t>=s&&l(this.lineAt(0,he.ByPos,i,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}}class ht extends dp{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new Qt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let r=i[0];return i.length==1&&(r instanceof ht||r instanceof Ze&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Ze?r=new ht(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Ue.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Ze extends Ue{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-i+1,l,o=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);l=a/s,this.length>s+1&&(o=(this.height-a)/(this.length-s-1))}else l=this.height/s;return{firstLine:i,lastLine:r,perLine:l,perChar:o}}blockAt(e,t,i,r){let{firstLine:s,lastLine:l,perLine:o,perChar:a}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length)),h=t.doc.lineAt(c),u=o+h.length*a,f=Math.max(i,e-u/2);return new Qt(h.from,h.length,f,u,0)}else{let c=Math.max(0,Math.min(l-s,Math.floor((e-i)/o))),{from:h,length:u}=t.doc.line(s+c);return new Qt(h,u,i+o*c,o,0)}}lineAt(e,t,i,r,s){if(t==he.ByHeight)return this.blockAt(e,i,r,s);if(t==he.ByPosNoHeight){let{from:d,to:p}=i.doc.lineAt(e);return new Qt(d,p-d,0,0,0)}let{firstLine:l,perLine:o,perChar:a}=this.heightMetrics(i,s),c=i.doc.lineAt(e),h=o+c.length*a,u=c.number-l,f=r+o*u+a*(c.from-s-u);return new Qt(c.from,c.length,Math.max(r,Math.min(f,r+this.height-h)),h,0)}forEachLine(e,t,i,r,s,l){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:o,perLine:a,perChar:c}=this.heightMetrics(i,s);for(let h=e,u=r;h<=t;){let f=i.doc.lineAt(h);if(h==e){let p=f.number-o;u+=a*p+c*(e-s-p)}let d=a+c*f.length;l(new Qt(f.from,f.length,u,d,0)),u+=d,h=f.to+1}}replace(e,t,i){let r=this.length-t;if(r>0){let s=i[i.length-1];s instanceof Ze?i[i.length-1]=new Ze(s.length+r):i.push(null,new Ze(r-1))}if(e>0){let s=i[0];s instanceof Ze?i[0]=new Ze(e+s.length):i.unshift(new Ze(e-1),null)}return Ue.of(i)}decomposeLeft(e,t){t.push(new Ze(e-1),null)}decomposeRight(e,t){t.push(null,new Ze(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let l=[],o=Math.max(t,r.from),a=-1;for(r.from>t&&l.push(new Ze(r.from-t-1).updateHeight(e,t));o<=s&&r.more;){let h=e.doc.lineAt(o).length;l.length&&l.push(null);let u=r.heights[r.index++],f=0;u<0&&(f=-u,u=r.heights[r.index++]),a==-1?a=u:Math.abs(u-a)>=Qs&&(a=-2);let d=new ht(h,u,f);d.outdated=!1,l.push(d),o+=h+1}o<=s&&l.push(null,new Ze(s-o).updateHeight(e,o));let c=Ue.of(l);return(a<0||Math.abs(c.height-this.height)>=Qs||Math.abs(a-this.heightMetrics(e,t).perLine)>=Qs)&&(An=!0),Vs(this,c)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class jx extends Ue{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,r){let s=i+this.left.height;return e<s?this.left.blockAt(e,t,i,r):this.right.blockAt(e,t,s,r+this.left.length+this.break)}lineAt(e,t,i,r,s){let l=r+this.left.height,o=s+this.left.length+this.break,a=t==he.ByHeight?e<l:e<o,c=a?this.left.lineAt(e,t,i,r,s):this.right.lineAt(e,t,i,l,o);if(this.break||(a?c.to<o:c.from>o))return c;let h=t==he.ByPosNoHeight?he.ByPosNoHeight:he.ByPos;return a?c.join(this.right.lineAt(o,h,i,l,o)):this.left.lineAt(o,h,i,r,s).join(c)}forEachLine(e,t,i,r,s,l){let o=r+this.left.height,a=s+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,i,r,s,l),t>=a&&this.right.forEachLine(e,t,i,o,a,l);else{let c=this.lineAt(a,he.ByPos,i,r,s);e<c.from&&this.left.forEachLine(e,c.from-1,i,r,s,l),c.to>=e&&c.from<=t&&l(c),t>c.to&&this.right.forEachLine(c.to+1,t,i,o,a,l)}}replace(e,t,i){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let s=[];e>0&&this.decomposeLeft(e,s);let l=s.length;for(let o of i)s.push(o);if(e>0&&Ih(s,l-1),t<this.length){let o=s.length;this.decomposeRight(t,s),Ih(s,o)}return Ue.of(s)}decomposeLeft(e,t){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(i++,e>=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<i&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Ue.of(this.break?[e,null,t]:[e,t]):(this.left=Vs(this.left,e),this.right=Vs(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:s,right:l}=this,o=t+s.length+this.break,a=null;return r&&r.from<=t+s.length&&r.more?a=s=s.updateHeight(e,t,i,r):s.updateHeight(e,t,i),r&&r.from<=o+l.length&&r.more?a=l=l.updateHeight(e,o,i,r):l.updateHeight(e,o,i),a?this.balanced(s,l):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Ih(n,e){let t,i;n[e]==null&&(t=n[e-1])instanceof Ze&&(i=n[e+1])instanceof Ze&&n.splice(e-1,3,new Ze(t.length+1+i.length))}const Ex=5;class tc{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof ht?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new ht(i-this.pos,-1,0)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e<t||i.heightRelevant){let r=i.widget?i.widget.estimatedHeight:0,s=i.widget?i.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let l=t-e;i.block?this.addBlock(new dp(l,r,i)):(l||s||r>=Ex)&&this.addLineDeco(r,s,l)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new ht(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new Ze(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ht)return e;let t=new ht(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof ht)&&!this.isCovered?this.nodes.push(new ht(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=e;for(let r of this.nodes)r instanceof ht&&r.updateHeight(this.oracle,i),i+=r?r.length:1;return this.nodes}static build(e,t,i,r){let s=new tc(i,e);return N.spans(t,i,r,s,0),s.finish(i)}}function Lx(n,e,t){let i=new _x;return N.compare(n,e,t,i,0),i.changes}class _x{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,i,r){(e<t||i&&i.heightRelevant||r&&r.heightRelevant)&&mn(e,t,this.changes,5)}}function zx(n,e){let t=n.getBoundingClientRect(),i=n.ownerDocument,r=i.defaultView||window,s=Math.max(0,t.left),l=Math.min(r.innerWidth,t.right),o=Math.max(0,t.top),a=Math.min(r.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=i.body;)if(c.nodeType==1){let h=c,u=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),l=Math.min(l,f.right),o=Math.max(o,f.top),a=Math.min(c==n.parentNode?r.innerHeight:a,f.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,l)-t.left,top:o-(t.top+e),bottom:Math.max(o,a)-(t.top+e)}}function Dx(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function Wx(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class no{constructor(e,t,i,r){this.from=e,this.to=t,this.size=i,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++){let r=e[i],s=t[i];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,t){return _.replace({widget:new qx(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class qx extends Tt{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Vh{constructor(e,t){this.view=e,this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Bh,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ce.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=t.facet(Ha).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Mx(i),this.stateDeco=Nh(t),this.heightMap=Ue.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=_.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let r=i?t.head:t.anchor;if(!e.some(({from:s,to:l})=>r>=s&&r<=l)){let{from:s,to:l}=this.lineBlockAt(r);e.push(new ns(s,l))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Bh:new ic(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(rr(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=Nh(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,Lx(i,this.stateDeco,e?e.changes:Te.empty(this.state.doc.length))),l=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Yh(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=l||An)&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=l);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let c=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Bd)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ce.RTL:ce.LTR;let l=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",o=t.getBoundingClientRect(),a=l||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let c=0,h=0;if(o.width&&o.height){let{scaleX:x,scaleY:P}=$d(t,o);(x>.005&&Math.abs(this.scaleX-x)>.005||P>.005&&Math.abs(this.scaleY-P)>.005)&&(this.scaleX=x,this.scaleY=P,c|=16,l=a=!0)}let u=(parseInt(i.paddingTop)||0)*this.scaleY,f=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=f)&&(this.paddingTop=u,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let d=Pd(this.view.contentDOM,!1).y;d!=this.scrollParent&&(this.scrollParent=d,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Rd(this.scrollParent||e.win);let O=(this.printing?Wx:zx)(t,this.paddingTop),m=O.top-this.pixelViewport.top,y=O.bottom-this.pixelViewport.bottom;this.pixelViewport=O;let k=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(k!=this.inView&&(this.inView=k,k&&(a=!0)),!this.inView&&!this.scrollTarget&&!Dx(e.dom))return 0;let w=o.width;if((this.contentDOMWidth!=w||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),a){let x=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(x)&&(l=!0),l||r.lineWrapping&&Math.abs(w-this.contentDOMWidth)>r.charWidth){let{lineHeight:P,charWidth:$,textHeight:X}=e.docView.measureTextSize();l=P>0&&r.refresh(s,P,$,X,Math.max(5,w/$),x),l&&(e.docView.minWidth=0,c|=16)}m>0&&y>0?h=Math.max(m,y):m<0&&y<0&&(h=Math.min(m,y)),Yh();for(let P of this.viewports){let $=P.from==this.viewport.from?x:e.docView.measureVisibleLineHeights(P);this.heightMap=(l?Ue.empty().applyChanges(this.stateDeco,H.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,l,new Zx(P.from,$))}An&&(c|=2)}let T=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return T&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||T)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(l?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:l,visibleBottom:o}=this,a=new ns(r.lineAt(l-i*1e3,he.ByHeight,s,0,0).from,r.lineAt(o+(1-i)*1e3,he.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<a.from||c>a.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=r.lineAt(c,he.ByPos,s,0,0),f;t.y=="center"?f=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<a.from?f=u.top:f=u.bottom-h,a=new ns(r.lineAt(f-1e3/2,he.ByHeight,s,0,0).from,r.lineAt(f+h+1e3/2,he.ByHeight,s,0,0).to)}}return a}mapViewport(e,t){let i=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new ns(this.heightMap.lineAt(i,he.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,he.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},i=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,he.ByPos,this.heightOracle,0,0),{visibleTop:l,visibleBottom:o}=this;return(e==0||r<=l-Math.max(10,Math.min(-i,250)))&&(t==this.state.doc.length||s>=o+Math.max(10,Math.min(i,250)))&&r>l-2*1e3&&s<o+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let i=[];for(let r of e)t.touchesRange(r.from,r.to)||i.push(new no(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return i}ensureLineGaps(e,t){let i=this.heightOracle.lineWrapping,r=i?1e4:2e3,s=r>>1,l=r<<1;if(this.defaultTextDirection!=ce.LTR&&!i)return[];let o=[],a=(h,u,f,d)=>{if(u-h<s)return;let p=this.state.selection.main,O=[p.from];p.empty||O.push(p.to);for(let y of O)if(y>h&&y<u){a(h,y-10,f,d),a(y+10,u,f,d);return}let m=Ix(e,y=>y.from>=f.from&&y.to<=f.to&&Math.abs(y.from-h)<s&&Math.abs(y.to-u)<s&&!O.some(k=>y.from<k&&y.to>k));if(!m){if(u<f.to&&t&&i&&t.visibleRanges.some(w=>w.from<=u&&w.to>=u)){let w=t.moveToLineBoundary(v.cursor(u),!1,!0).head;w>h&&(u=w)}let y=this.gapSize(f,h,u,d),k=i||y<2e6?y:2e6;m=new no(h,u,y,k)}o.push(m)},c=h=>{if(h.length<l||h.type!=Ee.Text)return;let u=Yx(h.from,h.to,this.stateDeco);if(u.total<l)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,d,p;if(i){let O=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,y;if(f!=null){let k=ss(u,f),w=((this.visibleBottom-this.visibleTop)/2+O)/h.height;m=k-w,y=k+w}else m=(this.visibleTop-h.top-O)/h.height,y=(this.visibleBottom-h.top+O)/h.height;d=rs(u,m),p=rs(u,y)}else{let O=u.total*this.heightOracle.charWidth,m=r*this.heightOracle.charWidth,y=0;if(O>2e6)for(let P of e)P.from>=h.from&&P.from<h.to&&P.size!=P.displaySize&&P.from*this.heightOracle.charWidth+y<this.pixelViewport.left&&(y=P.size-P.displaySize);let k=this.pixelViewport.left+y,w=this.pixelViewport.right+y,T,x;if(f!=null){let P=ss(u,f),$=((w-k)/2+m)/O;T=P-$,x=P+$}else T=(k-m)/O,x=(w+m)/O;d=rs(u,T),p=rs(u,x)}d>h.from&&a(h.from,d,h,u),p<h.to&&a(p,h.to,h,u)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(c):c(h);return o}gapSize(e,t,i,r){let s=ss(r,i)-ss(r,t);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){no.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=_.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];N.spans(t,this.viewport.from,this.viewport.to,{span(s,l){i.push({from:s,to:l})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s<i.length&&!(r&8);s++){let l=this.visibleRanges[s],o=i[s];(l.from!=o.from||l.to!=o.to)&&(r|=4,e&&e.mapPos(l.from,-1)==o.from&&e.mapPos(l.to,1)==o.to||(r|=8))}return this.visibleRanges=i,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||rr(this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||rr(this.heightMap.lineAt(this.scaler.fromDOM(e),he.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop*this.scaleY:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return rr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class ns{constructor(e,t){this.from=e,this.to=t}}function Yx(n,e,t){let i=[],r=n,s=0;return N.spans(t,n,e,{span(){},point(l,o){l>r&&(i.push({from:r,to:l}),s+=l-r),r=o}},20),r<e&&(i.push({from:r,to:e}),s+=e-r),{total:s,ranges:i}}function rs({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let i=Math.floor(n*t);for(let r=0;;r++){let{from:s,to:l}=e[r],o=l-s;if(i<=o)return s+i;i-=o}}function ss(n,e){let t=0;for(let{from:i,to:r}of n.ranges){if(e<=r){t+=e-i;break}t+=r-i}return t/n.total}function Ix(n,e){for(let t of n)if(e(t))return t}const Bh={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function Nh(n){let e=n.facet(kl).filter(i=>typeof i!="function"),t=n.facet(Ka).filter(i=>typeof i!="function");return t.length&&e.push(N.join(t)),e}class ic{constructor(e,t,i){let r=0,s=0,l=0;this.viewports=i.map(({from:o,to:a})=>{let c=t.lineAt(o,he.ByPos,e,0,0).top,h=t.lineAt(a,he.ByPos,e,0,0).bottom;return r+=h-c,{from:o,to:a,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let o of this.viewports)o.domTop=l+(o.top-s)*this.scale,l=o.domBottom=o.domTop+(o.bottom-o.top),s=o.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return r+(e-i)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);i=s.bottom,r=s.domBottom}}fromDOM(e){for(let t=0,i=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return i+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);i=s.bottom,r=s.domBottom}}eq(e){return e instanceof ic?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,i)=>t.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}}function rr(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),i=e.toDOM(n.bottom);return new Qt(n.from,n.length,t,i-t,Array.isArray(n._content)?n._content.map(r=>rr(r,e)):n._content)}const ls=Z.define({combine:n=>n.join(" ")}),ua=Z.define({combine:n=>n.indexOf(!0)>-1}),fa=wi.newName(),pp=wi.newName(),Op=wi.newName(),gp={"&light":"."+pp,"&dark":"."+Op};function da(n,e,t){return new wi(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return n;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):n+" "+i}})}const Vx=da("."+fa,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{background:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 0) no-repeat",backgroundSize:".4em",backgroundPosition:"calc(min(50%, 0px)) center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},gp),Bx={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},ro=M.ie&&M.ie_version<=11;class Nx{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new kb,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(M.ie&&M.ie_version<=11||M.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&M.android&&e.constructor.EDIT_CONTEXT!==!1&&!(M.chrome&&M.chrome_version<126)&&(this.editContext=new Ux(e),e.state.facet(ri)&&(e.contentDOM.editContext=this.editContext.editContext)),ro&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(ri)?i.root.activeElement!=this.dom:!ur(this.dom,r))return;let s=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(M.ie&&M.ie_version<=11||M.android&&M.chrome)&&!i.state.selection.main.empty&&r.focusNode&&dr(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Sr(e.root);if(!t)return!1;let i=M.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Gx(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let r=ur(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Qb(this.dom,i)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(i),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let i=this.dom;i;)if(i.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=t)i.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Bx),ro&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),ro&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var i;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&bn(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,r=!1;for(let s of e){let l=this.readMutation(s);l&&(l.typeOver&&(r=!0),t==-1?{from:t,to:i}=l:(t=Math.min(l.from,t),i=Math.max(l.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&ur(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new ux(this.view,e,t,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,r=np(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!Is(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let i=Gh(t,e.previousSibling||e.target.previousSibling,-1),r=Gh(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(ri)!=e.state.facet(ri)&&(e.view.contentDOM.editContext=e.state.facet(ri)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function Gh(n,e,t){for(;e;){let i=me.get(e);if(i&&i.parent==n)return i;let r=e.parentNode;e=r!=n.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Uh(n,e){let t=e.startContainer,i=e.startOffset,r=e.endContainer,s=e.endOffset,l=n.docView.domAtPos(n.state.selection.main.anchor,1);return dr(l.node,l.offset,r,s)&&([t,i,r,s]=[r,s,t,i]),{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}}function Gx(n,e){if(e.getComposedRanges){let r=e.getComposedRanges(n.root)[0];if(r)return Uh(n,r)}let t=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",i,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",i,!0),t?Uh(n,t):null}class Ux{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let r=e.state.selection.main,{anchor:s,head:l}=r,o=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:o,drifted:!1});let c=a-o>i.text.length;o==this.from&&s<this.from?o=s:a==this.to&&s>this.to&&(a=s);let h=rp(e.state.sliceDoc(o,a),i.text,(c?r.from:r.to)-o,c?"end":null);if(!h){let f=v.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));Is(f,r)||e.dispatch({selection:f,userEvent:"select"});return}let u={from:h.from+o,to:h.toA+o,insert:H.of(i.text.slice(h.from,h.toB).split(`
|
|
16
|
-
`))};if((M.mac||M.android)&&u.from==l-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:o,to:a,insert:H.of([i.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let f=this.to-this.from+(u.to-u.from+u.insert.length);ec(e,u,v.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let l=this.toEditorPos(i.rangeStart),o=this.toEditorPos(i.rangeEnd);l<o;l++){let a=e.coordsForChar(l);s=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(i.rangeStart,r)},this.handlers.textformatupdate=i=>{let r=[];for(let s of i.getTextFormats()){let l=s.underlineStyle,o=s.underlineThickness;if(!/none/i.test(l)&&!/none/i.test(o)){let a=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(a<c){let h=`text-decoration: underline ${/^[a-z]/.test(l)?l+" ":l=="Dashed"?"dashed ":l=="Squiggle"?"wavy ":""}${/thin/i.test(o)?1:2}px`;r.push(_.mark({attributes:{style:h}}).range(a,c))}}}e.dispatch({effects:Gd.of(_.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let r=Sr(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,l,o,a,c)=>{if(i)return;let h=c.length-(l-s);if(r&&l>=r.to)if(r.from==s&&r.to==l&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,l+=t,l<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||l>this.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(l),c.toString()),this.to+=h}t+=h}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class C{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||wb(e.parent)||document,this.viewState=new Vh(this,e.state||U.create(e)),e.scrollTo&&e.scrollTo.is(es)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(fn).map(r=>new Kl(r));for(let r of this.plugins)r.update(this);this.observer=new Nx(this),this.inputState=new Ox(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Mh(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof Pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let l=this.hasFocus,o=0,a=null;e.some(f=>f.annotation(hp))?(this.inputState.notifiedFocused=l,o=1):l!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=l,a=up(s,l),a||(o=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(U.phrases)!=this.state.facet(U.phrases))return this.setState(s);r=Ws.create(this,s,e),r.flags|=o;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(u&&(u=u.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection,{x:p,y:O}=this.state.facet(C.cursorScrollMargin);u=new xn(d.empty?d:v.cursor(d.head,d.head>d.anchor?-1:1),"nearest","nearest",O,p)}for(let d of f.effects)d.is(es)&&(u=d.value.clip(this.state))}this.viewState.update(r,u),this.bidiCache=Bs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(nr)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(ls)!=r.state.facet(ls)&&(this.viewState.mustMeasureContent=!0),(t||i||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(la))try{f(r)}catch(d){rt(this.state,d,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!np(this,h)&&c.force&&bn(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Vh(this,e),this.plugins=e.facet(fn).map(i=>new Kl(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Mh(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(fn),i=e.state.facet(fn);if(t!=i){let r=[];for(let s of i){let l=t.indexOf(s);if(l<0)r.push(new Kl(s));else{let o=this.plugins[l];o.mustUpdate=e,r.push(o)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);t!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(i){rt(this.state,i,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:l,scaleY:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(l=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(l<0){if(Rd(i||this.win))s=-1,l=this.viewState.heightMap.height/this.viewState.scaleY;else{let p=this.viewState.scrollAnchorAt(r);s=p.from,l=p.top}o=this.viewState.scaleY}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];c&4||([this.measureRequests,h]=[h,this.measureRequests]);let u=h.map(p=>{try{return p.read(this)}catch(O){return rt(this.state,O),Fh}}),f=Ws.create(this,this.state,[]),d=!1;f.flags|=c,t?t.flags|=c:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),d=this.docView.update(f),d&&this.docViewUpdate());for(let p=0;p<h.length;p++)if(u[p]!=Fh)try{let O=h[p];O.write&&O.write(u[p],this)}catch(O){rt(this.state,O)}if(d&&this.docView.updateSelection(!0),!f.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,l=-1;continue}else{let O=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)/this.viewState.scaleY-l/o;if((O>1||O<-1)&&!(M.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+O,i?s<0?i.scrollTop=i.scrollHeight:i.scrollTop+=O:this.win.scrollBy(0,O),l=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(la))a(t)}get themeClasses(){return fa+" "+(this.state.facet(ua)?Op:pp)+" "+this.state.facet(ls)}updateAttrs(){let e=Hh(this,Ud,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(ri)?"true":"false",class:"cm-content",style:`${M.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Hh(this,Ha,t);let i=this.observer.ignore(()=>{let r=$h(this.contentDOM,this.contentAttrs,t),s=$h(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(C.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(nr);let e=this.state.facet(C.cspNonce);wi.mount(this.root,this.styleModules.concat(Vx).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(i=>i.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return io(this,e,Zh(this,e,t,i))}moveByGroup(e,t){return io(this,e,Zh(this,e,t,i=>sx(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=i[t?i.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return rx(this,e,t,i)}moveVertically(e,t,i){return io(this,e,lx(this,e,t,i))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let i=ca(this,e,t);return i&&i.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),ca(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.state.doc.lineAt(e),r=this.bidiSpans(i),s=r[Yt.find(r,e-i.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ce.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Vd)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Fx)return Ld(e.length);let t=this.textDirectionAt(e.from),i;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||Ed(s.isolates,i=Ch(this,e))))return s.order;i||(i=Ch(this,e));let r=Rb(e.text,t,i);return this.bidiCache.push(new Bs(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||M.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Ad(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var i,r,s,l;return es.of(new xn(typeof e=="number"?v.cursor(e):e,(i=t.y)!==null&&i!==void 0?i:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(l=t.xMargin)!==null&&l!==void 0?l:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return es.of(new xn(v.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return be.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return be.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=wi.newName(),r=[ls.of(i),nr.of(da(`.${i}`,e))];return t&&t.dark&&r.push(ua.of(!0)),r}static baseTheme(e){return Ci.lowest(nr.of(da("."+fa,e,gp)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&me.get(i)||me.get(e);return((t=r==null?void 0:r.root)===null||t===void 0?void 0:t.view)||null}}C.styleModule=nr;C.inputHandler=Yd;C.clipboardInputFilter=Ua;C.clipboardOutputFilter=Fa;C.scrollHandler=Nd;C.focusChangeEffect=Id;C.perLineTextDirection=Vd;C.exceptionSink=qd;C.updateListener=la;C.editable=ri;C.mouseSelectionStyle=Wd;C.dragMovesSelection=Dd;C.clickAddsSelectionRange=zd;C.decorations=kl;C.blockWrappers=Fd;C.outerDecorations=Ka;C.atomicRanges=zr;C.bidiIsolatedRanges=Hd;C.cursorScrollMargin=Z.define({combine:n=>{let e=5,t=5;for(let i of n)typeof i=="number"?e=t=i:{x:e,y:t}=i;return{x:e,y:t}}});C.scrollMargins=Kd;C.darkTheme=ua;C.cspNonce=Z.define({combine:n=>n.length?n[0]:""});C.contentAttributes=Ha;C.editorAttributes=Ud;C.lineWrapping=C.contentAttributes.of({class:"cm-lineWrapping"});C.announce=q.define();const Fx=4096,Fh={};class Bs{constructor(e,t,i,r,s,l){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=s,this.order=l}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:ce.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let l=e[s];l.dir==r&&!t.touchesRange(l.from,l.to)&&i.push(new Bs(t.mapPos(l.from,1),t.mapPos(l.to,-1),l.dir,l.isolates,!1,l.order))}return i}}function Hh(n,e,t){for(let i=n.state.facet(e),r=i.length-1;r>=0;r--){let s=i[r],l=typeof s=="function"?s(n):s;l&&Ba(l,t)}return t}const Hx=M.mac?"mac":M.windows?"win":M.linux?"linux":"key";function Kx(n,e){const t=n.split(/-(?!$)/);let i=t[t.length-1];i=="Space"&&(i=" ");let r,s,l,o;for(let a=0;a<t.length-1;++a){const c=t[a];if(/^(cmd|meta|m)$/i.test(c))o=!0;else if(/^a(lt)?$/i.test(c))r=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))l=!0;else if(/^mod$/i.test(c))e=="mac"?o=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return r&&(i="Alt-"+i),s&&(i="Ctrl-"+i),o&&(i="Meta-"+i),l&&(i="Shift-"+i),i}function os(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}const Jx=Ci.default(C.domEventHandlers({keydown(n,e){return bp(mp(e.state),n,e,"editor")}})),zn=Z.define({enables:Jx}),Kh=new WeakMap;function mp(n){let e=n.facet(zn),t=Kh.get(e);return t||Kh.set(e,t=iy(e.reduce((i,r)=>i.concat(r),[]))),t}function ey(n,e,t){return bp(mp(n.state),e,n,t)}let xi=null;const ty=4e3;function iy(n,e=Hx){let t=Object.create(null),i=Object.create(null),r=(l,o)=>{let a=i[l];if(a==null)i[l]=o;else if(a!=o)throw new Error("Key binding "+l+" is used both as a regular binding and as a multi-stroke prefix")},s=(l,o,a,c,h)=>{var u,f;let d=t[l]||(t[l]=Object.create(null)),p=o.split(/ (?!$)/).map(y=>Kx(y,e));for(let y=1;y<p.length;y++){let k=p.slice(0,y).join(" ");r(k,!0),d[k]||(d[k]={preventDefault:!0,stopPropagation:!1,run:[w=>{let T=xi={view:w,prefix:k,scope:l};return setTimeout(()=>{xi==T&&(xi=null)},ty),!0}]})}let O=p.join(" ");r(O,!1);let m=d[O]||(d[O]={preventDefault:!1,stopPropagation:!1,run:((f=(u=d._any)===null||u===void 0?void 0:u.run)===null||f===void 0?void 0:f.slice())||[]});a&&m.run.push(a),c&&(m.preventDefault=!0),h&&(m.stopPropagation=!0)};for(let l of n){let o=l.scope?l.scope.split(" "):["editor"];if(l.any)for(let c of o){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=l;for(let f in h)h[f].run.push(d=>u(d,pa))}let a=l[e]||l.key;if(a)for(let c of o)s(c,a,l.run,l.preventDefault,l.stopPropagation),l.shift&&s(c,"Shift-"+a,l.shift,l.preventDefault,l.stopPropagation)}return t}let pa=null;function bp(n,e,t,i){pa=e;let r=gb(e),s=tt(r,0),l=Wt(s)==r.length&&r!=" ",o="",a=!1,c=!1,h=!1;xi&&xi.view==t&&xi.scope==i&&(o=xi.prefix+" ",lp.indexOf(e.keyCode)<0&&(c=!0,xi=null));let u=new Set,f=m=>{if(m){for(let y of m.run)if(!u.has(y)&&(u.add(y),y(t)))return m.stopPropagation&&(h=!0),!0;m.preventDefault&&(m.stopPropagation&&(h=!0),c=!0)}return!1},d=n[i],p,O;return d&&(f(d[o+os(r,e,!l)])?a=!0:l&&(e.altKey||e.metaKey||e.ctrlKey)&&!(M.windows&&e.ctrlKey&&e.altKey)&&!(M.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Qi[e.keyCode])&&p!=r?(f(d[o+os(p,e,!0)])||e.shiftKey&&(O=xr[e.keyCode])!=r&&O!=p&&f(d[o+os(O,e,!1)]))&&(a=!0):l&&e.shiftKey&&f(d[o+os(r,e,!0)])&&(a=!0),!a&&f(d._any)&&(a=!0)),c&&(a=!0),a&&h&&e.stopPropagation(),pa=null,a}class Vi{constructor(e,t,i,r,s){this.className=e,this.left=t,this.top=i,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=xp(e);return[new Vi(t,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return ny(e,t,i)}}function xp(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==ce.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Jh(n,e,t,i){let r=n.coordsAtPos(e,t*2);if(!r)return i;let s=n.dom.getBoundingClientRect(),l=(r.top+r.bottom)/2,o=n.posAtCoords({x:s.left+1,y:l}),a=n.posAtCoords({x:s.right-1,y:l});return o==null||a==null?i:{from:Math.max(i.from,Math.min(o,a)),to:Math.min(i.to,Math.max(o,a))}}function ny(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let i=Math.max(t.from,n.viewport.from),r=Math.min(t.to,n.viewport.to),s=n.textDirection==ce.LTR,l=n.contentDOM,o=l.getBoundingClientRect(),a=xp(n),c=l.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=o.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=o.right-(h?parseInt(h.paddingRight):0),d=aa(n,i,1),p=aa(n,r,-1),O=d.type==Ee.Text?d:null,m=p.type==Ee.Text?p:null;if(O&&(n.lineWrapping||d.widgetLineBreaks)&&(O=Jh(n,i,1,O)),m&&(n.lineWrapping||p.widgetLineBreaks)&&(m=Jh(n,r,-1,m)),O&&m&&O.from==m.from&&O.to==m.to)return k(w(t.from,t.to,O));{let x=O?w(t.from,null,O):T(d,!1),P=m?w(null,t.to,m):T(p,!0),$=[];return(O||d).to<(m||p).from-(O&&m?1:0)||d.widgetLineBreaks>1&&x.bottom+n.defaultLineHeight/2<P.top?$.push(y(u,x.bottom,f,P.top)):x.bottom<P.top&&n.elementAtHeight((x.bottom+P.top)/2).type==Ee.Text&&(x.bottom=P.top=(x.bottom+P.top)/2),k(x).concat($).concat(k(P))}function y(x,P,$,X){return new Vi(e,x-a.left,P-a.top,Math.max(0,$-x),X-P)}function k({top:x,bottom:P,horizontal:$}){let X=[];for(let Y=0;Y<$.length;Y+=2)X.push(y($[Y],x,$[Y+1],P));return X}function w(x,P,$){let X=1e9,Y=-1e9,D=[];function L(I,F,de,Qe,ve){let oe=n.coordsAtPos(I,I==$.to?-2:2),$e=n.coordsAtPos(de,de==$.from?2:-2);!oe||!$e||(X=Math.min(oe.top,$e.top,X),Y=Math.max(oe.bottom,$e.bottom,Y),ve==ce.LTR?D.push(s&&F?u:oe.left,s&&Qe?f:$e.right):D.push(!s&&Qe?u:$e.left,!s&&F?f:oe.right))}let z=x??$.from,B=P??$.to;for(let I of n.visibleRanges)if(I.to>z&&I.from<B)for(let F=Math.max(I.from,z),de=Math.min(I.to,B);;){let Qe=n.state.doc.lineAt(F);for(let ve of n.bidiSpans(Qe)){let oe=ve.from+Qe.from,$e=ve.to+Qe.from;if(oe>=de)break;$e>F&&L(Math.max(oe,F),x==null&&oe<=z,Math.min($e,de),P==null&&$e>=B,ve.dir)}if(F=Qe.to+1,F>=de)break}return D.length==0&&L(z,x==null,B,P==null,n.textDirection),{top:X,bottom:Y,horizontal:D}}function T(x,P){let $=o.top+(P?x.top:x.bottom);return{top:$,bottom:$,horizontal:[]}}}function ry(n,e){return n.constructor==e.constructor&&n.eq(e)}class sy{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(vs)!=e.state.facet(vs)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(vs);for(;t<i.length&&i[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,i)=>!ry(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e,M.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const vs=Z.define();function yp(n){return[be.define(e=>new sy(e,n)),vs.of(n)]}const Rn=Z.define({combine(n){return Ht(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function ly(n={}){return[Rn.of(n),oy,ay,hy,Bd.of(!0)]}function Sp(n){return n.startState.facet(Rn)!=n.state.facet(Rn)}const oy=yp({above:!0,markers(n){let{state:e}=n,t=e.facet(Rn),i=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty||t.drawRangeCursor&&!(s&&M.ios&&t.iosSelectionHandles)){let l=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=r.empty?r:v.cursor(r.head,r.assoc);for(let a of Vi.forRange(n,l,o))i.push(a)}}return i},update(n,e){n.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Sp(n);return t&&eu(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){eu(e.state,n)},class:"cm-cursorLayer"});function eu(n,e){e.style.animationDuration=n.facet(Rn).cursorBlinkRate+"ms"}const ay=yp({above:!1,markers(n){let e=[],{main:t,ranges:i}=n.state.selection;for(let r of i)if(!r.empty)for(let s of Vi.forRange(n,"cm-selectionBackground",r))e.push(s);if(M.ios&&!t.empty&&n.state.facet(Rn).iosSelectionHandles){for(let r of Vi.forRange(n,"cm-selectionHandle cm-selectionHandle-start",v.cursor(t.from,1)))e.push(r);for(let r of Vi.forRange(n,"cm-selectionHandle cm-selectionHandle-end",v.cursor(t.to,1)))e.push(r)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||Sp(n)},class:"cm-selectionLayer"}),cy=M.gecko&&M.gecko_version==153?"#ffffff01":"transparent",hy=Ci.highest(C.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${cy} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),kp=q.define({map(n,e){return n==null?null:e.mapPos(n)}}),sr=_e.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,i)=>i.is(kp)?i.value:t,n)}}),uy=be.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(sr);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(sr)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(sr),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let i=n.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-i.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(sr)!=n&&this.view.dispatch({effects:kp.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function fy(){return[sr,uy]}function tu(n,e,t,i,r){e.lastIndex=0;for(let s=n.iterRange(t,i),l=t,o;!s.next().done;l+=s.value.length)if(!s.lineBreak)for(;o=e.exec(s.value);)r(l+o.index,o)}function dy(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let i=[];for(let{from:r,to:s}of t)r=Math.max(n.state.doc.lineAt(r).from,r-e),s=Math.min(n.state.doc.lineAt(s).to,s+e),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class py{constructor(e){const{regexp:t,decoration:i,decorate:r,boundary:s,maxLength:l=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(o,a,c,h)=>r(h,c,c+o[0].length,o,a);else if(typeof i=="function")this.addMatch=(o,a,c,h)=>{let u=i(o,a,c);u&&h(c,c+o[0].length,u)};else if(i)this.addMatch=(o,a,c,h)=>h(c,c+o[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=l}createDeco(e){let t=new Gt,i=t.add.bind(t);for(let{from:r,to:s}of dy(e,this.maxLength))tu(e.state.doc,this.regexp,r,s,(l,o)=>this.addMatch(o,e,l,i));return t.finish()}updateDeco(e,t){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((s,l,o,a)=>{a>=e.view.viewport.from&&o<=e.view.viewport.to&&(i=Math.min(o,i),r=Math.max(a,r))}),e.viewportMoved||r-i>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),i,r):t}updateRange(e,t,i,r){for(let s of e.visibleRanges){let l=Math.max(s.from,i),o=Math.min(s.to,r);if(o>=l){let a=e.state.doc.lineAt(l),c=a.to<o?e.state.doc.lineAt(o):a,h=Math.max(s.from,a.from),u=Math.min(s.to,c.to);if(this.boundary){for(;l>a.from;l--)if(this.boundary.test(a.text[l-1-a.from])){h=l;break}for(;o<c.to;o++)if(this.boundary.test(c.text[o-c.from])){u=o;break}}let f=[],d,p=(O,m,y)=>f.push(y.range(O,m));if(a==c)for(this.regexp.lastIndex=h-a.from;(d=this.regexp.exec(a.text))&&d.index<u-a.from;)this.addMatch(d,e,d.index+a.from,p);else tu(e.state.doc,this.regexp,h,u,(O,m)=>this.addMatch(m,e,O,p));t=t.update({filterFrom:h,filterTo:u,filter:(O,m)=>O<h||m>u,add:f})}}return t}}const Oa=/x/.unicode!=null?"gu":"g",Oy=new RegExp(`[\0-\b
|
|
17
|
-
--\u2028\u2029\uFEFF-]`,Oa),gy={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let so=null;function my(){var n;if(so==null&&typeof document<"u"&&document.body){let e=document.body.style;so=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return so||!1}const $s=Z.define({combine(n){let e=Ht(n,{render:null,specialChars:Oy,addSpecialChars:null});return(e.replaceTabs=!my())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Oa)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Oa)),e}});function by(n={}){return[$s.of(n),xy()]}let iu=null;function xy(){return iu||(iu=be.fromClass(class{constructor(n){this.view=n,this.decorations=_.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet($s)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new py({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,s=tt(e[0],0);if(s==9){let l=r.lineAt(i),o=t.state.tabSize,a=_n(l.text,o,i-l.from);return _.replace({widget:new wy((o-a%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=_.replace({widget:new ky(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet($s);n.startState.facet($s)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const yy="•";function Sy(n){return n>=32?yy:n==10?"":String.fromCharCode(9216+n)}class ky extends Tt{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Sy(this.code),i=e.state.phrase("Control character")+" "+(gy[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let s=document.createElement("span");return s.textContent=t,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class wy extends Tt{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Qy(){return $y}const vy=_.line({class:"cm-activeLine"}),$y=be.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let r=n.lineBlockAt(i.head);r.from>e&&(t.push(vy.range(r.from)),e=r.from)}return _.set(t)}},{decorations:n=>n.decorations});class Py extends Tt{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?fr(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),r=kr(t[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return r.bottom-r.top>s*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+s}:r}ignoreEvent(){return!1}}function Ty(n){let e=be.fromClass(class{constructor(t){this.view=t,this.placeholder=n?_.set([_.widget({widget:new Py(n),side:1}).range(0)]):_.none}get decorations(){return this.view.state.doc.length?_.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,C.contentAttributes.of({"aria-placeholder":n})]:e}const ga=2e3;function Cy(n,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),s=[];if(e.off>ga||t.off>ga||e.col<0||t.col<0){let l=Math.min(e.off,t.off),o=Math.max(e.off,t.off);for(let a=i;a<=r;a++){let c=n.doc.line(a);c.length<=o&&s.push(v.range(c.from+l,c.to+o))}}else{let l=Math.min(e.col,t.col),o=Math.max(e.col,t.col);for(let a=i;a<=r;a++){let c=n.doc.line(a),h=Uo(c.text,l,n.tabSize,!0);if(h<0)s.push(v.cursor(c.to));else{let u=Uo(c.text,o,n.tabSize);s.push(v.range(c.from+h,c.from+u))}}}return s}function Ay(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function nu(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),r=t-i.from,s=r>ga?-1:r==i.length?Ay(n,e.clientX):_n(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:s,off:r}}function Ry(n,e){let t=nu(n,e),i=n.state.selection;return t?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(t.line).from),l=r.state.doc.lineAt(s);t={line:l.number,col:t.col,off:Math.min(t.off,l.length)},i=i.map(r.changes)}},get(r,s,l){let o=nu(n,r);if(!o)return i;let a=Cy(n.state,t,o);return a.length?l?v.create(a.concat(i.ranges)):v.create(a):i}}:null}function My(n){let e=(t=>t.altKey&&t.button==0);return C.mouseSelectionStyle.of((t,i)=>e(i)?Ry(t,i):null)}const Zy={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},Xy={style:"cursor: crosshair"};function jy(n={}){let[e,t]=Zy[n.key||"Alt"],i=be.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,C.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.isDown?Xy:null})]}const as="-10000px";class wp{constructor(e,t,i,r){this.facet=t,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(l=>l);let s=null;this.tooltipViews=this.tooltips.map(l=>s=i(l,s))}update(e,t){var i;let r=e.state.facet(this.facet),s=r.filter(a=>a);if(r===this.input){for(let a of this.tooltipViews)a.update&&a.update(e);return!1}let l=[],o=t?[]:null;for(let a=0;a<s.length;a++){let c=s[a],h=-1;if(c){for(let u=0;u<this.tooltips.length;u++){let f=this.tooltips[u];f&&f.create==c.create&&(h=u)}if(h<0)l[a]=this.createTooltipView(c,a?l[a-1]:null),o&&(o[a]=!!c.above);else{let u=l[a]=this.tooltipViews[h];o&&(o[a]=t[h]),u.update&&u.update(e)}}}for(let a of this.tooltipViews)l.indexOf(a)<0&&(this.removeTooltipView(a),(i=a.destroy)===null||i===void 0||i.call(a));return t&&(o.forEach((a,c)=>t[c]=a),t.length=o.length),this.input=r,this.tooltips=s,this.tooltipViews=l,!0}}function Ey(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const lo=Z.define({combine:n=>{var e,t,i;return{position:M.ios?"absolute":((e=n.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=n.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||Ey}}}),ru=new WeakMap,nc=be.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(lo);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new wp(n,rc,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,i=n.state.facet(lo);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=as,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(n=i.destroy)===null||n===void 0||n.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(M.safari){let l=s.getBoundingClientRect();t=Math.abs(l.top+1e4)>1||Math.abs(l.left)>1}else t=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(n=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=Ja(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,l)=>{let o=this.manager.tooltipViews[l];return o.getCoords?o.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(lo).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:t,space:i,scaleX:r,scaleY:s}=n,l=[];for(let o=0;o<this.manager.tooltips.length;o++){let a=this.manager.tooltips[o],c=this.manager.tooltipViews[o],{dom:h}=c,u=n.pos[o],f=n.size[o];if(!u||a.clip!==!1&&(u.bottom<=Math.max(t.top,i.top)||u.top>=Math.min(t.bottom,i.bottom)||u.right<Math.max(t.left,i.left)-.1||u.left>Math.min(t.right,i.right)+.1)){h.style.top=as;continue}let d=a.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,p=d?7:0,O=f.right-f.left,m=(e=ru.get(c))!==null&&e!==void 0?e:f.bottom-f.top,y=c.offset||_y,k=this.view.textDirection==ce.LTR,w=f.width>i.right-i.left?k?i.left:i.right-f.width:k?Math.max(i.left,Math.min(u.left-(d?14:0)+y.x,i.right-O)):Math.min(Math.max(i.left,u.left-O+(d?14:0)-y.x),i.right-O),T=this.above[o];!a.strictSide&&(T?u.top-m-p-y.y<i.top:u.bottom+m+p+y.y>i.bottom)&&T==i.bottom-u.bottom>u.top-i.top&&(T=this.above[o]=!T);let x=(T?u.top-i.top:i.bottom-u.bottom)-p;if(x<m&&c.resize!==!1){if(x<this.view.defaultLineHeight){h.style.top=as;continue}ru.set(c,m),h.style.height=(m=x)/s+"px"}else h.style.height&&(h.style.height="");let P=T?u.top-m-p-y.y:u.bottom+p+y.y,$=w+O;if(c.overlap!==!0)for(let X of l)X.left<$&&X.right>w&&X.top<P+m&&X.bottom>P&&(P=T?X.top-m-2-p:X.bottom+p+2);if(this.position=="absolute"?(h.style.top=(P-n.parent.top)/s+"px",su(h,(w-n.parent.left)/r)):(h.style.top=P/s+"px",su(h,w/r)),d){let X=u.left+(k?y.x:-y.x)-(w+14-7);d.style.left=X/r+"px"}c.overlap!==!0&&l.push({left:w,top:P,right:$,bottom:P+m}),h.classList.toggle("cm-tooltip-above",T),h.classList.toggle("cm-tooltip-below",!T),c.positioned&&c.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=as}},{eventObservers:{scroll(){this.maybeMeasure()}}});function su(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const Ly=C.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),_y={x:0,y:0},rc=Z.define({enables:[nc,Ly]}),Ns=Z.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class $l{static create(e){return new $l(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new wp(e,Ns,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const zy=rc.compute([Ns],n=>{let e=n.facet(Ns);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:$l.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),Qp=Z.define();class Dy{constructor(e,t,i,r,s,l){this.view=e,this.source=t,this.field=i,this.locked=r,this.setHover=s,this.hoverTime=l,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,i=e.docView.tile.nearest(t.target);if(!i)return;let r,s=1;if(i.isWidget())r=i.posAtStart;else{if(r=e.posAtCoords(t),r==null)return;let l=e.coordsAtPos(r);if(!l||t.y<l.top||t.y>l.bottom||t.x<l.left-e.defaultCharacterWidth||t.x>l.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find(c=>c.from<=r&&c.to>=r),a=o&&o.dir==ce.RTL?-1:1;s=t.x<l.left?-a:a}this.activateHover(e,r,s)}activateHover(e,t,i,r){let s=this.source(e,t,i),l=o=>{if(o&&!(Array.isArray(o)&&!o.length)){let a=Array.isArray(o)?o:[o];r&&this.locked.set(a,r),e.dispatch({effects:this.setHover.of(a)})}};if(s&&"then"in s){let o=this.pending={pos:t};s.then(a=>{this.pending==o&&(this.pending=null,l(a))},a=>rt(e.state,a,"hover tooltip"))}else l(s)}get tooltip(){let e=this.view.plugin(nc),t=e?e.manager.tooltips.findIndex(i=>i.create==$l.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&!this.locked.has(r)&&s&&!Wy(s.dom,e)||this.pending){let{pos:l}=r[0]||this.pending,o=(i=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:l;(l==o?this.view.posAtCoords(this.lastMove)!=l:!qy(this.view,l,o,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length&&!this.locked.has(t)){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const cs=4;function Wy(n,e){let{left:t,right:i,top:r,bottom:s}=n.getBoundingClientRect(),l;if(l=n.querySelector(".cm-tooltip-arrow")){let o=l.getBoundingClientRect();r=Math.min(o.top,r),s=Math.max(o.bottom,s)}return e.clientX>=t-cs&&e.clientX<=i+cs&&e.clientY>=r-cs&&e.clientY<=s+cs}function qy(n,e,t,i,r,s){let l=n.scrollDOM.getBoundingClientRect(),o=n.documentTop+n.documentPadding.top+n.contentHeight;if(l.left>i||l.right<i||l.top>r||Math.min(l.bottom,o)<r)return!1;let a=n.posAtCoords({x:i,y:r},!1);return a>=e&&a<=t}function Yy(n,e={}){let t=q.define(),i=new WeakMap,r=_e.define({create(){return[]},update(l,o){let a=i.get(l);if(l.length&&(e.hideOnChange&&(o.docChanged||o.selection)?l=[]:a&&a(o)?l=[]:e.hideOn&&(l=l.filter(c=>!e.hideOn(o,c)))),o.docChanged&&l.length){let c=[];for(let h of l){let u=o.changes.mapPos(h.pos,-1,je.TrackDel);if(u!=null){let f=Object.assign(Object.create(null),h);f.pos=u,f.end!=null&&(f.end=o.changes.mapPos(f.end)),c.push(f)}}l=c}for(let c of o.effects)c.is(t)&&(l=c.value,a=void 0),(c.is(Vy)&&!c.value||c.value==r)&&(l=[]);return l.length&&a&&i.set(l,a),l},provide:l=>Ns.from(l)});const s=be.define(l=>new Dy(l,n,r,i,t,e.hoverTime||300));return{active:r,extension:[r,s,Qp.of(s),zy]}}function Iy(n,e,t,i={}){var r;let s=n.state.facet(Qp).map(l=>n.plugin(l)).filter(l=>!!l);if(i.tooltip&&i.tooltip.active){let l=s.find(o=>o.field==i.tooltip.active);l&&(s=[l])}for(let l of s)l.activateHover(n,e,t,(r=i.until)!==null&&r!==void 0?r:(()=>!1))}function vp(n,e){let t=n.plugin(nc);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const Vy=q.define(),lu=Z.define({combine(n){let e,t;for(let i of n)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Pl(n,e){let t=n.plugin($p),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const $p=be.fromClass(class{constructor(n){this.input=n.state.facet(Qr),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(lu);this.top=new hs(n,!0,e.topContainer),this.bottom=new hs(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(lu);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new hs(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new hs(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Qr);if(t!=this.input){let i=t.filter(a=>a),r=[],s=[],l=[],o=[];for(let a of i){let c=this.specs.indexOf(a),h;c<0?(h=a(n.view),o.push(h)):(h=this.panels[c],h.update&&h.update(n)),r.push(h),(h.top?s:l).push(h)}this.specs=i,this.panels=r,this.top.sync(s),this.bottom.sync(l);for(let a of o)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let i of this.panels)i.update&&i.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>C.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class hs{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=ou(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=ou(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function ou(n){let e=n.nextSibling;return n.remove(),e}const Qr=Z.define({enables:$p});function By(n,e){let t,i=new Promise(l=>t=l),r=l=>Gy(l,e,t);n.state.field(Ps,!1)?n.dispatch({effects:Pp.of(r)}):n.dispatch({effects:q.appendConfig.of(Ps.init(()=>[r]))});let s=Tp.of(r);return{close:s,result:i.then(l=>((n.win.queueMicrotask||(a=>n.win.setTimeout(a,10)))(()=>{n.state.field(Ps).indexOf(r)>-1&&n.dispatch({effects:s})}),l))}}function Ny(n,e){let t=n.state.field(Ps,!1)||[];for(let i of t){let r=Pl(n,i);if(r&&r.dom.classList.contains(e))return r}return null}const Ps=_e.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(Pp)?n=[t.value].concat(n):t.is(Tp)&&(n=n.filter(i=>i!=t.value));return n},provide:n=>Qr.computeN([n],e=>e.field(n))}),Pp=q.define(),Tp=q.define();function Gy(n,e,t){let i=e.content?e.content(n,()=>l(null)):null;if(!i){if(i=le("form"),e.input){let o=le("input",e.input);/^(text|password|number|email|tel|url)$/.test(o.type)&&o.classList.add("cm-textfield"),o.name||(o.name="input"),i.appendChild(le("label",(e.label||"")+": ",o))}else i.appendChild(document.createTextNode(e.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(le("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let o=0;o<r.length;o++){let a=r[o];a.addEventListener("keydown",c=>{c.keyCode==27?(c.preventDefault(),l(null)):c.keyCode==13&&(c.preventDefault(),l(a))}),a.addEventListener("submit",c=>{c.preventDefault(),l(a)})}let s=le("div",i,le("button",{onclick:()=>l(null),"aria-label":n.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(s.className=e.class),s.classList.add("cm-dialog");function l(o){s.contains(s.ownerDocument.activeElement)&&n.focus(),t(o)}return{dom:s,top:e.top,mount:()=>{if(e.focus){let o;typeof e.focus=="string"?o=i.querySelector(e.focus):o=i.querySelector("input")||i.querySelector("button"),o&&"select"in o?o.select():o&&"focus"in o&&o.focus()}}}}class ai extends ki{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}ai.prototype.elementClass="";ai.prototype.toDOM=void 0;ai.prototype.mapMode=je.TrackBefore;ai.prototype.startSide=ai.prototype.endSide=-1;ai.prototype.point=!0;const Ts=Z.define(),Uy=Z.define(),Fy={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>N.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Or=Z.define();function Hy(n){return[Cp(),Or.of({...Fy,...n})]}const au=Z.define({combine:n=>n.some(e=>e)});function Cp(n){return[Ky]}const Ky=be.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Or).map(e=>new hu(n,e)),this.fixed=!n.state.facet(au);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(au)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=N.iter(this.view.state.facet(Ts),this.view.viewport.from),i=[],r=this.gutters.map(s=>new Jy(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let l=!0;for(let o of s.type)if(o.type==Ee.Text&&l){ma(t,i,o.from);for(let a of r)a.line(this.view,o,i);l=!1}else if(o.widget)for(let a of r)a.widget(this.view,o)}else if(s.type==Ee.Text){ma(t,i,s.from);for(let l of r)l.line(this.view,s,i)}else if(s.widget)for(let l of r)l.widget(this.view,s);for(let s of r)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Or),t=n.state.facet(Or),i=n.docChanged||n.heightChanged||n.viewportChanged||!N.eq(n.startState.facet(Ts),n.state.facet(Ts),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(n)&&(i=!0);else{i=!0;let r=[];for(let s of t){let l=e.indexOf(s);l<0?r.push(new hu(this.view,s)):(this.gutters[l].update(n),r.push(this.gutters[l]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>C.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ce.LTR?{left:i,right:r}:{right:i,left:r}})});function cu(n){return Array.isArray(n)?n:[n]}function ma(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class Jy{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=N.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,s=(t.top-this.height)/e.scaleY,l=t.height/e.scaleY;if(this.i==r.elements.length){let o=new Ap(e,l,s,i);r.elements.push(o),r.dom.appendChild(o.dom)}else r.elements[this.i].update(e,l,s,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];ma(this.cursor,r,t.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(e,t,r);s&&r.unshift(s);let l=this.gutter;r.length==0&&!l.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let s of e.state.facet(Uy)){let l=s(e,t.widget,t);l&&(r||(r=[])).push(l)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class hu{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,l;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let a=s.getBoundingClientRect();l=(a.top+a.bottom)/2}else l=r.clientY;let o=e.lineBlockAtHeight(l-e.documentTop);t.domEventHandlers[i](e,o,r)&&r.preventDefault()});this.markers=cu(t.markers(e)),t.initialSpacer&&(this.spacer=new Ap(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=cu(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!N.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class Ap{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),eS(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,l=0;;){let o=l,a=s<t.length?t[s++]:null,c=!1;if(a){let h=a.elementClass;h&&(i+=" "+h);for(let u=l;u<this.markers.length;u++)if(this.markers[u].compare(a)){o=u,c=!0;break}}else o=this.markers.length;for(;l<o;){let h=this.markers[l++];if(h.toDOM){h.destroy(r);let u=r.nextSibling;r.remove(),r=u}}if(!a)break;a.toDOM&&(c?r=r.nextSibling:this.dom.insertBefore(a.toDOM(e),r)),c&&l++}this.dom.className=i,this.markers=t}destroy(){this.setMarkers(null,[])}}function eS(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}const tS=Z.define(),iS=Z.define(),dn=Z.define({combine(n){return Ht(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let r in t){let s=i[r],l=t[r];i[r]=s?(o,a,c)=>s(o,a,c)||l(o,a,c):l}return i}})}});class oo extends ai{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function ao(n,e){return n.state.facet(dn).formatNumber(e,n.state)}const nS=Or.compute([dn],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(tS)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new oo(ao(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(iS)){let s=r(e,t,i);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(dn)!=e.state.facet(dn),initialSpacer(e){return new oo(ao(e,uu(e.state.doc.lines)))},updateSpacer(e,t){let i=ao(t.view,uu(t.view.state.doc.lines));return i==e.number?e:new oo(i)},domEventHandlers:n.facet(dn).domEventHandlers,side:"before"}));function rS(n={}){return[dn.of(n),Cp(),nS]}function uu(n){let e=9;for(;e<n;)e=e*10+9;return e}const sS=new class extends ai{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},lS=Ts.compute(["selection"],n=>{let e=[],t=-1;for(let i of n.selection.ranges){let r=n.doc.lineAt(i.head).from;r>t&&(t=r,e.push(sS.range(r)))}return N.of(e)});function oS(){return lS}const Rp=1024;let aS=0,mt=class{constructor(e,t){this.from=e,this.to=t}};class V{constructor(e={}){this.id=aS++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=He.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}}V.closedBy=new V({deserialize:n=>n.split(" ")});V.openedBy=new V({deserialize:n=>n.split(" ")});V.group=new V({deserialize:n=>n.split(" ")});V.isolate=new V({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});V.contextHash=new V({perNode:!0});V.lookAhead=new V({perNode:!0});V.mounted=new V({perNode:!0});class yn{constructor(e,t,i,r=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=r}static get(e){return e&&e.props&&e.props[V.mounted.id]}}const cS=Object.create(null);class He{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):cS,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new He(e.name||"",t,e.id,i);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(V.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(V.group),s=-1;s<(r?r.length:0);s++){let l=t[s<0?i.name:r[s]];if(l)return l}}}}He.none=new He("",Object.create(null),0,8);class sc{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let i of this.types){let r=null;for(let s of e){let l=s(i);if(l){r||(r=Object.assign({},i.props));let o=l[1],a=l[0];a.combine&&a.id in r&&(o=a.combine(r[a.id],o)),r[a.id]=o}}t.push(r?new He(i.name,r,i.id,i.flags):i)}return new sc(t)}}const us=new WeakMap,fu=new WeakMap;var te;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(te||(te={}));class fe{constructor(e,t,i,r,s){if(this.type=e,this.children=t,this.positions=i,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[l,o]of s)this.props[typeof l=="number"?l:l.id]=o}}toString(){let e=yn.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let i of this.children){let r=i.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Gs(this.topNode,e)}cursorAt(e,t=0,i=0){let r=us.get(this)||this.topNode,s=new Gs(r);return s.moveTo(e,t),us.set(this,s._tree),s}get topNode(){return new qe(this,0,0,null)}resolve(e,t=0){let i=vr(us.get(this)||this.topNode,e,t,!1);return us.set(this,i),i}resolveInner(e,t=0){let i=vr(fu.get(this)||this.topNode,e,t,!0);return fu.set(this,i),i}resolveStack(e,t=0){return fS(this,e,t)}iterate(e){let{enter:t,leave:i,from:r=0,to:s=this.length}=e,l=e.mode||0,o=(l&te.IncludeAnonymous)>0;for(let a=this.cursor(l|te.IncludeAnonymous);;){let c=!1;if(a.from<=s&&a.to>=r&&(!o&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&i&&(o||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ac(He.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new fe(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new fe(He.none,t,i,r)))}static build(e){return dS(e)}}fe.empty=new fe(He.none,[],[],0);class lc{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new lc(this.buffer,this.index)}}class $i{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return He.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],i=this.buffer[e+3],r=this.set.types[t],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,i==e)return s;let l=[];for(;e<i;)l.push(this.childString(e)),e=this.buffer[e+3];return s+"("+l.join(",")+")"}findChild(e,t,i,r,s){let{buffer:l}=this,o=-1;for(let a=e;a!=t&&!(Mp(s,r,l[a+1],l[a+2])&&(o=a,i>0));a=l[a+3]);return o}slice(e,t,i){let r=this.buffer,s=new Uint16Array(t-e),l=0;for(let o=e,a=0;o<t;){s[a++]=r[o++],s[a++]=r[o++]-i;let c=s[a++]=r[o++]-i;s[a++]=r[o++]-e,l=Math.max(l,c)}return new $i(s,l,this.set)}}function Mp(n,e,t,i){switch(n){case-2:return t<e;case-1:return i>=e&&t<e;case 0:return t<e&&i>e;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function vr(n,e,t,i){for(var r;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let l=!i&&n instanceof qe&&n.index<0?null:n.parent;if(!l)return n;n=l}let s=i?0:te.IgnoreOverlays;if(i)for(let l=n,o=l.parent;o;l=o,o=l.parent)l instanceof qe&&l.index<0&&((r=o.enter(e,t,s))===null||r===void 0?void 0:r.from)!=l.from&&(n=o);for(;;){let l=n.enter(e,t,s);if(!l)return n;n=l}}class Zp{cursor(e=0){return new Gs(this,e)}getChild(e,t=null,i=null){let r=du(this,e,t,i);return r.length?r[0]:null}getChildren(e,t=null,i=null){return du(this,e,t,i)}resolve(e,t=0){return vr(this,e,t,!1)}resolveInner(e,t=0){return vr(this,e,t,!0)}matchContext(e){return ba(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),i=this;for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(i=t,t=r.prevSibling):t=r}return i}get node(){return this}get next(){return this.parent}}class qe extends Zp{constructor(e,t,i,r){super(),this._tree=e,this.from=t,this.index=i,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,i,r,s=0){for(let l=this;;){for(let{children:o,positions:a}=l._tree,c=t>0?o.length:-1;e!=c;e+=t){let h=o[e],u=a[e]+l.from,f;if(!(!(s&te.EnterBracketed&&h instanceof fe&&(f=yn.get(h))&&!f.overlay&&f.bracketed&&i>=u&&i<=u+h.length)&&!Mp(r,i,u,u+h.length))){if(h instanceof $i){if(s&te.ExcludeBuffers)continue;let d=h.findChild(0,h.buffer.length,t,i-u,r);if(d>-1)return new It(new hS(l,h,e,u),null,d)}else if(s&te.IncludeAnonymous||!h.type.isAnonymous||oc(h)){let d;if(!(s&te.IgnoreMounts)&&(d=yn.get(h))&&!d.overlay)return new qe(d.tree,u,e,l);let p=new qe(h,u,e,l);return s&te.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,i,r,s)}}}if(s&te.IncludeAnonymous||!l.type.isAnonymous||(l.index>=0?e=l.index+t:e=t<0?-1:l._parent._tree.children.length,l=l._parent,!l))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let r;if(!(i&te.IgnoreOverlays)&&(r=yn.get(this._tree))&&r.overlay){let s=e-this.from,l=i&te.EnterBracketed&&r.bracketed;for(let{from:o,to:a}of r.overlay)if((t>0||l?o<=s:o<s)&&(t<0||l?a>=s:a>s))return new qe(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function du(n,e,t,i){let r=n.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let l=!1;!l;)if(l=r.type.is(t),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function ba(n,e,t=e.length-1){for(let i=n;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class hS{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}}class It extends Zp{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return s<0?null:new It(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new It(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new It(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new It(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let l=i.buffer[this.index+1];e.push(i.slice(r,s,l)),t.push(0)}return new fe(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Xp(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;s<n.length;s++){let l=n[s];(l.from>t.from||l.to<t.to)&&(t=l,e=s)}let i=t instanceof qe&&t.index<0?null:t.parent,r=n.slice();return i?r[e]=i:r.splice(e,1),new uS(r,t)}class uS{constructor(e,t){this.heads=e,this.node=t}get next(){return Xp(this.heads)}}function fS(n,e,t){let i=n.resolveInner(e,t),r=null;for(let s=i instanceof qe?i:i.context.parent;s;s=s.parent)if(s.index<0){let l=s.parent;(r||(r=[i])).push(l.resolve(e,t)),s=l}else{let l=yn.get(s.tree);if(l&&l.overlay&&l.overlay[0].from<=e&&l.overlay[l.overlay.length-1].to>=e){let o=new qe(l.tree,l.overlay[0].from+s.from,-1,s);(r||(r=[i])).push(vr(o,e,t,!1))}}return r?Xp(r):i}class Gs{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~te.EnterBracketed,e instanceof qe)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof qe?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:i}=r)}else({index:t,_parent:i}=this._tree);for(;i;{index:t,_parent:i}=i)if(t>-1)for(let s=t+e,l=e<0?-1:i._tree.children.length;s!=l;s+=e){let o=i._tree.children[s];if(this.mode&te.IncludeAnonymous||o instanceof $i||!o.type.isAnonymous||oc(o))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,i=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let l=e;l;l=l._parent)if(l.index==r){if(r==this.index)return l;t=l,i=s+1;break e}r=this.stack[--s]}for(let r=i;r<this.stack.length;r++)t=new It(this.buffer,t,this.stack[r]);return this.bufferNode=new It(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let i=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,r=!0}}}matchContext(e){if(!this.buffer)return ba(this.node.parent,e);let{buffer:t}=this.buffer,{types:i}=t.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return ba(this._tree,e,r);let l=i[t.buffer[this.stack[s]]];if(!l.isAnonymous){if(e[r]&&e[r]!=l.name)return!1;r--}}return!0}}function oc(n){return n.children.some(e=>e instanceof $i||!e.type.isAnonymous||oc(e))}function dS(n){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=Rp,reused:s=[],minRepeatType:l=i.types.length}=n,o=Array.isArray(t)?new lc(t,t.length):t,a=i.types,c=0,h=0;function u(x,P,$,X,Y,D){let{id:L,start:z,end:B,size:I}=o,F=h,de=c;if(I<0)if(o.next(),I==-1){let ye=s[L];$.push(ye),X.push(z-x);return}else if(I==-3){c=L;return}else if(I==-4){h=L;return}else throw new RangeError(`Unrecognized record size: ${I}`);let Qe=a[L],ve,oe,$e=z-x;if(B-z<=r&&(oe=m(o.pos-P,Y))){let ye=new Uint16Array(oe.size-oe.skip),Ce=o.pos-oe.size,ze=ye.length;for(;o.pos>Ce;)ze=y(oe.start,ye,ze);ve=new $i(ye,B-oe.start,i),$e=oe.start-x}else{let ye=o.pos-I;o.next();let Ce=[],ze=[],K=L>=l?L:-1,Ie=0,Rt=B;for(;o.pos>ye;)K>=0&&o.id==K&&o.size>=0?(o.end<=Rt-r&&(p(Ce,ze,z,Ie,o.end,Rt,K,F,de),Ie=Ce.length,Rt=o.end),o.next()):D>2500?f(z,ye,Ce,ze):u(z,ye,Ce,ze,K,D+1);if(K>=0&&Ie>0&&Ie<Ce.length&&p(Ce,ze,z,Ie,z,Rt,K,F,de),Ce.reverse(),ze.reverse(),K>-1&&Ie>0){let Mt=d(Qe,de);ve=ac(Qe,Ce,ze,0,Ce.length,0,B-z,Mt,Mt)}else ve=O(Qe,Ce,ze,B-z,F-B,de)}$.push(ve),X.push($e)}function f(x,P,$,X){let Y=[],D=0,L=-1;for(;o.pos>P;){let{id:z,start:B,end:I,size:F}=o;if(F>4)o.next();else{if(L>-1&&B<L)break;L<0&&(L=I-r),Y.push(z,B,I),D++,o.next()}}if(D){let z=new Uint16Array(D*4),B=Y[Y.length-2];for(let I=Y.length-3,F=0;I>=0;I-=3)z[F++]=Y[I],z[F++]=Y[I+1]-B,z[F++]=Y[I+2]-B,z[F++]=F;$.push(new $i(z,Y[2]-B,i)),X.push(B-x)}}function d(x,P){return($,X,Y)=>{let D=0,L=$.length-1,z,B;if(L>=0&&(z=$[L])instanceof fe){if(!L&&z.type==x&&z.length==Y)return z;(B=z.prop(V.lookAhead))&&(D=X[L]+z.length+B)}return O(x,$,X,Y,D,P)}}function p(x,P,$,X,Y,D,L,z,B){let I=[],F=[];for(;x.length>X;)I.push(x.pop()),F.push(P.pop()+$-Y);x.push(O(i.types[L],I,F,D-Y,z-D,B)),P.push(Y-$)}function O(x,P,$,X,Y,D,L){if(D){let z=[V.contextHash,D];L=L?[z].concat(L):[z]}if(Y>25){let z=[V.lookAhead,Y];L=L?[z].concat(L):[z]}return new fe(x,P,$,X,L)}function m(x,P){let $=o.fork(),X=0,Y=0,D=0,L=$.end-r,z={size:0,start:0,skip:0};e:for(let B=$.pos-x;$.pos>B;){let I=$.size;if($.id==P&&I>=0){z.size=X,z.start=Y,z.skip=D,D+=4,X+=4,$.next();continue}let F=$.pos-I;if(I<0||F<B||$.start<L)break;let de=$.id>=l?4:0,Qe=$.start;for($.next();$.pos>F;){if($.size<0)if($.size==-3||$.size==-4)de+=4;else break e;else $.id>=l&&(de+=4);$.next()}Y=Qe,X+=I,D+=de}return(P<0||X==x)&&(z.size=X,z.start=Y,z.skip=D),z.size>4?z:void 0}function y(x,P,$){let{id:X,start:Y,end:D,size:L}=o;if(o.next(),L>=0&&X<l){let z=$;if(L>4){let B=o.pos-(L-4);for(;o.pos>B;)$=y(x,P,$)}P[--$]=z,P[--$]=D-x,P[--$]=Y-x,P[--$]=X}else L==-3?c=X:L==-4&&(h=X);return $}let k=[],w=[];for(;o.pos>0;)u(n.start||0,n.bufferStart||0,k,w,-1,0);let T=(e=n.length)!==null&&e!==void 0?e:k.length?w[0]+k[0].length:0;return new fe(a[n.topID],k.reverse(),w.reverse(),T)}const pu=new WeakMap;function Cs(n,e){if(!n.isAnonymous||e instanceof $i||e.type!=n)return 1;let t=pu.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=n||!(i instanceof fe)){t=1;break}t+=Cs(n,i)}pu.set(e,t)}return t}function ac(n,e,t,i,r,s,l,o,a){let c=0;for(let p=i;p<r;p++)c+=Cs(n,e[p]);let h=Math.ceil(c*1.5/8),u=[],f=[];function d(p,O,m,y,k){for(let w=m;w<y;){let T=w,x=O[w],P=Cs(n,p[w]);for(w++;w<y;w++){let $=Cs(n,p[w]);if(P+$>=h)break;P+=$}if(w==T+1){if(P>h){let $=p[T];d($.children,$.positions,0,$.children.length,O[T]+k);continue}u.push(p[T])}else{let $=O[w-1]+p[w-1].length-x;u.push(ac(n,p,O,T,w,x,$,null,a))}f.push(x+k-s)}}return d(e,t,i,r,0),(o||a)(u,f,l)}class jp{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof It?this.setBuffer(e.context.buffer,e.index,t):e instanceof qe&&this.map.set(e.tree,t)}get(e){return e instanceof It?this.getBuffer(e.context.buffer,e.index):e instanceof qe?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class li{constructor(e,t,i,r,s=!1,l=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(s?1:0)|(l?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new li(0,e.length,e,0,!1,i)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],s=1,l=e.length?e[0]:null;for(let o=0,a=0,c=0;;o++){let h=o<t.length?t[o]:null,u=h?h.fromA:1e9;if(u-a>=i)for(;l&&l.from<u;){let f=l;if(a>=f.from||u<=f.to||c){let d=Math.max(f.from,a)-c,p=Math.min(f.to,u)-c;f=d>=p?null:new li(d,p,f.tree,f.offset+c,o>0,!!h)}if(f&&r.push(f),l.to>u)break;l=s<e.length?e[s++]:null}if(!h)break;a=h.toA,c=h.toA-h.toB}return r}}class Ep{startParse(e,t,i){return typeof e=="string"&&(e=new pS(e)),i=i?i.length?i.map(r=>new mt(r.from,r.to)):[new mt(0,0)]:[new mt(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let s=r.advance();if(s)return s}}}class pS{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function OS(n){return(e,t,i,r)=>new mS(e,n,t,i,r)}class Ou{constructor(e,t,i,r,s,l){this.parser=e,this.parse=t,this.overlay=i,this.bracketed=r,this.target=s,this.from=l}}function gu(n){if(!n.length||n.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(n))}class gS{constructor(e,t,i,r,s,l,o,a){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=s,this.bracketed=l,this.target=o,this.prev=a,this.depth=0,this.ranges=[]}}const xa=new V({perNode:!0});class mS{constructor(e,t,i,r,s){this.nest=t,this.input=i,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new fe(i.type,i.children,i.positions,i.length,i.propValues.concat([[xa,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[V.mounted.id]=new yn(t,e.overlay,e.parser,e.bracketed),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new yS(this.fragments),t=null,i=null,r=new Gs(new qe(this.baseTree,this.ranges[0].from,0,null),te.IncludeAnonymous|te.IgnoreMounts);e:for(let s,l;;){let o=!0,a;if(this.stoppedAt!=null&&r.from>=this.stoppedAt)o=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let u=h.from+c.pos,f=h.to+c.pos;u>=r.from&&f<=r.to&&!t.ranges.some(d=>d.from<f&&d.to>u)&&t.ranges.push({from:u,to:f})}}o=!1}else if(i&&(l=bS(i.ranges,r.from,r.to)))o=l!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.from<r.to||!s.overlay)){r.tree||(xS(r),t&&t.depth++,i&&i.depth++);let c=e.findMounts(r.from,s.parser);if(typeof s.overlay=="function")t=new gS(s.parser,s.overlay,c,this.inner.length,r.from,!!s.bracketed,r.tree,t);else{let h=xu(this.ranges,s.overlay||(r.from<r.to?[new mt(r.from,r.to)]:[]));h.length&&gu(h),(h.length||!s.overlay)&&this.inner.push(new Ou(s.parser,h.length?s.parser.startParse(this.input,yu(c,h),h):s.parser.startParse(""),s.overlay?s.overlay.map(u=>new mt(u.from-r.from,u.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(i={ranges:h,depth:0,prev:i}):o=!1}}else if(t&&(a=t.predicate(r))&&(a===!0&&(a=new mt(r.from,r.to)),a.from<a.to)){let c=t.ranges.length-1;c>=0&&t.ranges[c].to==a.from?t.ranges[c]={from:t.ranges[c].from,to:a.to}:t.ranges.push(a)}if(o&&r.firstChild())t&&t.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=xu(this.ranges,t.ranges);c.length&&(gu(c),this.inner.splice(t.index,0,new Ou(t.parser,t.parser.startParse(this.input,yu(t.mounts,c),c),t.ranges.map(h=>new mt(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}}function bS(n,e,t){for(let i of n){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function mu(n,e,t,i,r,s){if(e<t){let l=n.buffer[e+1];i.push(n.slice(e,t,l)),r.push(l-s)}}function xS(n){let{node:e}=n,t=[],i=e.context.buffer;do t.push(n.index),n.parent();while(!n.tree);let r=n.tree,s=r.children.indexOf(i),l=r.children[s],o=l.buffer,a=[s];function c(h,u,f,d,p,O){let m=t[O],y=[],k=[];mu(l,h,m,y,k,d);let w=o[m+1],T=o[m+2];a.push(y.length);let x=O?c(m+4,o[m+3],l.set.types[o[m]],w,T-w,O-1):e.toTree();return y.push(x),k.push(w-d),mu(l,o[m+3],u,y,k,d),new fe(f,y,k,p)}r.children[s]=c(0,o.length,He.none,0,l.length,t.length-1);for(let h of a){let u=n.tree.children[h],f=n.tree.positions[h];n.yield(new qe(u,f+n.from,h,n._tree))}}class bu{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(te.IncludeAnonymous|te.IgnoreMounts)}moveTo(e){let{cursor:t}=this,i=e-this.offset;for(;!this.done&&t.from<i;)if(!(t.to>=e&&t.enter(i,1,te.IgnoreOverlays|te.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof fe)t=t.children[0];else break}return!1}}let yS=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=(t=i.tree.prop(xa))!==null&&t!==void 0?t:i.to,this.inner=new bu(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(xa))!==null&&e!==void 0?e:t.to,this.inner=new bu(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let l=(i=s.tree)===null||i===void 0?void 0:i.prop(V.mounted);if(l&&l.parser==t)for(let o=this.fragI;o<this.fragments.length;o++){let a=this.fragments[o];if(a.from>=s.to)break;a.tree==this.curFrag.tree&&r.push({frag:a,pos:s.from-a.offset,mount:l})}}}return r}};function xu(n,e){let t=null,i=e;for(let r=1,s=0;r<n.length;r++){let l=n[r-1].to,o=n[r].from;for(;s<i.length;s++){let a=i[s];if(a.from>=o)break;a.to<=l||(t||(i=t=e.slice()),a.from<l?(t[s]=new mt(a.from,l),a.to>o&&t.splice(s+1,0,new mt(o,a.to))):a.to>o?t[s--]=new mt(o,a.to):t.splice(s--,1))}}return i}function SS(n,e,t,i){let r=0,s=0,l=!1,o=!1,a=-1e9,c=[];for(;;){let h=r==n.length?1e9:l?n[r].to:n[r].from,u=s==e.length?1e9:o?e[s].to:e[s].from;if(l!=o){let f=Math.max(a,t),d=Math.min(h,u,i);f<d&&c.push(new mt(f,d))}if(a=Math.min(h,u),a==1e9)break;h==a&&(l?(l=!1,r++):l=!0),u==a&&(o?(o=!1,s++):o=!0)}return c}function yu(n,e){let t=[];for(let{pos:i,mount:r,frag:s}of n){let l=i+(r.overlay?r.overlay[0].from:0),o=l+r.tree.length,a=Math.max(s.from,l),c=Math.min(s.to,o);if(r.overlay){let h=r.overlay.map(f=>new mt(f.from+i,f.to+i)),u=SS(e,h,a,c);for(let f=0,d=a;;f++){let p=f==u.length,O=p?c:u[f].from;if(O>d&&t.push(new li(d,O,r.tree,-l,s.from>=d||s.openStart,s.to<=O||s.openEnd)),p)break;d=u[f].to}}else t.push(new li(a,c,r.tree,-l,s.from>=l||s.openStart,s.to<=o||s.openEnd))}return t}let kS=0;class Ot{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=kS++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof Ot&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let r=new Ot(i,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Us(e);return i=>i.modified.indexOf(t)>-1?i:Us.get(i.base||i,i.modified.concat(t).sort((r,s)=>r.id-s.id))}}let wS=0;class Us{constructor(e){this.name=e,this.instances=[],this.id=wS++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(o=>o.base==e&&QS(t,o.modified));if(i)return i;let r=[],s=new Ot(e.name,r,e,t);for(let o of t)o.instances.push(s);let l=vS(t);for(let o of e.set)if(!o.modified.length)for(let a of l)r.push(Us.get(o,a));return s}}function QS(n,e){return n.length==e.length&&n.every((t,i)=>t==e[i])}function vS(n){let e=[[]];for(let t=0;t<n.length;t++)for(let i=0,r=e.length;i<r;i++)e.push(e[i].concat(n[t]));return e.sort((t,i)=>i.length-t.length)}function Tl(n){let e=Object.create(null);for(let t in n){let i=n[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let s=[],l=2,o=r;for(let u=0;;){if(o=="..."&&u>0&&u+3==r.length){l=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),u+=f[0].length,u==r.length)break;let d=r[u++];if(u==r.length&&d=="!"){l=0;break}if(d!="/")throw new RangeError("Invalid path: "+r);o=r.slice(u)}let a=s.length-1,c=s[a];if(!c)throw new RangeError("Invalid path: "+r);let h=new $r(i,l,a>0?s.slice(0,a):null);e[c]=h.sort(e[c])}}return Lp.add(e)}const Lp=new V({combine(n,e){let t,i,r;for(;n||e;){if(!n||e&&n.depth>=e.depth?(r=e,e=e.next):(r=n,n=n.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new $r(r.tags,r.mode,r.context);t?t.next=s:i=s,t=s}return i}});class $r{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}$r.empty=new $r([],2,null);function _p(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let l of s.tag)t[l.id]=s.class;let{scope:i,all:r=null}=e||{};return{style:s=>{let l=r;for(let o of s)for(let a of o.set){let c=t[a.id];if(c){l=l?l+" "+c:c;break}}return l},scope:i}}function $S(n,e){let t=null;for(let i of n){let r=i.style(e);r&&(t=t?t+" "+r:r)}return t}function PS(n,e,t,i=0,r=n.length){let s=new TS(i,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),i,r,"",s.highlighters),s.flush(r)}class TS{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,r,s){let{type:l,from:o,to:a}=e;if(o>=i||a<=t)return;l.isTop&&(s=this.highlighters.filter(d=>!d.scope||d.scope(l)));let c=r,h=CS(e)||$r.empty,u=$S(s,h.tags);if(u&&(c&&(c+=" "),c+=u,h.mode==1&&(r+=(r?" ":"")+u)),this.startSpan(Math.max(t,o),c),h.opaque)return;let f=e.tree&&e.tree.prop(V.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+o,1),p=this.highlighters.filter(m=>!m.scope||m.scope(f.tree.type)),O=e.firstChild();for(let m=0,y=o;;m++){let k=m<f.overlay.length?f.overlay[m]:null,w=k?k.from+o:a,T=Math.max(t,y),x=Math.min(i,w);if(T<x&&O)for(;e.from<x&&(this.highlightRange(e,T,x,r,s),this.startSpan(Math.min(x,e.to),c),!(e.to>=w||!e.nextSibling())););if(!k||w>i)break;y=k.to+o,y>t&&(this.highlightRange(d.cursor(),Math.max(t,k.from+o),Math.min(i,y),"",p),this.startSpan(Math.min(i,y),c))}O&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,s),this.startSpan(Math.min(i,e.to),c)}while(e.nextSibling());e.parent()}}}function CS(n){let e=n.type.prop(Lp);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const R=Ot.define,fs=R(),gi=R(),Su=R(gi),ku=R(gi),mi=R(),ds=R(mi),co=R(mi),Lt=R(),Ei=R(Lt),jt=R(),Et=R(),ya=R(),Hn=R(ya),ps=R(),b={comment:fs,lineComment:R(fs),blockComment:R(fs),docComment:R(fs),name:gi,variableName:R(gi),typeName:Su,tagName:R(Su),propertyName:ku,attributeName:R(ku),className:R(gi),labelName:R(gi),namespace:R(gi),macroName:R(gi),literal:mi,string:ds,docString:R(ds),character:R(ds),attributeValue:R(ds),number:co,integer:R(co),float:R(co),bool:R(mi),regexp:R(mi),escape:R(mi),color:R(mi),url:R(mi),keyword:jt,self:R(jt),null:R(jt),atom:R(jt),unit:R(jt),modifier:R(jt),operatorKeyword:R(jt),controlKeyword:R(jt),definitionKeyword:R(jt),moduleKeyword:R(jt),operator:Et,derefOperator:R(Et),arithmeticOperator:R(Et),logicOperator:R(Et),bitwiseOperator:R(Et),compareOperator:R(Et),updateOperator:R(Et),definitionOperator:R(Et),typeOperator:R(Et),controlOperator:R(Et),punctuation:ya,separator:R(ya),bracket:Hn,angleBracket:R(Hn),squareBracket:R(Hn),paren:R(Hn),brace:R(Hn),content:Lt,heading:Ei,heading1:R(Ei),heading2:R(Ei),heading3:R(Ei),heading4:R(Ei),heading5:R(Ei),heading6:R(Ei),contentSeparator:R(Lt),list:R(Lt),quote:R(Lt),emphasis:R(Lt),strong:R(Lt),link:R(Lt),monospace:R(Lt),strikethrough:R(Lt),inserted:R(),deleted:R(),changed:R(),invalid:R(),meta:ps,documentMeta:R(ps),annotation:R(ps),processingInstruction:R(ps),definition:Ot.defineModifier("definition"),constant:Ot.defineModifier("constant"),function:Ot.defineModifier("function"),standard:Ot.defineModifier("standard"),local:Ot.defineModifier("local"),special:Ot.defineModifier("special")};for(let n in b){let e=b[n];e instanceof Ot&&(e.name=n)}_p([{tag:b.link,class:"tok-link"},{tag:b.heading,class:"tok-heading"},{tag:b.emphasis,class:"tok-emphasis"},{tag:b.strong,class:"tok-strong"},{tag:b.keyword,class:"tok-keyword"},{tag:b.atom,class:"tok-atom"},{tag:b.bool,class:"tok-bool"},{tag:b.url,class:"tok-url"},{tag:b.labelName,class:"tok-labelName"},{tag:b.inserted,class:"tok-inserted"},{tag:b.deleted,class:"tok-deleted"},{tag:b.literal,class:"tok-literal"},{tag:b.string,class:"tok-string"},{tag:b.number,class:"tok-number"},{tag:[b.regexp,b.escape,b.special(b.string)],class:"tok-string2"},{tag:b.variableName,class:"tok-variableName"},{tag:b.local(b.variableName),class:"tok-variableName tok-local"},{tag:b.definition(b.variableName),class:"tok-variableName tok-definition"},{tag:b.special(b.variableName),class:"tok-variableName2"},{tag:b.definition(b.propertyName),class:"tok-propertyName tok-definition"},{tag:b.typeName,class:"tok-typeName"},{tag:b.namespace,class:"tok-namespace"},{tag:b.className,class:"tok-className"},{tag:b.macroName,class:"tok-macroName"},{tag:b.propertyName,class:"tok-propertyName"},{tag:b.operator,class:"tok-operator"},{tag:b.comment,class:"tok-comment"},{tag:b.meta,class:"tok-meta"},{tag:b.invalid,class:"tok-invalid"},{tag:b.punctuation,class:"tok-punctuation"}]);var ho;const pn=new V;function zp(n){return Z.define({combine:n?e=>e.concat(n):void 0})}const cc=new V;class $t{constructor(e,t,i=[],r=""){this.data=e,this.name=r,U.prototype.hasOwnProperty("tree")||Object.defineProperty(U.prototype,"tree",{get(){return xe(this)}}),this.parser=t,this.extension=[Pi.of(this),U.languageData.of((s,l,o)=>{let a=wu(s,l,o),c=a.type.prop(pn);if(!c)return[];let h=s.facet(c),u=a.type.prop(cc);if(u){let f=a.resolve(l-a.from,o);for(let d of u)if(d.test(f,s)){let p=s.facet(d.facet);return d.type=="replace"?p:p.concat(h)}}return h})].concat(i)}isActiveAt(e,t,i=-1){return wu(e,t,i).type.prop(pn)==this.data}findRegions(e){let t=e.facet(Pi);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(s,l)=>{if(s.prop(pn)==this.data){i.push({from:l,to:l+s.length});return}let o=s.prop(V.mounted);if(o){if(o.tree.prop(pn)==this.data){if(o.overlay)for(let a of o.overlay)i.push({from:a.from+l,to:a.to+l});else i.push({from:l,to:l+s.length});return}else if(o.overlay){let a=i.length;if(r(o.tree,o.overlay[0].from+l),i.length>a)return}}for(let a=0;a<s.children.length;a++){let c=s.children[a];c instanceof fe&&r(c,s.positions[a]+l)}};return r(xe(e),0),i}get allowsNesting(){return!0}}$t.setState=q.define();function wu(n,e,t){let i=n.facet(Pi),r=xe(n).topNode;if(!i||i.allowsNesting)for(let s=r;s;s=s.enter(e,t,te.ExcludeBuffers|te.EnterBracketed))s.type.isTop&&(r=s);return r}class Mn extends $t{constructor(e,t,i){super(e,t,[],i),this.parser=t}static define(e){let t=zp(e.languageData);return new Mn(t,e.parser.configure({props:[pn.add(i=>i.isTop?t:void 0)]}),e.name)}configure(e,t){return new Mn(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function xe(n){let e=n.field($t.state,!1);return e?e.tree:fe.empty}class AS{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e<i||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let Kn=null;class Fs{constructor(e,t,i=[],r,s,l,o,a){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=l,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new Fs(e,t,[],fe.empty,0,i,[],null)}startParse(){return this.parser.startParse(new AS(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=fe.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(li.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(li.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Kn;Kn=this;try{return e()}finally{Kn=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Qu(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:s,viewport:l,skipped:o}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,h,u,f)=>a.push({fromA:c,toA:h,fromB:u,toB:f})),i=li.applyChanges(i,a),r=fe.empty,s=0,l={from:e.mapPos(l.from,-1),to:e.mapPos(l.to,1)},this.skipped.length){o=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);h<u&&o.push({from:h,to:u})}}}return new Fs(this.parser,t,i,r,s,l,o,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:r,to:s}=this.skipped[i];r<e.to&&s>e.from&&(this.fragments=Qu(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Ep{createParse(t,i,r){let s=r[0].from,l=r[r.length-1].to;return{parsedPos:s,advance(){let a=Kn;if(a){for(let c of r)a.tempSkipped.push(c);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=l,new fe(He.none,[],[],l-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Kn}}function Qu(n,e,t){return li.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Zn{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new Zn(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=Fs.create(e.facet(Pi).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new Zn(i)}}$t.state=_e.define({create:Zn.init,update(n,e){for(let t of e.effects)if(t.is($t.setState))return t.value;return e.startState.facet(Pi)!=e.state.facet(Pi)?Zn.init(e.state):n.apply(e)}});let Dp=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Dp=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const uo=typeof navigator<"u"&&(!((ho=navigator.scheduling)===null||ho===void 0)&&ho.isInputPending)?()=>navigator.scheduling.isInputPending():null,RS=be.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field($t.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field($t.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Dp(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:r}}=this.view,s=i.field($t.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let l=Date.now()+Math.min(this.chunkBudget,100,e&&!uo?Math.max(25,e.timeRemaining()-5):1e9),o=s.context.treeLen<r&&i.doc.length>r+1e3,a=s.context.work(()=>uo&&uo()||Date.now()>l,r+(o?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:$t.setState.of(new Zn(s.context))})),this.chunkBudget>0&&!(a&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>rt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Pi=Z.define({combine(n){return n.length?n[0]:null},enables:n=>[$t.state,RS,C.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class hc{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const MS=Z.define(),Dr=Z.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Hs(n){let e=n.facet(Dr);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Pr(n,e){let t="",i=n.tabSize,r=n.facet(Dr)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let s=0;s<e;s++)t+=r;return t}function uc(n,e){n instanceof U&&(n=new Cl(n));for(let i of n.state.facet(MS)){let r=i(n,e);if(r!==void 0)return r}let t=xe(n.state);return t.length>=e?ZS(n,t,e):null}class Cl{constructor(e,t={}){this.state=e,this.options=t,this.unit=Hs(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==e?{text:"",from:e}:(t<0?r<e:r<=e)?{text:i.text.slice(r-i.from),from:r}:{text:i.text.slice(0,r-i.from),from:i.from}:i}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:r}=this.lineAt(e,t);return i.slice(e-r,Math.min(i.length,e+100-r))}column(e,t=1){let{text:i,from:r}=this.lineAt(e,t),s=this.countColumn(i,e-r),l=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return l>-1&&(s+=l-this.countColumn(i,i.search(/\S|$/))),s}countColumn(e,t=e.length){return _n(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let l=s(r);if(l>-1)return l}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Al=new V;function ZS(n,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let s=[];for(let l=r;l&&!(l.from<i.node.from||l.to>i.node.to||l.from==i.node.from&&l.type==i.node.type);l=l.parent)s.push(l);for(let l=s.length-1;l>=0;l--)i={node:s[l],next:i}}return Wp(i,n,t)}function Wp(n,e,t){for(let i=n;i;i=i.next){let r=jS(i.node);if(r)return r(fc.create(e,t,i))}return 0}function XS(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function jS(n){let e=n.type.prop(Al);if(e)return e;let t=n.firstChild,i;if(t&&(i=t.type.prop(V.closedBy))){let r=n.lastChild,s=r&&i.indexOf(r.name)>-1;return l=>qp(l,!0,1,void 0,s&&!XS(l)?r.from:void 0)}return n.parent==null?ES:null}function ES(){return 0}class fc extends Cl{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new fc(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(LS(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return Wp(this.context.next,this.base,this.pos)}}function LS(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function _S(n){let e=n.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),l=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let o=t.to;;){let a=e.childAfter(o);if(!a||a==i)return null;if(!a.type.isSkipped){if(a.from>=l)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}o=a.to}}function zS({closing:n,align:e=!0,units:t=1}){return i=>qp(i,e,t,n)}function qp(n,e,t,i,r){let s=n.textAfter,l=s.match(/^\s*/)[0].length,o=i&&s.slice(l,l+i.length)==i||r==n.pos+l,a=e?_S(n):null;return a?o?n.column(a.from):n.column(a.to):n.baseIndent+(o?0:n.unit*t)}const DS=n=>n.baseIndent;function As({except:n,units:e=1}={}){return t=>{let i=n&&n.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}const WS=200;function qS(){return U.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:i}=n.newSelection.main,r=t.lineAt(i);if(i>r.from+WS)return n;let s=t.sliceString(r.from,i);if(!e.some(c=>c.test(s)))return n;let{state:l}=n,o=-1,a=[];for(let{head:c}of l.selection.ranges){let h=l.doc.lineAt(c);if(h.from==o)continue;o=h.from;let u=uc(l,h.from);if(u==null)continue;let f=/^\s*/.exec(h.text)[0],d=Pr(l,u);f!=d&&a.push({from:h.from,to:h.from+f.length,insert:d})}return a.length?[n,{changes:a,sequential:!0}]:n})}const YS=Z.define(),Rl=new V;function Yp(n){let e=n.firstChild,t=n.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?n.to:t.from}:null}function IS(n,e,t){let i=xe(n);if(i.length<t)return null;let r=i.resolveStack(t,1),s=null;for(let l=r;l;l=l.next){let o=l.node;if(o.to<=t||o.from>t)continue;if(s&&o.from<e)break;let a=o.type.prop(Rl);if(a&&(o.to<i.length-50||i.length==n.doc.length||!VS(o))){let c=a(o,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function VS(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function Ks(n,e,t){for(let i of n.facet(YS)){let r=i(n,e,t);if(r)return r}return IS(n,e,t)}function Ip(n,e){let t=e.mapPos(n.from,1),i=e.mapPos(n.to,-1);return t>=i?void 0:{from:t,to:i}}const Ml=q.define({map:Ip}),Wr=q.define({map:Ip});function Vp(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(n.lineBlockAt(t));return e}const Fi=_e.define({create(){return _.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((i,r)=>n=vu(n,i,r)),n=n.map(e.changes);let t=[];for(let i of e.effects)i.is(Ml)&&!BS(n,i.value.from,i.value.to)?t.push(i.value):i.is(Wr)&&(n=n.update({filter:(r,s)=>i.value.from!=r||i.value.to!=s,filterFrom:i.value.from,filterTo:i.value.to}));if(t.length){let{preparePlaceholder:i}=e.state.facet(Gp),r=t.map(s=>(i?_.replace({widget:new JS(i(e.state,s))}):$u).range(s.from,s.to));n=n.update({add:r})}return e.selection&&(n=vu(n,e.selection.main.head)),n},provide:n=>C.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(i,r)=>{t.push(i,r)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<n.length;){let i=n[t++],r=n[t++];if(typeof i!="number"||typeof r!="number")throw new RangeError("Invalid JSON for fold state");e.push($u.range(i,r))}return _.set(e,!0)}});function vu(n,e,t=e){let i=!1;return n.between(e,t,(r,s)=>{r<t&&s>e&&(i=!0)}),i?n.update({filterFrom:e,filterTo:t,filter:(r,s)=>r>=t||s<=e}):n}function Js(n,e,t){var i;let r=null;return(i=n.field(Fi,!1))===null||i===void 0||i.between(e,t,(s,l)=>{(!r||r.from>s)&&(r={from:s,to:l})}),r}function BS(n,e,t){let i=!1;return n.between(e,e,(r,s)=>{r==e&&s==t&&(i=!0)}),i}function Bp(n,e){return n.field(Fi,!1)?e:e.concat(q.appendConfig.of(Up()))}const NS=n=>{for(let e of Vp(n)){let t=Ks(n.state,e.from,e.to);if(t)return n.dispatch({effects:Bp(n.state,[Ml.of(t),Np(n,t)])}),!0}return!1},GS=n=>{if(!n.state.field(Fi,!1))return!1;let e=[];for(let t of Vp(n)){let i=Js(n.state,t.from,t.to);i&&e.push(Wr.of(i),Np(n,i,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function Np(n,e,t=!0){let i=n.state.doc.lineAt(e.from).number,r=n.state.doc.lineAt(e.to).number;return C.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${n.state.phrase("to")} ${r}.`)}const US=n=>{let{state:e}=n,t=[];for(let i=0;i<e.doc.length;){let r=n.lineBlockAt(i),s=Ks(e,r.from,r.to);s&&t.push(Ml.of(s)),i=(s?n.lineBlockAt(s.to):r).to+1}return t.length&&n.dispatch({effects:Bp(n.state,t)}),!!t.length},FS=n=>{let e=n.state.field(Fi,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(i,r)=>{t.push(Wr.of({from:i,to:r}))}),n.dispatch({effects:t}),!0},HS=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:NS},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:GS},{key:"Ctrl-Alt-[",run:US},{key:"Ctrl-Alt-]",run:FS}],KS={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Gp=Z.define({combine(n){return Ht(n,KS)}});function Up(n){return[Fi,i1]}function Fp(n,e){let{state:t}=n,i=t.facet(Gp),r=l=>{let o=n.lineBlockAt(n.posAtDOM(l.target)),a=Js(n.state,o.from,o.to);a&&n.dispatch({effects:Wr.of(a)}),l.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(n,r,e);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}const $u=_.replace({widget:new class extends Tt{toDOM(n){return Fp(n,null)}}});class JS extends Tt{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Fp(e,this.value)}}const e1={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class fo extends ai{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function t1(n={}){let e={...e1,...n},t=new fo(e,!0),i=new fo(e,!1),r=be.fromClass(class{constructor(l){this.from=l.viewport.from,this.markers=this.buildMarkers(l)}update(l){(l.docChanged||l.viewportChanged||l.startState.facet(Pi)!=l.state.facet(Pi)||l.startState.field(Fi,!1)!=l.state.field(Fi,!1)||xe(l.startState)!=xe(l.state)||e.foldingChanged(l))&&(this.markers=this.buildMarkers(l.view))}buildMarkers(l){let o=new Gt;for(let a of l.viewportLineBlocks){let c=Js(l.state,a.from,a.to)?i:Ks(l.state,a.from,a.to)?t:null;c&&o.add(a.from,a.from,c)}return o.finish()}}),{domEventHandlers:s}=e;return[r,Hy({class:"cm-foldGutter",markers(l){var o;return((o=l.plugin(r))===null||o===void 0?void 0:o.markers)||N.empty},initialSpacer(){return new fo(e,!1)},domEventHandlers:{...s,click:(l,o,a)=>{if(s.click&&s.click(l,o,a))return!0;let c=Js(l.state,o.from,o.to);if(c)return l.dispatch({effects:Wr.of(c)}),!0;let h=Ks(l.state,o.from,o.to);return h?(l.dispatch({effects:Ml.of(h)}),!0):!1}}}),Up()]}const i1=C.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Dn{constructor(e,t){this.specs=e;let i;function r(o){let a=wi.newName();return(i||(i=Object.create(null)))["."+a]=o,a}const s=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,l=t.scope;this.scope=l instanceof $t?o=>o.prop(pn)==l.data:l?o=>o==l:void 0,this.style=_p(e.map(o=>({tag:o.tag,class:o.class||r(Object.assign({},o,{tag:null}))})),{all:s}).style,this.module=i?new wi(i):null,this.themeType=t.themeType}static define(e,t){return new Dn(e,t||{})}}const Sa=Z.define(),Hp=Z.define({combine(n){return n.length?[n[0]]:null}});function po(n){let e=n.facet(Sa);return e.length?e:n.facet(Hp)}function dc(n,e){let t=[r1],i;return n instanceof Dn&&(n.module&&t.push(C.styleModule.of(n.module)),i=n.themeType),e!=null&&e.fallback?t.push(Hp.of(n)):i?t.push(Sa.computeN([C.darkTheme],r=>r.facet(C.darkTheme)==(i=="dark")?[n]:[])):t.push(Sa.of(n)),t}class n1{constructor(e){this.markCache=Object.create(null),this.tree=xe(e.state),this.decorations=this.buildDeco(e,po(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=xe(e.state),i=po(e.state),r=i!=po(e.startState),{viewport:s}=e.view,l=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!r&&t.type==this.tree.type&&l>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=l):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return _.none;let i=new Gt;for(let{from:r,to:s}of e.visibleRanges)PS(this.tree,t,(l,o,a)=>{i.add(l,o,this.markCache[a]||(this.markCache[a]=_.mark({class:a})))},r,s);return i.finish()}}const r1=Ci.high(be.fromClass(n1,{decorations:n=>n.decorations})),s1=Dn.define([{tag:b.meta,color:"#404740"},{tag:b.link,textDecoration:"underline"},{tag:b.heading,textDecoration:"underline",fontWeight:"bold"},{tag:b.emphasis,fontStyle:"italic"},{tag:b.strong,fontWeight:"bold"},{tag:b.strikethrough,textDecoration:"line-through"},{tag:b.keyword,color:"#708"},{tag:[b.atom,b.bool,b.url,b.contentSeparator,b.labelName],color:"#219"},{tag:[b.literal,b.inserted],color:"#164"},{tag:[b.string,b.deleted],color:"#a11"},{tag:[b.regexp,b.escape,b.special(b.string)],color:"#e40"},{tag:b.definition(b.variableName),color:"#00f"},{tag:b.local(b.variableName),color:"#30a"},{tag:[b.typeName,b.namespace],color:"#085"},{tag:b.className,color:"#167"},{tag:[b.special(b.variableName),b.macroName],color:"#256"},{tag:b.definition(b.propertyName),color:"#00c"},{tag:b.comment,color:"#940"},{tag:b.invalid,color:"#f00"}]),l1=C.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Kp=1e4,Jp="()[]{}",eO=Z.define({combine(n){return Ht(n,{afterCursor:!0,brackets:Jp,maxScanDistance:Kp,renderMatch:c1})}}),o1=_.mark({class:"cm-matchingBracket"}),a1=_.mark({class:"cm-nonmatchingBracket"});function c1(n){let e=[],t=n.matched?o1:a1;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}function Pu(n){let e=[],t=n.facet(eO);for(let i of n.selection.ranges){if(!i.empty)continue;let r=Vt(n,i.head,-1,t)||i.head>0&&Vt(n,i.head-1,1,t)||t.afterCursor&&(Vt(n,i.head,1,t)||i.head<n.doc.length&&Vt(n,i.head+1,-1,t));r&&(e=e.concat(t.renderMatch(r,n)))}return _.set(e,!0)}const h1=be.fromClass(class{constructor(n){this.paused=!1,this.decorations=Pu(n.state)}update(n){(n.docChanged||n.selectionSet||this.paused)&&(n.view.composing?(this.decorations=this.decorations.map(n.changes),this.paused=!0):(this.decorations=Pu(n.state),this.paused=!1))}},{decorations:n=>n.decorations}),u1=[h1,l1];function f1(n={}){return[eO.of(n),u1]}const tO=new V;function ka(n,e,t){let i=n.prop(e<0?V.openedBy:V.closedBy);if(i)return i;if(n.name.length==1){let r=t.indexOf(n.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function wa(n){let e=n.type.prop(tO);return e?e(n.node):n}function Vt(n,e,t,i={}){let r=i.maxScanDistance||Kp,s=i.brackets||Jp,l=xe(n),o=l.resolveInner(e,t);for(let a=o;a;a=a.parent){let c=ka(a.type,t,s);if(c&&a.from<a.to){let h=wa(a);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return d1(n,e,t,a,h,c,s)}}return p1(n,e,t,l,o.type,r,s)}function d1(n,e,t,i,r,s,l){let o=i.parent,a={from:r.from,to:r.to},c=0,h=o==null?void 0:o.cursor();if(h&&(t<0?h.childBefore(i.from):h.childAfter(i.to)))do if(t<0?h.to<=i.from:h.from>=i.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let u=wa(h);return{start:a,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(ka(h.type,t,l))c++;else if(ka(h.type,-t,l)){if(c==0){let u=wa(h);return{start:a,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:a,matched:!1}}function p1(n,e,t,i,r,s,l){if(t<0?!e:e==n.doc.length)return null;let o=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),a=l.indexOf(o);if(a<0||a%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let f=0;!h.next().done&&f<=s;){let d=h.value;t<0&&(f+=d.length);let p=e+f*t;for(let O=t>0?0:d.length-1,m=t>0?d.length:-1;O!=m;O+=t){let y=l.indexOf(d[O]);if(!(y<0||i.resolveInner(p+O,1).type!=r))if(y%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:p+O,to:p+O+1},matched:y>>1==a>>1};u--}}t>0&&(f+=d.length)}return h.done?{start:c,matched:!1}:null}const O1=Object.create(null),Tu=[He.none],Cu=[],Au=Object.create(null),g1=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])g1[n]=m1(O1,e);function Oo(n,e){Cu.indexOf(n)>-1||(Cu.push(n),console.warn(e))}function m1(n,e){let t=[];for(let o of e.split(" ")){let a=[];for(let c of o.split(".")){let h=n[c]||b[c];h?typeof h=="function"?a.length?a=a.map(h):Oo(c,`Modifier ${c} used at start of tag`):a.length?Oo(c,`Tag ${c} used as modifier`):a=Array.isArray(h)?h:[h]:Oo(c,`Unknown highlighting tag ${c}`)}for(let c of a)t.push(c)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(o=>o.id),s=Au[r];if(s)return s.id;let l=Au[r]=He.define({id:Tu.length,name:i,props:[Tl({[i]:t})]});return Tu.push(l),l.id}ce.RTL,ce.LTR;const b1=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),i=Oc(n.state,t.from);return i.line?x1(n):i.block?S1(n):!1};function pc(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=n(e,t);return r?(i(t.update(r)),!0):!1}}const x1=pc(Q1,0),y1=pc(iO,0),S1=pc((n,e)=>iO(n,e,w1(e)),0);function Oc(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const Jn=50;function k1(n,{open:e,close:t},i,r){let s=n.sliceDoc(i-Jn,i),l=n.sliceDoc(r,r+Jn),o=/\s*$/.exec(s)[0].length,a=/^\s*/.exec(l)[0].length,c=s.length-o;if(s.slice(c-e.length,c)==e&&l.slice(a,a+t.length)==t)return{open:{pos:i-o,margin:o&&1},close:{pos:r+a,margin:a&&1}};let h,u;r-i<=2*Jn?h=u=n.sliceDoc(i,r):(h=n.sliceDoc(i,i+Jn),u=n.sliceDoc(r-Jn,r));let f=/^\s*/.exec(h)[0].length,d=/\s*$/.exec(u)[0].length,p=u.length-d-t.length;return h.slice(f,f+e.length)==e&&u.slice(p,p+t.length)==t?{open:{pos:i+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:r-d-t.length,margin:/\s/.test(u.charAt(p-1))?1:0}}:null}function w1(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),r=t.to<=i.to?i:n.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>i.from?e[s].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function iO(n,e,t=e.selection.ranges){let i=t.map(s=>Oc(e,s.from).block);if(!i.every(s=>s))return null;let r=t.map((s,l)=>k1(e,i[l],s.from,s.to));if(n!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,l)=>r[l]?[]:[{from:s.from,insert:i[l].open+" "},{from:s.to,insert:" "+i[l].close}]))};if(n!=1&&r.some(s=>s)){let s=[];for(let l=0,o;l<r.length;l++)if(o=r[l]){let a=i[l],{open:c,close:h}=o;s.push({from:c.pos-a.open.length,to:c.pos+c.margin},{from:h.pos-h.margin,to:h.pos+a.close.length})}return{changes:s}}return null}function Q1(n,e,t=e.selection.ranges){let i=[],r=-1;e:for(let{from:s,to:l}of t){let o=i.length,a=1e9,c;for(let h=s;h<=l;){let u=e.doc.lineAt(h);if(c==null&&(c=Oc(e,u.from).line,!c))continue e;if(u.from>r&&(s==l||l>u.from)){r=u.from;let f=/^\s*/.exec(u.text)[0].length,d=f==u.length,p=u.text.slice(f,f+c.length)==c?f:-1;f<u.text.length&&f<a&&(a=f),i.push({line:u,comment:p,token:c,indent:f,empty:d,single:!1})}h=u.to+1}if(a<1e9)for(let h=o;h<i.length;h++)i[h].indent<i[h].line.text.length&&(i[h].indent=a);i.length==o+1&&(i[o].single=!0)}if(n!=2&&i.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:o,token:a,indent:c,empty:h,single:u}of i)(u||!h)&&s.push({from:o.from+c,insert:a+" "});let l=e.changes(s);return{changes:l,selection:e.selection.map(l,1)}}else if(n!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:l,comment:o,token:a}of i)if(o>=0){let c=l.from+o,h=c+a.length;l.text[h-l.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}const Qa=Ft.define(),v1=Ft.define(),$1=Z.define(),nO=Z.define({combine(n){return Ht(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),rO=_e.define({create(){return Bt.empty},update(n,e){let t=e.state.facet(nO),i=e.annotation(Qa);if(i){let a=st.fromTransaction(e,i.selection),c=i.side,h=c==0?n.undone:n.done;return a?h=el(h,h.length,t.minDepth,a):h=oO(h,e.startState.selection),new Bt(c==0?i.rest:h,c==0?h:i.rest)}let r=e.annotation(v1);if((r=="full"||r=="before")&&(n=n.isolate()),e.annotation(Pe.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=st.fromTransaction(e),l=e.annotation(Pe.time),o=e.annotation(Pe.userEvent);return s?n=n.addChanges(s,l,o,t,e):e.selection&&(n=n.addSelection(e.startState.selection,l,o,t.newGroupDelay)),(r=="full"||r=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new Bt(n.done.map(st.fromJSON),n.undone.map(st.fromJSON))}});function P1(n={}){return[rO,nO.of(n),C.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?sO:e.inputType=="historyRedo"?va:null;return i?(e.preventDefault(),i(t)):!1}})]}function Zl(n,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(rO,!1);if(!r)return!1;let s=r.pop(n,t,e);return s?(i(s),!0):!1}}const sO=Zl(0,!1),va=Zl(1,!1),T1=Zl(0,!0),C1=Zl(1,!0);class st{constructor(e,t,i,r,s){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new st(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new st(e.changes&&Te.fromJSON(e.changes),[],e.mapped&&Nt.fromJSON(e.mapped),e.startSelection&&v.fromJSON(e.startSelection),e.selectionsAfter.map(v.fromJSON))}static fromTransaction(e,t){let i=bt;for(let r of e.startState.facet($1)){let s=r(e);s.length&&(i=i.concat(s))}return!i.length&&e.changes.empty?null:new st(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,bt)}static selection(e){return new st(void 0,bt,void 0,void 0,e)}}function el(n,e,t,i){let r=e+1>t+20?e-t-1:0,s=n.slice(r,e);return s.push(i),s}function A1(n,e){let t=[],i=!1;return n.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,l,o)=>{for(let a=0;a<t.length;){let c=t[a++],h=t[a++];o>=c&&l<=h&&(i=!0)}}),i}function R1(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function lO(n,e){return n.length?e.length?n.concat(e):n:e}const bt=[],M1=200;function oO(n,e){if(n.length){let t=n[n.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-M1));return i.length&&i[i.length-1].eq(e)?n:(i.push(e),el(n,n.length-1,1e9,t.setSelAfter(i)))}else return[st.selection([e])]}function Z1(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function go(n,e){if(!n.length)return n;let t=n.length,i=bt;for(;t;){let r=X1(n[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=n.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[st.selection(i)]:bt}function X1(n,e,t){let i=lO(n.selectionsAfter.length?n.selectionsAfter.map(o=>o.map(e)):bt,t);if(!n.changes)return st.selection(i);let r=n.changes.map(e),s=e.mapDesc(n.changes,!0),l=n.mapped?n.mapped.composeDesc(s):s;return new st(r,q.mapEffects(n.effects,e),l,n.startSelection.map(s),i)}const j1=/^(input\.type|delete)($|\.)/;class Bt{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new Bt(this.done,this.undone):this}addChanges(e,t,i,r,s){let l=this.done,o=l[l.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!i||j1.test(i))&&(!o.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,A1(o.changes,e.changes))||i=="input.type.compose")?l=el(l,l.length-1,r.minDepth,new st(e.changes.compose(o.changes),lO(q.mapEffects(e.effects,o.changes),o.effects),o.mapped,o.startSelection,bt)):l=el(l,l.length,r.minDepth,e),new Bt(l,bt,t,i)}addSelection(e,t,i,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:bt;return s.length>0&&t-this.prevTime<r&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&R1(s[s.length-1],e)?this:new Bt(oO(this.done,e),this.undone,t,i)}addMapping(e){return new Bt(go(this.done,e),go(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],l=s.selectionsAfter[0]||(s.startSelection?s.startSelection.map(s.changes.invertedDesc,1):t.selection);if(i&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Qa.of({side:e,rest:Z1(r),selection:l}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let o=r.length==1?bt:r.slice(0,r.length-1);return s.mapped&&(o=go(o,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Qa.of({side:e,rest:o,selection:l}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Bt.empty=new Bt(bt,bt);const E1=[{key:"Mod-z",run:sO,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:va,preventDefault:!0},{linux:"Ctrl-Shift-z",run:va,preventDefault:!0},{key:"Mod-u",run:T1,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:C1,preventDefault:!0}];function Wn(n,e){return v.create(n.ranges.map(e),n.mainIndex)}function Ct(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function At({state:n,dispatch:e},t){let i=Wn(n.selection,t);return i.eq(n.selection,!0)?!1:(e(Ct(n,i)),!0)}function Xl(n,e){return v.cursor(e?n.to:n.from)}function aO(n,e){return At(n,t=>t.empty?n.moveByChar(t,e):Xl(t,e))}function Ye(n){return n.textDirectionAt(n.state.selection.main.head)==ce.LTR}const cO=n=>aO(n,!Ye(n)),hO=n=>aO(n,Ye(n));function uO(n,e){return At(n,t=>t.empty?n.moveByGroup(t,e):Xl(t,e))}const L1=n=>uO(n,!Ye(n)),_1=n=>uO(n,Ye(n));function z1(n,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function jl(n,e,t){let i=xe(n).resolveInner(e.head),r=t?V.closedBy:V.openedBy;for(let a=e.head;;){let c=t?i.childAfter(a):i.childBefore(a);if(!c)break;z1(n,c,r)?i=c:a=t?c.to:c.from}let s=i.type.prop(r),l,o;return s&&(l=t?Vt(n,i.from,1):Vt(n,i.to,-1))&&l.matched?o=t?l.end.to:l.end.from:o=t?i.to:i.from,v.cursor(o,t?-1:1)}const D1=n=>At(n,e=>jl(n.state,e,!Ye(n))),W1=n=>At(n,e=>jl(n.state,e,Ye(n)));function fO(n,e){return At(n,t=>{if(!t.empty)return Xl(t,e);let i=n.moveVertically(t,e);return i.head!=t.head?i:n.moveToLineBoundary(t,e)})}const dO=n=>fO(n,!1),pO=n=>fO(n,!0);function OO(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,i=0,r;if(e){for(let s of n.state.facet(C.scrollMargins)){let l=s(n);l!=null&&l.top&&(t=Math.max(l==null?void 0:l.top,t)),l!=null&&l.bottom&&(i=Math.max(l==null?void 0:l.bottom,i))}r=n.scrollDOM.clientHeight-t-i}else r=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:i,selfScroll:e,height:Math.max(n.defaultLineHeight,r-5)}}function gO(n,e){let t=OO(n),{state:i}=n,r=Wn(i.selection,l=>l.empty?n.moveVertically(l,e,t.height):Xl(l,e));if(r.eq(i.selection))return!1;let s;if(t.selfScroll){let l=n.coordsAtPos(i.selection.main.head),o=n.scrollDOM.getBoundingClientRect(),a=o.top+t.marginTop,c=o.bottom-t.marginBottom;l&&l.top>a&&l.bottom<c&&(s=C.scrollIntoView(r.main.head,{y:"start",yMargin:l.top-a}))}return n.dispatch(Ct(i,r),{effects:s}),!0}const Ru=n=>gO(n,!1),$a=n=>gO(n,!0);function Ai(n,e,t){let i=n.lineBlockAt(e.head),r=n.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=n.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let s=/^\s*/.exec(n.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&e.head!=i.from+s&&(r=v.cursor(i.from+s))}return r}const q1=n=>At(n,e=>Ai(n,e,!0)),Y1=n=>At(n,e=>Ai(n,e,!1)),I1=n=>At(n,e=>Ai(n,e,!Ye(n))),V1=n=>At(n,e=>Ai(n,e,Ye(n))),B1=n=>At(n,e=>v.cursor(n.lineBlockAt(e.head).from,1)),N1=n=>At(n,e=>v.cursor(n.lineBlockAt(e.head).to,-1));function G1(n,e,t){let i=!1,r=Wn(n.selection,s=>{let l=Vt(n,s.head,-1)||Vt(n,s.head,1)||s.head>0&&Vt(n,s.head-1,1)||s.head<n.doc.length&&Vt(n,s.head+1,-1);if(!l||!l.end)return s;i=!0;let o=l.start.from==s.head?l.end.to:l.end.from;return v.cursor(o)});return i?(e(Ct(n,r)),!0):!1}const U1=({state:n,dispatch:e})=>G1(n,e);function yt(n,e,t){let i=Wn(n.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=v.range(r.head,r.anchor));let s=t(r);return v.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(n.state.selection)?!1:(n.dispatch(Ct(n.state,i)),!0)}function mO(n,e){return yt(n,e,t=>n.moveByChar(t,e))}const bO=n=>mO(n,!Ye(n)),xO=n=>mO(n,Ye(n));function yO(n,e){return yt(n,e,t=>n.moveByGroup(t,e))}const F1=n=>yO(n,!Ye(n)),H1=n=>yO(n,Ye(n)),K1=n=>{let e=!Ye(n);return yt(n,e,t=>jl(n.state,t,e))},J1=n=>{let e=Ye(n);return yt(n,e,t=>jl(n.state,t,e))};function SO(n,e){return yt(n,e,t=>n.moveVertically(t,e))}const kO=n=>SO(n,!1),wO=n=>SO(n,!0);function QO(n,e){return yt(n,e,t=>n.moveVertically(t,e,OO(n).height))}const Mu=n=>QO(n,!1),Zu=n=>QO(n,!0),ek=n=>yt(n,!0,e=>Ai(n,e,!0)),tk=n=>yt(n,!1,e=>Ai(n,e,!1)),ik=n=>{let e=!Ye(n);return yt(n,e,t=>Ai(n,t,e))},nk=n=>{let e=Ye(n);return yt(n,e,t=>Ai(n,t,e))},rk=n=>yt(n,!1,e=>v.cursor(n.lineBlockAt(e.head).from)),sk=n=>yt(n,!0,e=>v.cursor(n.lineBlockAt(e.head).to)),Xu=({state:n,dispatch:e})=>(e(Ct(n,{anchor:0})),!0),ju=({state:n,dispatch:e})=>(e(Ct(n,{anchor:n.doc.length})),!0),Eu=({state:n,dispatch:e})=>(e(Ct(n,{anchor:n.selection.main.anchor,head:0})),!0),Lu=({state:n,dispatch:e})=>(e(Ct(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),lk=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),ok=({state:n,dispatch:e})=>{let t=El(n).map(({from:i,to:r})=>v.undirectionalRange(i,Math.min(r+1,n.doc.length)));return e(n.update({selection:v.create(t),userEvent:"select"})),!0},ak=({state:n,dispatch:e})=>{let t=Wn(n.selection,i=>{let r=xe(n),s=r.resolveStack(i.from,1);if(i.empty){let l=r.resolveStack(i.from,-1);l.node.from>=s.node.from&&l.node.to<=s.node.to&&(s=l)}for(let l=s;l;l=l.next){let{node:o}=l;if((o.from<i.from&&o.to>=i.to||o.to>i.to&&o.from<=i.from)&&l.next)return v.undirectionalRange(o.from,o.to)}return i});return t.eq(n.selection)?!1:(e(Ct(n,t)),!0)};function vO(n,e){let{state:t}=n,i=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let l=t.doc.lineAt(s.head);if(e?l.to<n.state.doc.length:l.from>0)for(let o=s;;){let a=n.moveVertically(o,e);if(a.head<l.from||a.head>l.to){r.some(c=>c.head==a.head)||r.push(a);break}else{if(a.head==o.head)break;o=a}}}return r.length==i.ranges.length?!1:(n.dispatch(Ct(t,v.create(r,r.length-1))),!0)}const ck=n=>vO(n,!1),hk=n=>vO(n,!0),uk=({state:n,dispatch:e})=>{let t=n.selection,i=null;return t.ranges.length>1?i=v.create([t.main]):t.main.empty||(i=v.create([v.cursor(t.main.head)])),i?(e(Ct(n,i)),!0):!1};function qr(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:i}=n,r=i.changeByRange(s=>{let{from:l,to:o}=s;if(l==o){let a=e(s);a<l?(t="delete.backward",a=Os(n,a,!1)):a>l&&(t="delete.forward",a=Os(n,a,!0)),l=Math.min(l,a),o=Math.max(o,a)}else l=Os(n,l,!1),o=Os(n,o,!0);return l==o?{range:s}:{changes:{from:l,to:o},range:v.cursor(l,l<s.head?-1:1)}});return r.changes.empty?!1:(n.dispatch(i.update(r,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?C.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function Os(n,e,t){if(n instanceof C)for(let i of n.state.facet(C.atomicRanges).map(r=>r(n)))i.between(e,e,(r,s)=>{r<e&&s>e&&(e=t?s:r)});return e}const $O=(n,e,t)=>qr(n,i=>{let r=i.from,{state:s}=n,l=s.doc.lineAt(r),o,a;if(t&&!e&&r>l.from&&r<l.from+200&&!/[^ \t]/.test(o=l.text.slice(0,r-l.from))){if(o[o.length-1]==" ")return r-1;let c=_n(o,s.tabSize),h=c%Hs(s)||Hs(s);for(let u=0;u<h&&o[o.length-1-u]==" ";u++)r--;a=r}else a=Me(l.text,r-l.from,e,e)+l.from,a==r&&l.number!=(e?s.doc.lines:1)?a+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(l.text.slice(a-l.from,r-l.from))&&(a=Me(l.text,a-l.from,!1,!1)+l.from);return a}),Pa=n=>$O(n,!1,!0),PO=n=>$O(n,!0,!1),TO=(n,e)=>qr(n,t=>{let i=t.head,{state:r}=n,s=r.doc.lineAt(i),l=r.charCategorizer(i);for(let o=null;;){if(i==(e?s.to:s.from)){i==t.head&&s.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let a=Me(s.text,i-s.from,e)+s.from,c=s.text.slice(Math.min(i,a)-s.from,Math.max(i,a)-s.from),h=l(c);if(o!=null&&h!=o)break;(c!=" "||i!=t.head)&&(o=h),i=a}return i}),CO=n=>TO(n,!1),fk=n=>TO(n,!0),dk=n=>qr(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),pk=n=>qr(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),Ok=n=>qr(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),gk=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:H.of(["",""])},range:v.cursor(i.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},mk=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>{if(!i.empty||i.from==0||i.from==n.doc.length)return{range:i};let r=i.from,s=n.doc.lineAt(r),l=r==s.from?r-1:Me(s.text,r-s.from,!1)+s.from,o=r==s.to?r+1:Me(s.text,r-s.from,!0)+s.from;return{changes:{from:l,to:o,insert:n.doc.slice(r,o).append(n.doc.slice(l,r))},range:v.cursor(o)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function El(n){let e=[],t=-1;for(let i of n.selection.ranges){let r=n.doc.lineAt(i.from),s=n.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=n.doc.lineAt(i.to-1)),t>=r.number){let l=e[e.length-1];l.to=s.to,l.ranges.push(i)}else e.push({from:r.from,to:s.to,ranges:[i]});t=s.number+1}return e}function AO(n,e,t){if(n.readOnly)return!1;let i=[],r=[];for(let s of El(n)){if(t?s.to==n.doc.length:s.from==0)continue;let l=n.doc.lineAt(t?s.to+1:s.from-1),o=l.length+1;if(t){i.push({from:s.to,to:l.to},{from:s.from,insert:l.text+n.lineBreak});for(let a of s.ranges)r.push(v.range(Math.min(n.doc.length,a.anchor+o),Math.min(n.doc.length,a.head+o)))}else{i.push({from:l.from,to:s.from},{from:s.to,insert:n.lineBreak+l.text});for(let a of s.ranges)r.push(v.range(a.anchor-o,a.head-o))}}return i.length?(e(n.update({changes:i,scrollIntoView:!0,selection:v.create(r,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const bk=({state:n,dispatch:e})=>AO(n,e,!1),xk=({state:n,dispatch:e})=>AO(n,e,!0);function RO(n,e,t){if(n.readOnly)return!1;let i=[];for(let s of El(n))t?i.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):i.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let r=n.changes(i);return e(n.update({changes:r,selection:n.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const yk=({state:n,dispatch:e})=>RO(n,e,!1),Sk=({state:n,dispatch:e})=>RO(n,e,!0),kk=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(El(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),i=Wn(e.selection,r=>{let s;if(n.lineWrapping){let l=n.lineBlockAt(r.head),o=n.coordsAtPos(r.head,r.assoc||1);o&&(s=l.bottom+n.documentTop-o.bottom+n.defaultLineHeight/2)}return n.moveVertically(r,!0,s)}).map(t);return n.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function wk(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=xe(n).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),s;return i&&r&&i.to<=e&&r.from>=e&&(s=i.type.prop(V.closedBy))&&s.indexOf(r.name)>-1&&n.doc.lineAt(i.to).from==n.doc.lineAt(r.from).from&&!/\S/.test(n.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}const _u=MO(!1),Qk=MO(!0);function MO(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:s,to:l}=r,o=e.doc.lineAt(s),a=!n&&s==l&&wk(e,s);n&&(s=l=(l<=o.to?o:e.doc.lineAt(l)).to);let c=new Cl(e,{simulateBreak:s,simulateDoubleBreak:!!a}),h=uc(c,s);for(h==null&&(h=_n(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));l<o.to&&/\s/.test(o.text[l-o.from]);)l++;a?{from:s,to:l}=a:s>o.from&&s<o.from+100&&!/\S/.test(o.text.slice(0,s))&&(s=o.from);let u=["",Pr(e,h)];return a&&u.push(Pr(e,c.lineIndent(o.from,-1))),{changes:{from:s,to:l,insert:H.of(u)},range:v.cursor(s+1+u[1].length)}});return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function gc(n,e){let t=-1;return n.changeByRange(i=>{let r=[];for(let l=i.from;l<=i.to;){let o=n.doc.lineAt(l);o.number>t&&(i.empty||i.to>o.from)&&(e(o,r,i),t=o.number),l=o.to+1}let s=n.changes(r);return{changes:r,range:v.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const vk=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),i=new Cl(n,{overrideIndentation:s=>{let l=t[s];return l??-1}}),r=gc(n,(s,l,o)=>{let a=uc(i,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let c=/^\s*/.exec(s.text)[0],h=Pr(n,a);(c!=h||o.from<s.from+c.length)&&(t[s.from]=a,l.push({from:s.from,to:s.from+c.length,insert:h}))});return r.changes.empty||e(n.update(r,{userEvent:"indent"})),!0},ZO=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(gc(n,(t,i)=>{i.push({from:t.from,insert:n.facet(Dr)})}),{userEvent:"input.indent"})),!0),XO=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(gc(n,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=_n(r,n.tabSize),l=0,o=Pr(n,Math.max(0,s-Hs(n)));for(;l<r.length&&l<o.length&&r.charCodeAt(l)==o.charCodeAt(l);)l++;i.push({from:t.from+l,to:t.from+r.length,insert:o.slice(l)})}),{userEvent:"delete.dedent"})),!0),$k=n=>(n.setTabFocusMode(),!0),Pk=[{key:"Ctrl-b",run:cO,shift:bO,preventDefault:!0},{key:"Ctrl-f",run:hO,shift:xO},{key:"Ctrl-p",run:dO,shift:kO},{key:"Ctrl-n",run:pO,shift:wO},{key:"Ctrl-a",run:B1,shift:rk},{key:"Ctrl-e",run:N1,shift:sk},{key:"Ctrl-d",run:PO},{key:"Ctrl-h",run:Pa},{key:"Ctrl-k",run:dk},{key:"Ctrl-Alt-h",run:CO},{key:"Ctrl-o",run:gk},{key:"Ctrl-t",run:mk},{key:"Ctrl-v",run:$a}],Tk=[{key:"ArrowLeft",run:cO,shift:bO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:L1,shift:F1,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:I1,shift:ik,preventDefault:!0},{key:"ArrowRight",run:hO,shift:xO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:_1,shift:H1,preventDefault:!0},{mac:"Cmd-ArrowRight",run:V1,shift:nk,preventDefault:!0},{key:"ArrowUp",run:dO,shift:kO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Xu,shift:Eu},{mac:"Ctrl-ArrowUp",run:Ru,shift:Mu},{key:"ArrowDown",run:pO,shift:wO,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ju,shift:Lu},{mac:"Ctrl-ArrowDown",run:$a,shift:Zu},{key:"PageUp",run:Ru,shift:Mu},{key:"PageDown",run:$a,shift:Zu},{key:"Home",run:Y1,shift:tk,preventDefault:!0},{key:"Mod-Home",run:Xu,shift:Eu},{key:"End",run:q1,shift:ek,preventDefault:!0},{key:"Mod-End",run:ju,shift:Lu},{key:"Enter",run:_u,shift:_u},{key:"Mod-a",run:lk},{key:"Backspace",run:Pa,shift:Pa,preventDefault:!0},{key:"Delete",run:PO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:CO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:fk,preventDefault:!0},{mac:"Mod-Backspace",run:pk,preventDefault:!0},{mac:"Mod-Delete",run:Ok,preventDefault:!0}].concat(Pk.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),Ck=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:D1,shift:K1},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:W1,shift:J1},{key:"Alt-ArrowUp",run:bk},{key:"Shift-Alt-ArrowUp",run:yk},{key:"Alt-ArrowDown",run:xk},{key:"Shift-Alt-ArrowDown",run:Sk},{key:"Mod-Alt-ArrowUp",run:ck},{key:"Mod-Alt-ArrowDown",run:hk},{key:"Escape",run:uk},{key:"Mod-Enter",run:Qk},{key:"Alt-l",mac:"Ctrl-l",run:ok},{key:"Mod-i",run:ak,preventDefault:!0},{key:"Mod-[",run:XO},{key:"Mod-]",run:ZO},{key:"Mod-Alt-\\",run:vk},{key:"Shift-Mod-k",run:kk},{key:"Shift-Mod-\\",run:U1},{key:"Mod-/",run:b1},{key:"Alt-A",mac:"Ctrl-A",run:y1},{key:"Ctrl-m",mac:"Shift-Alt-m",run:$k}].concat(Tk),jO={key:"Tab",run:ZO,shift:XO},zu=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Xn{constructor(e,t,i=0,r=e.length,s,l){this.test=l,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=s?o=>s(zu(o)):zu,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return tt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Wa(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Wt(e);let r=this.normalize(t);if(r.length)for(let s=0,l=i,o=!0;;s++){let a=r.charCodeAt(s),c=this.match(a,l,o,this.bufferPos+this.bufferStart,s==r.length-1);if(c)return this.value=c,this;if(s==r.length-1)break;o&&s<t.length&&t.charCodeAt(s)==a?l++:o=!1}}}match(e,t,i,r,s){let l=null;for(let o=0;o<this.matches.length;){let a=this.matches[o],c=!1;this.query.charCodeAt(a.index)==e&&(a.index==this.query.length-1?l={from:a.from,to:r,precise:s&&a.precise}:(a.index++,c=!0)),c?o++:this.matches.splice(o,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?l={from:t,to:r,precise:i&&s}:this.matches.push({from:t,index:1,precise:i})),l&&this.test&&!this.test(l.from,l.to,this.buffer,this.bufferStart)&&(l=null),l}}typeof Symbol<"u"&&(Xn.prototype[Symbol.iterator]=function(){return this});const EO={from:-1,to:-1,match:/.*/.exec(""),precise:!0},mc="gm"+(/x/.unicode==null?"":"u");class LO{constructor(e,t,i,r=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=EO,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new _O(e,t,i,r,s);this.re=new RegExp(t,mc+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.iter=e.iter();let l=e.lineAt(r);this.curLineStart=l.from,this.matchPos=tl(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,r=i+t[0].length;if(this.matchPos=tl(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<r||i>this.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const mo=new WeakMap;class Sn{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,i){let r=mo.get(e);if(!r||r.from>=i||r.to<=t){let o=new Sn(t,e.sliceString(t,i));return mo.set(e,o),o}if(r.from==t&&r.to==i)return r;let{text:s,from:l}=r;return l>t&&(s=e.sliceString(t,l)+s,l=t),r.to<i&&(s+=e.sliceString(r.to,i)),mo.set(e,new Sn(l,s)),new Sn(t,s.slice(t-l,i-l))}}class _O{constructor(e,t,i,r,s){this.text=e,this.to=s,this.done=!1,this.value=EO,this.matchPos=tl(e,r),this.re=new RegExp(t,mc+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.flat=Sn.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,r=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,precise:!0,match:t},this.matchPos=tl(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Sn.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(LO.prototype[Symbol.iterator]=_O.prototype[Symbol.iterator]=function(){return this});function Ak(n){try{return new RegExp(n,mc),!0}catch{return!1}}function tl(n,e){if(e>=n.length)return e;let t=n.lineAt(e),i;for(;e<t.to&&(i=t.text.charCodeAt(e-t.from))>=56320&&i<57344;)e++;return e}const Rk=n=>{let e=Ny(n,"cm-goto-line");if(e){let l=e.dom.querySelector("input[type=text]");return l&&l.select(),!0}let{state:t}=n,i=String(t.doc.lineAt(n.state.selection.main.head).number),{close:r,result:s}=By(n,{class:"cm-goto-line",label:t.phrase("Go to line"),input:{type:"text",name:"line",value:i},focus:!0,submitLabel:t.phrase("go")});return s.then(l=>{let o=l&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(l.elements.line.value);if(!o){n.dispatch({effects:r});return}let a=t.doc.lineAt(t.selection.main.head),[,c,h,u,f]=o,d=u?+u.slice(1):0,p=h?+h:a.number;if(h&&f){let y=p/100;c&&(y=y*(c=="-"?-1:1)+a.number/t.doc.lines),p=Math.round(t.doc.lines*y)}else h&&c&&(p=p*(c=="-"?-1:1)+a.number);let O=t.doc.line(Math.max(1,Math.min(t.doc.lines,p))),m=v.cursor(O.from+Math.max(0,Math.min(d,O.length)));n.dispatch({effects:[r,C.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0},Mk={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Zk=Z.define({combine(n){return Ht(n,Mk,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function Xk(n){return[zk,_k]}const jk=_.mark({class:"cm-selectionMatch"}),Ek=_.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Du(n,e,t,i){return(t==0||n(e.sliceDoc(t-1,t))!=ue.Word)&&(i==e.doc.length||n(e.sliceDoc(i,i+1))!=ue.Word)}function Lk(n,e,t,i){return n(e.sliceDoc(t,t+1))==ue.Word&&n(e.sliceDoc(i-1,i))==ue.Word}const _k=be.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(Zk),{state:t}=n,i=t.selection;if(i.ranges.length>1)return _.none;let r=i.main,s,l=null;if(r.empty){if(!e.highlightWordAroundCursor)return _.none;let a=t.wordAt(r.head);if(!a)return _.none;l=t.charCategorizer(r.head),s=t.sliceDoc(a.from,a.to)}else{let a=r.to-r.from;if(a<e.minSelectionLength||a>200)return _.none;if(e.wholeWords){if(s=t.sliceDoc(r.from,r.to),l=t.charCategorizer(r.head),!(Du(l,t,r.from,r.to)&&Lk(l,t,r.from,r.to)))return _.none}else if(s=t.sliceDoc(r.from,r.to),!s)return _.none}let o=[];for(let a of n.visibleRanges){let c=new Xn(t.doc,s,a.from,a.to);for(;!c.next().done;){let{from:h,to:u}=c.value;if((!l||Du(l,t,h,u))&&(r.empty&&h<=r.from&&u>=r.to?o.push(Ek.range(h,u)):(h>=r.to||u<=r.from)&&o.push(jk.range(h,u)),o.length>e.maxMatches))return _.none}}return _.set(o)}},{decorations:n=>n.decorations}),zk=C.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Dk=({state:n,dispatch:e})=>{let{selection:t}=n,i=v.create(t.ranges.map(r=>n.wordAt(r.head)||v.cursor(r.head)),t.mainIndex);return i.eq(t)?!1:(e(n.update({selection:i})),!0)};function Wk(n,e){let{main:t,ranges:i}=n.selection,r=n.wordAt(t.head),s=r&&r.from==t.from&&r.to==t.to;for(let l=!1,o=new Xn(n.doc,e,i[i.length-1].to);;)if(o.next(),o.done){if(l)return null;o=new Xn(n.doc,e,0,Math.max(0,i[i.length-1].from-1)),l=!0}else{if(l&&i.some(a=>a.from==o.value.from))continue;if(s){let a=n.wordAt(o.value.from);if(!a||a.from!=o.value.from||a.to!=o.value.to)continue}return o.value}}const qk=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return Dk({state:n,dispatch:e});let i=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(s=>n.sliceDoc(s.from,s.to)!=i))return!1;let r=Wk(n,i);return r?(e(n.update({selection:n.selection.addRange(v.range(r.from,r.to),!1),effects:C.scrollIntoView(r.to)})),!0):!1},qn=Z.define({combine(n){return Ht(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new iw(e),scrollToMatch:e=>C.scrollIntoView(e)})}});class zO{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||Ak(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?`
|
|
18
|
-
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Gk(this):new Vk(this)}getCursor(e,t=0,i){let r=e.doc?e:U.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?un(this,r,t,i):hn(this,r,t,i)}}class DO{constructor(e){this.spec=e}}function Yk(n,e,t){return(i,r,s,l)=>{if(t&&!t(i,r,s,l))return!1;let o=i>=l&&r<=l+s.length?s.slice(i-l,r-l):e.doc.sliceString(i,r);return n(o,e,i,r)}}function hn(n,e,t,i){let r;return n.wholeWord&&(r=Ik(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(r=Yk(n.test,e,r)),new Xn(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:s=>s.toLowerCase(),r)}function Ik(n,e){return(t,i,r,s)=>((s>t||s+r.length<i)&&(s=Math.max(0,t-2),r=n.sliceString(s,Math.min(n.length,i+2))),(e(il(r,t-s))!=ue.Word||e(nl(r,t-s))!=ue.Word)&&(e(nl(r,i-s))!=ue.Word||e(il(r,i-s))!=ue.Word))}class Vk extends DO{constructor(e){super(e)}nextMatch(e,t,i){let r=hn(this.spec,e,i,e.doc.length).nextOverlapping();if(r.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);r=hn(this.spec,e,0,s).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==i?null:r.value}prevMatchInRange(e,t,i){for(let r=i;;){let s=Math.max(t,r-1e4-this.spec.unquoted.length),l=hn(this.spec,e,s,r),o=null;for(;!l.nextOverlapping().done;)o=l.value;if(o)return o;if(s==t)return null;r-=1e4}}prevMatch(e,t,i){let r=this.prevMatchInRange(e,0,t);return r||(r=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=t||r.to!=i)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=hn(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let s=hn(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function Bk(n,e,t){return(i,r,s)=>(!t||t(i,r,s))&&n(s[0],e,i,r)}function un(n,e,t,i){let r;return n.wholeWord&&(r=Nk(e.charCategorizer(e.selection.main.head))),n.test&&(r=Bk(n.test,e,r)),new LO(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:r},t,i)}function il(n,e){return n.slice(Me(n,e,!1),e)}function nl(n,e){return n.slice(e,Me(n,e))}function Nk(n){return(e,t,i)=>!i[0].length||(n(il(i.input,i.index))!=ue.Word||n(nl(i.input,i.index))!=ue.Word)&&(n(nl(i.input,i.index+i[0].length))!=ue.Word||n(il(i.input,i.index+i[0].length))!=ue.Word)}class Gk extends DO{nextMatch(e,t,i){let r=un(this.spec,e,i,e.doc.length).next();return r.done&&(r=un(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let s=Math.max(t,i-r*1e4),l=un(this.spec,e,s,i),o=null;for(;!l.next().done;)o=l.value;if(o&&(s==t||o.from>s+10))return o;if(s==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s<e.match.length)return e.match[s]+i.slice(r)}return t})}matchAll(e,t){let i=un(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let s=un(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const Tr=q.define(),bc=q.define(),Si=_e.define({create(n){return new bo(Ta(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Tr)?n=new bo(t.value.create(),n.panel):t.is(bc)&&(n=new bo(n.query,t.value?xc:null));return n},provide:n=>Qr.from(n,e=>e.panel)});class bo{constructor(e,t){this.query=e,this.panel=t}}const Uk=_.mark({class:"cm-searchMatch"}),Fk=_.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Hk=be.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Si))}update(n){let e=n.state.field(Si);(e!=n.startState.field(Si)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return _.none;let{view:t}=this,i=new Gt;for(let r=0,s=t.visibleRanges,l=s.length;r<l;r++){let{from:o,to:a}=s[r];for(;r<l-1&&a>s[r+1].from-500;)a=s[++r].to;n.highlight(t.state,o,a,(c,h)=>{let u=t.state.selection.ranges.some(f=>f.from==c&&f.to==h);i.add(c,h,u?Fk:Uk)})}return i.finish()}},{decorations:n=>n.decorations});function Yr(n){return e=>{let t=e.state.field(Si,!1);return t&&t.query.spec.valid?n(e,t):YO(e)}}const rl=Yr((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return!1;let r=v.single(i.from,i.to),s=n.state.facet(qn);return n.dispatch({selection:r,effects:[yc(n,i),s.scrollToMatch(r.main,n)],userEvent:"select.search"}),qO(n),!0}),sl=Yr((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return!1;let s=v.single(r.from,r.to),l=n.state.facet(qn);return n.dispatch({selection:s,effects:[yc(n,r),l.scrollToMatch(s.main,n)],userEvent:"select.search"}),qO(n),!0}),Kk=Yr((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:v.create(t.map(i=>v.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Jk=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:r}=t.main,s=[],l=0;for(let o=new Xn(n.doc,n.sliceDoc(i,r));!o.next().done;){if(s.length>1e3)return!1;o.value.from==i&&(l=s.length),s.push(v.range(o.value.from,o.value.to))}return e(n.update({selection:v.create(s,l),userEvent:"select.search.matches"})),!0},Wu=Yr((n,{query:e})=>{let{state:t}=n,{from:i,to:r}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,i,i);if(!s)return!1;let l=s,o=[],a,c,h=[];l.precise?l.from==i&&l.to==r&&(c=t.toText(e.getReplacement(l)),o.push({from:l.from,to:l.to,insert:c}),l=e.nextMatch(t,l.from,l.to),h.push(C.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))):l=e.nextMatch(t,l.from,l.to);let u=n.state.changes(o);return l&&(a=v.single(l.from,l.to).map(u),h.push(yc(n,l)),h.push(t.facet(qn).scrollToMatch(a.main,n))),n.dispatch({changes:u,selection:a,effects:h,userEvent:"input.replace"}),!0}),ew=Yr((n,{query:e})=>{if(n.state.readOnly)return!1;let t=[];for(let r of e.matchAll(n.state,1e9)){let{from:s,to:l,precise:o}=r;o&&t.push({from:s,to:l,insert:e.getReplacement(r)})}if(!t.length)return!1;let i=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:C.announce.of(i),userEvent:"input.replace.all"}),!0});function xc(n){return n.state.facet(qn).createPanel(n)}function Ta(n,e){var t,i,r,s,l;let o=n.selection.main,a=o.empty||o.to>o.from+100?"":n.sliceDoc(o.from,o.to);if(e&&!a)return e;let c=n.facet(qn);return new zO({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:c.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(i=e==null?void 0:e.caseSensitive)!==null&&i!==void 0?i:c.caseSensitive,literal:(r=e==null?void 0:e.literal)!==null&&r!==void 0?r:c.literal,regexp:(s=e==null?void 0:e.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(l=e==null?void 0:e.wholeWord)!==null&&l!==void 0?l:c.wholeWord})}function WO(n){let e=Pl(n,xc);return e&&e.dom.querySelector("[main-field]")}function qO(n){let e=WO(n);e&&e==n.root.activeElement&&e.select()}const YO=n=>{let e=n.state.field(Si,!1);if(e&&e.panel){let t=WO(n);if(t&&t!=n.root.activeElement){let i=Ta(n.state,e.query.spec);i.valid&&n.dispatch({effects:Tr.of(i)}),t.focus(),t.select()}}else n.dispatch({effects:[bc.of(!0),e?Tr.of(Ta(n.state,e.query.spec)):q.appendConfig.of(rw)]});return!0},IO=n=>{let e=n.state.field(Si,!1);if(!e||!e.panel)return!1;let t=Pl(n,xc);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:bc.of(!1)}),!0},tw=[{key:"Mod-f",run:YO,scope:"editor search-panel"},{key:"F3",run:rl,shift:sl,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:rl,shift:sl,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:IO,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Jk},{key:"Mod-Alt-g",run:Rk},{key:"Mod-d",run:qk,preventDefault:!0}];class iw{constructor(e){this.view=e;let t=this.query=e.state.field(Si).query.spec;this.commit=this.commit.bind(this),this.searchField=le("input",{value:t.search,placeholder:ot(e,"Find"),"aria-label":ot(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=le("input",{value:t.replace,placeholder:ot(e,"Replace"),"aria-label":ot(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=le("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=le("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=le("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(r,s,l){return le("button",{class:"cm-button",name:r,onclick:s,type:"button"},l)}this.dom=le("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>rl(e),[ot(e,"next")]),i("prev",()=>sl(e),[ot(e,"previous")]),i("select",()=>Kk(e),[ot(e,"all")]),le("label",null,[this.caseField,ot(e,"match case")]),le("label",null,[this.reField,ot(e,"regexp")]),le("label",null,[this.wordField,ot(e,"by word")]),...e.state.readOnly?[]:[le("br"),this.replaceField,i("replace",()=>Wu(e),[ot(e,"replace")]),i("replaceAll",()=>ew(e),[ot(e,"replace all")])],le("button",{name:"close",onclick:()=>IO(e),"aria-label":ot(e,"close"),type:"button"},["×"])])}commit(){let e=new zO({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Tr.of(e)}))}keydown(e){ey(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?sl:rl)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Wu(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(Tr)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(qn).top}}function ot(n,e){return n.state.phrase(e)}const gs=30,ms=/[\s\.,:;?!]/;function yc(n,{from:e,to:t}){let i=n.state.doc.lineAt(e),r=n.state.doc.lineAt(t).to,s=Math.max(i.from,e-gs),l=Math.min(r,t+gs),o=n.state.sliceDoc(s,l);if(s!=i.from){for(let a=0;a<gs;a++)if(!ms.test(o[a+1])&&ms.test(o[a])){o=o.slice(a);break}}if(l!=r){for(let a=o.length-1;a>o.length-gs;a--)if(!ms.test(o[a-1])&&ms.test(o[a])){o=o.slice(0,a);break}}return C.announce.of(`${n.state.phrase("current match")}. ${o} ${n.state.phrase("on line")} ${i.number}.`)}const nw=C.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),rw=[Si,Ci.low(Hk),nw];class VO{constructor(e,t,i,r){this.state=e,this.pos=t,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=xe(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),r=t.text.slice(i-t.from,this.pos-t.from),s=r.search(NO(e,!1));return s<0?null:{from:i+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function qu(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function sw(n){let e=Object.create(null),t=Object.create(null);for(let{label:r}of n){e[r[0]]=!0;for(let s=1;s<r.length;s++)t[r[s]]=!0}let i=qu(e)+qu(t)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function BO(n){let e=n.map(r=>typeof r=="string"?{label:r}:r),[t,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:sw(e);return r=>{let s=r.matchBefore(i);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function lw(n,e){return t=>{for(let i=xe(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(n.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}class Yu{constructor(e,t,i,r){this.completion=e,this.source=t,this.match=i,this.score=r}}function Bi(n){return n.selection.main.from}function NO(n,e){var t;let{source:i}=n,r=e&&i[0]!="^",s=i[i.length-1]!="$";return!r&&!s?n:new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const Sc=Ft.define();function ow(n,e,t,i){let{main:r}=n.selection,s=t-r.from,l=i-r.from;return{...n.changeByRange(o=>{if(o!=r&&t!=i&&n.sliceDoc(o.from+s,o.from+l)!=n.sliceDoc(t,i))return{range:o};let a=n.toText(e);return{changes:{from:o.from+s,to:i==r.from?o.to:o.from+l,insert:a},range:v.cursor(o.from+s+a.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Iu=new WeakMap;function aw(n){if(!Array.isArray(n))return n;let e=Iu.get(n);return e||Iu.set(n,e=BO(n)),e}const ll=q.define(),Cr=q.define();class cw{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let i=tt(e,t),r=Wt(i);this.chars.push(i);let s=e.slice(t,t+r),l=s.toUpperCase();this.folded.push(tt(l==s?s.toLowerCase():l,0)),t+=r}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:i,any:r,precise:s,byWord:l}=this;if(t.length==1){let k=tt(e,0),w=Wt(k),T=w==e.length?0:-100;if(k!=t[0])if(k==i[0])T+=-200;else return null;return this.ret(T,[0,w])}let o=e.indexOf(this.pattern);if(o==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let a=t.length,c=0;if(o<0){for(let k=0,w=Math.min(e.length,200);k<w&&c<a;){let T=tt(e,k);(T==t[c]||T==i[c])&&(r[c++]=k),k+=Wt(T)}if(c<a)return null}let h=0,u=0,f=!1,d=0,p=-1,O=-1,m=/[a-z]/.test(e),y=!0;for(let k=0,w=Math.min(e.length,200),T=0;k<w&&u<a;){let x=tt(e,k);o<0&&(h<a&&x==t[h]&&(s[h++]=k),d<a&&(x==t[d]||x==i[d]?(d==0&&(p=k),O=k+1,d++):d=0));let P,$=x<255?x>=48&&x<=57||x>=97&&x<=122?2:x>=65&&x<=90?1:0:(P=Wa(x))!=P.toLowerCase()?1:P!=P.toUpperCase()?2:0;(!k||$==1&&m||T==0&&$!=0)&&(t[u]==x||i[u]==x&&(f=!0)?l[u++]=k:l.length&&(y=!1)),T=$,k+=Wt(x)}return u==a&&l[0]==0&&y?this.result(-100+(f?-200:0),l,e):d==a&&p==0?this.ret(-200-e.length+(O==e.length?0:-100),[0,O]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):d==a?this.ret(-900-e.length,[p,O]):u==a?this.result(-100+(f?-200:0)+-700+(y?0:-1100),l,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,i){let r=[],s=0;for(let l of t){let o=l+(this.astral?Wt(tt(i,l)):1);s&&r[s-1]==l?r[s-1]=o:(r[s++]=l,r[s++]=o)}return this.ret(e-i.length,r)}}class hw{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),i=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return i==null?null:(this.matched=[0,t.length],this.score=i+(e.length==this.pattern.length?0:-100),this)}}const Re=Z.define({combine(n){return Ht(n,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:uw,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>Vu(e(i),t(i)),optionClass:(e,t)=>i=>Vu(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function Vu(n,e){return n?e?n+" "+e:n:e}function uw(n,e,t,i,r,s){let l=n.textDirection==ce.RTL,o=l,a=!1,c="top",h,u,f=e.left-r.left,d=r.right-e.right,p=i.right-i.left,O=i.bottom-i.top;if(o&&f<Math.min(p,d)?o=!1:!o&&d<Math.min(p,f)&&(o=!0),p<=(o?f:d))h=Math.max(r.top,Math.min(t.top,r.bottom-O))-e.top,u=Math.min(400,o?f:d);else{a=!0,u=Math.min(400,(l?e.right:r.right-e.left)-30);let k=r.bottom-e.bottom;k>=O||k>e.top?h=t.bottom-e.top:(c="bottom",h=e.bottom-t.top)}let m=(e.bottom-e.top)/s.offsetHeight,y=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${h/m}px; max-width: ${u/y}px`,class:"cm-completionInfo-"+(a?l?"left-narrow":"right-narrow":o?"left":"right")}}const kc=q.define();function fw(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,r,s){let l=document.createElement("span");l.className="cm-completionLabel";let o=t.displayLabel||t.label,a=0;for(let c=0;c<s.length;){let h=s[c++],u=s[c++];h>a&&l.appendChild(document.createTextNode(o.slice(a,h)));let f=l.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(o.slice(h,u))),f.className="cm-completionMatchedText",a=u}return a<o.length&&l.appendChild(document.createTextNode(o.slice(a))),l},position:50},{render(t){if(!t.detail)return null;let i=document.createElement("span");return i.className="cm-completionDetail",i.textContent=t.detail,i},position:80}),e.sort((t,i)=>t.position-i.position).map(t=>t.render)}function xo(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let i=Math.ceil((n-e)/t);return{from:n-i*t,to:n-(i-1)*t}}class dw{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:s,selected:l}=r.open,o=e.state.facet(Re);this.optionContent=fw(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=xo(s.length,l,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{let{options:c}=e.state.field(t).open;for(let h=a.target,u;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(u=/-(\d+)$/.exec(h.id))&&+u[1]<c.length){this.applyCompletion(e,c[+u[1]]),a.preventDefault();return}if(a.target==this.list){let h=this.list.classList.contains("cm-completionListIncompleteTop")&&a.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&a.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;h!=null&&(e.dispatch({effects:kc.of(h)}),a.preventDefault())}}),this.dom.addEventListener("focusout",a=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Re).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:Cr.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:s,selected:l,disabled:o}=i.open;(!r.open||r.open.options!=s)&&(this.range=xo(s.length,l,e.state.facet(Re).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),o!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=xo(t.options.length,t.selected,this.view.state.facet(Re).maxRenderedOptions),this.showOptions(t.options,e.id));let i=this.updateSelectedOption(t.selected);if(i){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:s}=r;if(!s)return;let l=typeof s=="string"?document.createTextNode(s):s(r);if(!l)return;"then"in l?l.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,r)}).catch(o=>rt(this.view.state,o,"completion info")):(this.addInfoPane(l,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:s}=e;i.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return t&&Ow(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),s=this.space;if(!s){let l=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:l.clientWidth,bottom:l.clientHeight}}return r.top>Math.min(s.bottom,t.bottom)-10||r.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(Re).positionInfo(this.view,t,r,i,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,i){const r=document.createElement("ul");r.id=t,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",l=>{l.target==r&&l.preventDefault()});let s=null;for(let l=i.from;l<i.to;l++){let{completion:o,match:a}=e[l],{section:c}=o;if(c){let f=typeof c=="string"?c:c.name;if(f!=s&&(l>i.from||i.from==0))if(s=f,typeof c!="string"&&c.header)r.appendChild(c.header(c));else{let d=r.appendChild(document.createElement("completion-section"));d.textContent=f}}const h=r.appendChild(document.createElement("li"));h.id=t+"-"+l,h.setAttribute("role","option");let u=this.optionClass(o);u&&(h.className=u);for(let f of this.optionContent){let d=f(o,this.view.state,this.view,a);d&&h.appendChild(d)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function pw(n,e){return t=>new dw(t,n,e)}function Ow(n,e){let t=n.getBoundingClientRect(),i=e.getBoundingClientRect(),r=t.height/n.offsetHeight;i.top<t.top?n.scrollTop-=(t.top-i.top)/r:i.bottom>t.bottom&&(n.scrollTop+=(i.bottom-t.bottom)/r)}function Bu(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function gw(n,e){let t=[],i=null,r=null,s=h=>{t.push(h);let{section:u}=h.completion;if(u){i||(i=[]);let f=typeof u=="string"?u:u.name;i.some(d=>d.name==f)||i.push(typeof u=="string"?{name:f}:u)}},l=e.facet(Re);for(let h of n)if(h.hasResult()){let u=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new Yu(f,h.source,u?u(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),d,p=l.filterStrict?new hw(f):new cw(f);for(let O of h.result.options)if(d=p.match(O.label)){let m=O.displayLabel?u?u(O,d.matched):[]:d.matched,y=d.score+(O.boost||0);if(s(new Yu(O,h.source,m,y)),typeof O.section=="object"&&O.section.rank==="dynamic"){let{name:k}=O.section;r||(r=Object.create(null)),r[k]=Math.max(y,r[k]||-1e9)}}}}if(i){let h=Object.create(null),u=0,f=(d,p)=>(d.rank==="dynamic"&&p.rank==="dynamic"?r[p.name]-r[d.name]:0)||(typeof d.rank=="number"?d.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(d.name<p.name?-1:1);for(let d of i.sort(f))u-=1e5,h[d.name]=u;for(let d of t){let{section:p}=d.completion;p&&(d.score+=h[typeof p=="string"?p:p.name])}}let o=[],a=null,c=l.compareCompletions;for(let h of t.sort((u,f)=>f.score-u.score||c(u.completion,f.completion))){let u=h.completion;!a||a.label!=u.label||a.detail!=u.detail||a.type!=null&&u.type!=null&&a.type!=u.type||a.apply!=u.apply||a.boost!=u.boost?o.push(h):Bu(h.completion)>Bu(a)&&(o[o.length-1]=h),a=h.completion}return o}class On{constructor(e,t,i,r,s,l){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=r,this.selected=s,this.disabled=l}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new On(this.options,Nu(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,s,l){if(r&&!l&&e.some(c=>c.isPending))return r.setDisabled();let o=gw(e,t);if(!o.length)return r&&e.some(c=>c.isPending)?r.setDisabled():null;let a=t.facet(Re).selectOnOpen?0:-1;if(r&&r.selected!=a&&r.selected!=-1){let c=r.options[r.selected].completion;for(let h=0;h<o.length;h++)if(o[h].completion==c){a=h;break}}return new On(o,Nu(i,a),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:kw,above:s.aboveCursor},r?r.timestamp:Date.now(),a,!1)}map(e){return new On(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new On(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class ol{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new ol(yw,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(Re),s=(i.override||t.languageDataAt("autocomplete",Bi(t)).map(aw)).map(a=>(this.active.find(h=>h.source==a)||new xt(a,this.active.some(h=>h.state!=0)?1:0)).update(e,i));s.length==this.active.length&&s.every((a,c)=>a==this.active[c])&&(s=this.active);let l=this.open,o=e.effects.some(a=>a.is(wc));l&&e.docChanged&&(l=l.map(e.changes)),e.selection||s.some(a=>a.hasResult()&&e.changes.touchesRange(a.from,a.to))||!mw(s,this.active)||o?l=On.build(s,t,this.id,l,i,o):l&&l.disabled&&!s.some(a=>a.isPending)&&(l=null),!l&&s.every(a=>!a.isPending)&&s.some(a=>a.hasResult())&&(s=s.map(a=>a.hasResult()?new xt(a.source,0):a));for(let a of e.effects)a.is(kc)&&(l=l&&l.setSelected(a.value,this.id));return s==this.active&&l==this.open?this:new ol(s,this.id,l)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?bw:xw}}function mw(n,e){if(n==e)return!0;for(let t=0,i=0;;){for(;t<n.length&&!n[t].hasResult();)t++;for(;i<e.length&&!e[i].hasResult();)i++;let r=t==n.length,s=i==e.length;if(r||s)return r==s;if(n[t++].result!=e[i++].result)return!1}}const bw={"aria-autocomplete":"list"},xw={};function Nu(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const yw=[];function GO(n,e){if(n.isUserEvent("input.complete")){let i=n.annotation(Sc);if(i&&e.activateOnCompletion(i))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class xt{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=GO(e,t),r=this;(i&8||i&16&&this.touches(e))&&(r=new xt(r.source,0)),i&4&&r.state==0&&(r=new xt(this.source,1)),r=r.updateFor(e,i);for(let s of e.effects)if(s.is(ll))r=new xt(r.source,1,s.value);else if(s.is(Cr))r=new xt(r.source,0);else if(s.is(wc))for(let l of s.value)l.source==r.source&&(r=l);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Bi(e.state))}}class kn extends xt{constructor(e,t,i,r,s,l){super(e,3,t),this.limit=i,this.result=r,this.from=s,this.to=l}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let s=e.changes.mapPos(this.from),l=e.changes.mapPos(this.to,1),o=Bi(e.state);if(o>l||!r||t&2&&(Bi(e.startState)==this.from||o<this.limit))return new xt(this.source,t&4?1:0);let a=e.changes.mapPos(this.limit);return Sw(r.validFor,e.state,s,l)?new kn(this.source,this.explicit,a,r,s,l):r.update&&(r=r.update(r,s,l,new VO(e.state,o,!1)))?new kn(this.source,this.explicit,a,r,r.from,(i=r.to)!==null&&i!==void 0?i:Bi(e.state)):new xt(this.source,1,this.explicit)}map(e){if(e.empty)return this;let t=this.result.map?this.result.map(this.result,e):this.result;return t?new kn(this.source,this.explicit,e.mapPos(this.limit),t,e.mapPos(this.from),e.mapPos(this.to,1)):new xt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function Sw(n,e,t,i){if(!n)return!1;let r=e.sliceDoc(t,i);return typeof n=="function"?n(r,t,i,e):NO(n,!0).test(r)}const wc=q.define({map(n,e){return n.map(t=>t.map(e))}}),it=_e.define({create(){return ol.start()},update(n,e){return n.update(e)},provide:n=>[rc.from(n,e=>e.tooltip),C.contentAttributes.from(n,e=>e.attrs)]});function Qc(n,e){const t=e.completion.apply||e.completion.label;let i=n.state.field(it).active.find(r=>r.source==e.source);return i instanceof kn?(typeof t=="string"?n.dispatch({...ow(n.state,t,i.from,i.to),annotations:Sc.of(e.completion)}):t(n,e.completion,i.from,i.to),!0):!1}const kw=pw(it,Qc);function bs(n,e="option"){return t=>{let i=t.state.field(it,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<t.state.facet(Re).interactionDelay)return!1;let r=1,s;e=="page"&&(s=vp(t,i.open.tooltip))&&(r=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:l}=i.open.options,o=i.open.selected>-1?i.open.selected+r*(n?1:-1):n?0:l-1;return o<0?o=e=="page"?0:l-1:o>=l&&(o=e=="page"?l-1:0),t.dispatch({effects:kc.of(o)}),!0}}const ww=n=>{let e=n.state.field(it,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(Re).interactionDelay?!1:Qc(n,e.open.options[e.open.selected])},yo=n=>n.state.field(it,!1)?(n.dispatch({effects:ll.of(!0)}),!0):!1,Qw=n=>{let e=n.state.field(it,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Cr.of(null)}),!0)};class vw{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const $w=50,Pw=1e3,Tw=be.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(it).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(it),t=n.state.facet(Re);if(!n.selectionSet&&!n.docChanged&&n.startState.field(it)==e)return;let i=n.transactions.some(s=>{let l=GO(s,t);return l&8||(s.selection||s.docChanged)&&!(l&3)});for(let s=0;s<this.running.length;s++){let l=this.running[s];if(i||l.context.abortOnDocChange&&n.docChanged||l.updates.length+n.transactions.length>$w&&Date.now()-l.time>Pw){for(let o of l.context.abortListeners)try{o()}catch(a){rt(this.view.state,a)}l.context.abortListeners=null,this.running.splice(s--,1)}else l.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(s=>s.effects.some(l=>l.is(ll)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(l=>l.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of n.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(it);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Re).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=Bi(e),i=new VO(e,t,n.explicit,this.view),r=new vw(n,i);this.running.push(r),Promise.resolve(n.source(i)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:Cr.of(null)}),rt(this.view.state,s)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Re).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Re),i=this.view.state.field(it);for(let r=0;r<this.running.length;r++){let s=this.running[r];if(s.done===void 0)continue;if(this.running.splice(r--,1),s.done){let o=Bi(s.updates.length?s.updates[0].startState:this.view.state),a=Math.min(o,s.done.from+(s.active.explicit?0:1)),c=new kn(s.active.source,s.active.explicit,a,s.done,s.done.from,(n=s.done.to)!==null&&n!==void 0?n:o);for(let h of s.updates)c=c.update(h,t);if(c.hasResult()){e.push(c);continue}}let l=i.active.find(o=>o.source==s.active.source);if(l&&l.isPending)if(s.done==null){let o=new xt(s.active.source,0);for(let a of s.updates)o=o.update(a,t);o.isPending||e.push(o)}else this.startQuery(l)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:wc.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(it,!1);if(e&&e.tooltip&&this.view.state.facet(Re).closeOnBlur){let t=e.open&&vp(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Cr.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ll.of(!1)}),20),this.composing=0}}}),Cw=typeof navigator=="object"&&/Win/.test(navigator.platform),Aw=Ci.highest(C.domEventHandlers({keydown(n,e){let t=e.state.field(it,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(Cw&&n.altKey)||n.metaKey)return!1;let i=t.open.options[t.open.selected],r=t.active.find(l=>l.source==i.source),s=i.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(n.key)>-1&&Qc(e,i),!1}})),UO=C.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class Rw{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}}class vc{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,je.TrackDel),i=e.mapPos(this.to,1,je.TrackDel);return t==null||i==null?null:new vc(this.field,t,i)}}class $c{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],r=[t],s=e.doc.lineAt(t),l=/^\s*/.exec(s.text)[0];for(let a of this.lines){if(i.length){let c=l,h=/^\t*/.exec(a)[0].length;for(let u=0;u<h;u++)c+=e.facet(Dr);r.push(t+c.length-h),a=c+a.slice(h)}i.push(a),t+=a.length+1}let o=this.fieldPositions.map(a=>new vc(a.field,r[a.line]+a.from,r[a.line]+a.to));return{text:i,ranges:o}}static parse(e){let t=[],i=[],r=[],s;for(let l of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(l);){let o=s[1]?+s[1]:null,a=s[2]||s[3]||"",c=-1;o===0&&(o=1e9);let h=a.replace(/\\[{}]/g,u=>u[1]);for(let u=0;u<t.length;u++)(o!=null?t[u].seq==o:h&&t[u].name==h)&&(c=u);if(c<0){let u=0;for(;u<t.length&&(o==null||t[u].seq!=null&&t[u].seq<o);)u++;t.splice(u,0,{seq:o,name:h}),c=u;for(let f of r)f.field>=c&&f.field++}for(let u of r)if(u.line==i.length&&u.from>s.index){let f=s[2]?3+(s[1]||"").length:2;u.from-=f,u.to-=f}r.push(new Rw(c,i.length,s.index,s.index+h.length)),l=l.slice(0,s.index)+a+l.slice(s.index+s[0].length)}l=l.replace(/\\([{}])/g,(o,a,c)=>{for(let h of r)h.line==i.length&&h.from>c&&(h.from--,h.to--);return a}),i.push(l)}return new $c(i,r)}}let Mw=_.widget({widget:new class extends Tt{toDOM(){let n=document.createElement("span");return n.className="cm-snippetFieldPosition",n}ignoreEvent(){return!1}}}),Zw=_.mark({class:"cm-snippetField"});class Yn{constructor(e,t){this.ranges=e,this.active=t,this.deco=_.set(e.map(i=>(i.from==i.to?Mw:Zw).range(i.from,i.to)),!0)}map(e){let t=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;t.push(r)}return new Yn(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}}const Ir=q.define({map(n,e){return n&&n.map(e)}}),Xw=q.define(),Ar=_e.define({create(){return null},update(n,e){for(let t of e.effects){if(t.is(Ir))return t.value;if(t.is(Xw)&&n)return new Yn(n.ranges,t.value)}return n&&e.docChanged&&(n=n.map(e.changes)),n&&e.selection&&!n.selectionInsideField(e.selection)&&(n=null),n},provide:n=>C.decorations.from(n,e=>e?e.deco:_.none)});function Pc(n,e){return v.create(n.filter(t=>t.field==e).map(t=>v.range(t.from,t.to)))}function jw(n){let e=$c.parse(n);return(t,i,r,s)=>{let{text:l,ranges:o}=e.instantiate(t.state,r),{main:a}=t.state.selection,c={changes:{from:r,to:s==a.from?a.to:s,insert:H.of(l)},scrollIntoView:!0,annotations:i?[Sc.of(i),Pe.userEvent.of("input.complete")]:void 0};if(o.length&&(c.selection=Pc(o,0)),o.some(h=>h.field>0)){let h=new Yn(o,0),u=c.effects=[Ir.of(h)];t.state.field(Ar,!1)===void 0&&u.push(q.appendConfig.of([Ar,Dw,Ww,UO]))}t.dispatch(t.state.update(c))}}function FO(n){return({state:e,dispatch:t})=>{let i=e.field(Ar,!1);if(!i||n<0&&i.active==0)return!1;let r=i.active+n,s=n>0&&!i.ranges.some(l=>l.field==r+n);return t(e.update({selection:Pc(i.ranges,r),effects:Ir.of(s?null:new Yn(i.ranges,r)),scrollIntoView:!0})),!0}}const Ew=({state:n,dispatch:e})=>n.field(Ar,!1)?(e(n.update({effects:Ir.of(null)})),!0):!1,Lw=FO(1),_w=FO(-1),zw=[{key:"Tab",run:Lw,shift:_w},{key:"Escape",run:Ew}],Gu=Z.define({combine(n){return n.length?n[0]:zw}}),Dw=Ci.highest(zn.compute([Gu],n=>n.facet(Gu)));function et(n,e){return{...e,apply:jw(n)}}const Ww=C.domEventHandlers({mousedown(n,e){let t=e.state.field(Ar,!1),i;if(!t||(i=e.posAtCoords({x:n.clientX,y:n.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=i&&s.to>=i);return!r||r.field==t.active?!1:(e.dispatch({selection:Pc(t.ranges,r.field),effects:Ir.of(t.ranges.some(s=>s.field>r.field)?new Yn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}}),Rr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ii=q.define({map(n,e){let t=e.mapPos(n,-1,je.TrackAfter);return t??void 0}}),Tc=new class extends ki{};Tc.startSide=1;Tc.endSide=-1;const HO=_e.define({create(){return N.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(Ii)&&(n=n.update({add:[Tc.range(t.value,t.value+1)]}));return n}});function qw(){return[Iw,HO]}const So="()[]{}<>«»»«[]{}";function KO(n){for(let e=0;e<So.length;e+=2)if(So.charCodeAt(e)==n)return So.charAt(e+1);return Wa(n<128?n:n+1)}function JO(n,e){return n.languageDataAt("closeBrackets",e)[0]||Rr}const Yw=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Iw=C.inputHandler.of((n,e,t,i)=>{if((Yw?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let r=n.state.selection.main;if(i.length>2||i.length==2&&Wt(tt(i,0))==1||e!=r.from||t!=r.to)return!1;let s=Nw(n.state,i);return s?(n.dispatch(s),!0):!1}),Vw=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let i=JO(n,n.selection.main.head).brackets||Rr.brackets,r=null,s=n.changeByRange(l=>{if(l.empty){let o=Gw(n.doc,l.head);for(let a of i)if(a==o&&Ll(n.doc,l.head)==KO(tt(a,0)))return{changes:{from:l.head-a.length,to:l.head+a.length},range:v.cursor(l.head-a.length)}}return{range:r=l}});return r||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},Bw=[{key:"Backspace",run:Vw}];function Nw(n,e){let t=JO(n,n.selection.main.head),i=t.brackets||Rr.brackets;for(let r of i){let s=KO(tt(r,0));if(e==r)return s==r?Hw(n,r,i.indexOf(r+r+r)>-1,t):Uw(n,r,s,t.before||Rr.before);if(e==s&&eg(n,n.selection.main.from))return Fw(n,r,s)}return null}function eg(n,e){let t=!1;return n.field(HO).between(0,n.doc.length,i=>{i==e&&(t=!0)}),t}function Ll(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Wt(tt(t,0)))}function Gw(n,e){let t=n.sliceString(e-2,e);return Wt(tt(t,0))==t.length?t:t.slice(1)}function Uw(n,e,t,i){let r=null,s=n.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:t,from:l.to}],effects:Ii.of(l.to+e.length),range:v.range(l.anchor+e.length,l.head+e.length)};let o=Ll(n.doc,l.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:e+t,from:l.head},effects:Ii.of(l.head+e.length),range:v.cursor(l.head+e.length)}:{range:r=l}});return r?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Fw(n,e,t){let i=null,r=n.changeByRange(s=>s.empty&&Ll(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:v.cursor(s.head+t.length)}:i={range:s});return i?null:n.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function Hw(n,e,t,i){let r=i.stringPrefixes||Rr.stringPrefixes,s=null,l=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:Ii.of(o.to+e.length),range:v.range(o.anchor+e.length,o.head+e.length)};let a=o.head,c=Ll(n.doc,a),h;if(c==e){if(Uu(n,a))return{changes:{insert:e+e,from:a},effects:Ii.of(a+e.length),range:v.cursor(a+e.length)};if(eg(n,a)){let f=t&&n.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+f.length,insert:f},range:v.cursor(a+f.length)}}}else{if(t&&n.sliceDoc(a-2*e.length,a)==e+e&&(h=Fu(n,a-2*e.length,r))>-1&&Uu(n,h))return{changes:{insert:e+e+e+e,from:a},effects:Ii.of(a+e.length),range:v.cursor(a+e.length)};if(n.charCategorizer(a)(c)!=ue.Word&&Fu(n,a,r)>-1&&!Kw(n,a,e,r))return{changes:{insert:e+e,from:a},effects:Ii.of(a+e.length),range:v.cursor(a+e.length)}}return{range:s=o}});return s?null:n.update(l,{scrollIntoView:!0,userEvent:"input.type"})}function Uu(n,e){let t=xe(n).resolveInner(e+1);return t.parent&&t.from==e}function Kw(n,e,t,i){let r=xe(n).resolveInner(e,-1),s=i.reduce((l,o)=>Math.max(l,o.length),0);for(let l=0;l<5;l++){let o=n.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),a=o.indexOf(t);if(!a||a>-1&&i.indexOf(o.slice(0,a))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+a;){if(n.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function Fu(n,e,t){let i=n.charCategorizer(e);if(i(n.sliceDoc(e-1,e))!=ue.Word)return e;for(let r of t){let s=e-r.length;if(n.sliceDoc(s,e)==r&&i(n.sliceDoc(s-1,s))!=ue.Word)return s}return-1}function Jw(n={}){return[Aw,it,Re.of(n),Tw,eQ,UO]}const tg=[{key:"Ctrl-Space",run:yo},{mac:"Alt-`",run:yo},{mac:"Alt-i",run:yo},{key:"Escape",run:Qw},{key:"ArrowDown",run:bs(!0)},{key:"ArrowUp",run:bs(!1)},{key:"PageDown",run:bs(!0,"page")},{key:"PageUp",run:bs(!1,"page")},{key:"Enter",run:ww}],eQ=Ci.highest(zn.computeN([Re],n=>n.facet(Re).defaultKeymap?[tg]:[]));class Hu{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class zi{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=i.facet(Mr).markerFilter;r&&(e=r(e,i));let s=e.slice().sort((d,p)=>d.from-p.from||d.to-p.to),l=new Gt,o=[],a=0,c=i.doc.iter(),h=0,u=i.doc.length;for(let d=0;;){let p=d==s.length?null:s[d];if(!p&&!o.length)break;let O,m;if(o.length)O=a,m=o.reduce((w,T)=>Math.min(w,T.to),p&&p.from>O?p.from:1e8);else{if(O=p.from,O>u)break;m=p.to,o.push(p),d++}for(;d<s.length;){let w=s[d];if(w.from==O&&(w.to>w.from||w.to==O))o.push(w),d++,m=Math.min(w.to,m);else{m=Math.min(w.from,m);break}}m=Math.min(m,u);let y=!1;if(o.some(w=>w.from==O&&(w.to==m||m==u))&&(y=O==m,!y&&m-O<10)){let w=O-(h+c.value.length);w>0&&(c.next(w),h=O);for(let T=O;;){if(T>=m){y=!0;break}if(!c.lineBreak&&h+c.value.length>T)break;T=h+c.value.length,h+=c.value.length,c.next()}}let k=dQ(o);if(y)l.add(O,O,_.widget({widget:new cQ(k),diagnostics:o.slice()}));else{let w=o.reduce((T,x)=>x.markClass?T+" "+x.markClass:T,"");l.add(O,m,_.mark({class:"cm-lintRange cm-lintRange-"+k+w,diagnostics:o.slice(),inclusiveEnd:o.some(T=>T.to>m)}))}if(a=m,a==u)break;for(let w=0;w<o.length;w++)o[w].to<=a&&o.splice(w--,1)}let f=l.finish();return new zi(f,t,Ti(f))}}function Ti(n,e=null,t=0){let i=null;return n.between(t,1e9,(r,s,{spec:l})=>{if(!(e&&l.diagnostics.indexOf(e)<0))if(!i)i=new Hu(r,s,e||l.diagnostics[0]);else{if(l.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new Hu(i.from,s,i.diagnostic)}}),i}function tQ(n,e){let t=e.pos,i=e.end||t,r=n.state.facet(Mr).hideOn(n,t,i);if(r!=null)return r;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(l=>l.is(ig))||n.changes.touchesRange(s.from,Math.max(s.to,i)))}function iQ(n,e){return n.field(ut,!1)?e:e.concat(q.appendConfig.of(pQ))}const ig=q.define(),Cc=q.define(),ng=q.define(),ut=_e.define({create(){return new zi(_.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),i=null,r=n.panel;if(n.selected){let s=e.changes.mapPos(n.selected.from,1);i=Ti(t,n.selected.diagnostic,s)||Ti(t,null,s)}!t.size&&r&&e.state.facet(Mr).autoPanel&&(r=null),n=new zi(t,r,i)}for(let t of e.effects)if(t.is(ig)){let i=e.state.facet(Mr).autoPanel?t.value.length?Zr.open:null:n.panel;n=zi.init(t.value,i,e.state)}else t.is(Cc)?n=new zi(n.diagnostics,t.value?Zr.open:null,n.selected):t.is(ng)&&(n=new zi(n.diagnostics,n.panel,t.value));return n},provide:n=>[Qr.from(n,e=>e.panel),C.decorations.from(n,e=>e.diagnostics)]}),nQ=_.mark({class:"cm-lintRange cm-lintRange-active"});function rQ(n,e,t){let{diagnostics:i}=n.state.field(ut),r,s=-1,l=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(a,c,{spec:h})=>{if(e>=a&&e<=c&&(a==c||(e>a||t>0)&&(e<c||t<0)))return r=h.diagnostics,s=a,l=c,!1});let o=n.state.facet(Mr).tooltipFilter;return r&&o&&(r=o(r,n.state)),r?{pos:s,end:l,above:!0,create(){return{dom:sQ(n,r)}}}:null}function sQ(n,e){return le("ul",{class:"cm-tooltip-lint"},e.map(t=>sg(n,t,!1)))}const lQ=n=>{let e=n.state.field(ut,!1);(!e||!e.panel)&&n.dispatch({effects:iQ(n.state,[Cc.of(!0)])});let t=Pl(n,Zr.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},Ku=n=>{let e=n.state.field(ut,!1);return!e||!e.panel?!1:(n.dispatch({effects:Cc.of(!1)}),!0)},oQ=n=>{let e=n.state.field(ut,!1);if(!e)return!1;let t=n.state.selection.main,i=Ti(e.diagnostics,null,t.to+1);return!i&&(i=Ti(e.diagnostics,null,0),!i||i.from==t.from&&i.to==t.to)?!1:(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),Iy(n,i.from,1,{tooltip:lg,until:r=>r.docChanged||r.newSelection.main.head<i.from||r.newSelection.main.head>i.to}),!0)},aQ=[{key:"Mod-Shift-m",run:lQ,preventDefault:!0},{key:"F8",run:oQ}],Mr=Z.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...Ht(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Ju,tooltipFilter:Ju,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,r,s)=>e(i,r,s)||t(i,r,s):e:t,autoPanel:(e,t)=>e||t})}}});function Ju(n,e){return n?e?(t,i)=>e(n(t,i),i):n:e}function rg(n){let e=[];if(n)e:for(let{name:t}of n){for(let i=0;i<t.length;i++){let r=t[i];if(/[a-zA-Z]/.test(r)&&!e.some(s=>s.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function sg(n,e,t){var i;let r=t?rg(e.actions):[];return le("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},le("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((s,l)=>{let o=!1,a=d=>{if(d.preventDefault(),o)return;o=!0;let p=Ti(n.state.field(ut).diagnostics,e);p&&s.apply(n,p.from,p.to)},{name:c}=s,h=r[l]?c.indexOf(r[l]):-1,u=h<0?c:[c.slice(0,h),le("u",c.slice(h,h+1)),c.slice(h+1)],f=s.markClass?" "+s.markClass:"";return le("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:a,onmousedown:a,"aria-label":` Action: ${c}${h<0?"":` (access key "${r[l]})"`}.`},u)}),e.source&&le("div",{class:"cm-diagnosticSource"},e.source))}class cQ extends Tt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return le("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class ef{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=sg(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Zr{constructor(e){this.view=e,this.items=[];let t=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)Ku(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],l=rg(s.actions);for(let o=0;o<l.length;o++)if(l[o].toUpperCase().charCodeAt(0)==r.keyCode){let a=Ti(this.view.state.field(ut).diagnostics,s);a&&s.actions[o].apply(e,a.from,a.to)}}else return;r.preventDefault()}},i=r=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(r.target)&&this.moveSelection(s)};this.list=le("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:i}),this.dom=le("div",{class:"cm-panel-lint"},this.list,le("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Ku(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(ut).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(ut),i=0,r=!1,s=null,l=new Set;for(e.between(0,this.view.state.doc.length,(o,a,{spec:c})=>{for(let h of c.diagnostics){if(l.has(h))continue;l.add(h);let u=-1,f;for(let d=i;d<this.items.length;d++)if(this.items[d].diagnostic==h){u=d;break}u<0?(f=new ef(this.view,h),this.items.splice(i,0,f),r=!0):(f=this.items[u],u>i&&(this.items.splice(i,u-i),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new ef(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:a})=>{let c=a.height/this.list.offsetHeight;o.top<a.top?this.list.scrollTop-=(a.top-o.top)/c:o.bottom>a.bottom&&(this.list.scrollTop+=(o.bottom-a.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(ut),i=Ti(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:ng.of(i)})}static open(e){return new Zr(e)}}function hQ(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function xs(n){return hQ(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const uQ=C.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:xs("#f11")},".cm-lintRange-warning":{backgroundImage:xs("orange")},".cm-lintRange-info":{backgroundImage:xs("#999")},".cm-lintRange-hint":{backgroundImage:xs("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function fQ(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function dQ(n){let e="hint",t=1;for(let i of n){let r=fQ(i.severity);r>t&&(t=r,e=i.severity)}return e}const lg=Yy(rQ,{hideOn:tQ}),pQ=[ut,C.decorations.compute([ut],n=>{let{selected:e,panel:t}=n.field(ut);return!e||!t||e.from==e.to?_.none:_.set([nQ.range(e.from,e.to)])}),lg,uQ];var tf=function(e){e===void 0&&(e={});var t=e,i=t.crosshairCursor,r=i===void 0?!1:i,s=[];e.closeBracketsKeymap!==!1&&(s=s.concat(Bw)),e.defaultKeymap!==!1&&(s=s.concat(Ck)),e.searchKeymap!==!1&&(s=s.concat(tw)),e.historyKeymap!==!1&&(s=s.concat(E1)),e.foldKeymap!==!1&&(s=s.concat(HS)),e.completionKeymap!==!1&&(s=s.concat(tg)),e.lintKeymap!==!1&&(s=s.concat(aQ));var l=[];return e.lineNumbers!==!1&&l.push(rS()),e.highlightActiveLineGutter!==!1&&l.push(oS()),e.highlightSpecialChars!==!1&&l.push(by()),e.history!==!1&&l.push(P1()),e.foldGutter!==!1&&l.push(t1()),e.drawSelection!==!1&&l.push(ly()),e.dropCursor!==!1&&l.push(fy()),e.allowMultipleSelections!==!1&&l.push(U.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&l.push(qS()),e.syntaxHighlighting!==!1&&l.push(dc(s1,{fallback:!0})),e.bracketMatching!==!1&&l.push(f1()),e.closeBrackets!==!1&&l.push(qw()),e.autocompletion!==!1&&l.push(Jw()),e.rectangularSelection!==!1&&l.push(My()),r!==!1&&l.push(jy()),e.highlightActiveLine!==!1&&l.push(Qy()),e.highlightSelectionMatches!==!1&&l.push(Xk()),e.tabSize&&typeof e.tabSize=="number"&&l.push(Dr.of(" ".repeat(e.tabSize))),l.concat([zn.of(s.flat())]).filter(Boolean)};const OQ="#e5c07b",nf="#e06c75",gQ="#56b6c2",mQ="#ffffff",Rs="#abb2bf",Ca="#7d8799",bQ="#61afef",xQ="#98c379",rf="#d19a66",yQ="#c678dd",SQ="#21252b",sf="#2c313a",lf="#282c34",ko="#353a42",kQ="#3E4451",of="#528bff",wQ=C.theme({"&":{color:Rs,backgroundColor:lf},".cm-content":{caretColor:of},".cm-cursor, .cm-dropCursor":{borderLeftColor:of},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:kQ},".cm-panels":{backgroundColor:SQ,color:Rs},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:lf,color:Ca,border:"none"},".cm-activeLineGutter":{backgroundColor:sf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:ko},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:ko,borderBottomColor:ko},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:sf,color:Rs}}},{dark:!0}),QQ=Dn.define([{tag:b.keyword,color:yQ},{tag:[b.name,b.deleted,b.character,b.propertyName,b.macroName],color:nf},{tag:[b.function(b.variableName),b.labelName],color:bQ},{tag:[b.color,b.constant(b.name),b.standard(b.name)],color:rf},{tag:[b.definition(b.name),b.separator],color:Rs},{tag:[b.typeName,b.className,b.number,b.changed,b.annotation,b.modifier,b.self,b.namespace],color:OQ},{tag:[b.operator,b.operatorKeyword,b.url,b.escape,b.regexp,b.link,b.special(b.string)],color:gQ},{tag:[b.meta,b.comment],color:Ca},{tag:b.strong,fontWeight:"bold"},{tag:b.emphasis,fontStyle:"italic"},{tag:b.strikethrough,textDecoration:"line-through"},{tag:b.link,color:Ca,textDecoration:"underline"},{tag:b.heading,fontWeight:"bold",color:nf},{tag:[b.atom,b.bool,b.special(b.variableName)],color:rf},{tag:[b.processingInstruction,b.string,b.inserted],color:xQ},{tag:b.invalid,color:mQ}]),vQ=[wQ,dc(QQ)];var $Q=C.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),PQ=function(e){e===void 0&&(e={});var t=e,i=t.indentWithTab,r=i===void 0?!0:i,s=t.editable,l=s===void 0?!0:s,o=t.readOnly,a=o===void 0?!1:o,c=t.theme,h=c===void 0?"light":c,u=t.placeholder,f=u===void 0?"":u,d=t.basicSetup,p=d===void 0?!0:d,O=[];switch(r&&O.unshift(zn.of([jO])),p&&(typeof p=="boolean"?O.unshift(tf()):O.unshift(tf(p))),f&&O.unshift(Ty(f)),h){case"light":O.push($Q);break;case"dark":O.push(vQ);break;case"none":break;default:O.push(h);break}return l===!1&&O.push(C.editable.of(!1)),a&&O.push(U.readOnly.of(!0)),[...O]},TQ=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class CQ{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class af{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var wo=null,AQ=()=>typeof window>"u"?new af:(wo||(wo=new af),wo),RQ=C.theme({"& .cm-scroller":{height:"100% !important"}}),cf=null,Qo=null;function MQ(n,e,t,i,r,s){if(!n&&!e&&!t&&!i&&!r&&!s)return null;var l=JSON.stringify({height:n,minHeight:e,maxHeight:t,width:i,minWidth:r,maxWidth:s});return l===cf||(cf=l,Qo=C.theme({"&":{height:n,minHeight:e,maxHeight:t,width:i,minWidth:r,maxWidth:s}})),Qo}var hf=Ft.define(),ZQ=200,XQ=[];function jQ(n){var e=n.value,t=n.selection,i=n.onChange,r=n.onStatistics,s=n.onCreateEditor,l=n.onUpdate,o=n.extensions,a=o===void 0?XQ:o,c=n.autoFocus,h=n.theme,u=h===void 0?"light":h,f=n.height,d=f===void 0?null:f,p=n.minHeight,O=p===void 0?null:p,m=n.maxHeight,y=m===void 0?null:m,k=n.width,w=k===void 0?null:k,T=n.minWidth,x=T===void 0?null:T,P=n.maxWidth,$=P===void 0?null:P,X=n.placeholder,Y=X===void 0?"":X,D=n.editable,L=D===void 0?!0:D,z=n.readOnly,B=z===void 0?!1:z,I=n.indentWithTab,F=I===void 0?!0:I,de=n.basicSetup,Qe=de===void 0?!0:de,ve=n.root,oe=n.initialState,$e=Q.useState(),ye=$e[0],Ce=$e[1],ze=Q.useState(),K=ze[0],Ie=ze[1],Rt=Q.useState(),Mt=Rt[0],Ri=Rt[1],lt=Q.useState(()=>({current:null}))[0],Kt=Q.useState(()=>({current:null}))[0],Mi=MQ(d,O,y,w,x,$),Vn=C.updateListener.of(Ve=>{if(Ve.docChanged&&typeof i=="function"&&!Ve.transactions.some(en=>en.annotation(hf))){lt.current?lt.current.reset():(lt.current=new CQ(()=>{if(Kt.current){var en=Kt.current;Kt.current=null,en()}lt.current=null},ZQ),AQ().add(lt.current));var Be=Ve.state.doc,ei=Be.toString();i(ei,Ve)}r&&r(TQ(Ve))}),Jt=PQ({theme:u,editable:L,readOnly:B,placeholder:Y,indentWithTab:F,basicSetup:Qe}),Zt=[Vn,...Mi?[Mi]:[],RQ,...Jt];return l&&typeof l=="function"&&Zt.push(C.updateListener.of(l)),Zt=Zt.concat(a),Q.useLayoutEffect(()=>{if(ye&&!Mt){var Ve={doc:e,selection:t,extensions:Zt},Be=oe?U.fromJSON(oe.json,Ve,oe.fields):U.create(Ve);if(Ri(Be),!K){var ei=new C({state:Be,parent:ye,root:ve});Ie(ei),s&&s(ei,Be)}}return()=>{K&&(Ri(void 0),Ie(void 0))}},[ye,Mt]),Q.useEffect(()=>{n.container&&Ce(n.container)},[n.container]),Q.useEffect(()=>()=>{K&&(K.destroy(),Ie(void 0)),lt.current&&(lt.current.cancel(),lt.current=null)},[K]),Q.useEffect(()=>{c&&K&&K.focus()},[c,K]),Q.useEffect(()=>{K&&K.dispatch({effects:q.reconfigure.of(Zt)})},[u,a,d,O,y,w,x,$,Y,L,B,F,Qe,i,l]),Q.useEffect(()=>{if(e!==void 0){var Ve=K?K.state.doc.toString():"";if(K&&e!==Ve){var Be=lt.current&&!lt.current.isDone,ei=()=>{K&&e!==K.state.doc.toString()&&K.dispatch({changes:{from:0,to:K.state.doc.toString().length,insert:e||""},annotations:[hf.of(!0)]})};Be?Kt.current=ei:ei()}}},[e,K]),{state:Mt,setState:Ri,view:K,setView:Ie,container:ye,setContainer:Ce}}var EQ=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],og=Q.forwardRef((n,e)=>{var t=n.className,i=n.value,r=i===void 0?"":i,s=n.selection,l=n.extensions,o=l===void 0?[]:l,a=n.onChange,c=n.onStatistics,h=n.onCreateEditor,u=n.onUpdate,f=n.autoFocus,d=n.theme,p=d===void 0?"light":d,O=n.height,m=n.minHeight,y=n.maxHeight,k=n.width,w=n.minWidth,T=n.maxWidth,x=n.basicSetup,P=n.placeholder,$=n.indentWithTab,X=n.editable,Y=n.readOnly,D=n.root,L=n.initialState,z=N0(n,EQ),B=Q.useRef(null),I=jQ({root:D,value:r,autoFocus:f,theme:p,height:O,minHeight:m,maxHeight:y,width:k,minWidth:w,maxWidth:T,basicSetup:x,placeholder:P,indentWithTab:$,editable:X,readOnly:Y,selection:s,onChange:a,onStatistics:c,onCreateEditor:h,onUpdate:u,extensions:o,initialState:L}),F=I.state,de=I.view,Qe=I.container,ve=I.setContainer;Q.useImperativeHandle(e,()=>({editor:B.current,state:F,view:de}),[B,Qe,F,de]);var oe=Q.useCallback(ye=>{B.current=ye,ve(ye)},[ve]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var $e=typeof p=="string"?"cm-theme-"+p:"cm-theme";return g.jsx("div",Eo({ref:oe,className:""+$e+(t?" "+t:"")},z))});og.displayName="CodeMirror";var LQ=n=>{var e=n.theme,t=n.settings,i=t===void 0?{}:t,r=n.styles,s=r===void 0?[]:r,l={".cm-gutters":{}},o={};i.background&&(o.backgroundColor=i.background),i.backgroundImage&&(o.backgroundImage=i.backgroundImage),i.foreground&&(o.color=i.foreground),i.fontSize&&(o.fontSize=i.fontSize),(i.background||i.foreground)&&(l["&"]=o),i.fontFamily&&(l["&.cm-editor .cm-scroller"]={fontFamily:i.fontFamily}),i.gutterBackground&&(l[".cm-gutters"].backgroundColor=i.gutterBackground),i.gutterForeground&&(l[".cm-gutters"].color=i.gutterForeground),i.gutterBorder&&(l[".cm-gutters"].borderRightColor=i.gutterBorder),i.caret&&(l[".cm-content"]={caretColor:i.caret},l[".cm-cursor, .cm-dropCursor"]={borderLeftColor:i.caret});var a={};i.gutterActiveForeground&&(a.color=i.gutterActiveForeground),i.lineHighlight&&(l[".cm-activeLine"]={backgroundColor:i.lineHighlight},a.backgroundColor=i.lineHighlight),l[".cm-activeLineGutter"]=a,i.selection&&(l["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:i.selection+" !important"}),i.selectionMatch&&(l["& .cm-selectionMatch"]={backgroundColor:i.selectionMatch});var c=C.theme(l,{dark:e==="dark"}),h=Dn.define(s),u=[c,dc(h)];return u};class al{constructor(e,t,i,r,s,l,o,a,c,h=0,u){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=s,this.score=l,this.buffer=o,this.bufferBase=a,this.curContext=c,this.lookAhead=h,this.parent=u}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let r=e.parser.context;return new al(e,[],t,i,i,0,[],0,r?new uf(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,r=e&65535,{parser:s}=this.p,l=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),o=s.dynamicPrecedence(r);if(o&&(this.score+=o),i==0){r<s.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,l?8:4,!0),this.reduceContext(r,this.reducePos);return}let a=this.stack.length-(i-1)*3-(e&262144?6:0),c=a?this.stack[a-2]:this.p.ranges[0].from;r<s.minRepeatTerm&&c==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let h=this.reducePos-c;h>=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=h));let u=a?this.stack[a-1]:0,f=this.bufferBase+this.buffer.length-u;if(r<s.minRepeatTerm||e&131072){let d=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,c,d,f+4,!0)}if(e&262144)this.state=this.stack[a];else{let d=this.stack[a-3];this.state=s.getGoto(d,r,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,i,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let l=this.buffer.length;if(l>0&&this.buffer[l-4]==0&&this.buffer[l-1]>-1){if(t==i)return;if(this.buffer[l-2]>=t){this.buffer[l-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(e,t,i,r);else{let l=this.buffer.length;if(l>0&&(this.buffer[l-4]!=0||this.buffer[l-1]<0)){let o=!1;for(let a=l;a>0&&this.buffer[a-2]>i;a-=4)if(this.buffer[a-1]>=0){o=!0;break}if(o)for(;l>0&&this.buffer[l-2]>i;)this.buffer[l]=this.buffer[l-4],this.buffer[l+1]=this.buffer[l-3],this.buffer[l+2]=this.buffer[l-2],this.buffer[l+3]=this.buffer[l-1],l-=4,r>4&&(r-=4)}this.buffer[l]=e,this.buffer[l+1]=t,this.buffer[l+2]=i,this.buffer[l+3]=r}}shift(e,t,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:l}=this.p;this.pos=r;let o=l.stateFlag(s,1);!o&&(r>i||t<=l.maxNode)&&(this.reducePos=r),this.pushState(s,o?i:Math.min(i,this.reducePos)),this.shiftContext(t,i),t<=l.maxNode&&this.buffer.push(t,i,r,4)}else this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4)}apply(e,t,i,r){e&65536?this.reduce(e):this.shift(e,t,i,r)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new al(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new _Q(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,l;s<t.length;s+=2)(l=t[s+1])!=this.state&&this.p.parser.hasAction(l,e)&&r.push(t[s],l);if(this.stack.length<120)for(let s=0;r.length<8&&s<t.length;s+=2){let l=t[s+1];r.some((o,a)=>a&1&&o==l)||r.push(t[s],l)}t=r}let i=[];for(let r=0;r<t.length&&i.length<4;r+=2){let s=t[r+1];if(s==this.state)continue;let l=this.split();l.pushState(s,this.pos),l.storeNode(0,l.pos,l.pos,4,!0),l.shiftContext(t[r],this.pos),l.reducePos=this.pos,l.score-=200,i.push(l)}return i}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if((t&65536)==0)return!1;if(!e.validAction(this.state,t)){let i=t>>19,r=t&65535,s=this.stack.length-i*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let l=this.findForcedReduction();if(l==null)return!1;t=l}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,l=>{if(!(l&393216))if(l&65536){let o=(l>>19)-s;if(o>1){let a=l&65535,c=this.stack.length-o*3;if(c>=0&&e.getGoto(this.stack[c],a,!1)>=0)return o<<19|65536|a}}else{let o=i(l,s+1);if(o!=null)return o}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new uf(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class uf{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class _Q{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}}class cl{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new cl(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new cl(this.stack,this.pos,this.index)}}function lr(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let i=0,r=0;i<n.length;){let s=0;for(;;){let l=n.charCodeAt(i++),o=!1;if(l==126){s=65535;break}l>=92&&l--,l>=34&&l--;let a=l-32;if(a>=46&&(a-=46,o=!0),s+=a,o)break;s*=46}t?t[r++]=s:t=new e(s)}return t}class Ms{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const ff=new Ms;class zQ{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=ff,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<i.from;){if(!r)return null;let l=this.ranges[--r];s-=i.from-l.to,i=l}for(;t<0?s>i.to:s>=i.to;){if(r==this.ranges.length-1)return null;let l=this.ranges[++r];s+=l.from-i.to,i=l}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,r;if(t>=0&&t<this.chunk.length)i=this.pos+e,r=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(i=s,i>=this.chunk2Pos&&i<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(i-this.chunk2Pos);else{let l=this.rangeIndex,o=this.range;for(;o.to<=i;)o=this.ranges[++l];this.chunk2=this.input.chunk(this.chunk2Pos=i),i+this.chunk2.length>o.to&&(this.chunk2=this.chunk2.slice(0,o.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=i}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=ff,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return i}}class wn{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;ag(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}wn.prototype.contextual=wn.prototype.fallback=wn.prototype.extend=!1;class hl{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=typeof e=="string"?lr(e):e}token(e,t){let i=e.pos,r=0;for(;;){let s=e.next<0,l=e.resolveOffset(1,1);if(ag(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,l==null)break;e.reset(l,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}}hl.prototype.contextual=wn.prototype.fallback=wn.prototype.extend=!1;class ft{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function ag(n,e,t,i,r,s){let l=0,o=1<<i,{dialect:a}=t.p.parser;e:for(;(o&n[l])!=0;){let c=n[l+1];for(let d=l+3;d<c;d+=2)if((n[d+1]&o)>0){let p=n[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||DQ(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,u=0,f=n[l+2];if(e.next<0&&f>u&&n[c+f*3-3]==65535){l=n[c+f*3-1];continue e}for(;u<f;){let d=u+f>>1,p=c+d+(d<<1),O=n[p],m=n[p+1]||65536;if(h<O)f=d;else if(h>=m)u=d+1;else{l=n[p+2],e.advance();continue e}}break}}function df(n,e,t){for(let i=e,r;(r=n[i])!=65535;i++)if(r==t)return i-e;return-1}function DQ(n,e,t,i){let r=df(t,i,e);return r<0||df(t,i,n)<r}const at=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG);let vo=null;function pf(n,e,t){let i=n.cursor(te.IncludeAnonymous);for(i.moveTo(e);;)if(!(t<0?i.childBefore(e):i.childAfter(e)))for(;;){if((t<0?i.to<e:i.from>e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(n.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:n.length}}class WQ{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?pf(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?pf(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let i=this.trees[t],r=this.index[t];if(r==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=i.children[r],l=this.start[t]+i.positions[r];if(l>e)return this.nextStart=l,null;if(s instanceof fe){if(l==e){if(l<this.safeFrom)return null;let o=l+s.length;if(o<=this.safeTo){let a=s.prop(V.lookAhead);if(!a||o+a<this.fragment.to)return s}}this.index[t]++,l+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(l),this.index.push(0))}else this.index[t]++,this.nextStart=l+s.length}}}class qQ{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new Ms)}getActions(e){let t=0,i=null,{parser:r}=e.p,{tokenizers:s}=r,l=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,a=0;for(let c=0;c<s.length;c++){if((1<<c&l)==0)continue;let h=s[c],u=this.tokens[c];if(!(i&&!h.fallback)&&((h.contextual||u.start!=e.pos||u.mask!=l||u.context!=o)&&(this.updateCachedToken(u,h,e),u.mask=l,u.context=o),u.lookAhead>u.end+25&&(a=Math.max(u.lookAhead,a)),u.value!=0)){let f=t;if(u.extended>-1&&(t=this.addActions(e,u.extended,u.end,t)),t=this.addActions(e,u.value,u.end,t),!h.extend&&(i=u,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!i&&e.pos==this.stream.end&&(i=new Ms,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ms,{pos:i,p:r}=e;return t.start=i,t.end=Math.min(i+1,r.stream.end),t.value=i==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,i){let r=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(r,e),i),e.value>-1){let{parser:s}=i.p;for(let l=0;l<s.specialized.length;l++)if(s.specialized[l]==e.value){let o=s.specializers[l](this.stream.read(e.start,e.end),i);if(o>=0&&i.p.parser.dialect.allows(o>>1)){(o&1)==0?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=i,r}addActions(e,t,i,r){let{state:s}=e,{parser:l}=e.p,{data:o}=l;for(let a=0;a<2;a++)for(let c=l.stateSlot(s,a?2:1);;c+=3){if(o[c]==65535)if(o[c+1]==1)c=ni(o,c+2);else{r==0&&o[c+1]==2&&(r=this.putAction(ni(o,c+2),t,i,r));break}o[c]==t&&(r=this.putAction(ni(o,c+1),t,i,r))}return r}}class YQ{constructor(e,t,i,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new zQ(t,r),this.tokens=new qQ(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[al.start(this,e.top[0],s)],this.fragments=i.length&&this.stream.end-s>e.bufferLength*4?new WQ(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[l]=e;for(;l.forceReduce()&&l.stack.length&&l.stack[l.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let l=0;l<e.length;l++){let o=e[l];for(;;){if(this.tokens.mainToken=null,o.pos>t)i.push(o);else{if(this.advanceStack(o,i,e))continue;{r||(r=[],s=[]),r.push(o);let a=this.tokens.getMainToken(o);s.push(a.value,a.end)}}break}}if(!i.length){let l=r&&VQ(r);if(l)return at&&console.log("Finish with "+this.stackID(l)),this.stackToTree(l);if(this.parser.strict)throw at&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let l=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,i);if(l)return at&&console.log("Force-finish "+this.stackID(l)),this.stackToTree(l.forceAll())}if(this.recovering){let l=this.recovering==1?1:this.recovering*3;if(i.length>l)for(i.sort((o,a)=>a.score-o.score);i.length>l;)i.pop();i.some(o=>o.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let l=0;l<i.length-1;l++){let o=i[l];for(let a=l+1;a<i.length;a++){let c=i[a];if(o.sameState(c)||o.buffer.length>500&&c.buffer.length>500)if((o.score-c.score||o.buffer.length-c.buffer.length)>0)i.splice(a--,1);else{i.splice(l--,1);continue e}}}i.length>12&&(i.sort((l,o)=>o.score-l.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let l=1;l<i.length;l++)i[l].pos<this.minStackPos&&(this.minStackPos=i[l].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,i){let r=e.pos,{parser:s}=this,l=at?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let u=this.fragments.nodeAt(r);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?s.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!c||(u.prop(V.contextHash)||0)==h))return e.useNode(u,f),at&&console.log(l+this.stackID(e)+` (via reuse of ${s.getName(u.type.id)})`),!0;if(!(u instanceof fe)||u.children.length==0||u.positions[0]>0)break;let d=u.children[0];if(d instanceof fe&&u.positions[0]==0)u=d;else break}}let o=s.stateSlot(e.state,4);if(o>0)return e.reduce(o),at&&console.log(l+this.stackID(e)+` (via always-reduce ${s.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let c=0;c<a.length;){let h=a[c++],u=a[c++],f=a[c++],d=c==a.length||!i,p=d?e:e.split(),O=this.tokens.mainToken;if(p.apply(h,u,O?O.start:p.pos,f),at&&console.log(l+this.stackID(p)+` (via ${(h&65536)==0?"shift":`reduce of ${s.getName(h&65535)}`} for ${s.getName(u)} @ ${r}${p==e?"":", split"})`),d)return!0;p.pos>r?t.push(p):i.push(p)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return Of(e,t),!0}}runRecovery(e,t,i){let r=null,s=!1;for(let l=0;l<e.length;l++){let o=e[l],a=t[l<<1],c=t[(l<<1)+1],h=at?this.stackID(o)+" -> ":"";if(o.deadEnd&&(s||(s=!0,o.restart(),at&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))))continue;let u=o.split(),f=h;for(let d=0;d<10&&u.forceReduce()&&(at&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,i));d++)at&&(f=this.stackID(u)+" -> ");for(let d of o.recoverByInsert(a))at&&console.log(h+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>o.pos?(c==o.pos&&(c++,a=0),o.recoverByDelete(a,c),at&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),Of(o,i)):(!r||r.score<u.score)&&(r=u)}return r}stackToTree(e){return e.close(),fe.build({buffer:cl.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(vo||(vo=new WeakMap)).get(e);return t||vo.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Of(n,e){for(let t=0;t<e.length;t++){let i=e[t];if(i.pos==n.pos&&i.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}class IQ{constructor(e,t,i){this.source=e,this.flags=t,this.disabled=i}allows(e){return!this.disabled||this.disabled[e]==0}}const $o=n=>n;class cg{constructor(e){this.start=e.start,this.shift=e.shift||$o,this.reduce=e.reduce||$o,this.reuse=e.reuse||$o,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class jn extends Ep{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let o=0;o<e.repeatNodeCount;o++)t.push("");let i=Object.keys(e.topRules).map(o=>e.topRules[o][1]),r=[];for(let o=0;o<t.length;o++)r.push([]);function s(o,a,c){r[o].push([a,a.deserialize(String(c))])}if(e.nodeProps)for(let o of e.nodeProps){let a=o[0];typeof a=="string"&&(a=V[a]);for(let c=1;c<o.length;){let h=o[c++];if(h>=0)s(h,a,o[c++]);else{let u=o[c+-h];for(let f=-h;f>0;f--)s(o[c++],a,u);c++}}}this.nodeSet=new sc(t.map((o,a)=>He.define({name:a>=this.minRepeatTerm?void 0:o,id:a,props:r[a],top:i.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Rp;let l=lr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;o<this.specializerSpecs.length;o++)this.specialized[o]=this.specializerSpecs[o].term;this.specializers=this.specializerSpecs.map(gf),this.states=lr(e.states,Uint32Array),this.data=lr(e.stateData),this.goto=lr(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(o=>typeof o=="number"?new wn(l,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let r=new YQ(this,e,t,i);for(let s of this.wrappers)r=s(r,e,t,i);return r}getGoto(e,t,i=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let l=r[s++],o=l&1,a=r[s++];if(o&&i)return a;for(let c=s+(l>>1);s<c;s++)if(r[s]==e)return a;if(o)return-1}}hasAction(e,t){let i=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),l;;s+=3){if((l=i[s])==65535)if(i[s+1]==1)l=i[s=ni(i,s+2)];else{if(i[s+1]==2)return ni(i,s+2);break}if(l==t||l==0)return ni(i,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),r=i?t(i):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=ni(this.data,s+2);else break;r=t(ni(this.data,s+1))}return r}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=ni(this.data,i+2);else break;if((this.data[i+2]&1)==0){let r=this.data[i+1];t.some((s,l)=>l&1&&s==r)||t.push(this.data[i],r)}}return t}configure(e){let t=Object.assign(Object.create(jn.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(s=>s.from==i);return r?r.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,r)=>{let s=e.specializers.find(o=>o.from==i.external);if(!s)return i;let l=Object.assign(Object.assign({},i),{external:s.to});return t.specializers[r]=gf(l),l})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let s of e.split(" ")){let l=t.indexOf(s);l>=0&&(i[l]=!0)}let r=null;for(let s=0;s<t.length;s++)if(!i[s])for(let l=this.dialects[t[s]],o;(o=this.data[l++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[o]=1;return new IQ(e,i,r)}static deserialize(e){return new jn(e)}}function ni(n,e){return n[e]|n[e+1]<<16}function VQ(n){let e=null;for(let t of n){let i=t.p.stoppedAt;(t.pos==t.p.stream.end||i!=null&&t.pos>i)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function gf(n){if(n.external){let e=n.extend?1:0;return(t,i)=>n.external(t,i)<<1|e}return n.get}const BQ=55,NQ=1,GQ=56,UQ=2,FQ=57,HQ=3,mf=4,KQ=5,Ac=6,hg=7,ug=8,fg=9,dg=10,JQ=11,ev=12,tv=13,Po=58,iv=14,nv=15,bf=59,pg=21,rv=23,Og=24,sv=25,Aa=27,gg=28,lv=29,ov=32,av=35,cv=37,hv=38,uv=0,fv=1,dv={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},pv={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},xf={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Ov(n){return n==45||n==46||n==58||n>=65&&n<=90||n==95||n>=97&&n<=122||n>=161}let yf=null,Sf=null,kf=0;function Ra(n,e){let t=n.pos+e;if(kf==t&&Sf==n)return yf;let i=n.peek(e),r="";for(;Ov(i);)r+=String.fromCharCode(i),i=n.peek(++e);return Sf=n,kf=t,yf=r?r.toLowerCase():i==gv||i==mv?void 0:null}const mg=60,ul=62,Rc=47,gv=63,mv=33,bv=45;function wf(n,e){this.name=n,this.parent=e}const xv=[Ac,dg,hg,ug,fg],yv=new cg({start:null,shift(n,e,t,i){return xv.indexOf(e)>-1?new wf(Ra(i,1)||"",n):n},reduce(n,e){return e==pg&&n?n.parent:n},reuse(n,e,t,i){let r=e.type.id;return r==Ac||r==cv?new wf(Ra(i,1)||"",n):n},strict:!1}),Sv=new ft((n,e)=>{if(n.next!=mg){n.next<0&&e.context&&n.acceptToken(Po);return}n.advance();let t=n.next==Rc;t&&n.advance();let i=Ra(n,0);if(i===void 0)return;if(!i)return n.acceptToken(t?nv:iv);let r=e.context?e.context.name:null;if(t){if(i==r)return n.acceptToken(JQ);if(r&&pv[r])return n.acceptToken(Po,-2);if(e.dialectEnabled(uv))return n.acceptToken(ev);for(let s=e.context;s;s=s.parent)if(s.name==i)return;n.acceptToken(tv)}else{if(i=="script")return n.acceptToken(hg);if(i=="style")return n.acceptToken(ug);if(i=="textarea")return n.acceptToken(fg);if(dv.hasOwnProperty(i))return n.acceptToken(dg);r&&xf[r]&&xf[r][i]?n.acceptToken(Po,-1):n.acceptToken(Ac)}},{contextual:!0}),kv=new ft(n=>{for(let e=0,t=0;;t++){if(n.next<0){t&&n.acceptToken(bf);break}if(n.next==bv)e++;else if(n.next==ul&&e>=2){t>=3&&n.acceptToken(bf,-2);break}else e=0;n.advance()}});function wv(n){for(;n;n=n.parent)if(n.name=="svg"||n.name=="math")return!0;return!1}const Qv=new ft((n,e)=>{if(n.next==Rc&&n.peek(1)==ul){let t=e.dialectEnabled(fv)||wv(e.context);n.acceptToken(t?KQ:mf,2)}else n.next==ul&&n.acceptToken(mf,1)});function Mc(n,e,t){let i=2+n.length;return new ft(r=>{for(let s=0,l=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(e);break}if(s==0&&r.next==mg||s==1&&r.next==Rc||s>=2&&s<i&&r.next==n.charCodeAt(s-2))s++,l++;else if(s==i&&r.next==ul){o>l?r.acceptToken(e,-l):r.acceptToken(t,-(l-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(e,1);break}else s=l=0;r.advance()}})}const vv=Mc("script",BQ,NQ),$v=Mc("style",GQ,UQ),Pv=Mc("textarea",FQ,HQ),Tv=Tl({"Text RawText IncompleteTag IncompleteCloseTag":b.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":b.angleBracket,TagName:b.tagName,"MismatchedCloseTag/TagName":[b.tagName,b.invalid],AttributeName:b.attributeName,"AttributeValue UnquotedAttributeValue":b.attributeValue,Is:b.definitionOperator,"EntityReference CharacterReference":b.character,Comment:b.blockComment,ProcessingInst:b.processingInstruction,DoctypeDecl:b.documentMeta}),Cv=jn.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:yv,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Tv],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[vv,$v,Pv,Qv,Sv,kv,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function bg(n,e){let t=Object.create(null);for(let i of n.getChildren(Og)){let r=i.getChild(sv),s=i.getChild(Aa)||i.getChild(gg);r&&(t[e.read(r.from,r.to)]=s?s.type.id==Aa?e.read(s.from+1,s.to-1):e.read(s.from,s.to):"")}return t}function Qf(n,e){let t=n.getChild(rv);return t?e.read(t.from,t.to):" "}function To(n,e,t){let i;for(let r of t)if(!r.attrs||r.attrs(i||(i=bg(n.node.parent.firstChild,e))))return{parser:r.parser,bracketed:!0};return null}function xg(n=[],e=[]){let t=[],i=[],r=[],s=[];for(let o of n)(o.tag=="script"?t:o.tag=="style"?i:o.tag=="textarea"?r:s).push(o);let l=e.length?Object.create(null):null;for(let o of e)(l[o.name]||(l[o.name]=[])).push(o);return OS((o,a)=>{let c=o.type.id;if(c==lv)return To(o,a,t);if(c==ov)return To(o,a,i);if(c==av)return To(o,a,r);if(c==pg&&s.length){let h=o.node,u=h.firstChild,f=u&&Qf(u,a),d;if(f){for(let p of s)if(p.tag==f&&(!p.attrs||p.attrs(d||(d=bg(u,a))))){let O=h.lastChild,m=O.type.id==hv?O.from:h.to;if(m>u.to)return{parser:p.parser,overlay:[{from:u.to,to:m}]}}}}if(l&&c==Og){let h=o.node,u;if(u=h.firstChild){let f=l[a.read(u.from,u.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=Qf(h.parent,a))continue;let p=h.lastChild;if(p.type.id==Aa){let O=p.from+1,m=p.lastChild,y=p.to-(m&&m.isError?0:1);if(y>O)return{parser:d.parser,overlay:[{from:O,to:y}],bracketed:!0}}else if(p.type.id==gg)return{parser:d.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}const Av=148,vf=1,Rv=149,Mv=150,yg=2,Zv=151,Xv=3,jv=4,Sg=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Ev=58,Lv=40,kg=95,_v=91,Zs=45,zv=46,Dv=35,Wv=37,qv=38,Yv=92,Iv=10,Vv=42;function Xr(n){return n>=65&&n<=90||n>=97&&n<=122||n>=161}function Zc(n){return n>=48&&n<=57}function $f(n){return Zc(n)||n>=97&&n<=102||n>=65&&n<=70}const wg=(n,e,t)=>(i,r)=>{for(let s=!1,l=0,o=0;;o++){let{next:a}=i;if(Xr(a)||a==Zs||a==kg||s&&Zc(a))!s&&(a!=Zs||o>0)&&(s=!0),l===o&&a==Zs&&l++,i.advance();else if(a==Yv&&i.peek(1)!=Iv){if(i.advance(),$f(i.next)){do i.advance();while($f(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();s=!0}else{s&&i.acceptToken(l==2&&r.canShift(yg)?e:a==Lv?t:n);break}}},Bv=new ft(wg(Rv,yg,Mv),{contextual:!0}),Nv=new ft(wg(Zv,Xv,jv),{contextual:!0}),Gv=new ft(n=>{if(Sg.includes(n.peek(-1))){let{next:e}=n;(Xr(e)||e==kg||e==Dv||e==zv||e==Vv||e==_v||e==Ev&&Xr(n.peek(1))||e==Zs||e==qv)&&n.acceptToken(Av)}}),Uv=new ft(n=>{if(!Sg.includes(n.peek(-1))){let{next:e}=n;if(e==Wv&&(n.advance(),n.acceptToken(vf)),Xr(e)){do n.advance();while(Xr(n.next)||Zc(n.next));n.acceptToken(vf)}}}),Fv=Tl({"AtKeyword import charset namespace keyframes media supports font-feature-values":b.definitionKeyword,"from to selector scope MatchFlag":b.keyword,NamespaceName:b.namespace,KeyframeName:b.labelName,KeyframeRangeName:b.operatorKeyword,TagName:b.tagName,ClassName:b.className,PseudoClassName:b.constant(b.className),IdName:b.labelName,"FeatureName PropertyName":b.propertyName,AttributeName:b.attributeName,NumberLiteral:b.number,KeywordQuery:b.keyword,UnaryQueryOp:b.operatorKeyword,"CallTag ValueName FontName":b.atom,VariableName:b.variableName,Callee:b.operatorKeyword,Unit:b.unit,"UniversalSelector NestingSelector":b.definitionOperator,"MatchOp CompareOp":b.compareOperator,"ChildOp SiblingOp, LogicOp":b.logicOperator,BinOp:b.arithmeticOperator,Important:b.modifier,Comment:b.blockComment,ColorLiteral:b.color,"ParenthesizedContent StringLiteral":b.string,":":b.punctuation,"PseudoOp #":b.derefOperator,"; , |":b.separator,"( )":b.paren,"[ ]":b.squareBracket,"{ }":b.brace}),Hv={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:158,"url-prefix":158,domain:158,regexp:158},Kv={__proto__:null,or:104,and:104,not:112,only:112,layer:212},Jv={__proto__:null,selector:118,style:124,layer:208},e$={__proto__:null,"@import":204,"@media":216,"@charset":220,"@namespace":224,"@keyframes":230,"@supports":242,"@scope":246,"@font-feature-values":252},t$={__proto__:null,to:249},i$=jn.deserialize({version:14,states:"MrQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FqO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#ERO'dQdO'#ETO'oQdO'#E[O'oQdO'#E_OOQP'#Fq'#FqO)RQhO'#FQOOQS'#Fp'#FpOOQS'#FT'#FTQYQdOOO)YQdO'#EeO*iQhO'#EkO)YQdO'#EmO*pQdO'#EoO*{QdO'#ErO)}QhO'#ExO+TQdO'#EzO+`QdO'#E}O+eQaO'#CfO+lQ`O'#EbO+qQ`O'#F}O+|QdO'#F}QOQ`OOP,WO&jO'#CaPOOO)CA`)CA`OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:mO'dQdO,5:oO'oQdO,5:vO'oQdO,5:xO'oQdO,5:yO'oQdO'#F[O,nQ`O,58}O,vQdO'#EaOOQS,58},58}OOQP'#Cq'#CqOOQO'#EP'#EPOOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#ES'#ESOOQP,5:m,5:mO-XQpO'#EUO-dQdO'#EVO-iQ`O'#EVO-nQpO,5:oO.XQaO,5:vO.oQaO,5:yOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;lO)}QhO'#DeO0`Q`O'#DnO0eQhO'#D{OOQW'#Fw'#FwOOQS,5;l,5;lO0jQ`O'#DhO0oQ`O'#DkOOQS-E9R-E9ROOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5;POOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FtO6|Q`O'#DYO7RQ`O'#D|OOQ['#Ft'#FtO7WQhO'#GQO7fQ`O,5;VO7kQ!bO,5;XOOQS'#Eq'#EqO7sQ`O,5;ZO7xQdO,5;ZOOQO'#Et'#EtO8QQ`O,5;^O8VQhO,5;dO'oQdO'#DjOOQS,5;f,5;fO0jQ`O,5;fO8_QdO,5;fOOQS'#Fc'#FcO8gQdO'#FPO7fQ`O,5;iO8oQdO,5:|O9PQdO'#F^O9^Q`O,5<iO9^Q`O,5<iPOOO'#FS'#FSP9iO&jO,58{POOO,58{,58{OOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO,}Q`O1G.tO-SQ`O1G.tOOQP1G0X1G0XO9tQpO1G0ZO9|QaO1G0bO:dQaO1G0dO:zQaO1G0eO;bQaO,5;vOOQO-E9Y-E9YOOQS1G.i1G.iO;lQ`O,5:{O;qQdO'#EQO;xQdO'#CuOOQO'#EX'#EXOOQO,5:q,5:qO-dQdO,5:qOOQP1G0Z1G0ZO)YQdO1G0ZO<PQ!jO'#D^O<_Q!bO,59yO<gQhO,5:ROOQO'#Fx'#FxO<bQ!bO,59}O<oQhO'#FdO)}QhO,59{O)}QhO'#FdO=gQhO1G1WOOQS1G1W1G1WO=qQhO,5:PO>lQhO'#DoOOQW,5:Y,5:YOOQW,5:g,5:gOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FuOOQS'#Fu'#FuOOQS'#FV'#FVO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EgOOQW'#Eg'#EgOBuQ`O1G0kO4oQhO1G0kOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:hOCVQhO'#F`OCdQ`O,5<lOOQS1G0q1G0qOOQS1G0s1G0sOOQS1G0u1G0uOCoQ`O1G0uOCtQdO'#EuOOQS1G0x1G0xOOQS1G1O1G1OODPQaO,5:UO7fQ`O1G1QOOQS1G1Q1G1QO0jQ`O1G1QOOQS-E9a-E9aOOQS1G1T1G1TODWQ!fO1G0hODnQ`O'#EdOOQO1G0h1G0hOOQO,5;x,5;xODsQdO,5;xOOQO-E9[-E9[OEQQ`O1G2TPOOO-E9Q-E9QPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%u7+%uO)YQdO7+%uOOQS1G0g1G0gOE]QaO'#F|OEgQ`O,5:lOElQ!fO'#FUOFjQdO'#FsOFtQ`O,59aOOQO1G0]1G0]OFyQ!bO7+%uO)YQdO1G/eOGUQhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOGgQhO,5<OOOQW-E9b-E9bOOQS7+&r7+&rOH_QhO'#D^OHmQhO'#F{OHxQ`O'#F{OH}Q`O,5:ZOISQ!bO'#D`O>vQhO'#DmOI_QhO'#DsOIgQhO'#DuOIlQ!jO'#FzOOQO'#Fz'#FzOIwQ`O'#DxOJPQ!bO'#DzOOQO'#Fy'#FyOJUQ`O1G/qOOQS-E9T-E9TOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJZQdO,5;ROOQS7+&V7+&VOJ`Q`O7+&VOJeQhO'#D]OJmQ`O,59vO)}QhO,59vOOQ[1G0S1G0SOJuQ`O1G0SOJzQhO,5;zOOQO-E9^-E9^OOQS7+&a7+&aOKYQbO'#DSOOQO'#Ew'#EwOKhQ`O'#EvOOQO'#Ev'#EvOKsQ`O'#FaOK{QdO,5;aOOQS,5;a,5;aOOQ[1G/p1G/pOOQS7+&l7+&lO7fQ`O7+&lOLWQ!fO'#F]O)YQdO'#F]OM_QdO7+&SOOQO7+&S7+&SOOQO,5;O,5;OOOQO1G1d1G1dOMrQ!bO<<IaOM}QdO'#FZONXQ`O,5<hOOQP1G0W1G0WOOQS-E9S-E9SONaQdO'#FYONkQ`O,5<_OOQ]1G.{1G.{OOQP<<Ia<<IaONsQ`O<<IaONxQdO7+%POOQO'#D`'#D`O! PQ!bO7+%TO! XQhO'#FXO! fQ`O,5<gO)YQdO,5<gOOQW1G/u1G/uO! nQ`O,5:XO>vQhO'#DtOOQO,5:_,5:_O! sQhO,5:aO! {QhO,5:fO)YQdO,5:dOOQW7+%]7+%]OOQO'#Ei'#EiO!!SQ`O1G0mOOQS<<Iq<<IqO)YQdO,59wO!!vQhO1G/bOOQ[1G/b1G/bO!!}Q`O1G/bOOQW-E9U-E9UOOQ[7+%n7+%nOOQO,5;b,5;bOCwQdO'#FbOKsQ`O,5;{OOQS,5;{,5;{OOQS-E9_-E9_OOQS1G0{1G0{OOQS<<JW<<JWO!#VQ!fO,5;wOOQS-E9Z-E9ZOOQO<<In<<InOOQPAN>{AN>{O!$^Q`OAN>{O!$cQaO,5;uOOQO-E9X-E9XO!$mQdO,5;tOOQO-E9W-E9WOOQW<<Hk<<HkOOQW<<Ho<<HoO!$wQhO<<HoO!%YQhO'#D^O!%hQhO,5;sO!%sQ`O,5;sOOQO-E9V-E9VO!%xQdO1G2RO!&SQhO1G/sO!&[Q`O,5:`O>vQhO'#DwOOQO1G/{1G/{O!&aQ!bO1G0QO!&iQdO1G0OOJZQdO'#F_O!&pQ`O7+&XOOQW7+&X7+&XO!&xQ!bO1G/cOOQ[7+$|7+$|O!'TQhO7+$|P!'[Q`O'#FWOOQO,5;|,5;|OOQO-E9`-E9`OOQS1G1g1G1gOOQPG24gG24gO!'aQ`OAN>ZO)YQdO1G1_O!'fQ`O7+'mOOQO1G/z1G/zO!'nQ`O,5:cO!'sQhO7+%lOOQO,5;y,5;yOOQO-E9]-E9]OOQW<<Is<<IsOOQ[<<Hh<<HhPOQW,5;r,5;rOOQWG23uG23uO!'zQdO7+&yOOQO1G/}1G/}OOQO<<IW<<IW",stateData:"!(_~O$_OS$`QQ~OWVO^_O`WOcYOdYOl`OmZOp[O#P]O#S^O#YdO#`eO#bfO#dgO#ghO#miO#ojO#rkO$ZRO$fTO~OQmOWVO^_O`WOcYOdYOl`OmZOp[O#P]O#S^O#YdO#`eO#bfO#dgO#ghO#miO#ojO#rkO$ZlO$fTO~O$X$qP~P!jO$`qO~O`YXcYXdYXmYXpYXsYX!eYX#PYX#SYX$YYX$f[X~OgYX~P$ZO$ZsO~O$fuO~O$fuO`$eXc$eXd$eXm$eXp$eXs$eX!e$eX#P$eX#S$eX$Y$eXg$eX~O$ZvO~O`xOcyOdyOmzOp{O#P|O#S!OO$Y}O~Os!RO!e!PO~P&^Of!XO$Z!TO$[!UO~O$Z!YO~OW!^O$Z![O$f!]O~OWVO^_O`WOcYOdYOmZOp[O#P]O#S^O$ZRO$fTO~OS!fOc!gOd!gOh!cOs!RO!Y!eO!]!jO!`!kO$]!bO~On!iO~P(dOQ!uOh!nOp!oOs!pOu!xOw!xO}!vO!q!wO$Z!mO$[!sO$j!qO~OS!fOc!gOd!gOh!cO!Y!eO!]!jO!`!kO$]!bO~Os$tP~P)}Ow!}O!q!wO$Z!|O~Ow#PO$Z#PO~Oh#SOs!RO#p#UO~O$Z#WO~Oc#VX~P$ZOc#ZO~On#[O$X$qXr$qX~O$X$qXr$qX~P!jO$a#_O$b#_O$c#aO~Of#fO$Z!TO$[!UO~Os!RO!e!PO~Or$qP~P!jOh#pO~Oh#qO~Oo!xX!|!xX$f!zX~O$Z#rO~O$f#tO~Oo#uO!|#vO~O`xOcyOdyOmzOp{O~Os#Oa!e#Oa#P#Oa#S#Oa$Y#Oag#Oa~P-vOs#Ra!e#Ra#P#Ra#S#Ra$Y#Rag#Ra~P-vOS!fOc!gOd!gOh!cO!Y!eO!]!jO!`!kO~OR#zOu#zOw#zO$]#wO$j!qO~P/VOn$QO!U#}O!e$OO~P(dOh$SO~O$]$UO~Oh#SO~Oh$WO~O`$YOc$YOg$]Ol$YOm$YOn$YO~P)YO`$YOc$YOl$YOm$YOn$YOo$_O~P)YO`$YOc$YOl$YOm$YOn$YOr$aO~P)YOP$bOSvXcvXdvXhvXnvXyvX!YvX!]vX!`vX#[vX#^vX$]vX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!qvX$ZvX$[vX$jvXovXrvX!evX$XvX$svX!}vX~Oy$cO#[$dO#^$eOn$tP~P)}Oh#qOS$hXc$hXd$hXn$hXy$hX!Y$hX!]$hX!`$hX#[$hX#^$hX$]$hXQ$hX`$hXg$hXl$hXm$hXp$hXs$hXu$hXw$hX}$hX!q$hX$Z$hX$[$hX$j$hXo$hXr$hX!e$hX$X$hX$s$hX!}$hX~Oh$iO~Oh$kO~O!U#}O!e$lOs$tXn$tX~Os!RO~On$oOy$cO~On$pO~Ow$qO!q!wO~Os$rO~Os!RO!U#}O~Os!RO#p$xO~O$Z#WOs#sX~O$s$|On#Ua$X#Uar#Ua~P)YOn$QX$X$QXr$QX~P!jOn#[O$X$qar$qa~O$a#_O$b#_O$c%TO~Oo%VO!|%WO~Os#Oi!e#Oi#P#Oi#S#Oi$Y#Oig#Oi~P-vOs#Qi!e#Qi#P#Qi#S#Qi$Y#Qig#Qi~P-vOs#Ri!e#Ri#P#Ri#S#Ri$Y#Rig#Ri~P-vOs$Oa!e$Oa~P&^Or%XO~Og$pP~P'oOg$gP~P)YOc!SXg!QX!U!QX!W!SX~Oc%aO!W%bO~Og%cO!U#}O~O!U#}OS$WXc$WXd$WXh$WXn$WXs$WX!Y$WX!]$WX!`$WX!e$WX$]$WX~On%gO!e$OO~P(dO!U#}OS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!`!Xa!e!Xa$]!Xag!Xa~O$]%hOg$oP~P/VOR#zOS!fOh%mOu#zOw#zO!Y%nO$]%lO$j!qO~Oy$cOQ$iX`$iXc$iXg$iXh$iXl$iXm$iXn$iXp$iXs$iXu$iXw$iX}$iX!q$iX$Z$iX$[$iX$j$iXo$iXr$iX~O`$YOc$YOg%wOl$YOm$YOn$YO~P)YO`$YOc$YOl$YOm$YOn$YOo%xO~P)YO`$YOc$YOl$YOm$YOn$YOr%yO~P)YOh%{OS#ZXc#ZXd#ZXn#ZX!Y#ZX!]#ZX!`#ZX$]#ZX~On%|O~Og&ROw&SO!r&SO~Os$SX!e$SXn$SX~P)}O!e$lOs$tan$ta~On&VO~Or&^O$Z&XO$j&WO~Og&_O~P&^Oy$cO!e&cO$s$|On#Ui$X#Uir#Ui~P)YO$r&fO~On$Qa$X$Qar$Qa~P!jOn#[O$X$qir$qi~O!e&iOg$pX~P&^Og&kO~Oy$cOQ#xXg#xXh#xXp#xXs#xXu#xXw#xX}#xX!e#xX!q#xX$Z#xX$[#xX$j#xX~O!e&mOg$gX~P)YOg&oO~Oo&pOy$cO!}&qO~OR#zOu#zOw#zO$]&sO$j!qO~O!U#}OS$Wac$Wad$Wah$Wan$Was$Wa!Y$Wa!]$Wa!`$Wa!e$Wa$]$Wa~Oc!dXg!QX!U!QX!e!QX~O!U#}O!e&uOg$oX~Oc&wO~Og&xO~Oc!mXg!mX!W!SX~OS!fOh&zO~O!U&|O~O!U&|O!W&}Og$nX~Oc'OOg!lX~O!W&}O~Og'PO~O$Z'QO~On'SO~Oc'TO!U#}O~Og'VOn'UO~Og'YO~O!U#}Os$Sa!e$San$Sa~OP$bOsvX!evXgvX~O$j&WOs#jX!e#jX~Os!RO!e'[O~Or'`O$Z&XO$j&WO~Oy$cOQ$PXh$PXn$PXp$PXs$PXu$PXw$PX}$PX!e$PX!q$PX$X$PX$Z$PX$[$PX$j$PX$s$PXr$PX~O!e&cO$s$|On#Uq$X#Uqr#Uq~P)YOo'eOy$cO!}'fO~Og#}X!e#}X~P'oO!e&iOg$pa~Og#|X!e#|X~P)YO!e&mOg$ga~Oo'eO~Og'kO~P)YOg'lO!W'mO~O$]'nOg#{X!e#{X~P/VO!e&uOg$oa~Og'sO~OS!fOh'uO~OS!fO~PGUO`'yOg'{O~OS#zac#zad#zah#za!Y#za!]#za!`#za$]#za~Og'}O~P!![Og'}On(OO~Oy$cOQ$Pah$Pan$Pap$Pas$Pau$Paw$Pa}$Pa!e$Pa!q$Pa$X$Pa$Z$Pa$[$Pa$j$Pa$s$Par$Pa~Oo(TO~Og#}a!e#}a~P&^Og#|a!e#|a~P)YOR#zOu#zOw#zO$]&sO$j&WO~Oc!fXg!QX!U!QX!e!QX~O!U#}Og#{a!e#{a~Oc(VO~O!e&uOg$oi~P)YOg!ai!U!ji~Og(XO~O!W(ZOg!ni~Og!li~P)YO`'yOg(^O~Oy$cOg!Pin!Pi~Og(_O~P!![On(`O~Og(aO~O!e&uOg$oq~Og(cO~OS!fO~P!$wOg#{q!e#{q~P)YO$_!r$`$j`$jy#S~",goto:"7g$uPPPPP$vP$yP%S%f%S%x&[P%SP&b%SPP&hPPP&n&x&xPPPPP&xPP&xP'hP&xP&x(k&xP)Z)^)d)d)v)dP)dP)dP)d)dP*])dP*i*o+e+hP+k*i+n*i+q+w+z,Q+z)d,WPP,|-S%S-Y%S-`-`-f-jPP%SP%S%SP-p.l.y/Q$yP/ZP/^P$yP$yP$yP/d$yP/g/j/m/t$yP$yPP$yP/y$yP/|0S0c0}1]1c1m1s1y2P2V2a2g2m2s2y3PPPPPPPPPPPP3V3`P4U4X5]P5e6_6t+z7Q7T7WPP7^RrQ_aOPco!R#[%Pq_OP]^co|}!O!P!R#S#[#p%P&iqSOP]^co|}!O!P!R#S#[#p%P&iqUOP]^co|}!O!P!R#S#[#p%P&iQtTR#buQwWR#cxQ!VYR#dyQ#d!XS$h!t!uR%U#f!Z!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(b!Y!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bb#z!c$W%b%m&z&}'m'u(ZU&Z$r&]'[R'Z&Y!Z!tdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bR$j!vQ&P$iR'W&Qq!h`ei!c!d!e!r#}$O$P$S$g$i$l&Q&uQ#x!cW%s$W%m&z'uQ&t%bQ'w&}Q(U'mR(d(ZQ#VjQ$V!jQ$v#UR&a$xX%q$W%m&z'up!h`ei!c!d!e!r#}$O$P$S$g$i$l&Q&uW%p$W%m&z'uQ&{%nQ'v&|Q'w&}R(d(ZR$T!fR%j$SR'p&uR&{%nX%o$W%m&z'uR'v&|X%t$W%m&z'uX%r$W%m&z'u!Y!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bQ!}gR$q#OQ!WYR#eyQ#d!WR%U#eQ!ZZR#gzQ!_[R#h{T!^[{Q#s!]R%_#tQ!SXQ!i`Q#TjQ#n!QQ$Q!dQ$n!zQ$t#RQ$w#VQ$z#YQ%g$PQ&`$vQ'^&[Q'a&aR(S']SnP!RQ#^oQ%O#[R&g%PZmPo!R#[%PQ$}#ZQ&e${R'd&dR$g!rQ'R%{R(['yR#OgR#QhR$s#QS&[$r&]R(Q'[V&Y$r&]'[R#YkQ#`qR%S#`QcOSoP!RU!lco%PR%P#[Q%]#q[&l%]&r'i'r'x(bQ&r%aQ'i&mQ'r&wQ'x'OR(b(VQ$[!nQ$^!oQ$`!pV%v$[$^$`Q&Q$iR'X&QQ&v%iS'q&v(WR(W'rQ&n%]R'j&nQ&j%YR'h&jQ!QXR#m!QQ&d${R'c&dQ#]nS%Q#]%RR%R#^Q'z'RR(]'zQ$m!yR&U$mQ&]$rR'_&]Q']&[R(R']Q#XkR$y#XQ$P!dR%f$P_bOPco!R#[%P^XOPco!R#[%PQ!`]Q!a^Q#i|Q#j}Q#k!OQ#l!PQ$u#SQ%Y#pR'g&iR%^#qQ!rdQ!{f[$X!n!o!p$[$^$`Q${#Zh%[#q%]%a&m&r&w'O'i'r'x(V(bQ%`#vQ%z$cS&b${&dQ&h%WQ'b&cR'|'T]$Z!n!o!p$[$^$`Q!d`U!ye!r$gQ#RiQ#y!cS#|!d$PQ$R!eQ%d#}Q%e$OQ%i$SS&O$i&QQ&T$lR'o&uQ#{!cW%s$W%m&z'uQ&t%bQ'w&}Q(U'mR(d(ZQ%u$WQ&y%mQ't&zR(Y'uR%k$SR%Z#pQpPR#o!RQ!zeQ$f!rR%}$g",nodeNames:"⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector StyleQuery style ParenthesedQuery CallQuery ArgList PropertyName , PropertyName UnaryQuery ParenthesedQuery BinaryQuery ParenthesedQuery ParenthesedQuery StyleFeature PropertyName StyleRange PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName NamespacedAttribute NamespaceName AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",maxTerm:174,nodeProps:[["isolate",-2,5,39,""],["openedBy",23,"(",31,"[",34,"{"],["closedBy",24,")",32,"]",35,"}"]],propSources:[Fv],skippedNodes:[0,5,130],repeatNodeCount:17,tokenData:"K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!r`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$_~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$_~!r`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$sYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!r`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!r`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!r`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!r`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!r`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!r`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!r`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!r`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!|S!r`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#SQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!r`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!r`$jYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!r`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!r`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!r`$jYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!r`$jYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!eYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!r`$`~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$jYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!r`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!r`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!|SOy%jz;'S%j;'S;=`%{<%lO%jj@uV#PQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS#PQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!r`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!r`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!}WOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!}WOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!r`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!r`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!r`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!r`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!r`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!r`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!r`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$rQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$fUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#SQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[Gv,Uv,Bv,Nv,1,2,3,4,new hl("m~RRYZ[z{a~~g~aO$b~~dP!P!Qg~lO$c~~",28,155)],topRules:{StyleSheet:[0,6],Styles:[1,129]},dynamicPrecedences:{97:1},specialized:[{term:150,get:n=>Hv[n]||-1},{term:151,get:n=>Kv[n]||-1},{term:4,get:n=>Jv[n]||-1},{term:28,get:n=>e$[n]||-1},{term:149,get:n=>t$[n]||-1}],tokenPrec:2444});let Co=null;function Ao(){if(!Co&&typeof document=="object"&&document.body){let{style:n}=document.body,e=[],t=new Set;for(let i in n)i!="cssText"&&i!="cssFloat"&&typeof n[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Co=e.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return Co||[]}const Pf=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(n=>({type:"class",label:n})),Tf=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(n=>({type:"keyword",label:n})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(n=>({type:"constant",label:n}))),n$=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(n=>({type:"type",label:n})),r$=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(n=>({type:"keyword",label:n})),ii=/^(\w[\w-]*|-\w[\w-]*|)$/,s$=/^-(-[\w-]*)?$/;function l$(n,e){var t;if((n.name=="("||n.type.isError)&&(n=n.parent||n),n.name!="ArgList")return!1;let i=(t=n.parent)===null||t===void 0?void 0:t.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}const Cf=new jp,o$=["Declaration"];function a$(n){for(let e=n;;){if(e.type.isTop)return e;if(!(e=e.parent))return n}}function Qg(n,e,t){if(e.to-e.from>4096){let i=Cf.get(e);if(i)return i;let r=[],s=new Set,l=e.cursor(te.IncludeAnonymous);if(l.firstChild())do for(let o of Qg(n,l.node,t))s.has(o.label)||(s.add(o.label),r.push(o));while(l.nextSibling());return Cf.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(s=>{var l;if(t(s)&&s.matchContext(o$)&&((l=s.node.nextSibling)===null||l===void 0?void 0:l.name)==":"){let o=n.sliceString(s.from,s.to);r.has(o)||(r.add(o),i.push({label:o,type:"variable"}))}}),i}}const c$=n=>e=>{let{state:t,pos:i}=e,r=xe(t).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Ao(),validFor:ii};if(r.name=="ValueName")return{from:r.from,options:Tf,validFor:ii};if(r.name=="PseudoClassName")return{from:r.from,options:Pf,validFor:ii};if(n(r)||(e.explicit||s)&&l$(r,t.doc))return{from:n(r)||s?r.from:i,options:Qg(t.doc,a$(r),n),validFor:s$};if(r.name=="TagName"){for(let{parent:a}=r;a;a=a.parent)if(a.name=="Block")return{from:r.from,options:Ao(),validFor:ii};return{from:r.from,options:n$,validFor:ii}}if(r.name=="AtKeyword")return{from:r.from,options:r$,validFor:ii};if(!e.explicit)return null;let l=r.resolve(i),o=l.childBefore(i);return o&&o.name==":"&&l.name=="PseudoClassSelector"?{from:i,options:Pf,validFor:ii}:o&&o.name==":"&&l.name=="Declaration"||l.name=="ArgList"?{from:i,options:Tf,validFor:ii}:l.name=="Block"||l.name=="Styles"?{from:i,options:Ao(),validFor:ii}:null},h$=c$(n=>n.name=="VariableName"),fl=Mn.define({name:"css",parser:i$.configure({props:[Al.add({Declaration:As()}),Rl.add({"Block KeyframeList":Yp})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function u$(){return new hc(fl,fl.data.of({autocomplete:h$}))}const f$=316,d$=317,Af=1,p$=2,O$=3,g$=4,m$=318,b$=320,x$=321,y$=5,S$=6,k$=0,Ma=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],vg=125,w$=59,Za=47,Q$=42,v$=43,$$=45,P$=60,T$=44,C$=63,A$=46,R$=91,M$=new cg({start:!1,shift(n,e){return e==y$||e==S$||e==b$?n:e==x$},strict:!1}),Z$=new ft((n,e)=>{let{next:t}=n;(t==vg||t==-1||e.context)&&n.acceptToken(m$)},{contextual:!0,fallback:!0}),X$=new ft((n,e)=>{let{next:t}=n,i;Ma.indexOf(t)>-1||t==Za&&((i=n.peek(1))==Za||i==Q$)||t!=vg&&t!=w$&&t!=-1&&!e.context&&n.acceptToken(f$)},{contextual:!0}),j$=new ft((n,e)=>{n.next==R$&&!e.context&&n.acceptToken(d$)},{contextual:!0}),E$=new ft((n,e)=>{let{next:t}=n;if(t==v$||t==$$){if(n.advance(),t==n.next){n.advance();let i=!e.context&&e.canShift(Af);n.acceptToken(i?Af:p$)}}else t==C$&&n.peek(1)==A$&&(n.advance(),n.advance(),(n.next<48||n.next>57)&&n.acceptToken(O$))},{contextual:!0});function Ro(n,e){return n>=65&&n<=90||n>=97&&n<=122||n==95||n>=192||!e&&n>=48&&n<=57}const L$=new ft((n,e)=>{if(n.next!=P$||!e.dialectEnabled(k$)||(n.advance(),n.next==Za))return;let t=0;for(;Ma.indexOf(n.next)>-1;)n.advance(),t++;if(Ro(n.next,!0)){for(n.advance(),t++;Ro(n.next,!1);)n.advance(),t++;for(;Ma.indexOf(n.next)>-1;)n.advance(),t++;if(n.next==T$)return;for(let i=0;;i++){if(i==7){if(!Ro(n.next,!0))return;break}if(n.next!="extends".charCodeAt(i))break;n.advance(),t++}}n.acceptToken(g$,-t)}),_$=Tl({"get set async static":b.modifier,"for while do if else switch try catch finally return throw break continue default case defer":b.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":b.operatorKeyword,"let var const using function class extends":b.definitionKeyword,"import export from":b.moduleKeyword,"with debugger new":b.keyword,TemplateString:b.special(b.string),super:b.atom,BooleanLiteral:b.bool,this:b.self,null:b.null,Star:b.modifier,VariableName:b.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":b.function(b.variableName),VariableDefinition:b.definition(b.variableName),Label:b.labelName,PropertyName:b.propertyName,PrivatePropertyName:b.special(b.propertyName),"CallExpression/MemberExpression/PropertyName":b.function(b.propertyName),"FunctionDeclaration/VariableDefinition":b.function(b.definition(b.variableName)),"ClassDeclaration/VariableDefinition":b.definition(b.className),"NewExpression/VariableName":b.className,PropertyDefinition:b.definition(b.propertyName),PrivatePropertyDefinition:b.definition(b.special(b.propertyName)),UpdateOp:b.updateOperator,"LineComment Hashbang":b.lineComment,BlockComment:b.blockComment,Number:b.number,String:b.string,Escape:b.escape,ArithOp:b.arithmeticOperator,LogicOp:b.logicOperator,BitOp:b.bitwiseOperator,CompareOp:b.compareOperator,RegExp:b.regexp,Equals:b.definitionOperator,Arrow:b.function(b.punctuation),": Spread":b.punctuation,"( )":b.paren,"[ ]":b.squareBracket,"{ }":b.brace,"InterpolationStart InterpolationEnd":b.special(b.brace),".":b.derefOperator,", ;":b.separator,"@":b.meta,TypeName:b.typeName,TypeDefinition:b.definition(b.typeName),"type enum interface implements namespace module declare":b.definitionKeyword,"abstract global Privacy readonly override":b.modifier,"is keyof unique infer asserts":b.operatorKeyword,JSXAttributeValue:b.attributeValue,JSXText:b.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":b.angleBracket,"JSXIdentifier JSXNameSpacedName":b.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":b.attributeName,"JSXBuiltin/JSXIdentifier":b.standard(b.tagName)}),z$={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},D$={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},W$={__proto__:null,"<":193},q$=jn.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-E<j-E<jO9kQ`O,5=_O!$rQ`O,5=_O!$wQlO,5;ZO!&zQMhO'#EkO!(eQ`O,5;ZO!(jQlO'#DyO!(tQpO,5;dO!(|QpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)[QlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IpO!+_Q!0LrO,5<iO%[QlO,5;eO!&zQMhO,5;eO!+|QMhO,5;eO!-nQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-uQ,UO'#FjO!.rQ,UO'#KXO!.^Q,UO'#KXO!.yQ,UO'#KXOOQO'#KX'#KXO!/_Q,UO,5<SOOOW,5<`,5<`O!/pQlO'#FvOOOW'#Io'#IoO7VO7dO,5<QO!/wQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0hQ$IUO'#CyOOQ!0Lh'#C}'#C}O!0{O#@ItO'#DRO!1iQMjO,5<eO!1pQ`O,5<hO!3YQ(CWO'#GXO!3jQ`O'#GYO!3oQ`O'#GYO!5_Q(CWO'#G^O!6dQpO'#GbOOQO'#Gn'#GnO!,TQMhO'#GmOOQO'#Gp'#GpO!,TQMhO'#GoO!7VQ$IUO'#JlOOQ!0Lh'#Jl'#JlO!7aQ`O'#JkO!7oQ`O'#JjO!7wQ`O'#CuOOQ!0Lh'#C{'#C{O!8YQ`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO!8_Q`O,5<eO1SQ`O'#DZO!,TQMhO'#GPO!,TQMhO'#GRO!8gQ`O'#GTO!8lQ`O'#GUO!3oQ`O'#G[O!,TQMhO'#GaO<]Q`O'#JkO!8qQ`O'#EqO!9`Q`O,5<gOOQ!0Lb'#Cr'#CrO!9hQ`O'#ErO!:bQpO'#EsOOQ!0Lb'#KR'#KRO!:iQ!0LrO'#KaO9uQ!0LrO,5=cO`QlO,5>tOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!<hQ!0MxO,5:bO!:]QpO,5:`O!?RQ!0MxO,5:jO%[QlO,5:jO!AiQ!0MxO,5:lOOQO,5@z,5@zO!BYQMhO,5=_O!BhQ!0LrO'#JiO9`Q`O'#JiO!ByQ!0LrO,59ZO!CUQpO,59ZO!C^QMhO,59ZO:dQMhO,59ZO!CiQ`O,5;ZO!CqQ`O'#HbO!DVQ`O'#KdO%[QlO,5;}O!:]QpO,5<PO!D_Q`O,5=zO!DdQ`O,5=zO!DiQ`O,5=zO!DwQ`O,5=zO9uQ!0LrO,5=zO<]Q`O,5=jOOQO'#Cy'#CyO!EOQpO,5=gO!EWQMhO,5=hO!EcQ`O,5=jO!EhQ!bO,5=mO!EpQ`O'#K`O?YQ`O'#HWO9kQ`O'#HYO!EuQ`O'#HYO:dQMhO'#H[O!EzQ`O'#H[OOQ[,5=p,5=pO!FPQ`O'#H]O!FbQ`O'#CoO!FgQ`O,59PO!FqQ`O,59PO!HvQlO,59POOQ[,59P,59PO!IWQ!0LrO,59PO%[QlO,59PO!KcQlO'#HeOOQ['#Hf'#HfOOQ['#Hg'#HgO`QlO,5=}O!KyQ`O,5=}O`QlO,5>TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-E<f-E<fO#)kQ!0MSO,5;RODWQpO,5:rO#)uQpO,5:rODWQpO,5;RO!ByQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#*SQ!0LrO,5;RO#*_Q!0LrO,5;RO!CUQpO,5:rOOQO,5;X,5;XO#*mQ!0LrO,5;RPOOO'#I^'#I^P#+RO&2DjO,58|POOO,58|,58|OOOO-E<^-E<^OOQ!0Lh1G.p1G.pOOOO-E<_-E<_OOOO,59},59}O#+^Q!bO,59}OOOO-E<a-E<aOOQ!0Lf1G/g1G/gO#+cQ!fO,5?OO+}QlO,5?OOOQO,5?U,5?UO#+mQlO'#IdOOQO-E<b-E<bO#+zQ`O,5@`O#,SQ!fO,5@`O#,ZQ`O,5@nOOQ!0Lf1G/m1G/mO%[QlO,5@oO#,cQ`O'#IjOOQO-E<h-E<hO#,ZQ`O,5@nOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@lO#,wQ!0LrO,5@lO#-YQ!0LrO,5@lO#-aQ`O,5@kO9eQ`O,5@kO#-iQ`O,5@kO#-wQ`O'#ImO#-aQ`O,5@kOOQ!0Lb1G0w1G0wO!(tQpO,5:uO!)PQpO,5:uOOQS,5:w,5:wO#.iQdO,5:wO#.qQMhO1G2yO9kQ`O1G2yOOQ!0Lf1G0u1G0uO#/PQ!0MxO1G0uO#0UQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0rQ!0MzO'#JlO!$wQlO1G0uO#2}Q!fO'#JwO%[QlO'#JwO#3XQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#3^Q`O1G1OO#5rQ!0MxO1G1PO#5yQ!0MxO1G1PO#8aQ!0MxO1G1PO#8hQ!0MxO1G1PO#;OQ!0MxO1G1PO#=fQ!0MxO1G1PO#=mQ!0MxO1G1PO#=tQ!0MxO1G1PO#@[Q!0MxO1G1PO#@cQ!0MxO1G1PO#BpQ?MtO'#CiO#DkQ?MtO1G1`O#DrQ?MtO'#JsO#EVQ!0MxO,5?[OOQ!0Lb-E<n-E<nO#GdQ!0MxO1G1PO#HaQ!0MzO1G1POOQ!0Lf1G1P1G1PO#IdQMjO'#J|O#InQ`O,5:xO#IsQ!0MxO1G1cO#JgQ,UO,5<WO#JoQ,UO,5<XO#JwQ,UO'#FoO#K`Q`O'#FnOOQO'#KY'#KYOOQO'#In'#InO#KeQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#KvQ?MtO'#JrO#LQQ`O,5<bO!)[QlO,5<bOOOW-E<m-E<mOOQ!0Lf1G1l1G1lO#LVQpO'#KXOOQ!0Lf,5<d,5<dO#L_QpO,5<dO#LdQMhO'#DTOOOO'#Ib'#IbO#LkO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8lQ`O'#IrO#LvQ`O,5<zOOQ!0Lh,5<w,5<wO!,TQMhO'#IuO#MdQMjO,5=XO!,TQMhO'#IwO#NVQMjO,5=ZO!&zQMhO,5=]OOQO1G2S1G2SO#NaQ!dO'#CrO#NtQ(CWO'#ErO$ |QpO'#GbO$!dQ!dO,5<sO$!kQ`O'#K[O9eQ`O'#K[O$!yQ`O,5<uO$#aQ!dO'#C{O!,TQMhO,5<tO$#kQ`O'#GZO$$PQ`O,5<tO$$UQ!dO'#GWO$$cQ!dO'#K]O$$mQ`O'#K]O!&zQMhO'#K]O$$rQ`O,5<xO$$wQlO'#JvO$%RQpO'#GcO#$`QpO'#GcO$%dQ`O'#GgO!3oQ`O'#GkO$%iQ!0LrO'#ItO$%tQpO,5<|OOQ!0Lp,5<|,5<|O$%{QpO'#GcO$&YQpO'#GdO$&kQpO'#GdO$&pQMjO,5=XO$'QQMjO,5=ZOOQ!0Lh,5=^,5=^O!,TQMhO,5@VO!,TQMhO,5@VO$'bQ`O'#IyO$'vQ`O,5@UO$(OQ`O,59aOOQ!0Lh,59i,59iO$(TQ`O,5@VO$)TQ$IYO,59uOOQ!0Lh'#Jp'#JpO$)vQMjO,5<kO$*iQMjO,5<mO@zQ`O,5<oOOQ!0Lh,5<p,5<pO$*sQ`O,5<vO$*xQMjO,5<{O$+YQ`O'#KPO!$wQlO1G2RO$+_Q`O1G2RO9eQ`O'#KSO9eQ`O'#EtO%[QlO'#EtO9eQ`O'#I{O$+dQ!0LrO,5@{OOQ[1G2}1G2}OOQ[1G4`1G4`OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$-fQ!0MxO1G0UOOQ[1G2y1G2yO!&zQMhO1G2yO%[QlO1G2yO#.tQ`O1G2yO$/jQMhO'#EkOOQ!0Lb,5@T,5@TO$/wQ!0LrO,5@TOOQ[1G.u1G.uO!ByQ!0LrO1G.uO!CUQpO1G.uO!C^QMhO1G.uO$0YQ`O1G0uO$0_Q`O'#CiO$0jQ`O'#KeO$0rQ`O,5=|O$0wQ`O'#KeO$0|Q`O'#KeO$1[Q`O'#JRO$1jQ`O,5AOO$1rQ!fO1G1iOOQ!0Lf1G1k1G1kO9kQ`O1G3fO@zQ`O1G3fO$1yQ`O1G3fO$2OQ`O1G3fO!DiQ`O1G3fO9uQ!0LrO1G3fOOQ[1G3f1G3fO!EcQ`O1G3UO!&zQMhO1G3RO$2TQ`O1G3ROOQ[1G3S1G3SO!&zQMhO1G3SO$2YQ`O1G3SO$2bQpO'#HQOOQ[1G3U1G3UO!6_QpO'#I}O!EhQ!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$2jQMhO,5=tO9kQ`O,5=tO$%dQ`O,5=vO9`Q`O,5=vO!CUQpO,5=vO!C^QMhO,5=vO:dQMhO,5=vO$2xQ`O'#KcO$3TQ`O,5=wOOQ[1G.k1G.kO$3YQ!0LrO1G.kO@zQ`O1G.kO$3eQ`O1G.kO9uQ!0LrO1G.kO$5mQ!fO,5AQO$5zQ`O,5AQO9eQ`O,5AQO$6VQlO,5>PO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5<iO$BOQ!fO1G4jOOQO1G4p1G4pO%[QlO,5?OO$BYQ`O1G5zO$BbQ`O1G6YO$BjQ!fO1G6ZO9eQ`O,5?UO$BtQ!0MxO1G6WO%[QlO1G6WO$CUQ!0LrO1G6WO$CgQ`O1G6VO$CgQ`O1G6VO9eQ`O1G6VO$CoQ`O,5?XO9eQ`O,5?XOOQO,5?X,5?XO$DTQ`O,5?XO$+YQ`O,5?XOOQO-E<k-E<kOOQS1G0a1G0aOOQS1G0c1G0cO#.lQ`O1G0cOOQ[7+(e7+(eO!&zQMhO7+(eO%[QlO7+(eO$DcQ`O7+(eO$DnQMhO7+(eO$D|Q!0MzO,5=XO$GXQ!0MzO,5=ZO$IdQ!0MzO,5=XO$KuQ!0MzO,5=ZO$NWQ!0MzO,59uO%!]Q!0MzO,5<kO%$hQ!0MzO,5<mO%&sQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%)UQ!0MxO7+&aO%)xQlO'#IfO%*VQ`O,5@cO%*_Q!fO,5@cOOQ!0Lf1G0P1G0PO%*iQ`O7+&jOOQ!0Lf7+&j7+&jO%*nQ?MtO,5:fO%[QlO7+&zO%*xQ?MtO,5:bO%+VQ?MtO,5:jO%+aQ?MtO,5:lO%+kQMhO'#IiO%+uQ`O,5@hOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%+}Q!jO,5<ZO!)[QlO,5<YOOQO-E<l-E<lOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%,YQ`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%,_Q!dO,59oOOOO-E<`-E<`OOQ!0Lh1G/X1G/XO%,fQ!0MxO7+'kOOQ!0Lh,5?^,5?^O%-YQMhO1G2fP%-aQ`O'#IrPOQ!0Lh-E<p-E<pO%-}QMjO,5?aOOQ!0Lh-E<s-E<sO%.pQMjO,5?cOOQ!0Lh-E<u-E<uO%.zQ!dO1G2wO%/RQ!dO'#CrO%/iQMhO'#KSO$$wQlO'#JvOOQ!0Lh1G2_1G2_O%/sQ`O'#IqO%0[Q`O,5@vO%0[Q`O,5@vO%0dQ`O,5@vO%0oQ`O,5@vOOQO1G2a1G2aO%0}QMjO1G2`O$+YQ`O'#K[O!,TQMhO1G2`O%1_Q(CWO'#IsO%1lQ`O,5@wO!&zQMhO,5@wO%1tQ!dO,5@wOOQ!0Lh1G2d1G2dO%4UQ!fO'#CiO%4`Q`O,5=POOQ!0Lb,5<},5<}O%4hQpO,5<}OOQ!0Lb,5=O,5=OOCwQ`O,5<}O%4sQpO,5<}OOQ!0Lb,5=R,5=RO$+YQ`O,5=VOOQO,5?`,5?`OOQO-E<r-E<rOOQ!0Lp1G2h1G2hO#$`QpO,5<}O$$wQlO,5=PO%5RQ`O,5=OO%5^QpO,5=OO!,TQMhO'#IuO%6WQMjO1G2sO!,TQMhO'#IwO%6yQMjO1G2uO%7TQMjO1G5qO%7_QMjO1G5qOOQO,5?e,5?eOOQO-E<w-E<wOOQO1G.{1G.{O!,TQMhO1G5qO!,TQMhO1G5qO!:]QpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%7lQ`O1G2ZO!,TQMhO1G2bO%7qQ!0MxO7+'mOOQ!0Lf7+'m7+'mO!$wQlO7+'mO%8eQ`O,5;`OOQ!0Lb,5?g,5?gOOQ!0Lb-E<y-E<yO%8jQ!dO'#K^O#(ZQ`O7+(eO4UQ!fO7+(eO$DfQ`O7+(eO%8tQ!0MvO'#CiO%9XQ!0MvO,5=SO%9lQ`O,5=SO%9tQ`O,5=SOOQ!0Lb1G5o1G5oOOQ[7+$a7+$aO!ByQ!0LrO7+$aO!CUQpO7+$aO!$wQlO7+&aO%9yQ`O'#JQO%:bQ`O,5APOOQO1G3h1G3hO9kQ`O,5APO%:bQ`O,5APO%:jQ`O,5APOOQO,5?m,5?mOOQO-E=P-E=POOQ!0Lf7+'T7+'TO%:oQ`O7+)QO9uQ!0LrO7+)QO9kQ`O7+)QO@zQ`O7+)QO%:tQ`O7+)QOOQ[7+)Q7+)QOOQ[7+(p7+(pO%:yQ!0MvO7+(mO!&zQMhO7+(mO!E^Q`O7+(nOOQ[7+(n7+(nO!&zQMhO7+(nO%;TQ`O'#KbO%;`Q`O,5=lOOQO,5?i,5?iOOQO-E<{-E<{OOQ[7+(s7+(sO%<rQpO'#HZOOQ[1G3`1G3`O!&zQMhO1G3`O%[QlO1G3`O%<yQ`O1G3`O%=UQMhO1G3`O9uQ!0LrO1G3bO$%dQ`O1G3bO9`Q`O1G3bO!CUQpO1G3bO!C^QMhO1G3bO%=dQ`O'#JPO%=xQ`O,5@}O%>QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-E<c-E<cOOQO,5?V,5?VOOQO-E<i-E<iO!CUQpO1G/sOOQO-E<e-E<eOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#(ZQ`O7+%uOOQ!0Lf7+&`7+&`O?YQ`O7+&`O!CUQpO7+&`OOQO7+%x7+%xO$AlQ!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%@nQ!0LrO7+&XO!ByQ!0LrO7+%xO!CUQpO7+%xO%@yQ!0LrO7+&XO%AXQ!0MxO7++rO%[QlO7++rO%AiQ`O7++qO%AiQ`O7++qOOQO1G4s1G4sO9eQ`O1G4sO%AqQ`O1G4sOOQS7+%}7+%}O#(ZQ`O<<LPO4UQ!fO<<LPO%BPQ`O<<LPOOQ[<<LP<<LPO!&zQMhO<<LPO%[QlO<<LPO%BXQ`O<<LPO%BdQ!0MzO,5?aO%DoQ!0MzO,5?cO%FzQ!0MzO1G2`O%I]Q!0MzO1G2sO%KhQ!0MzO1G2uO%MsQ!fO,5?QO%[QlO,5?QOOQO-E<d-E<dO%M}Q`O1G5}OOQ!0Lf<<JU<<JUO%NVQ?MtO1G0uO&!^Q?MtO1G1PO&!eQ?MtO1G1PO&$fQ?MtO1G1PO&$mQ?MtO1G1PO&&nQ?MtO1G1PO&(oQ?MtO1G1PO&(vQ?MtO1G1PO&(}Q?MtO1G1PO&+OQ?MtO1G1PO&+VQ?MtO1G1PO&+^Q!0MxO<<JfO&-UQ?MtO1G1PO&.RQ?MvO1G1PO&/UQ?MvO'#JlO&1[Q?MtO1G1cO&1iQ?MtO1G0UO&1sQMjO,5?TOOQO-E<g-E<gO!)[QlO'#FqOOQO'#KZ'#KZOOQO1G1u1G1uO&1}Q`O1G1tO&2SQ?MtO,5?[OOOW7+'h7+'hOOOO1G/Z1G/ZO&2^Q!dO1G4xOOQ!0Lh7+(Q7+(QP!&zQMhO,5?^O!,TQMhO7+(cO&2eQ`O,5?]O9eQ`O,5?]O$+YQ`O,5?]OOQO-E<o-E<oO&2sQ`O1G6bO&2sQ`O1G6bO&2{Q`O1G6bO&3WQMjO7+'zO&3hQ!dO,5?_O&3rQ`O,5?_O!&zQMhO,5?_OOQO-E<q-E<qO&3wQ!dO1G6cO&4RQ`O1G6cO&4ZQ`O1G2kO!&zQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%4hQpO1G2iO!CUQpO1G2iOCwQ`O1G2iOOQ!0Lb1G2q1G2qO&4`QpO1G2iO&4nQ`O1G2kO$+YQ`O1G2jOCwQ`O1G2jO$$wQlO1G2kO&4vQ`O1G2jO&5jQMjO,5?aOOQ!0Lh-E<t-E<tO&6]QMjO,5?cOOQ!0Lh-E<v-E<vO!,TQMhO7++]O&6gQMjO7++]O&6qQMjO7++]OOQ!0Lh1G/c1G/cO&7OQ`O1G/cOOQ!0Lh7+'u7+'uO&7TQMjO7+'|O&7eQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&8XQ`O1G0zO!&zQMhO'#IzO&8^Q`O,5@xO&:`Q!fO<<LPO!&zQMhO1G2nO&:gQ!0LrO1G2nOOQ[<<G{<<G{O!ByQ!0LrO<<G{O&:xQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?l,5?lO&;lQ`O,5?lO&;qQ`O,5?lOOQO-E=O-E=OO&<PQ`O1G6kO&<PQ`O1G6kO9kQ`O1G6kO@zQ`O<<LlOOQ[<<Ll<<LlO&<XQ`O<<LlO9uQ!0LrO<<LlO9kQ`O<<LlOOQ[<<LX<<LXO%:yQ!0MvO<<LXOOQ[<<LY<<LYO!E^Q`O<<LYO&<^QpO'#I|O&<iQ`O,5@|O!)[QlO,5@|OOQ[1G3W1G3WOOQO'#JO'#JOO9uQ!0LrO'#JOO&<qQpO,5=uOOQ[,5=u,5=uO&<xQpO'#EgO&=PQpO'#GeO&=UQ`O7+(zO&=ZQ`O7+(zOOQ[7+(z7+(zO!&zQMhO7+(zO%[QlO7+(zO&=cQ`O7+(zOOQ[7+(|7+(|O9uQ!0LrO7+(|O$%dQ`O7+(|O9`Q`O7+(|O!CUQpO7+(|O&=nQ`O,5?kOOQO-E<}-E<}OOQO'#H^'#H^O&=yQ`O1G6iO9uQ!0LrO<<GqOOQ[<<Gq<<GqO@zQ`O<<GqO&>RQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<<Ly<<LyOOQ[<<L{<<L{OOQ[-E=Q-E=QOOQ[1G3z1G3zO&>nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO?YQ`O<<IzOOQO<<Is<<IsO$AlQ!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!ByQ!0LrO<<IdO&?SQ!0LrO<<IsO&?_Q!0MxO<= ^O&?oQ`O<= ]OOQO7+*_7+*_O9eQ`O7+*_OOQ[ANAkANAkO&?wQ!fOANAkO!&zQMhOANAkO#(ZQ`OANAkO4UQ!fOANAkO&@OQ`OANAkO%[QlOANAkO&@WQ!0MzO7+'zO&BiQ!0MzO,5?aO&DtQ!0MzO,5?cO&GPQ!0MzO7+'|O&IbQ!fO1G4lO&IlQ?MtO7+&aO&KpQ?MvO,5=XO&MwQ?MvO,5=ZO&NXQ?MvO,5=XO&NiQ?MvO,5=ZO&NyQ?MvO,59uO'#PQ?MvO,5<kO'%SQ?MvO,5<mO''hQ?MvO,5<{O')^Q?MtO7+'kO')kQ?MtO7+'mO')xQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*d7+*dO')}QMjO<<K}OOQO1G4w1G4wO'*UQ`O1G4wO'*aQ`O1G4wO'*oQ`O7++|O'*oQ`O7++|O!&zQMhO1G4yO'*wQ!dO1G4yO'+RQ`O7++}O'+ZQ`O7+(VO'+fQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!CUQpO7+(TOCwQ`O7+(TO'+pQ`O7+(VO!&zQMhO7+(VO$+YQ`O7+(UO'+uQ`O7+(VOCwQ`O7+(UO'+}QMjO<<NwO!,TQMhO<<NwOOQ!0Lh7+$}7+$}O',XQ!dO,5?fOOQO-E<x-E<xO',cQ!0MvO7+(YO!&zQMhO7+(YOOQ[AN=gAN=gO9kQ`O1G5WOOQO1G5W1G5WO',sQ`O1G5WO',xQ`O7+,VO',xQ`O7+,VO9uQ!0LrOANBWO@zQ`OANBWOOQ[ANBWANBWO'-QQ`OANBWOOQ[ANAsANAsOOQ[ANAtANAtO'-VQ`O,5?hOOQO-E<z-E<zO'-bQ?MtO1G6hOOQO,5?j,5?jOOQO-E<|-E<|OOQ[1G3a1G3aO'-lQ`O,5=POOQ[<<Lf<<LfO!&zQMhO<<LfO&=UQ`O<<LfO'-qQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9uQ!0LrO<<LhO$%dQ`O<<LhO9`Q`O<<LhO'-yQpO1G5VO'.UQ`O7+,TOOQ[AN=]AN=]O9uQ!0LrOAN=]OOQ[<= r<= rOOQ[<= s<= sO'.^Q`O<= rO'.cQ`O<= sOOQ[<<Lq<<LqO'.hQ`O<<LqO'.mQlO<<LqOOQ[1G3{1G3{O?YQ`O7+)lO'.tQ`O<<JQO'/PQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$AlQ!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<My<<MyOOQ[G27VG27VO!&zQMhOG27VO#(ZQ`OG27VO'/ZQ!fOG27VO4UQ!fOG27VO'/bQ`OG27VO'/jQ?MtO<<JfO'/wQ?MvO1G2`O'1mQ?MvO,5?aO'3pQ?MvO,5?cO'5sQ?MvO1G2sO'7vQ?MvO1G2uO'9yQ?MtO<<KXO':WQ?MtO<<I{OOQO1G1w1G1wO!,TQMhOANAiOOQO7+*c7+*cO':eQ`O7+*cO':pQ`O<= hO':xQ!dO7+*eOOQ!0Lb<<Kq<<KqO$+YQ`O<<KqOCwQ`O<<KqO';SQ`O<<KqO!&zQMhO<<KqOOQ!0Lb<<Ko<<KoO!CUQpO<<KoO';_Q!dO<<KqOOQ!0Lb<<Kp<<KpO';iQ`O<<KqO!&zQMhO<<KqO$+YQ`O<<KpO';nQMjOANDcO';xQ!0MvO<<KtOOQO7+*r7+*rO9kQ`O7+*rO'<YQ`O<= qOOQ[G27rG27rO9uQ!0LrOG27rO@zQ`OG27rO!)[QlO1G5SO'<bQ`O7+,SO'<jQ`O1G2kO&=UQ`OANBQOOQ[ANBQANBQO!&zQMhOANBQO'<oQ`OANBQOOQ[ANBSANBSO9uQ!0LrOANBSO$%dQ`OANBSOOQO'#H_'#H_OOQO7+*q7+*qOOQ[G22wG22wOOQ[ANE^ANE^OOQ[ANE_ANE_OOQ[ANB]ANB]O'<wQ`OANB]OOQ[<<MW<<MWO!)[QlOAN?lOOQOG24yG24yO$AlQ!0MxOG24yO#(ZQ`OLD,qOOQ[LD,qLD,qO!&zQMhOLD,qO'<|Q!fOLD,qO'=TQ?MvO7+'zO'>yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<<M}<<M}OOQ!0LbANA]ANA]O$+YQ`OANA]OCwQ`OANA]O'EVQ!dOANA]OOQ!0LbANAZANAZO'E^Q`OANA]O!&zQMhOANA]O'EiQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N^<<N^OOQ[LD-^LD-^O9uQ!0LrOLD-^O'EsQ?MtO7+*nOOQO'#Gf'#GfOOQ[G27lG27lO&=UQ`OG27lO!&zQMhOG27lOOQ[G27nG27nO9uQ!0LrOG27nOOQ[G27wG27wO'E}Q?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#(ZQ`O!$(!]O!&zQMhO!$(!]O'FXQ!0MzOG27TOOQ!0LbG26wG26wO$+YQ`OG26wO'HjQ`OG26wOCwQ`OG26wO'HuQ!dOG26wO!&zQMhOG26wOOQ[!$(!x!$(!xOOQ[LD-WLD-WO&=UQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#(ZQ`O!)9EwOOQ!0LbLD,cLD,cO$+YQ`OLD,cOCwQ`OLD,cO'H|Q`OLD,cO'IXQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'I`Q?MvOG27TOOQ!0Lb!$( }!$( }O$+YQ`O!$( }OCwQ`O!$( }O'KUQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$+YQ`O!)9EiOCwQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$+YQ`O!.K;TOOQ!0Lb!4/0o!4/0oO!)[QlO'#DzO1PQ`O'#EXO'KaQ!fO'#JrO'KhQ!L^O'#DvO'KoQlO'#EOO'KvQ!fO'#CiO'N^Q!fO'#CiO!)[QlO'#EQO'NnQlO,5;ZO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO'#IpO(!qQ`O,5<iO!)[QlO,5;eO(!yQMhO,5;eO($dQMhO,5;eO!)[QlO,5;wO!&zQMhO'#GmO(!yQMhO'#GmO!&zQMhO'#GoO(!yQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&zQMhO'#GPO(!yQMhO'#GPO!&zQMhO'#GRO(!yQMhO'#GRO!&zQMhO'#GaO(!yQMhO'#GaO!)[QlO,5:jO($kQpO'#D_O($uQpO'#JvO!)[QlO,5@oO'NnQlO1G0uO(%PQ?MtO'#CiO!)[QlO1G2PO!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO(%ZQ!dO'#CrO!&zQMhO,5<tO(!yQMhO,5<tO'NnQlO1G2RO!)[QlO7+&zO!&zQMhO1G2`O(!yQMhO1G2`O!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO!&zQMhO1G2bO(!yQMhO1G2bO'NnQlO7+'mO'NnQlO7+&aO!&zQMhOANAiO(!yQMhOANAiO(%nQ`O'#EoO(%sQ`O'#EoO(%{Q`O'#F]O(&QQ`O'#EyO(&VQ`O'#KTO(&bQ`O'#KRO(&mQ`O,5;ZO(&rQMjO,5<eO(&yQ`O'#GYO('OQ`O'#GYO('TQ`O,5<eO(']Q`O,5<gO('eQ`O,5;ZO('mQ?MtO1G1`O('tQ`O,5<tO('yQ`O,5<tO((OQ`O,5<vO((TQ`O,5<vO((YQ`O1G2RO((_Q`O1G0uO((dQMjO<<K}O((kQMjO<<K}O((rQMhO'#F|O9`Q`O'#F{OAuQ`O'#EnO!)[QlO,5;tO!3oQ`O'#GYO!3oQ`O'#GYO!3oQ`O'#G[O!3oQ`O'#G[O!,TQMhO7+(cO!,TQMhO7+(cO%.zQ!dO1G2wO%.zQ!dO1G2wO!&zQMhO,5=]O!&zQMhO,5=]",stateData:"()x~O'|OS'}OSTOS(ORQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&W!WO&^!XO&`!YO&b!ZO&d![O&g!]O&m!^O&s!_O&u!`O&w!aO&y!bO&{!cO(TSO(VTO(YUO(aVO(o[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O(O!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'z]X(a]X(r]X(y]X(z]X~O!g%RX~P(qO_!}O(V#PO(W!}O(X#PO~O_#QO(X#PO(Y#PO(Z#QO~Ox#SO!U#TO(b#TO(c#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T<ZO(VTO(YUO(aVO(o[O~O![#ZO!]#WO!Y(hP!Y(vP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(VTO(YUO(aVO(o[O~Op#mO![#iO!|]O#i#lO#j#iO(T<[O!k(sP~P.iO!l#oO(T#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa(fX'z(fX'w(fX!k(fX!Y(fX!_(fX%i(fX!g(fX~P1qO#S$dO#`$eO$Q$eOP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX!_(gX%i(gX~Oa(gX'z(gX'w(gX!Y(gX!k(gXv(gX!g(gX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%dOk%dOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T$sO(VTO(YUO(a$uO(y$}O(z%POg(^P~Ol%[O~P7eO!l%eO~O!S%hO!_%iO(T%gO~O!g%mO~Oa%nO'z%nO~O!Q%rO~P%[O(U!lO~P%[O%n%vO~P%[Oh%VO!l%eO(T%gO(U!lO~Oe%}O!l%eO(T%gO~Oj$RO~O!_&PO(T%gO(U!lO(VTO(YUO`)WP~O!Q&SO!l&RO%j&VO&T&WO~P;SO!x#sO~O%s&YO!S)SX!_)SX(T)SX~O(T&ZO~Ol!PO!u&`O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&eOe&dO!x&bO%h&cO%{&aO~P<bOd&hOeyOl!PO!_&gO!u&`O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&kO#`&nO%j&iO(U!lO~P=gO!l&oO!u&sO~O!l#oO~O!_XO~Oa%nO'x&{O'z%nO~Oa%nO'x'OO'z%nO~Oa%nO'x'QO'z%nO~O'w]X!Y]Xv]X!k]X&[]X!_]X%i]X!g]X~P(qO!b'_O!c'WO!d'WO(U!lO(VTO(YUO~Os'UO!S'TO!['XO(e'SO!^(iP!^(xP~P@nOn'bO!_'`O(T%gO~Oe'gO!l%eO(T%gO~O!Q&SO!l&RO~Os!nO!S!oO!|<VO#T!pO#U!pO#W!pO#X!pO(U!lO(VTO(YUO(e!mO(o!sO~O!b'mO!c'lO!d'lO#V!pO#['nO#]'nO~PBYOa%nOh%VO!g#vO!l%eO'z%nO(r'pO~O!p'tO#`'rO~PChOs!nO!S!oO(VTO(YUO(e!mO(o!sO~O!_XOs(mX!S(mX!b(mX!c(mX!d(mX!|(mX#T(mX#U(mX#V(mX#W(mX#X(mX#[(mX#](mX(U(mX(V(mX(Y(mX(e(mX(o(mX~O!c'lO!d'lO(U!lO~PDWO(P'xO(Q'xO(R'zO~O_!}O(V'|O(W!}O(X'|O~O_#QO(X'|O(Y'|O(Z#QO~Ov(OO~P%[Ox#SO!U#TO(b#TO(c(RO~O![(TO!Y'WX!Y'^X!]'WX!]'^X~P+}O!](VO!Y(hX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](VO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~O!Y(hX~PHRO!Y([O~O!Y(uX!](uX!g(uX!k(uX(r(uX~O#`(uX#k#dX!^(uX~PJUO#`(]O!Y(wX!](wX~O!](^O!Y(vX~O!Y(aO~O#`$eO~PJUO!^(bO~P`OR#zO!Q#yO!S#{O!l#xO(aVOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(r!na(y!na(z!na~Oa!na'z!na'w!na!Y!na!k!nav!na!_!na%i!na!g!na~PKlO!k(cO~O!g#vO#`(dO(r'pO!](tXa(tX'z(tX~O!k(tX~PNXO!S%hO!_%iO!|]O#i(iO#j(hO(T%gO~O!](jO!k(sX~O!k(lO~O!S%hO!_%iO#j(hO(T%gO~OP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~O!g#vO!k(gX~P! uOR(nO!Q(mO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(T!{a~P!#vO!x(rO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~O#k(xO~O![(zO!k(kP~P%[O(e(|O(o[O~O!S)OO!l#xO(e(|O(o[O~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S*YO!_*ZO!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op*`O}O(T&ZO~O!l+SO~O(T(vO~Op+WO!S%hO![#iO!_%iO!|]O#i#lO#j#iO(T%gO!k(sP~O!g#vO#k+XO~O!S%hOTX'z)TX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa!ja!]!ja'z!ja'w!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:tOR#zO!Q#yO!S#{O!l#xO(aVOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(r!ra(y!ra(z!ra~Oa!ra'z!ra'w!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!=[OR#zO!Q#yO!S#{O!l#xO(aVOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(r!ta(y!ta(z!ta~Oa!ta'z!ta'w!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?rOh%VOn+gO!_'`O%i+fO~O!g+iOa(]X!_(]X'z(]X!](]X~Oa%nO!_XO'z%nO~Oh%VO!l%eO~Oh%VO!l%eO(T%gO~O!g#vO#k(xO~Ob+tO%j+uO(T+qO(VTO(YUO!^)XP~O!]+vO`)WX~O[+zO~O`+{O~O!_&PO(T%gO(U!lO`)WP~O%j,OO~P;SOh%VO#`,SO~Oh%VOn,VO!_$|O~O!_,XO~O!Q,ZO!_XO~O%n%vO~O!x,`O~Oe,eO~Ob,fO(T#nO(VTO(YUO!^)VP~Oe%}O~O%j!QO(T&ZO~P=gO[,kO`,jO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(VTO(YUO(aVO(o[O~O!_!eO!u!gO$W!kO(T!dO~P!FyO`,jOa%nO'z%nO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa,pOl!OO!uwO%l!OO%m!OO%n!OO~P!IcO!l&oO~O&^,vO~O!_,xO~O&o,zO&q,{OP&laQ&laS&laY&laa&lad&lae&lal&lap&lar&las&lat&laz&la|&la!O&la!S&la!W&la!X&la!_&la!i&la!l&la!o&la!p&la!q&la!s&la!u&la!x&la!|&la$W&la$n&la%h&la%j&la%l&la%m&la%n&la%q&la%s&la%v&la%w&la%y&la&W&la&^&la&`&la&b&la&d&la&g&la&m&la&s&la&u&la&w&la&y&la&{&la'w&la(T&la(V&la(Y&la(a&la(o&la!^&la&e&lab&la&j&la~O(T-QO~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P#!iO!g-VO#`-UOh(jX!]#hX!^#hX!g(jX!l(jX~O!](jX!^(jX~P##[Oh%VO!g-XO!l%eO!]!aX!^!aX~Os!nO!S!oO(VTO(YUO(e!mO~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO#z<gO#{<hO(aVO(r$YO(y#|O(z#}O~O$O.{O~P#BwO#S$dO#`<nO$Q<nO$O(gX!^(gX~P! uOa'da!]'da'z'da'w'da!k'da!Y'dav'da!_'da%i'da!g'da~P!:tO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO(y#mi(z#mi~P#EyOn>]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]<iO!^(fX~P#BwO!^/ZO~O!g)hO$f({X~O$f/]O~Ov/^O~P!&zOx)yO(b)zO(c/aO~O!S/dO~O(y$}On%aa!Q%aa'y%aa(z%aa!]%aa#`%aa~Og%aa$O%aa~P#L{O(z%POn%ca!Q%ca'y%ca(y%ca!]%ca#`%ca~Og%ca$O%ca~P#MnO!]fX!gfX!kfX!k$zX(rfX~P!0SOp%WOPP~P!1uOr*sO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO~Os<}O!S/nO![+[O!^*pO(e<|O!^(xP~P$ [O!k/oO~P#/sO!]/pO!g#vO(r'pO!k)OX~O!k/uO~OnoX!QoX'yoX(yoX(zoX~O!g#vO!koX~P$#OOp/wO!S%hO![*^O!_%iO(T%gO!k)OP~O#k/xO~O!Y$zX!]$zX!g%RX~P!0SO!]/yO!Y)PX~P#/sO!g/{O~O!Y/}O~OpkO(T0OO~P.iOh%VOr0TO!g#vO!l%eO(r'pO~O!g+iO~Oa%nO!]0XO'z%nO~O!^0ZO~P!5iO!c0[O!d0[O(U!lO~P#$`Os!nO!S0]O(VTO(YUO(e!mO~O#[0_O~Og%aa!]%aa#`%aa$O%aa~P!1WOg%ca!]%ca#`%ca$O%ca~P!1WOj%dOk%dOl%dO(T&ZOg'mX!]'mX~O!]*yOg(^a~Og0hO~On0jO#`0iOg(_a!](_a~OR0kO!Q0kO!S0lO#S$dOn}a'y}a(y}a(z}a!]}a#`}a~Og}a$O}a~P$(cO!Q*OO'y*POn$sa(y$sa(z$sa!]$sa#`$sa~Og$sa$O$sa~P$)_O!Q*OO'y*POn$ua(y$ua(z$ua!]$ua#`$ua~Og$ua$O$ua~P$*QO#k0oO~Og%Ta!]%Ta#`%Ta$O%Ta~P!1WO!g#vO~O#k0rO~O!]+^Oa)Ta'z)Ta~OR#zO!Q#yO!S#{O!l#xO(aVOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(r!ri(y!ri(z!ri~Oa!ri'z!ri'w!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$+oOh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op0{O%]0|O(T0zO~P$.VO!g+iOa(]a!_(]a'z(]a!](]a~O#k1SO~O[]X!]fX!^fX~O!]1TO!^)XX~O!^1VO~O[1WO~Ob1YO(T+qO(VTO(YUO~O!_&PO(T%gO`'uX!]'uX~O!]+vO`)Wa~O!k1]O~P!:tO[1`O~O`1aO~O#`1fO~On1iO!_$|O~O(e(|O!^)UP~Oh%VOn1rO!_1oO%i1qO~O[1|O!]1zO!^)VX~O!^1}O~O`2POa%nO'z%nO~O(T#nO(VTO(YUO~O#S$dO#`$eO$Q$eOP(gXR(gX[(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~Oj2SO&[2TOa(gX~P$3pOj2SO#`$eO&[2TO~Oa2VO~P%[Oa2XO~O&e2[OP&ciQ&ciS&ciY&cia&cid&cie&cil&cip&cir&cis&cit&ciz&ci|&ci!O&ci!S&ci!W&ci!X&ci!_&ci!i&ci!l&ci!o&ci!p&ci!q&ci!s&ci!u&ci!x&ci!|&ci$W&ci$n&ci%h&ci%j&ci%l&ci%m&ci%n&ci%q&ci%s&ci%v&ci%w&ci%y&ci&W&ci&^&ci&`&ci&b&ci&d&ci&g&ci&m&ci&s&ci&u&ci&w&ci&y&ci&{&ci'w&ci(T&ci(V&ci(Y&ci(a&ci(o&ci!^&cib&ci&j&ci~Ob2bO!^2`O&j2aO~P`O!_XO!l2dO~O&q,{OP&liQ&liS&liY&lia&lid&lie&lil&lip&lir&lis&lit&liz&li|&li!O&li!S&li!W&li!X&li!_&li!i&li!l&li!o&li!p&li!q&li!s&li!u&li!x&li!|&li$W&li$n&li%h&li%j&li%l&li%m&li%n&li%q&li%s&li%v&li%w&li%y&li&W&li&^&li&`&li&b&li&d&li&g&li&m&li&s&li&u&li&w&li&y&li&{&li'w&li(T&li(V&li(Y&li(a&li(o&li!^&li&e&lib&li&j&li~O!Y2jO~O!]!aa!^!aa~P#BwOs!nO!S!oO![2pO(e!mO!]'XX!^'XX~P@nO!]-]O!^(ia~O!]'_X!^'_X~P!9|O!]-`O!^(xa~O!^2wO~P'_Oa%nO#`3QO'z%nO~Oa%nO!g#vO#`3QO'z%nO~Oa%nO!g#vO!p3UO#`3QO'z%nO(r'pO~Oa%nO'z%nO~P!:tO!]$_Ov$qa~O!Y'Wi!]'Wi~P!:tO!](VO!Y(hi~O!](^O!Y(vi~O!Y(wi!](wi~P!:tO!](ti!k(tia(ti'z(ti~P!:tO#`3WO!](ti!k(tia(ti'z(ti~O!](jO!k(si~O!S%hO!_%iO!|]O#i3]O#j3[O(T%gO~O!S%hO!_%iO#j3[O(T%gO~On3dO!_'`O%i3cO~Oh%VOn3dO!_'`O%i3cO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aav%aa!_%aa%i%aa!g%aa~P#L{O#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%cav%ca!_%ca%i%ca!g%ca~P#MnO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/sO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/sO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'z}a(a}a(r}a!k}a!Y}a'w}av}a!_}a%i}a!g}a~P$(cO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'z$sa(a$sa(r$sa!k$sa!Y$sa'w$sav$sa!_$sa%i$sa!g$sa~P$)_O#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'z$ua(a$ua(r$ua!k$ua!Y$ua'w$uav$ua!_$ua%i$ua!g$ua~P$*QO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'z%Ta(a%Ta(r%Ta!k%Ta!Y%Ta'w%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/sOa#cq!]#cq'z#cq'w#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:tO![3lO!]'YX!k'YX~P%[O!].tO!k(ka~O!].tO!k(ka~P!:tO!Y3oO~O$O!na!^!na~PKlO$O!ja!]!ja!^!ja~P#BwO$O!ra!^!ra~P!=[O$O!ta!^!ta~P!?rOg']X!]']X~P!,TO!]/POg(pa~OSfO!_4TO$d4UO~O!^4YO~Ov4ZO~P#/sOa$mq!]$mq'z$mq'w$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:tO!Y4]O~P!&zO!S4^O~O!Q*OO'y*PO(z%POn'ia(y'ia!]'ia#`'ia~Og'ia$O'ia~P%-fO!Q*OO'y*POn'ka(y'ka(z'ka!]'ka#`'ka~Og'ka$O'ka~P%.XO(r$YO~P#/sO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!0SOp%WO(T=WO~P!1uOp4bO!S%hO![4aO!_%iO(T%gO!]'eX!k'eX~O!]/pO!k)Oa~O!]/pO!g#vO!k)Oa~O!]/pO!g#vO(r'pO!k)Oa~Og$|i!]$|i#`$|i$O$|i~P!1WO![4jO!Y'gX!]'gX~P!3tO!]/yO!Y)Pa~O!]/yO!Y)Pa~P#/sOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~Oj%YX!g%YX~P%2OOj4oO!g#vO~Oh%VO!g#vO!l%eO~Oh%VOr4tO!l%eO(r'pO~Or4yO!g#vO(r'pO~Os!nO!S4zO(VTO(YUO(e!mO~O(y$}On%ai!Q%ai'y%ai(z%ai!]%ai#`%ai~Og%ai$O%ai~P%5oO(z%POn%ci!Q%ci'y%ci(y%ci!]%ci#`%ci~Og%ci$O%ci~P%6bOg(_i!](_i~P!1WO#`5QOg(_i!](_i~P!1WO!k5VO~Oa$oq!]$oq'z$oq'w$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:tO!Y5ZO~O!]5[O!_)QX~P#/sOa$zX!_$zX%^]X'z$zX!]$zX~P!0SO%^5_OaoX!_oX'zoX!]oX~P$#OOp5`O(T#nO~O%^5_O~Ob5fO%j5gO(T+qO(VTO(YUO!]'tX!^'tX~O!]1TO!^)Xa~O[5kO~O`5lO~O[5pO~Oa%nO'z%nO~P#/sO!]5uO#`5wO!^)UX~O!^5xO~Or6OOs!nO!S*iO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!pO#W!pO#X!pO#[5}O#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O!^5|O~P%;eOn6TO!_1oO%i6SO~Oh%VOn6TO!_1oO%i6SO~Ob6[O(T#nO(VTO(YUO!]'sX!^'sX~O!]1zO!^)Va~O(VTO(YUO(e6^O~O`6bO~Oj6eO&[6fO~PNXO!k6gO~P%[Oa6iO~Oa6iO~P%[Ob2bO!^6nO&j2aO~P`O!g6pO~O!g6rOh(ji!](ji!^(ji!g(ji!l(jir(ji(r(ji~O!]#hi!^#hi~P#BwO#`6sO!]#hi!^#hi~O!]!ai!^!ai~P#BwOa%nO#`6|O'z%nO~Oa%nO!g#vO#`6|O'z%nO~O!](tq!k(tqa(tq'z(tq~P!:tO!](jO!k(sq~O!S%hO!_%iO#j7TO(T%gO~O!_'`O%i7WO~On7[O!_'`O%i7WO~O#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'z'ia(a'ia(r'ia!k'ia!Y'ia'w'iav'ia!_'ia%i'ia!g'ia~P%-fO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'z'ka(a'ka(r'ka!k'ka!Y'ka'w'kav'ka!_'ka%i'ka!g'ka~P%.XO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'z$|i(a$|i(r$|i!k$|i!Y$|i'w$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/sO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'z%ai(a%ai(r%ai!k%ai!Y%ai'w%aiv%ai!_%ai%i%ai!g%ai~P%5oO#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'z%ci(a%ci(r%ci!k%ci!Y%ci'w%civ%ci!_%ci%i%ci!g%ci~P%6bO!]'Ya!k'Ya~P!:tO!].tO!k(ki~O$O#ci!]#ci!^#ci~P#BwOP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#n#mi~P%NdO#n<_O~P%NdOP$[OR#zOr<kO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#r#mi~P&!lO#r<aO~P&!lOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO(aVO#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#v#mi~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO(aVO(z#}O#z#mi#{#mi$O#mi(r#mi(y#mi!]#mi!^#mi~O#x<eO~P&&uO#x#mi~P&&uO#v<cO~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO(aVO(y#|O(z#}O#{#mi$O#mi(r#mi!]#mi!^#mi~O#z#mi~P&)UO#z<gO~P&)UOa#|y!]#|y'z#|y'w#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:tO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO(y#mi(z#mi~P&,QOn>^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOr<QO!g#vO(r'pO~Ov(fX~P1qO!Q%rO~P!)[O(U!lO~P!)[O!YfX!]fX#`fX~P%2OOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~O!gfX!k]X!kfX(rfX~P'LTOP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_XO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]<iO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<tO!S${O!_$|O!i>WO!l$xO#j<zO$W%`O$t<vO$v<xO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Ol)dO~P(!yOr!eX(r!eX~P#!iOr(jX(r(jX~P##[O!^]X!^fX~P'LTO!YfX!Y$zX!]fX!]$zX#`fX~P!0SO#k<^O~O!g#vO#k<^O~O#`<nO~Oj<bO~O#`=OO!](wX!^(wX~O#`<nO!](uX!^(uX~O#k=PO~Og=RO~P!1WO#k=XO~O#k=YO~Og=RO(T&ZO~O!g#vO#k=ZO~O!g#vO#k=PO~O$O=[O~P#BwO#k=]O~O#k=^O~O#k=cO~O#k=dO~O#k=eO~O#k=fO~O$O=gO~P!1WO$O=hO~P!1WOl=sO~P7eOk#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~(OT#o!X'|(U#ps#n#qr!Q'}$]'}(T$_(e~",goto:"$9Y)]PPPPPP)^PP)aP)rP+W/]PPPP6mPP7TPP=QPPP@tPA^PA^PPPA^PCfPA^PA^PA^PCjPCoPD^PIWPPPI[PPPPI[L_PPPLeMVPI[PI[PP! eI[PPPI[PI[P!#lI[P!'S!(X!(bP!)U!)Y!)U!,gPPPPPPP!-W!(XPP!-h!/YP!2iI[I[!2n!5z!:h!:h!>gPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#<e#<k#<n)aP#<q)aP#<z#<z#<zP)aP)aP)aP)aPP)aP#=Q#=TP#=T)aP#=XP#=[P)aP)aP)aP)aP)aP)a)aPP#=b#=h#=s#=y#>P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{<Y%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_S#q]<V!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU+P%]<s<tQ+t&PQ,f&gQ,m&oQ0x+gQ0}+iQ1Y+uQ2R,kQ3`.gQ5`0|Q5f1TQ6[1zQ7Y3dQ8`5gR9e7['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>R>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o>U<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hW%Ti%V*y>PS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^T)z$u){V+P%]<s<tW'[!e%i*Z-`S(}#y#zQ+c%rQ+y&SS.b(m(nQ1j,XQ5T0kR8i5u'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vS(o#p'iQ)P#zS+b%q.|S.c(n(pR3^.d'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS#q]<VQ&t!XQ&u!YQ&w![Q&x!]R2Z,vQ'a!hQ+e%wQ-h'cS.e(q+hQ2x-gW3b.h.i0w0yQ6w2yW7U3_3a3e5^U9a7V7X7ZU:q9c9d9fS;b:p:sQ;p;cR;x;qU!wQ'`-eT5y1o5{!Q_OXZ`st!V!Z#d#h%e%m&i&k&r&t&u&w(j,s,x.[2[2_]!pQ!r'`-e1o5{T#q]<V%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S(}#y#zS.b(m(n!s=l$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uS<P;|;}R<S<QQ#wbQ's!uS(e#g2US(g#m+WQ+Y%fQ+j%xQ+p&OU-r'k't'wQ.W(fU/r*]*`/wQ0S*jQ0V*lQ1O+kQ1u,aS3R-s-vQ3Z.`S4e/s/tQ4n0PS4q0R0^Q4u0WQ6W1vQ7P3US7q4`4bQ7u4fU7|4r4x4{Q8P4wQ8v6XS9q7r7sQ9u7yQ9}8RQ:O8SQ:c8wQ:y9rS:z9v9xQ;S:QQ;^:dS;f:{;PS;r;g;hS;z;s;uS<O;{;}Q<R<PQ<T<SQ=o=jQ={=tR=|=uV!wQ'`-e%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S#wz!j!r=i$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!P<d)^)q-Z.|2k2n3p3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!f$Vc#Y%q(S(Y(t(y)W)X)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!T<f)^)q-Z.|2k2n3p3v3w3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!^$Zc#Y%q(S(Y(t(y)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<WQ4_/kz>S)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^Q+T%aQ/c*Oo4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!U$yi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n=r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hQ=w>TQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hnoOXst!Z#d%m&r&t&u&w,s,x2[2_S*f${*YQ-R'OQ-S'QR4i/y%[%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f<o#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<p<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!d=S(u)c*[*e.j.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f<q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!h=U(u)c*[*e.k.l.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|<jQ-|<WR<j)qQ/q*]W4c/q4d7t9sU4d/r/s/tS7t4e4fR9s7u$e*Q$v(u)c)e*[*e*t*u+Q+R+V.l.m.o.p.q/_/g/i/k/v/|0d0e0v1e3f3g3h3}4R4[4g4h4l4|5O5R5S5W5r7]7^7_7`7e7f7h7i7j7p7w7z8U8X8Z9h9i9j9t9|:R:S:t:u:v:w:x:};R;e;j;v;y=p=}>O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.l<oQ.m<qQ.o<uQ.p<wQ.q<yQ/_)yQ/g*RQ/i*TQ/k*VQ/v*aS/|*g/mQ0d*wQ0e*xl0v+f,V.f1i1q3c6S7W8q9b:`:r;[;dQ1e,SQ3f=SQ3g=UQ3h=XS3}<l<mQ4R/PS4[/d4^Q4g/xQ4h/yQ4l/{Q4|0`Q5O0bQ5R0iQ5S0jQ5W0oQ5r1fQ7]=]Q7^=_Q7_=aQ7`=cQ7e<pQ7f<rQ7h<vQ7i<xQ7j<zQ7p4_Q7w4jQ7z4oQ8U5QQ8X5[Q8Z5_Q9h=YQ9i=TQ9j=VQ9t7vQ9|8QQ:R8VQ:S8[Q:t=^Q:u=`Q:v=bQ:w=dQ:x9pQ:}9yQ;R:PQ;e=gQ;j;QQ;v;kQ;y=hQ=p>PQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.n<sR7g<tnpOXst!Z#d%m&r&t&u&w,s,x2[2_Q!fPS#fZ#oQ&|!`W'h!o*i0]4zQ(P#SQ)Q#{Q)r$nS,l&k&nQ,q&oQ-O&{S-T'T/nQ-g'bQ.x)OQ/[)sQ0s+]Q0y+gQ2W,pQ2y-iQ3a.gQ4W/VQ5U0lQ6Q1rQ6c2SQ6d2TQ6h2VQ6j2XQ6o2aQ7Z3dQ7m4TQ8s6TQ9P6eQ9Q6fQ9S6iQ9f7[Q:a8tR:k9T#[cOPXZst!Z!`!o#d#o#{%m&k&n&o&r&t&u&w&{'T'b)O*i+]+g,p,s,x-i.g/n0]0l1r2S2T2V2X2[2_2a3d4z6T6e6f6i7[8t9TQ#YWQ#eYQ%quQ%svS%uw!gS(S#W(VQ(Y#ZQ(t#uQ(y#xQ)R$OQ)S$PQ)T$QQ)U$RQ)V$SQ)W$TQ)X$UQ)Y$VQ)Z$WQ)[$XQ)^$ZQ)`$_Q)b$aQ)g$eW)q$n)s/V4TQ+d%tQ+x&RS-Z'X2pQ-x'rS-}(T.PQ.S(]Q.U(dQ.s(xQ.v(zQ.z<UQ.|<XQ.}<YQ/O<]Q/b)}Q0p+XQ2k-UQ2n-XQ3O-qQ3V.VQ3k.tQ3p<^Q3q<_Q3r<`Q3s<aQ3t<bQ3u<cQ3v<dQ3w<eQ3x<fQ3y<gQ3z<hQ3{.{Q3|<kQ4P<nQ4Q<{Q4X<iQ5X0rQ5c1SQ6u=OQ6{3QQ7Q3WQ7a3lQ7b=PQ7k=RQ7l=ZQ8k5wQ9X6sQ9]6|Q9g=[Q9m=eQ9n=fQ:o9_Q;W:ZQ;`:mQ<W#SR=v>SR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i<VR)f$dY!uQ'`-e1o5{Q'k!rS'u!v!yS'w!z5}S-t'l'mQ-v'nR3T-uT#kZ%eS#jZ%eS%km,oU(g#h#i#lS.Y(h(iQ.^(jQ0t+^Q3Y.ZU3Z.[.]._S7S3[3]R9`7Td#^W#W#Z%h(T(^*Y+Z.T/mr#gZm#h#i#l%e(h(i(j+^.Z.[.]._3[3]7TS*]$x*bQ/t*^Q2U,oQ2l-VQ4`/pQ6q2dQ7s4aQ9W6rT=m'X+[V#aW%h*YU#`W%h*YS(U#W(^U(Z#Z+Z/mS-['X+[T.O(T.TV'^!e%i*ZQ$lfR)x$qT)m$l)nR4V/UT*_$x*bT*h${*YQ0w+fQ1g,VQ3_.fQ5t1iQ6P1qQ7X3cQ8r6SQ9c7WQ:^8qQ:p9bQ;Z:`Q;c:rQ;n;[R;q;dnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&l!VR,h&itmOXst!U!V!Z#d%m&i&r&t&u&w,s,x2[2_R,o&oT%lm,oR1k,XR,g&gQ&U|S+}&V&WR1^,OR+s&PT&p!W&sT&q!W&sT2^,x2_",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:M$,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[_$],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Wp(Z!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Z!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(o%1l(Wp(Z!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Wp(Z!b$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Wp(Z!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Wp(Z!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(z+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(Y';W$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(WpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Wp(Z!b(U%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Wp(Z!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Wp(Z!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Wp(Z!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Wp(Z!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Z!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Wp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Wp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Wp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Wp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(WpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(WpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Wp(Z!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Wp(Z!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Wp(Z!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Wp(Z!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Wp(Z!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Wp(Z!b(O0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Wp(Z!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Z!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Z!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(WpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(WpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Wp(Z!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Wp(Z!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(r(Ct$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Wp(Z!b(a+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Wp(Z!b(T,2j$_#t(e$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Wp(Z!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(y+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[X$,j$,E$,L$,2,3,4,5,6,7,8,9,10,11,12,13,14,Z$,new hl("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new hl("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:n=>z$[n]||-1},{term:343,get:n=>D$[n]||-1},{term:95,get:n=>W$[n]||-1}],tokenPrec:15201}),$g=[et("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),et("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),et("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),et("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),et("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),et(`try {
|
|
7
|
+
اكتب **markdown** هنا…`,markdownHint:"الصق نص Markdown واضغط تحويل لإدراج HTML في المحرر.",markdownSubmit:"تحويل وإدراج",markdownEmpty:"يرجى إدخال نص Markdown.",markdownFailed:"فشل تحويل Markdown.",fullscreen:"ملء الشاشة",exitFullscreen:"الخروج من ملء الشاشة",editorLabel:"محرر النص",sourceLabel:"محرر مصدر HTML",close:"إغلاق",cancel:"إلغاء",save:"حفظ",linkTitle:"إدراج رابط",linkUrl:"العنوان",linkText:"نص العرض (اختياري)",linkTextPlaceholder:"نص الرابط",linkSubmit:"إدراج الرابط",linkEditTitle:"تحرير الرابط",linkEdit:"تحرير",linkPopoverLabel:"خيارات الرابط",linkUrlRequired:"يرجى إدخال عنوان الرابط.",linkInvalid:"رابط غير صالح.",linkUnsafe:"عنوان الرابط غير صالح أو غير آمن.",imageTitle:"إدراج صورة",imageSubmit:"إدراج الصورة",imageBusy:"جارٍ المعالجة…",imageUploadTab:"رفع ملف",imageUrlTab:"من رابط",imageFile:"ملف الصورة",imageUrl:"رابط الصورة",imageAlt:"النص البديل",imageAltPlaceholder:"وصف قصير للصورة",imageHint:"فقط jpg و png و gif و webp — بحد أقصى 2 ميجابايت",imagePickFile:"يرجى اختيار ملف صورة.",imageInsertFailed:"فشل إدراج الصورة.",imageUploadFailed:"فشل رفع الصورة.",imageUnsafe:"رابط الصورة غير صالح أو غير آمن.",imageLinkTitle:"رابط الصورة",imageLinkMode:"عند النقر",imageLinkNone:"بدون رابط",imageLinkUrl:"رابط إلى عنوان",imageLinkFile:"رابط إلى هذه الصورة",imageLinkLightbox:"عرض مكبر",imageLinkLightboxShort:"عرض مكبر",imageLinkUrlLabel:"عنوان الرابط",imageLinkFileHint:"يفتح الصورة التي رفعتها في تبويب جديد عند النقر.",imageLinkLightboxHint:"يفتح الصورة بالحجم الكامل في عرض مكبر عند النقر.",imageLinkUrlRequired:"يرجى إدخال عنوان الرابط.",imageLinkInvalid:"رابط الصورة غير صالح.",imageLinkSet:"مرتبط",editImageLink:"رابط",editImageLinkTitle:"تحرير رابط الصورة",imageLinkFileShort:"ملف",altTitle:"تحرير النص البديل للصورة",altLabel:"النص البديل (Alt)",altPlaceholder:"وصف قصير لإمكانية الوصول و SEO",altHint:"يظهر عندما يتعذر تحميل الصورة، ويستخدمه قارئات الشاشة.",editAlt:"تحرير Alt",editAltTitle:"تحرير النص البديل للصورة",resizeImage:"تغيير حجم الصورة",fileInvalid:"ملف غير صالح.",fileEmpty:"الملف فارغ.",fileTooLarge:n=>`يجب ألا يتجاوز حجم الملف ${n} ميجابايت.`,fileBadExtension:"امتداد الملف غير مسموح. فقط jpg و png و gif و webp.",fileBadMime:"نوع الملف غير مسموح.",fileBadContent:"محتوى الملف ليس صورة صالحة.",fileMimeMismatch:"نوع الملف المعلن لا يطابق المحتوى الفعلي.",fileReadError:"فشل قراءة الملف."},Ya={en:Hm,fa:Km,ar:Jm},e0=new Set(["fa","ar"]);function yl(n="en"){const e=String(n||"en").toLowerCase();return Ya[e]?e:"en"}function Ba(n="en"){return Ya[yl(n)]}function rd(n="en"){return e0.has(yl(n))?"rtl":"ltr"}function sd(n){return[{value:"p",label:n.paragraph},{value:"h1",label:n.heading1},{value:"h2",label:n.heading2},{value:"h3",label:n.heading3},{value:"h4",label:n.heading4},{value:"h5",label:n.heading5},{value:"h6",label:n.heading6},{value:"blockquote",label:n.quote},{value:"pre",label:n.preformatted}]}const t0=["#111827","#dc2626","#ea580c","#ca8a04","#16a34a","#2563eb","#7c3aed","#db2777","#ffffff"],i0=["transparent","#fef08a","#bbf7d0","#bfdbfe","#fecaca","#e9d5ff","#fed7aa","#e5e7eb","#111827"];function be({label:n,active:e,disabled:t,onClick:i,children:r,className:s=""}){return g.jsx("button",{type:"button",className:`te-tool${e?" is-active":""}${s?` ${s}`:""}`,title:n,"aria-label":n,"aria-pressed":!!e,disabled:t,onMouseDown:l=>{l.preventDefault(),i==null||i(l)},children:r})}function ti(){return g.jsx("span",{className:"te-toolbar__divider","aria-hidden":"true"})}const Ii=10,qi=5,n0=20,r0=20;function s0(n,e){if(n<Ii&&e<qi)return{cols:Ii,rows:qi};const t=n>=Ii?Math.min(n0,n+1):Ii,i=e>=qi?Math.min(r0,e+1):qi;return{cols:t,rows:i}}function l0({label:n,disabled:e,onInsert:t,onRememberSelection:i,t:r}){const[s,l]=Q.useState(!1),[o,a]=Q.useState(Ii),[c,h]=Q.useState(qi),[u,f]=Q.useState(0),[d,p]=Q.useState(0),O=Q.useRef(null),m=()=>{a(Ii),h(qi),f(0),p(0)};Q.useEffect(()=>{if(!s||e){e&&l(!1);return}const w=k=>{var P;(P=O.current)!=null&&P.contains(k.target)||(l(!1),m())},T=k=>{k.key==="Escape"&&(l(!1),m())};return document.addEventListener("mousedown",w),document.addEventListener("keydown",T),()=>{document.removeEventListener("mousedown",w),document.removeEventListener("keydown",T)}},[s,e]);const x=(w,T)=>{f(w),p(T);const{cols:k,rows:P}=s0(w,T);a(k),h(P)},S=()=>{u<1||d<1||(i==null||i(),t({cols:u,rows:d}),l(!1),m())};return g.jsxs("div",{className:`te-table-picker${s?" is-open":""}${e?" is-disabled":""}`,ref:O,children:[g.jsx("button",{type:"button",className:`te-tool${s?" is-active":""}`,title:n,"aria-label":n,"aria-expanded":s,"aria-haspopup":"true",disabled:e,onMouseDown:w=>{w.preventDefault(),!e&&(i==null||i(),s?(l(!1),m()):(m(),l(!0)))},children:te.table}),s&&!e?g.jsxs("div",{className:"te-table-picker__panel",role:"dialog","aria-label":n,onMouseDown:w=>w.preventDefault(),children:[g.jsx("div",{className:"te-table-picker__grid",style:{gridTemplateColumns:`repeat(${o}, 16px)`,gridTemplateRows:`repeat(${c}, 16px)`},onMouseLeave:()=>{f(0),p(0),a(Ii),h(qi)},children:Array.from({length:c*o},(w,T)=>{const k=Math.floor(T/o)+1,P=T%o+1,$=P<=u&&k<=d;return g.jsx("button",{type:"button",className:`te-table-picker__cell${$?" is-selected":""}`,"aria-label":`${P} × ${k}`,onMouseEnter:()=>x(P,k),onClick:S},`${P}-${k}`)})}),g.jsx("div",{className:"te-table-picker__size","aria-live":"polite",children:u>0&&d>0?`${u} × ${d}`:r.tablePickHint})]}):null]})}function Oh({label:n,icon:e,colors:t,value:i,onChange:r,onRememberSelection:s,allowTransparent:l=!1,disabled:o=!1,t:a}){const[c,h]=Q.useState(!1),[u,f]=Q.useState(null),d=Q.useRef(null),p=Q.useRef(!1),O=u??i,m=!O||O==="transparent"?l?"repeating-conic-gradient(#ddd 0% 25%, #fff 0% 50%) 50% / 6px 6px":"#111827":O;Q.useEffect(()=>{if(!c||o){f(null),o&&h(!1);return}const S=k=>{var P;p.current||(P=d.current)!=null&&P.contains(k.target)||h(!1)},w=k=>{k.key==="Escape"&&!p.current&&h(!1)},T=()=>{window.setTimeout(()=>{p.current=!1},50)};return document.addEventListener("mousedown",S),document.addEventListener("keydown",w),window.addEventListener("focus",T),()=>{document.removeEventListener("mousedown",S),document.removeEventListener("keydown",w),window.removeEventListener("focus",T)}},[c,o]);const x=(S,{close:w=!0}={})=>{o||(s==null||s(),r(S),f(null),w&&h(!1))};return g.jsxs("div",{className:`te-color${c?" is-open":""}${o?" is-disabled":""}`,ref:d,children:[g.jsxs("div",{className:"te-color__split",children:[g.jsxs("button",{type:"button",className:"te-tool te-color__apply",title:`${n} — ${a.applyCurrentColor}`,"aria-label":`${n} — ${a.applyCurrentColor}`,disabled:o,onMouseDown:S=>{S.preventDefault(),!o&&(s==null||s(),r(i))},children:[g.jsx("span",{className:"te-color__icon",children:e}),g.jsx("span",{className:"te-color__bar",style:{background:m},"aria-hidden":"true"})]}),g.jsx("button",{type:"button",className:`te-tool te-color__caret${c?" is-active":""}`,title:`${a.openPalette}: ${n}`,"aria-label":`${a.openPalette}: ${n}`,"aria-expanded":c,"aria-haspopup":"true",disabled:o,onMouseDown:S=>{S.preventDefault(),!o&&(s==null||s(),h(w=>!w))},children:te.chevronDown})]}),c&&!o?g.jsxs("div",{className:"te-color__swatches",role:"group","aria-label":n,onMouseDown:S=>S.stopPropagation(),children:[t.map(S=>g.jsx("button",{type:"button",className:`te-swatch${i===S?" is-selected":""}`,style:{background:S==="transparent"?"repeating-conic-gradient(#ddd 0% 25%, #fff 0% 50%) 50% / 8px 8px":S,borderColor:S==="#ffffff"?"#d1d5db":void 0},title:S==="transparent"?a.noColor:S,"aria-label":S==="transparent"?a.noColor:S,onMouseDown:w=>{w.preventDefault(),w.stopPropagation(),x(S)}},S)),g.jsx("label",{className:"te-swatch te-swatch--picker",title:a.customColor,onMouseDown:S=>{S.stopPropagation(),p.current=!0,s==null||s()},children:g.jsx("input",{type:"color",value:O&&O!=="transparent"?O:"#111827",onMouseDown:S=>{S.stopPropagation(),p.current=!0},onClick:S=>{S.stopPropagation(),p.current=!0},onInput:S=>{f(S.target.value)},onChange:S=>{x(S.target.value,{close:!1}),p.current=!1},onBlur:()=>{window.setTimeout(()=>{p.current=!1,f(null)},50)},"aria-label":`${a.pickCustomColor}: ${n}`})})]}):null]})}function o0({t:n,states:e,canUndo:t,canRedo:i,onCommand:r,onBlockChange:s,onOpenLink:l,onOpenCta:o,onOpenImage:a,onUndo:c,onRedo:h,onRememberSelection:u,sourceMode:f=!1,onToggleSource:d,onOpenMarkdown:p,fullscreen:O=!1,onToggleFullscreen:m}){const[x,S]=Q.useState("#111827"),[w,T]=Q.useState("#fef08a"),k=f,P=sd(n);return g.jsxs("div",{className:"te-toolbar",role:"toolbar","aria-label":n.toolbar,children:[g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(be,{label:n.undo,disabled:k||!t,onClick:c,children:te.undo}),g.jsx(be,{label:n.redo,disabled:k||!i,onClick:h,children:te.redo})]}),g.jsx(ti,{}),g.jsx("div",{className:"te-toolbar__group",children:g.jsxs("label",{className:"te-select-wrap",children:[g.jsx("span",{className:"te-sr-only",children:n.blockType}),g.jsx("select",{className:"te-select",value:e.format||"p",disabled:k,onChange:$=>s($.target.value),onMouseDown:$=>{$.stopPropagation(),u==null||u()},children:P.map($=>g.jsx("option",{value:$.value,children:$.label},$.value))})]})}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(be,{label:n.bold,active:e.bold,disabled:k,onClick:()=>r("bold"),children:te.bold}),g.jsx(be,{label:n.italic,active:e.italic,disabled:k,onClick:()=>r("italic"),children:te.italic}),g.jsx(be,{label:n.strike,active:e.strikeThrough,disabled:k,onClick:()=>r("strikeThrough"),children:te.strike})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(be,{label:n.bulletList,active:e.unorderedList,disabled:k,onClick:()=>r("insertUnorderedList"),children:te.ul}),g.jsx(be,{label:n.numberedList,active:e.orderedList,disabled:k,onClick:()=>r("insertOrderedList"),children:te.ol}),g.jsx(be,{label:n.quote,active:e.format==="blockquote",disabled:k,onClick:()=>s(e.format==="blockquote"?"p":"blockquote"),children:te.quote})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(be,{label:e.hasSelectedImage?n.alignImageRight:n.alignRight,active:e.justifyRight,disabled:k,onClick:()=>r("justifyRight"),children:te.alignRight}),g.jsx(be,{label:e.hasSelectedImage?n.alignImageCenter:n.alignCenter,active:e.justifyCenter,disabled:k,onClick:()=>r("justifyCenter"),children:te.alignCenter}),g.jsx(be,{label:e.hasSelectedImage?n.alignImageLeft:n.alignLeft,active:e.justifyLeft,disabled:k,onClick:()=>r("justifyLeft"),children:te.alignLeft})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(be,{label:n.rtl,disabled:k,onClick:()=>r("rtl"),children:te.rtl}),g.jsx(be,{label:n.ltr,disabled:k,onClick:()=>r("ltr"),children:te.ltr})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(be,{label:n.indent,className:"te-tool--indent",disabled:k,onClick:()=>r("indent"),children:te.indent}),g.jsx(be,{label:n.outdent,className:"te-tool--outdent",disabled:k,onClick:()=>r("outdent"),children:te.outdent})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(be,{label:e.link?n.linkEdit:n.insertLink,active:e.link,disabled:k,onClick:l,children:te.link}),g.jsx(be,{label:e.cta?n.ctaEditTitle:n.insertCta,active:e.cta,disabled:k,onClick:o,children:te.cta}),g.jsx(be,{label:n.insertImage,disabled:k,onClick:a,children:te.image}),g.jsx(l0,{label:n.insertTable,disabled:k,t:n,onRememberSelection:u,onInsert:({rows:$,cols:Z})=>r("insertTable",{rows:$,cols:Z})}),g.jsx(be,{label:n.horizontalRule,disabled:k,onClick:()=>r("insertHorizontalRule"),children:te.hr})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group te-toolbar__colors",children:[g.jsx(Oh,{label:n.textColor,icon:te.textColor,colors:t0,value:x,disabled:k,t:n,onRememberSelection:u,onChange:$=>{S($),r("foreColor",$)}}),g.jsx(Oh,{label:n.bgColor,icon:te.bgColor,colors:i0,value:w,allowTransparent:!0,disabled:k,t:n,onRememberSelection:u,onChange:$=>{T($),r("hiliteColor",$)}})]}),g.jsx(ti,{}),g.jsxs("div",{className:"te-toolbar__group",children:[g.jsx(be,{label:f?n.visualMode:n.sourceMode,active:f,onClick:d,children:te.code}),g.jsx(be,{label:n.markdown,className:"te-tool--md",onClick:p,children:te.markdown}),g.jsx(be,{label:O?n.exitFullscreen:n.fullscreen,active:O,onClick:m,children:O?te.exitFullscreen:te.fullscreen})]})]})}function qn({open:n,title:e,onClose:t,children:i,footer:r,closeLabel:s="Close"}){const l=Q.useId(),o=Q.useRef(null),a=Q.useRef(t);return a.current=t,Q.useEffect(()=>{var u,f;if(!n)return;const c=d=>{var p;d.key==="Escape"&&((p=a.current)==null||p.call(a))};document.addEventListener("keydown",c);const h=document.activeElement;return(f=(u=o.current)==null?void 0:u.querySelector("input,button,textarea,select"))==null||f.focus(),()=>{document.removeEventListener("keydown",c),h&&typeof h.focus=="function"&&h.focus()}},[n]),n?g.jsx("div",{className:"te-modal-backdrop",role:"presentation",onMouseDown:t,children:g.jsxs("div",{className:"te-modal",role:"dialog","aria-modal":"true","aria-labelledby":l,ref:o,onMouseDown:c=>c.stopPropagation(),children:[g.jsxs("div",{className:"te-modal__header",children:[g.jsx("h3",{id:l,children:e}),g.jsx("button",{type:"button",className:"te-modal__close",onClick:t,"aria-label":s,children:te.close})]}),g.jsx("div",{className:"te-modal__body",children:i}),r?g.jsx("div",{className:"te-modal__footer",children:r}):null]})}):null}function a0({open:n,onClose:e,onSubmit:t,initialUrl:i="",initialText:r="",initialClasses:s="",isEdit:l=!1,t:o}){const[a,c]=Q.useState(i),[h,u]=Q.useState(r),[f,d]=Q.useState(s),[p,O]=Q.useState("");Q.useEffect(()=>{n&&(c(i),u(r),d(s),O(""))},[n,i,r,s]);const m=x=>{x.preventDefault();const S=a.trim(),w=h.trim();if(!S){O(o.ctaUrlRequired);return}if(!w){O(o.ctaTextRequired);return}try{t({url:S,text:w,classes:f.trim()}),e()}catch(T){O(T.message||o.ctaInvalid)}};return g.jsx(qn,{open:n,title:l?o.ctaEditTitle:o.ctaTitle,onClose:e,closeLabel:o.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,children:o.cancel}),g.jsx("button",{type:"submit",form:"te-cta-form",className:"te-btn te-btn--primary",children:l?o.save:o.ctaSubmit})]}),children:g.jsxs("form",{id:"te-cta-form",onSubmit:m,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:o.ctaUrl}),g.jsx("input",{type:"text",dir:"ltr",placeholder:"https://example.com or /about",value:a,onChange:x=>c(x.target.value),required:!0})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:o.ctaText}),g.jsx("input",{type:"text",placeholder:o.ctaTextPlaceholder,value:h,onChange:x=>u(x.target.value),required:!0})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:o.ctaClasses}),g.jsx("input",{type:"text",dir:"ltr",placeholder:o.ctaClassesPlaceholder,value:f,onChange:x=>d(x.target.value)})]}),g.jsx("p",{className:"te-hint",children:o.ctaClassesHint}),p?g.jsx("p",{className:"te-error",children:p}):null]})})}function c0({open:n,onClose:e,onSubmit:t,initialUrl:i="",initialText:r="",isEdit:s=!1,t:l}){const[o,a]=Q.useState(i),[c,h]=Q.useState(r),[u,f]=Q.useState("");Q.useEffect(()=>{n&&(a(i),h(r),f(""))},[n,i,r]);const d=p=>{p.preventDefault();const O=o.trim();if(!O){f(l.linkUrlRequired);return}try{t({url:O,text:c.trim()}),e()}catch(m){f(m.message||l.linkInvalid)}};return g.jsx(qn,{open:n,title:s?l.linkEditTitle:l.linkTitle,onClose:e,closeLabel:l.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,children:l.cancel}),g.jsx("button",{type:"submit",form:"te-link-form",className:"te-btn te-btn--primary",children:s?l.save:l.linkSubmit})]}),children:g.jsxs("form",{id:"te-link-form",onSubmit:d,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:l.linkUrl}),g.jsx("input",{type:"text",dir:"ltr",placeholder:"https://example.com or /about",value:o,onChange:p=>a(p.target.value),required:!0})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:l.linkText}),g.jsx("input",{type:"text",placeholder:l.linkTextPlaceholder,value:c,onChange:p=>h(p.target.value)})]}),u?g.jsx("p",{className:"te-error",children:u}):null]})})}const h0=[{action:"insertRowAbove",labelKey:"tableInsertRowAbove",icon:"plus"},{action:"insertRowBelow",labelKey:"tableInsertRowBelow",icon:"plus"},{action:"insertColumnLeft",labelKey:"tableInsertColumnLeft",icon:"plus"},{action:"insertColumnRight",labelKey:"tableInsertColumnRight",icon:"plus"},{action:"deleteRow",labelKey:"tableDeleteRow",icon:"trash",danger:!0},{action:"deleteColumn",labelKey:"tableDeleteColumn",icon:"trash",danger:!0},{action:"deleteTable",labelKey:"tableDeleteTable",icon:"trash",danger:!0}];function u0({top:n,left:e,t,onAction:i,onClose:r}){const s=Q.useRef(null);return Q.useEffect(()=>{const l=a=>{var c;(c=s.current)!=null&&c.contains(a.target)||r==null||r()},o=a=>{a.key==="Escape"&&(r==null||r())};return document.addEventListener("mousedown",l),document.addEventListener("keydown",o),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",o)}},[r]),g.jsx("div",{ref:s,className:"te-table-menu",style:{top:n,left:e},role:"menu","aria-label":t.tableMenuLabel,onMouseDown:l=>l.preventDefault(),onContextMenu:l=>l.preventDefault(),children:h0.map((l,o)=>g.jsxs(Q.Fragment,{children:[o===4?g.jsx("div",{className:"te-table-menu__divider","aria-hidden":"true"}):null,g.jsxs("button",{type:"button",className:`te-table-menu__item${l.danger?" te-table-menu__item--danger":""}`,role:"menuitem",onClick:()=>i(l.action),children:[g.jsx("span",{className:"te-table-menu__icon","aria-hidden":"true",children:te[l.icon]}),g.jsx("span",{children:t[l.labelKey]})]})]},l.action))})}function f0({url:n,top:e,left:t,t:i,onEdit:r,onUnlink:s,onMouseEnter:l,onMouseLeave:o}){return g.jsxs("div",{className:"te-link-popover",style:{top:e,left:t},role:"dialog","aria-label":i.linkPopoverLabel,onMouseEnter:l,onMouseLeave:o,onMouseDown:a=>a.preventDefault(),children:[g.jsx("div",{className:"te-link-popover__url",dir:"ltr",title:n,children:n}),g.jsxs("div",{className:"te-link-popover__actions",children:[g.jsx("button",{type:"button",className:"te-link-popover__btn",onClick:r,"aria-label":i.linkEdit,title:i.linkEdit,children:te.edit}),g.jsx("button",{type:"button",className:"te-link-popover__btn te-link-popover__btn--danger",onClick:s,"aria-label":i.removeLink,title:i.removeLink,children:te.unlink})]})]})}function Io({t:n,mode:e,onModeChange:t,url:i,onUrlChange:r}){return g.jsxs("fieldset",{className:"te-fieldset",children:[g.jsx("legend",{children:n.imageLinkTitle}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:n.imageLinkMode}),g.jsxs("select",{value:e,onChange:s=>t(s.target.value),children:[g.jsx("option",{value:"none",children:n.imageLinkNone}),g.jsx("option",{value:"url",children:n.imageLinkUrl}),g.jsx("option",{value:"file",children:n.imageLinkFile}),g.jsx("option",{value:"lightbox",children:n.imageLinkLightbox})]})]}),e==="url"?g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:n.imageLinkUrlLabel}),g.jsx("input",{type:"text",dir:"ltr",placeholder:"https://example.com or /about",value:i,onChange:s=>r(s.target.value)})]}):null,e==="file"?g.jsx("p",{className:"te-hint",children:n.imageLinkFileHint}):null,e==="lightbox"?g.jsx("p",{className:"te-hint",children:n.imageLinkLightboxHint}):null]})}function d0({open:n,onClose:e,onSubmitUrl:t,onSubmitFile:i,accept:r="image/jpeg,image/png,image/gif,image/webp",t:s}){const[l,o]=Q.useState("file"),[a,c]=Q.useState(""),[h,u]=Q.useState(""),[f,d]=Q.useState("none"),[p,O]=Q.useState(""),[m,x]=Q.useState(""),[S,w]=Q.useState(!1),T=Q.useRef(null);Q.useEffect(()=>{n&&(o("file"),c(""),u(""),d("none"),O(""),x(""),w(!1),T.current&&(T.current.value=""))},[n]);const k=()=>{if(f==="none")return{mode:"none",href:""};if(f==="lightbox")return{mode:"lightbox",href:""};if(f==="url"){const Z=p.trim();if(!Z)throw new Error(s.imageLinkUrlRequired);return{mode:"url",href:Z}}return{mode:"file",href:""}},P=async Z=>{Z.preventDefault(),x(""),w(!0);try{const W=k();await t({url:a.trim(),alt:h.trim(),link:W}),e()}catch(W){x(W.message||s.imageInsertFailed)}finally{w(!1)}},$=async Z=>{var D,j;Z.preventDefault();const W=(j=(D=T.current)==null?void 0:D.files)==null?void 0:j[0];if(!W){x(s.imagePickFile);return}x(""),w(!0);try{const E=k();await i({file:W,alt:h.trim(),link:E}),e()}catch(E){x(E.message||s.imageUploadFailed)}finally{w(!1)}};return g.jsxs(qn,{open:n,title:s.imageTitle,onClose:e,closeLabel:s.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,disabled:S,children:s.cancel}),g.jsx("button",{type:"submit",form:l==="file"?"te-image-file-form":"te-image-url-form",className:"te-btn te-btn--primary",disabled:S,children:S?s.imageBusy:s.imageSubmit})]}),children:[g.jsxs("div",{className:"te-tabs",role:"tablist",children:[g.jsx("button",{type:"button",role:"tab","aria-selected":l==="file",className:l==="file"?"is-active":"",onClick:()=>o("file"),children:s.imageUploadTab}),g.jsx("button",{type:"button",role:"tab","aria-selected":l==="url",className:l==="url"?"is-active":"",onClick:()=>o("url"),children:s.imageUrlTab})]}),l==="file"?g.jsxs("form",{id:"te-image-file-form",onSubmit:$,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:s.imageFile}),g.jsx("input",{ref:T,type:"file",accept:r})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:s.imageAlt}),g.jsx("input",{type:"text",value:h,onChange:Z=>u(Z.target.value),placeholder:s.imageAltPlaceholder})]}),g.jsx(Io,{t:s,mode:f,onModeChange:d,url:p,onUrlChange:O}),g.jsx("p",{className:"te-hint",children:s.imageHint}),m?g.jsx("p",{className:"te-error",children:m}):null]}):g.jsxs("form",{id:"te-image-url-form",onSubmit:P,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:s.imageUrl}),g.jsx("input",{type:"url",dir:"ltr",placeholder:"https://...",value:a,onChange:Z=>c(Z.target.value),required:!0})]}),g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:s.imageAlt}),g.jsx("input",{type:"text",value:h,onChange:Z=>u(Z.target.value),placeholder:s.imageAltPlaceholder})]}),g.jsx(Io,{t:s,mode:f,onModeChange:d,url:p,onUrlChange:O}),m?g.jsx("p",{className:"te-error",children:m}):null]})]})}function p0({open:n,onClose:e,onSubmit:t,initialMode:i="none",initialUrl:r="",t:s}){const[l,o]=Q.useState(i),[a,c]=Q.useState(r),[h,u]=Q.useState(""),[f,d]=Q.useState(!1);Q.useEffect(()=>{n&&(o(i),c(r),u(""),d(!1))},[n,i,r]);const p=async O=>{O.preventDefault(),u(""),d(!0);try{if(l==="none"){await t({mode:"none",href:""}),e();return}if(l==="lightbox"||l==="file"){await t({mode:l,href:""}),e();return}if(l==="url"){const m=a.trim();if(!m){u(s.imageLinkUrlRequired);return}await t({mode:"url",href:m}),e();return}}catch(m){u(m.message||s.imageLinkInvalid)}finally{d(!1)}};return g.jsx(qn,{open:n,title:s.imageLinkTitle,onClose:e,closeLabel:s.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,disabled:f,children:s.cancel}),g.jsx("button",{type:"submit",form:"te-image-link-form",className:"te-btn te-btn--primary",disabled:f,children:f?s.imageBusy:s.save})]}),children:g.jsxs("form",{id:"te-image-link-form",onSubmit:p,className:"te-form",children:[g.jsx(Io,{t:s,mode:l,onModeChange:o,url:a,onUrlChange:c}),h?g.jsx("p",{className:"te-error",children:h}):null]})})}function O0({open:n,onClose:e,onSubmit:t,initialAlt:i="",t:r}){const[s,l]=Q.useState(i);Q.useEffect(()=>{n&&l(i)},[n,i]);const o=a=>{a.preventDefault(),t({alt:s.trim()}),e()};return g.jsx(qn,{open:n,title:r.altTitle,onClose:e,closeLabel:r.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,children:r.cancel}),g.jsx("button",{type:"submit",form:"te-image-alt-form",className:"te-btn te-btn--primary",children:r.save})]}),children:g.jsxs("form",{id:"te-image-alt-form",onSubmit:o,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:r.altLabel}),g.jsx("input",{type:"text",value:s,onChange:a=>l(a.target.value),placeholder:r.altPlaceholder})]}),g.jsx("p",{className:"te-hint",children:r.altHint})]})})}function g0({open:n,onClose:e,onSubmit:t,t:i}){const[r,s]=Q.useState(""),[l,o]=Q.useState("");Q.useEffect(()=>{n&&(s(""),o(""))},[n]);const a=c=>{c.preventDefault();const h=r.trim();if(!h){o(i.markdownEmpty);return}try{t(h),e()}catch(u){o(u.message||i.markdownFailed)}};return g.jsx(qn,{open:n,title:i.markdownTitle,onClose:e,closeLabel:i.close,footer:g.jsxs(g.Fragment,{children:[g.jsx("button",{type:"button",className:"te-btn te-btn--ghost",onClick:e,children:i.cancel}),g.jsx("button",{type:"submit",form:"te-markdown-form",className:"te-btn te-btn--primary",children:i.markdownSubmit})]}),children:g.jsxs("form",{id:"te-markdown-form",onSubmit:a,className:"te-form",children:[g.jsxs("label",{className:"te-field",children:[g.jsx("span",{children:i.markdownLabel}),g.jsx("textarea",{className:"te-textarea",value:r,onChange:c=>s(c.target.value),placeholder:i.markdownPlaceholder,rows:10,dir:"auto",spellCheck:!1})]}),g.jsx("p",{className:"te-hint",children:i.markdownHint}),l?g.jsx("p",{className:"te-error",children:l}):null]})})}const m0=["p","br","div","span","h1","h2","h3","h4","h5","h6","ul","ol","li","strong","b","em","i","s","strike","del","blockquote","pre","code","a","img","hr","u","font","table","thead","tbody","tfoot","tr","th","td","caption","colgroup","col"],b0=["href","target","rel","src","alt","title","width","height","style","dir","class","color","face","size","contenteditable","data-align","data-te-lightbox","data-te-link-mode","loading","draggable","colspan","rowspan","scope","align","valign","border","cellpadding","cellspacing"],x0=/^(https?:|blob:|data:image\/(png|jpeg|jpg|gif|webp);base64,)/i;function _i(n,e=!1){if(!n||typeof n!="string")return!1;const t=n.trim();return t?e?x0.test(t)||t.startsWith("/"):/^(javascript|vbscript|data):/i.test(t)?!1:t.startsWith("#")||t.startsWith("/")||/^(https?|mailto|tel|blob):/i.test(t)||t.startsWith("//")?!0:!/^[a-z][a-z0-9+.-]*:/i.test(t):!1}const k0=/^(?:(?:https?|blob):|data:image\/(?:png|jpeg|jpg|gif|webp);base64,|mailto:|tel:|\/|#)/i;function y0(n){return Fm.sanitize(n,{ALLOWED_TAGS:m0,ALLOWED_ATTR:b0,ALLOW_DATA_ATTR:!1,ALLOWED_URI_REGEXP:k0,FORBID_TAGS:["script","iframe","object","embed","form","input","style"],FORBID_ATTR:["onerror","onload","onclick","onmouseover","onfocus","onblur","onchange","onsubmit"]})}function S0(n){if(!n||typeof n!="string")return"";const e=new Set(["color","background-color","text-align","direction","margin","margin-top","margin-right","margin-bottom","margin-left","margin-inline-start","margin-inline-end","padding-right","padding-left","padding-inline-start","padding-inline-end","text-indent","font-weight","font-style","text-decoration","text-decoration-line","display","float","max-width","width","height","box-sizing","border","border-collapse","border-width","border-style","border-color","border-top","border-right","border-bottom","border-left","vertical-align","padding","padding-top","padding-right","padding-bottom","padding-left","background","background-color"]);return n.split(";").map(t=>t.trim()).filter(Boolean).map(t=>{const i=t.indexOf(":");if(i===-1)return null;const r=t.slice(0,i).trim().toLowerCase(),s=t.slice(i+1).trim();return!e.has(r)||/expression|url\s*\(|javascript|import/i.test(s)?null:`${r}: ${s}`}).filter(Boolean).join("; ")}function gh(n){if(!n||typeof n!="string")return 0;const e=n.trim().match(/^(\d+(?:\.\d+)?)px$/i);return e?Math.round(Number(e[1])):0}function w0(n){let e=gh(n.style.width)||parseInt(n.getAttribute("width")||"",10),t=gh(n.style.height)||parseInt(n.getAttribute("height")||"",10);e>0&&t>0&&(n.setAttribute("width",String(e)),n.setAttribute("height",String(t)),n.style.width=`${e}px`,n.style.height=`${t}px`),n.style.display||(n.style.display="block"),n.style.maxWidth="100%"}function Q0(n){const e=n==null?void 0:n.parentElement;return(e==null?void 0:e.tagName)==="A"&&e.classList.contains("te-figure__link")?e:null}function Je(n){if(!n)return"";const e=y0(n);if(typeof document>"u")return e;const t=document.createElement("div");return t.innerHTML=e,t.querySelectorAll("font").forEach(i=>{const r=document.createElement("span"),s=i.getAttribute("color");for(s&&(r.style.color=s);i.firstChild;)r.appendChild(i.firstChild);i.replaceWith(r)}),t.querySelectorAll("a").forEach(i=>{const r=i.getAttribute("href")||"";_i(r,!1)?(i.setAttribute("rel","noopener noreferrer"),/^https?:/i.test(r)&&i.setAttribute("target","_blank")):i.removeAttribute("href")}),t.querySelectorAll("img").forEach(i=>{var o,a;const r=i.getAttribute("src")||"";if(!_i(r,!0)){i.remove();return}i.removeAttribute("onerror"),i.removeAttribute("onload"),w0(i);const s=Q0(i);if(s){const c=s.getAttribute("href")||"",h=s.hasAttribute("data-te-lightbox")||s.classList.contains("te-figure__link--lightbox"),u=s.getAttribute("data-te-link-mode");(h||u==="file")&&_i(c,!0)||_i(c,!1)?(s.setAttribute("rel","noopener noreferrer"),h?(s.classList.add("te-figure__link--lightbox"),s.setAttribute("data-te-lightbox","true"),s.removeAttribute("target")):u==="file"||/^https?:/i.test(c)?s.setAttribute("target","_blank"):s.removeAttribute("target")):s.replaceWith(i)}const l=s&&s.isConnected?s:i;if(!l.closest(".te-figure")){const c=document.createElement("div");c.className="te-figure",c.setAttribute("contenteditable","false");const h=i.style.textAlign||i.getAttribute("data-align")||((a=(o=l.parentElement)==null?void 0:o.style)==null?void 0:a.textAlign)||"center";c.setAttribute("data-align",h),c.style.textAlign=h,l.replaceWith(c),c.appendChild(l)}}),t.querySelectorAll(".te-figure").forEach(i=>{i.setAttribute("contenteditable","false"),i.getAttribute("data-align")||i.setAttribute("data-align",i.style.textAlign||"center"),i.querySelectorAll(".te-figure__alt-btn, .te-figure__link-btn, .te-figure__resize-handle, button").forEach(r=>r.remove()),i.classList.remove("is-selected"),i.querySelector("img")||i.remove()}),t.querySelectorAll("img.is-selected").forEach(i=>{i.classList.remove("is-selected")}),t.querySelectorAll("[style]").forEach(i=>{const r=S0(i.getAttribute("style"));r?i.setAttribute("style",r):i.removeAttribute("style")}),v0(t),$n(t),t.innerHTML}function v0(n){n.querySelectorAll("table").forEach(e=>{e.querySelectorAll("th, td").forEach(t=>{!(t.textContent||"").replace(/\u200b/g,"").trim()&&!t.querySelector("img, br")&&(t.innerHTML="<br>")})})}function Fl(n){const e=n.parentNode;if(e){for(;n.firstChild;)e.insertBefore(n.firstChild,n);e.removeChild(n)}}function $0(n){const e=[];for(let t=0;t<n.style.length;t+=1)e.push(n.style.item(t));return e}function Hl(n){if(!n||n.nodeType!==Node.ELEMENT_NODE||n.tagName!=="SPAN")return!1;const e=$0(n);return e.length?e.every(t=>t==="color"||t==="background-color"):!1}function $n(n){if(!n)return;let e=0,t=!0;for(;t&&e<80;)t=!1,e+=1,[...n.querySelectorAll("span")].forEach(i=>{var s;if(!i.isConnected)return;if(!((s=i.getAttribute("style"))!=null&&s.trim())&&!i.className){Fl(i),t=!0;return}if(!Hl(i))return;const r=i.parentElement;if(r&&Hl(r)&&r.childNodes.length===1&&r.firstChild===i){for(i.style.color&&(r.style.color=i.style.color),i.style.backgroundColor&&(r.style.backgroundColor=i.style.backgroundColor);i.firstChild;)r.insertBefore(i.firstChild,i);i.remove(),t=!0;return}r&&Hl(r)&&(i.style.color&&(r.style.color=i.style.color),i.style.backgroundColor&&(r.style.backgroundColor=i.style.backgroundColor),Fl(i),t=!0)});n.querySelectorAll("span").forEach(i=>{var r;!((r=i.getAttribute("style"))!=null&&r.trim())&&!i.className&&Fl(i)})}function en(n){return _i(n,!1)}function Va(n){return _i(n,!0)}const P0=[{mime:"image/jpeg",bytes:[255,216,255]},{mime:"image/png",bytes:[137,80,78,71]},{mime:"image/gif",bytes:[71,73,70,56]},{mime:"image/webp",check:n=>n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80}],ld={maxSizeBytes:2*1024*1024,allowedMimeTypes:["image/jpeg","image/png","image/gif","image/webp"],allowedExtensions:[".jpg",".jpeg",".png",".gif",".webp"]};function T0(n){const e=n.lastIndexOf(".");return e===-1?"":n.slice(e).toLowerCase()}function C0(n){return n.replace(/[/\\?%*:|"<>]/g,"_").replace(/\s+/g,"-").replace(/\.+/g,".").slice(0,100)||"image"}async function A0(n,e=16){const i=await n.slice(0,e).arrayBuffer();return new Uint8Array(i)}function R0(n){for(const e of P0)if(e.check){if(e.check(n))return e.mime}else if(e.bytes.every((t,i)=>n[i]===t))return e.mime;return null}function od(n={}){return n.messages||Ba(n.language||"en")}async function ad(n,e={}){const t={...ld,...e},i=od(e),r=[];if(!n||!(n instanceof Blob))return{ok:!1,errors:[i.fileInvalid]};if(n.size<=0&&r.push(i.fileEmpty),n.size>t.maxSizeBytes){const a=(t.maxSizeBytes/1048576).toFixed(1);r.push(i.fileTooLarge(a))}const s=T0(n.name||"");t.allowedExtensions.includes(s)||r.push(i.fileBadExtension);const l=(n.type||"").toLowerCase();l&&!t.allowedMimeTypes.includes(l)&&r.push(i.fileBadMime);let o=null;try{const a=await A0(n);o=R0(a),o?l&&l!==o&&!(l==="image/jpg"&&o==="image/jpeg")&&r.push(i.fileMimeMismatch):r.push(i.fileBadContent)}catch{r.push(i.fileReadError)}return r.length?{ok:!1,errors:r}:{ok:!0,mime:o||l,safeName:C0(n.name||`image${s}`),errors:[]}}function M0(n,e){return new Promise((t,i)=>{const r=new FileReader;r.onload=()=>{const s=r.result;if(typeof s!="string"||!s.startsWith("data:image/")){i(new Error("Failed to encode image."));return}if(e&&s.startsWith("data:")){const l=s.indexOf(",");if(l!==-1){t(`data:${e};base64,${s.slice(l+1)}`);return}}t(s)},r.onerror=()=>i(r.error||new Error("Failed to read file.")),r.readAsDataURL(n)})}async function cd(n,e={}){const t=od(e),i=await ad(n,e);if(!i.ok)throw new Error(i.errors.join(" "));if(typeof e.onUpload=="function"){const r=await e.onUpload(n,{mime:i.mime,safeName:i.safeName});if(!r||typeof r!="string")throw new Error(t.imageUploadFailed);return r}try{return await M0(n,i.mime)}catch{throw new Error(t.fileReadError)}}function hd(n=50){let e=[],t=-1;return{push(i){t>=0&&e[t]===i||(e=e.slice(0,t+1),e.push(i),e.length>n?e.shift():t+=1,t>=n&&(t=n-1),t=e.length-1)},undo(){return t<=0?null:(t-=1,e[t])},redo(){return t>=e.length-1?null:(t+=1,e[t])},canUndo(){return t>0},canRedo(){return t<e.length-1},current(){return t>=0?e[t]:null},reset(i=""){e=[i],t=0}}}const Z0="img, .te-figure, video, iframe, table, hr, blockquote, ul li, ol li, pre, code",X0=/<(?:img|video|iframe|table|hr)\b|te-figure\b|<blockquote\b|<(?:ul|ol)\b|<pre\b|<code\b/i;function Oi(n){if(String(n||"").replace(/<[^>]+>/g,"").replace(/\u200b/g,"").trim())return!1;if(typeof document<"u"){const t=document.createElement("div");return t.innerHTML=n,!t.querySelector(Z0)}return!X0.test(String(n||""))}function _e(n){n&&n.focus({preventScroll:!0})}function er(n){const e=window.getSelection();if(!e||e.rangeCount===0)return null;const t=e.getRangeAt(0);return n.contains(t.commonAncestorContainer)?t.cloneRange():null}function zt(n){if(!n)return!1;const e=window.getSelection();if(!e)return!1;try{return e.removeAllRanges(),e.addRange(n),!0}catch{return!1}}function Ge(n,e=null){try{return document.execCommand(n,!1,e)}catch{return!1}}function fi(n){try{return document.queryCommandState(n)}catch{return!1}}function L0(n){try{return document.queryCommandValue(n)}catch{return""}}function j0(){const n=(L0("formatBlock")||"").toLowerCase();return n?n.replace(/[<>]/g,""):"p"}function ud(){try{document.execCommand("styleWithCSS",!1,!0)}catch{}}function Yn(n){const e=window.getSelection();if(!e||e.rangeCount===0)return null;const t=e.getRangeAt(0);return n.contains(t.commonAncestorContainer)?t:null}function Na(n,e=null){var s;const t=e||Yn(n);if(!t||!n)return null;let i=t.commonAncestorContainer;if(i.nodeType===Node.TEXT_NODE&&(i=i.parentElement),!i||!n.contains(i))return null;const r=(s=i.closest)==null?void 0:s.call(i,"a[href]");return!r||!n.contains(r)?null:{element:r,url:r.getAttribute("href")||"",text:r.textContent||""}}function mh(n){return!n||n.collapsed?"":n.toString()}function E0(n){if(!n)return!1;const e=document.createRange();return e.selectNodeContents(n),zt(e)}function Pn(n,e){n.setAttribute("href",e),n.setAttribute("rel","noopener noreferrer"),/^https?:/i.test(e)?n.setAttribute("target","_blank"):n.removeAttribute("target")}const Tn="none",fd="url",Cn="file",An="lightbox";function Ga(n){if(!n)return null;const e=n.parentElement;return(e==null?void 0:e.tagName)==="A"&&e.classList.contains("te-figure__link")?e:null}function zs(n){if(!n)return{mode:Tn,href:""};const e=Ga(n);return e?e.hasAttribute("data-te-lightbox")||e.classList.contains("te-figure__link--lightbox")?{mode:An,href:e.getAttribute("href")||n.getAttribute("src")||""}:{mode:e.getAttribute("data-te-link-mode")===Cn?Cn:fd,href:e.getAttribute("href")||""}:{mode:Tn,href:""}}function _0(n){const e=Ga(n);e!=null&&e.parentElement&&e.replaceWith(n)}function z0(n,e){const t=n.parentElement;t&&(t.insertBefore(e,n),e.appendChild(n))}function bh(n,e){const t=(e||n.getAttribute("src")||"").trim();return t&&(Va(t)||en(t))?t:null}function dd(n,{mode:e,href:t}={},i){if(!n||(_0(n),!e||e===Tn))return;const r=i||{},s=document.createElement("a");if(s.className="te-figure__link",e===An){const l=bh(n,t);if(!l)throw new Error(i&&i.imageLinkInvalid||"Invalid image link.");s.setAttribute("href",l),s.classList.add("te-figure__link--lightbox"),s.setAttribute("data-te-lightbox","true"),s.setAttribute("data-te-link-mode",An),s.setAttribute("rel","noopener noreferrer"),s.removeAttribute("target")}else if(e===Cn){const l=bh(n,t);if(!l)throw new Error(i&&i.imageLinkInvalid||"Invalid image link.");s.setAttribute("href",l),s.setAttribute("rel","noopener noreferrer"),s.setAttribute("target","_blank"),s.setAttribute("data-te-link-mode",Cn)}else{const l=(t||"").trim();if(!l||!en(l))throw new Error(r.linkUnsafe||"The link URL is invalid or unsafe.");Pn(s,l),s.setAttribute("data-te-link-mode",fd)}z0(n,s)}function D0(n,e,t,i,r){if(!n||!e||!n.contains(e))return!1;if(!en(t))throw new Error(r&&r.linkUnsafe||"The link URL is invalid or unsafe.");return Pn(e,t),i&&(e.textContent=i),!0}function W0(n,e){return!n||!e||!n.contains(e)?!1:(E0(e),_e(n),Ge("unlink"))}function xh(n,e){_e(n);let t=Yn(n);if(!t)return!1;if(t.collapsed){const s=I0(t);if(s)zt(s),t=s;else{const l=document.createElement("span");e.color&&(l.style.color=e.color),e.backgroundColor&&(l.style.backgroundColor=e.backgroundColor),l.appendChild(document.createTextNode("")),t.insertNode(l);const o=document.createRange();return o.setStart(l.firstChild,1),o.collapse(!0),zt(o),!0}}if(q0(t,e))return $n(n),!0;const r=B0(n,e);return $n(n),r}function I0(n){const e=n.startContainer;if(!e||e.nodeType!==Node.TEXT_NODE)return null;const t=e.textContent||"";if(!t.trim())return null;let i=n.startOffset,r=n.endOffset;for(;i>0&&!/\s/.test(t[i-1]);)i-=1;for(;r<t.length&&!/\s/.test(t[r]);)r+=1;if(i===r)return null;const s=n.cloneRange();return s.setStart(e,i),s.setEnd(e,r),s}function q0(n,e){var l;let t=n.commonAncestorContainer;t.nodeType===Node.TEXT_NODE&&(t=t.parentElement);let i=null,r=t;for(;r;){if(r.tagName==="SPAN"&&r.hasAttribute("style")){const o=document.createRange();if(o.selectNodeContents(r),n.compareBoundaryPoints(Range.START_TO_START,o)===0&&n.compareBoundaryPoints(Range.END_TO_END,o)===0){i=r;break}}if((l=r.classList)!=null&&l.contains("te-editor"))break;r=r.parentElement}if(!i)return!1;e.color&&(i.style.color=e.color),e.backgroundColor&&(e.backgroundColor==="transparent"?i.style.backgroundColor="":i.style.backgroundColor=e.backgroundColor);const s=window.getSelection();if(s){const o=document.createRange();o.selectNodeContents(i),s.removeAllRanges(),s.addRange(o)}return!0}function Y0(n,e){n.querySelectorAll("[style]").forEach(t=>{var i;e.forEach(r=>{t.style[r]=""}),!((i=t.getAttribute("style"))!=null&&i.trim())&&!t.className&&t.removeAttribute("style")})}function B0(n,e){const t=Yn(n);if(!t||t.collapsed)return!1;const i=[];e.color&&i.push("color"),e.backgroundColor&&i.push("backgroundColor");const r=t.extractContents(),s=document.createElement("div");s.appendChild(r),i.length&&Y0(s,i),$n(s);const l=document.createElement("span");for(e.color&&(l.style.color=e.color),e.backgroundColor&&(l.style.backgroundColor=e.backgroundColor);s.firstChild;)l.appendChild(s.firstChild);t.insertNode(l);const o=window.getSelection();if(o){const a=document.createRange();a.selectNodeContents(l),o.removeAllRanges(),o.addRange(a)}return!0}function V0(n){_e(n);const e=Yn(n);e&&(ud(),Ge("hiliteColor","transparent"),Ge("backColor","transparent"),n.querySelectorAll("span[style]").forEach(t=>{var i;e.intersectsNode(t)&&(t.style.backgroundColor="",(i=t.getAttribute("style"))!=null&&i.trim()||t.removeAttribute("style"))}),$n(n))}function kh(n,e,t,i={}){switch(_e(n),ud(),e){case"bold":Ge("bold");break;case"italic":Ge("italic");break;case"strikeThrough":Ge("strikeThrough");break;case"formatBlock":{const r=t||"p";Ge("formatBlock",r==="p"?"p":r);break}case"insertUnorderedList":Ge("insertUnorderedList");break;case"insertOrderedList":Ge("insertOrderedList");break;case"justifyRight":Kl(n,"right",i.selectedImage);break;case"justifyCenter":Kl(n,"center",i.selectedImage);break;case"justifyLeft":Kl(n,"left",i.selectedImage);break;case"indent":yh(n,1);break;case"outdent":yh(n,-1);break;case"insertHorizontalRule":Ge("insertHorizontalRule");break;case"insertTable":pb(n,(t==null?void 0:t.rows)??3,(t==null?void 0:t.cols)??3);break;case"foreColor":xh(n,{color:t});break;case"hiliteColor":!t||t==="transparent"?V0(n):xh(n,{backgroundColor:t});break;case"removeFormat":Ge("removeFormat");break}}function pd(n,e){var i;let t=e;for(t&&t.nodeType===Node.TEXT_NODE&&(t=t.parentElement);t&&t!==n;){if((i=t.matches)!=null&&i.call(t,"p,div,h1,h2,h3,h4,h5,h6,li,blockquote,pre,figure,.te-figure"))return t;t=t.parentElement}return null}const N0=24,G0=240;function U0(n){var i,r,s,l;const e=(i=n.style)==null?void 0:i.marginInlineStart;if(e){const o=parseFloat(e);if(!Number.isNaN(o))return o}const t=(l=(s=(r=n.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.getComputedStyle(n))==null?void 0:l.marginInlineStart;if(t){const o=parseFloat(t);if(!Number.isNaN(o)&&o>0)return o}return 0}function F0(n,e){const t=[],i=new Set,r=s=>{var o;const l=pd(n,s);!l||l===n||i.has(l)||(o=l.matches)!=null&&o.call(l,"figure,.te-figure")||(i.add(l),t.push(l))};if(r(e.startContainer),r(e.endContainer),!e.collapsed)try{const s=n.ownerDocument.createTreeWalker(e.commonAncestorContainer.nodeType===Node.ELEMENT_NODE?e.commonAncestorContainer:e.commonAncestorContainer.parentElement||n,NodeFilter.SHOW_ELEMENT,{acceptNode(o){var a;return e.intersectsNode(o)?(a=o.matches)!=null&&a.call(o,"p,div,h1,h2,h3,h4,h5,h6,li,blockquote,pre")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP:NodeFilter.FILTER_REJECT}});let l=s.currentNode;for((l==null?void 0:l.nodeType)===Node.ELEMENT_NODE&&r(l);l=s.nextNode();)r(l)}catch{}return t}function yh(n,e){_e(n);const t=Yn(n);if(!t)return;const i=F0(n,t);i.length&&i.forEach(r=>{var o;if(r.tagName==="LI"){H0(r,e);return}const s=U0(r),l=Math.max(0,Math.min(G0,s+e*N0));l<=0?(r.style.marginInlineStart="",(o=r.getAttribute("style"))!=null&&o.trim()||r.removeAttribute("style")):r.style.marginInlineStart=`${l}px`})}function H0(n,e){const t=n.parentElement;if(!t||t.tagName!=="UL"&&t.tagName!=="OL")return;if(e>0){const s=n.previousElementSibling;if(!s||s.tagName!=="LI")return;let l=s.querySelector(":scope > ul, :scope > ol");l||(l=document.createElement(t.tagName.toLowerCase()),s.appendChild(l)),l.appendChild(n);return}const i=t.parentElement;!i||i.tagName!=="LI"||!i.parentElement||(i.after(n),t.children.length||t.remove())}function Kl(n,e,t){var o,a;const i=t&&n.contains(t)?t:null;if(i){Sh(i,e);return}const r=Yn(n),s=r==null?void 0:r.commonAncestorContainer,l=(s==null?void 0:s.nodeType)===Node.ELEMENT_NODE&&s.tagName==="IMG"?s:(a=(o=s==null?void 0:s.parentElement)==null?void 0:o.closest)==null?void 0:a.call(o,"img");if(l&&n.contains(l)){Sh(l,e);return}Ge(e==="right"?"justifyRight":e==="center"?"justifyCenter":"justifyLeft")}function Od(n){var r;const e=(r=n.closest)==null?void 0:r.call(n,".te-figure");if(e)return e;const t=document.createElement("div");t.className="te-figure",t.setAttribute("contenteditable","false");const i=Ga(n)||n;return i.replaceWith(t),t.appendChild(i),t}function K0(n,e){const t=n.naturalWidth,i=n.naturalHeight;if(t>0&&i>0)return i/t;const r=parseInt(n.getAttribute("width")||"",10),s=parseInt(n.getAttribute("height")||"",10);if(r>0&&s>0)return s/r;const l=n.getBoundingClientRect();return l.width>0&&l.height>0?l.height/l.width:1}function J0(n,e,t){n.style.width=`${e}px`,n.style.height=`${t}px`,n.style.maxWidth="100%",n.style.display="block"}function eb(n,e,t){if(!n||e<=0||t<=0)return;const i=Math.round(e),r=Math.round(t);n.setAttribute("width",String(i)),n.setAttribute("height",String(r)),n.style.width=`${i}px`,n.style.height=`${r}px`,n.style.display="block",n.style.maxWidth="100%"}function tb(n){return!n||n.complete&&n.naturalWidth>0?Promise.resolve():new Promise(e=>{const t=()=>e();n.addEventListener("load",t,{once:!0}),n.addEventListener("error",t,{once:!0})})}function Sh(n,e){const t=Od(n);t.setAttribute("data-align",e),t.style.textAlign=e,t.style.width="fit-content",t.style.maxWidth="100%",n.style.display="block",n.style.float="none",n.style.marginLeft="0",n.style.marginRight="0",e==="center"?(t.style.marginLeft="auto",t.style.marginRight="auto"):e==="left"?(t.style.marginLeft="0",t.style.marginRight="auto"):(t.style.marginLeft="auto",t.style.marginRight="0")}function tr(n,e,t){if(!n||!e)return;Or(e);const i=Od(n);i.classList.add("is-selected"),n.classList.add("is-selected");let r=i.querySelector(".te-figure__alt-btn");r||(r=document.createElement("button"),r.type="button",r.className="te-figure__alt-btn",r.setAttribute("contenteditable","false"),i.appendChild(r));const s=t||{},l=n.getAttribute("alt")||"";r.textContent=l?`Alt: ${l.length>28?`${l.slice(0,28)}…`:l}`:s.editAlt||"Edit Alt",r.title=s.editAltTitle||"Edit image alt text";let o=i.querySelector(".te-figure__link-btn");o||(o=document.createElement("button"),o.type="button",o.className="te-figure__link-btn",o.setAttribute("contenteditable","false"),i.appendChild(o));const a=zs(n);o.textContent=a.mode===Tn?s.editImageLink||"Link":a.mode===An?s.imageLinkLightboxShort||"Lightbox":a.mode===Cn?s.imageLinkFileShort||"File":s.imageLinkSet||"Linked",o.title=s.editImageLinkTitle||"Edit image link";let c=i.querySelector(".te-figure__resize-handle");c||(c=document.createElement("span"),c.className="te-figure__resize-handle",c.setAttribute("contenteditable","false"),c.setAttribute("role","presentation"),c.title=s.resizeImage||"Resize image",i.appendChild(c));const h=document.createRange();h.selectNode(i);const u=window.getSelection();u==null||u.removeAllRanges(),u==null||u.addRange(h),_e(e)}function ib(n,e,{editor:t,onComplete:i}={}){if(!n||!t||!e)return;const r=n.closest(".te-figure"),s=e.pointerId!==void 0,l=s?e.pointerId:null,o=e.clientX,a=n.getBoundingClientRect().width,c=parseInt(n.getAttribute("width")||"",10),h=a>0?a:c>0?c:200,u=K0(n),f=Math.max(48,t.clientWidth-16),d=getComputedStyle(t).direction;let p=h,O=Math.round(h*u);const m=S=>{if(s&&S.pointerId!==l)return;const w=S.clientX-o,T=d==="rtl"?-w:w;p=Math.round(Math.max(48,Math.min(h+T,f))),O=Math.round(p*u),J0(n,p,O),r&&(r.style.width="fit-content")},x=S=>{s&&S.pointerId!==l||(document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",x),document.removeEventListener("pointercancel",x),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",x),eb(n,p,O),i==null||i())};if(e.preventDefault(),s){const S=e.currentTarget||e.target;if(S!=null&&S.setPointerCapture)try{S.setPointerCapture(l)}catch{}document.addEventListener("pointermove",m),document.addEventListener("pointerup",x),document.addEventListener("pointercancel",x)}else document.addEventListener("mousemove",m),document.addEventListener("mouseup",x)}function Or(n){n&&(n.querySelectorAll(".te-figure.is-selected, img.is-selected").forEach(e=>{e.classList.remove("is-selected")}),n.querySelectorAll(".te-figure__alt-btn, .te-figure__link-btn, .te-figure__resize-handle").forEach(e=>e.remove()))}function gd(n,e,t){_e(n);const i=window.getSelection();if(!i)return;const r=document.createRange();if(e&&n.contains(e))r.setStart(e,0),r.collapse(!0);else if(t&&n.contains(t))r.selectNodeContents(t),r.collapse(!1);else if(Oi(n.innerHTML)){n.innerHTML="<p><br></p>";const s=n.querySelector("p");r.setStart(s,0),r.collapse(!0)}else r.selectNodeContents(n),r.collapse(!1);i.removeAllRanges(),i.addRange(r)}function nb(n){var s,l;if(!n)return!1;const e=n.querySelector(".te-figure.is-selected, img.is-selected");if(!e)return!1;const t=(s=e.classList)!=null&&s.contains("te-figure")?e:(l=e.closest)==null?void 0:l.call(e,".te-figure");if(!t||!n.contains(t))return!1;const i=t.nextElementSibling,r=t.previousElementSibling;return t.remove(),Or(n),gd(n,i,r),!0}function rb(n,e,t){var s;if(!n)return;dd(n,e,t);const i=(s=n.closest)==null?void 0:s.call(n,".te-figure"),r=i==null?void 0:i.querySelector(".te-figure__link-btn");if(r){const l=t||{},o=zs(n);r.textContent=o.mode===Tn?l.editImageLink||"Link":o.mode===An?l.imageLinkLightboxShort||"Lightbox":o.mode===Cn?l.imageLinkFileShort||"File":l.imageLinkSet||"Linked"}}function sb(n,e,t){var s;if(!n)return;n.setAttribute("alt",e||"");const i=(s=n.closest)==null?void 0:s.call(n,".te-figure"),r=i==null?void 0:i.querySelector(".te-figure__alt-btn");if(r){const l=t||{};r.textContent=e?`Alt: ${e.length>28?`${e.slice(0,28)}…`:e}`:l.editAlt||"Edit Alt"}}function lb(n,e){_e(n);const t=window.getSelection();if(!t||t.rangeCount===0){n.setAttribute("dir",e);return}let i=t.anchorNode;i&&i.nodeType===Node.TEXT_NODE&&(i=i.parentElement);const r=pd(n,i);r&&r!==n?(r.setAttribute("dir",e),r.style.direction=e):n.setAttribute("dir",e)}function ob(n,e,t,i){if(_e(n),!en(e))throw new Error(i&&i.linkUnsafe||"The link URL is invalid or unsafe.");const r=window.getSelection();if(r&&!r.isCollapsed&&n.contains(r.anchorNode)){Ge("createLink",e);const l=n.querySelectorAll("a[href]"),o=l[l.length-1];o&&Pn(o,e)}else{const l=t||e,o=document.createElement("a");o.textContent=l,Pn(o,e),Mn(n,o)}}function md(n){return!n||typeof n!="string"?"":n.split(/[\s,]+/).map(e=>e.trim().replace(/^\.+/,"")).filter(e=>e&&/^-?[_a-zA-Z][\w-]*$/.test(e)).join(" ")}function bd(n){return!n||n.tagName!=="A"?!1:!!(n.getAttribute("class")||"").trim()}function Ds(n,e=null){const t=Na(n,e);return!t||!bd(t.element)?null:{...t,classes:t.element.getAttribute("class")||""}}function ab(n,e,t,i,r,s){if(!n||!e||!n.contains(e))return!1;if(!en(t))throw new Error(s&&s.linkUnsafe||"The link URL is invalid or unsafe.");Pn(e,t),i&&(e.textContent=i);const l=md(r);return e.className=l||"te-cta",!0}function cb(n,e,t,i,r){if(_e(n),!en(e))throw new Error(r&&r.linkUnsafe||"The link URL is invalid or unsafe.");const s=md(i)||"te-cta",l=t||e,o=document.createElement("a");o.textContent=l,Pn(o,e),o.className=s,Mn(n,o)}function Sl(n){var c,h;const e=(c=n==null?void 0:n.closest)==null?void 0:c.call(n,"tr"),t=(h=n==null?void 0:n.closest)==null?void 0:h.call(n,"table");if(!e||!t)return null;const i=[...t.rows],r=i.indexOf(e);if(r<0)return null;const s=[...e.cells],l=s.indexOf(n);if(l<0)return null;let o=0;for(let u=0;u<l;u+=1)o+=s[u].colSpan||1;let a=0;return i.forEach(u=>{let f=0;[...u.cells].forEach(d=>{f+=d.colSpan||1}),a=Math.max(a,f)}),{cell:n,row:e,table:t,rowIndex:r,colIndex:o,cellIndex:l,colCount:a,rowCount:i.length}}function Rn(n,e){let t=0;for(const i of n.cells){const r=i.colSpan||1;if(e>=t&&e<t+r)return i;t+=r}return null}function wl(n){if(!n)return;const e=document.createRange();n.childNodes.length||(n.innerHTML="<br>"),e.selectNodeContents(n),e.collapse(!0),zt(e)}function hb(n){const e=document.createElement("tr");return[...n.cells].forEach(t=>{const i=document.createElement(t.tagName.toLowerCase());i.innerHTML="<br>",t.colSpan>1&&(i.colSpan=t.colSpan),e.appendChild(i)}),e}function wh(n,e,t){const i=Sl(e);if(!i)return!1;const r=hb(i.row);return t==="above"?i.row.before(r):i.row.after(r),_e(n),wl(r.cells[i.cellIndex]||r.cells[0]),!0}function Qh(n,e,t){const i=Sl(e);if(!i)return!1;[...i.table.rows].forEach(l=>{const o=Rn(l,i.colIndex),a=o||l.cells[l.cells.length-1],c=(a==null?void 0:a.tagName.toLowerCase())||"td",h=document.createElement(c);h.innerHTML="<br>",t==="left"&&o?l.insertBefore(h,o):t==="right"&&o?o.after(h):l.appendChild(h)}),_e(n);const r=i.table.rows[i.rowIndex],s=Rn(r,t==="right"?i.colIndex+1:i.colIndex);return wl(s||r.cells[i.cellIndex]),!0}function ub(n,e){const t=Sl(e);if(!t)return!1;if(t.rowCount<=1)return Ua(n,e);const i=t.row.nextElementSibling,r=t.row.previousElementSibling;t.row.remove(),_e(n);const s=Rn(i,t.colIndex)||Rn(r,t.colIndex)||(i==null?void 0:i.cells[0])||(r==null?void 0:r.cells[0]);return wl(s),!0}function fb(n,e){const t=Sl(e);if(!t)return!1;if(t.colCount<=1)return Ua(n,e);[...t.table.rows].forEach(s=>{const l=Rn(s,t.colIndex);l&&l.remove()}),_e(n);const i=t.table.rows[Math.min(t.rowIndex,t.table.rows.length-1)],r=Rn(i,t.colIndex)||(i==null?void 0:i.cells[t.cellIndex])||(i==null?void 0:i.cells[0]);return wl(r),!0}function Ua(n,e){var s;const t=(s=e==null?void 0:e.closest)==null?void 0:s.call(e,"table");if(!t||!(n!=null&&n.contains(t)))return!1;const i=t.nextElementSibling,r=t.previousElementSibling;return t.remove(),_e(n),gd(n,i,r),!0}function db(n,e,t){if(!n||!t||!n.contains(t))return!1;switch(e){case"insertRowAbove":return wh(n,t,"above");case"insertRowBelow":return wh(n,t,"below");case"insertColumnLeft":return Qh(n,t,"left");case"insertColumnRight":return Qh(n,t,"right");case"deleteRow":return ub(n,t);case"deleteColumn":return fb(n,t);case"deleteTable":return Ua(n,t);default:return!1}}function pb(n,e=3,t=3){_e(n);const i=Math.max(1,Math.min(20,Number(e)||3)),r=Math.max(1,Math.min(20,Number(t)||3)),s=document.createElement("table"),l=document.createElement("tbody");for(let a=0;a<i;a+=1){const c=document.createElement("tr");for(let h=0;h<r;h+=1){const u=document.createElement(a===0?"th":"td");u.innerHTML="<br>",c.appendChild(u)}l.appendChild(c)}s.appendChild(l),Mn(n,s);const o=document.createElement("p");o.innerHTML="<br>",Mn(n,o)}function vh(n,e,t="",i=null,r){if(_e(n),!Va(e))throw new Error(r&&r.imageUnsafe||"The image URL is invalid or unsafe.");const s=document.createElement("div");s.className="te-figure",s.setAttribute("contenteditable","false"),s.setAttribute("data-align","center"),s.style.textAlign="center",s.style.width="fit-content",s.style.maxWidth="100%",s.style.marginLeft="auto",s.style.marginRight="auto";const l=document.createElement("img");l.src=e,l.alt=t||"",l.setAttribute("loading","lazy"),l.draggable=!1,l.style.display="block",l.style.maxWidth="100%",s.appendChild(l),Mn(n,s),i!=null&&i.mode&&i.mode!==Tn&&dd(l,i,r);const o=document.createElement("p");return o.innerHTML="<br>",Mn(n,o),l}function Mn(n,e){const t=window.getSelection();if(!t||t.rangeCount===0){n.appendChild(e);return}const i=t.getRangeAt(0);if(!n.contains(i.commonAncestorContainer)){n.appendChild(e);return}i.deleteContents(),i.insertNode(e),i.setStartAfter(e),i.collapse(!0),t.removeAllRanges(),t.addRange(i)}function Ob(n){var i,r,s;const e=(i=n==null?void 0:n.querySelector)==null?void 0:i.call(n,".te-figure.is-selected, img.is-selected");let t=null;if(e){const l=(r=e.classList)!=null&&r.contains("te-figure")?e:(s=e.closest)==null?void 0:s.call(e,".te-figure");t=(l==null?void 0:l.getAttribute("data-align"))||null}return{bold:fi("bold"),italic:fi("italic"),strikeThrough:fi("strikeThrough"),unorderedList:fi("insertUnorderedList"),orderedList:fi("insertOrderedList"),justifyRight:t?t==="right":fi("justifyRight"),justifyCenter:t?t==="center":fi("justifyCenter"),justifyLeft:t?t==="left":fi("justifyLeft"),format:j0(),hasSelectedImage:!!e,link:!!Na(n)&&!Ds(n),cta:!!Ds(n)}}function qo(){return qo=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(n[i]=t[i])}return n},qo.apply(null,arguments)}function gb(n,e){if(n==null)return{};var t={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.indexOf(i)!==-1)continue;t[i]=n[i]}return t}let Yo=[],xd=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?xd:Yo).push(t=t+n[e])})();function mb(n){if(n<768)return!1;for(let e=0,t=Yo.length;;){let i=e+t>>1;if(n<Yo[i])t=i;else if(n>=xd[i])e=i+1;else return!0;if(e==t)return!1}}function $h(n){return n>=127462&&n<=127487}const Ph=8205;function bb(n,e,t=!0,i=!0){return(t?kd:xb)(n,e,i)}function kd(n,e,t){if(e==n.length)return e;e&&yd(n.charCodeAt(e))&&Sd(n.charCodeAt(e-1))&&e--;let i=Jl(n,e);for(e+=Th(i);e<n.length;){let r=Jl(n,e);if(i==Ph||r==Ph||t&&mb(r))e+=Th(r),i=r;else if($h(r)){let s=0,l=e-2;for(;l>=0&&$h(Jl(n,l));)s++,l-=2;if(s%2==0)break;e+=2}else break}return e}function xb(n,e,t){for(;e>1;){let i=kd(n,e-2,t);if(i<e)return i;e--}return 0}function Jl(n,e){let t=n.charCodeAt(e);if(!Sd(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return yd(i)?(t-55296<<10)+(i-56320)+65536:t}function yd(n){return n>=56320&&n<57344}function Sd(n){return n>=55296&&n<56320}function Th(n){return n<65536?1:2}class K{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=Zn(this,e,t);let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),Dt.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Zn(this,e,t);let i=[];return this.decompose(e,t,i,0),Dt.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),r=new gr(this),s=new gr(e);for(let l=t,o=t;;){if(r.next(l),s.next(l),l=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(o+=r.value.length,r.done||o>=i)return!0}}iter(e=1){return new gr(this,e)}iterRange(e,t=this.length){return new wd(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;i=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Qd(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?K.empty:e.length<=32?new we(e):Dt.from(we.split(e,[]))}}class we extends K{constructor(e,t=kb(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,r){for(let s=0;;s++){let l=this.text[s],o=r+l.length;if((t?i:o)>=e)return new yb(r,o,i,l);r=o+1,i++}}decompose(e,t,i,r){let s=e<=0&&t>=this.length?this:new we(Ch(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let l=i.pop(),o=$s(s.text,l.text.slice(),0,s.length);if(o.length<=32)i.push(new we(o,l.length+s.length));else{let a=o.length>>1;i.push(new we(o.slice(0,a)),new we(o.slice(a)))}}else i.push(s)}replace(e,t,i){if(!(i instanceof we))return super.replace(e,t,i);[e,t]=Zn(this,e,t);let r=$s(this.text,$s(i.text,Ch(this.text,0,e)),t),s=this.length+i.length-(t-e);return r.length<=32?new we(r,s):Dt.from(we.split(r,[]),s)}sliceString(e,t=this.length,i=`
|
|
8
|
+
`){[e,t]=Zn(this,e,t);let r="";for(let s=0,l=0;s<=t&&l<this.text.length;l++){let o=this.text[l],a=s+o.length;s>e&&l&&(r+=i),e<a&&t>s&&(r+=o.slice(Math.max(0,e-s),t-s)),s=a+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],r=-1;for(let s of e)i.push(s),r+=s.length+1,i.length==32&&(t.push(new we(i,r)),i=[],r=-1);return r>-1&&t.push(new we(i,r)),t}}class Dt extends K{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,r){for(let s=0;;s++){let l=this.children[s],o=r+l.length,a=i+l.lines-1;if((t?a:o)>=e)return l.lineInner(e,t,i,r);r=o+1,i=a+1}}decompose(e,t,i,r){for(let s=0,l=0;l<=t&&s<this.children.length;s++){let o=this.children[s],a=l+o.length;if(e<=a&&t>=l){let c=r&((l<=e?1:0)|(a>=t?2:0));l>=e&&a<=t&&!c?i.push(o):o.decompose(e-l,t-l,i,c)}l=a+1}}replace(e,t,i){if([e,t]=Zn(this,e,t),i.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let l=this.children[r],o=s+l.length;if(e>=s&&t<=o){let a=l.replace(e-s,t-s,i),c=this.lines-l.lines+a.lines;if(a.lines<c>>4&&a.lines>c>>6){let h=this.children.slice();return h[r]=a,new Dt(h,this.length-(t-e)+i.length)}return super.replace(s,o,a)}s=o+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
|
|
9
|
+
`){[e,t]=Zn(this,e,t);let r="";for(let s=0,l=0;s<this.children.length&&l<=t;s++){let o=this.children[s],a=l+o.length;l>e&&s&&(r+=i),e<a&&t>l&&(r+=o.sliceString(e-l,t-l,i)),l=a+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Dt))return 0;let i=0,[r,s,l,o]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==l||s==o)return i;let a=this.children[r],c=e.children[s];if(a!=c)return i+a.scanIdentical(c,t);i+=a.length+1}}static from(e,t=e.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let p of e)p.flatten(d);return new we(d,t)}let r=Math.max(32,i>>5),s=r<<1,l=r>>1,o=[],a=0,c=-1,h=[];function u(d){let p;if(d.lines>s&&d instanceof Dt)for(let O of d.children)u(O);else d.lines>l&&(a>l||!a)?(f(),o.push(d)):d instanceof we&&a&&(p=h[h.length-1])instanceof we&&d.lines+p.lines<=32?(a+=d.lines,c+=d.length+1,h[h.length-1]=new we(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>r&&f(),a+=d.lines,c+=d.length+1,h.push(d))}function f(){a!=0&&(o.push(h.length==1?h[0]:Dt.from(h,c)),c=-1,a=h.length=0)}for(let d of e)u(d);return f(),o.length==1?o[0]:new Dt(o,t)}}K.empty=new we([""],0);function kb(n){let e=-1;for(let t of n)e+=t.length+1;return e}function $s(n,e,t=0,i=1e9){for(let r=0,s=0,l=!0;s<n.length&&r<=i;s++){let o=n[s],a=r+o.length;a>=t&&(a>i&&(o=o.slice(0,i-r)),r<t&&(o=o.slice(t-r)),l?(e[e.length-1]+=o,l=!1):e.push(o)),r=a+1}return e}function Ch(n,e,t){return $s(n,[""],e,t)}class gr{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof we?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],l=s>>1,o=r instanceof we?r.text.length:r.children.length;if(l==(t>0?o:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
10
|
+
`,this;e--}else if(r instanceof we){let a=r.text[l+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[l+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof we?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class wd{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new gr(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Qd{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this.iter()},gr.prototype[Symbol.iterator]=wd.prototype[Symbol.iterator]=Qd.prototype[Symbol.iterator]=function(){return this});class yb{constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}}function Zn(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Me(n,e,t=!0,i=!0){return bb(n,e,t,i)}function Sb(n){return n>=56320&&n<57344}function wb(n){return n>=55296&&n<56320}function tt(n,e){let t=n.charCodeAt(e);if(!wb(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return Sb(i)?(t-55296<<10)+(i-56320)+65536:t}function Fa(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Wt(n){return n<65536?1:2}const Bo=/\r\n?|\n/;var je=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(je||(je={}));class Nt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,r=0;t<this.sections.length;){let s=this.sections[t++],l=this.sections[t++];l<0?(e(i,r,s),r+=s):r+=l,i+=s}}iterChangedRanges(e,t=!1){Vo(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];r<0?e.push(i,r):e.push(r,i)}return new Nt(e)}composeDesc(e){return this.empty?e:e.empty?this:vd(this,e)}mapDesc(e,t=!1){return e.empty?this:No(this,e,t)}mapPos(e,t=-1,i=je.Simple){let r=0,s=0;for(let l=0;l<this.sections.length;){let o=this.sections[l++],a=this.sections[l++],c=r+o;if(a<0){if(c>e)return s+(e-r);s+=o}else{if(i!=je.Simple&&c>=e&&(i==je.TrackDel&&r<e&&c>e||i==je.TrackBefore&&r<e||i==je.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?s:s+a;s+=a}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let i=0,r=0;i<this.sections.length&&r<=t;){let s=this.sections[i++],l=this.sections[i++],o=r+s;if(l>=0&&r<=t&&o>=e)return r<e&&o>t?"cover":!0;r=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+i+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Nt(e)}static create(e){return new Nt(e)}}class Ce extends Nt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Vo(this,(t,i,r,s,l)=>e=e.replace(r,r+(i-t),l),!1),e}mapDesc(e,t=!1){return No(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,s=0;r<t.length;r+=2){let l=t[r],o=t[r+1];if(o>=0){t[r]=o,t[r+1]=l;let a=r>>1;for(;i.length<a;)i.push(K.empty);i.push(l?e.slice(s,s+l):K.empty)}s+=l}return new Ce(t,i)}compose(e){return this.empty?e:e.empty?this:vd(this,e,!0)}map(e,t=!1){return e.empty?this:No(this,e,t,!0)}iterChanges(e,t=!1){Vo(this,e,t)}get desc(){return Nt.create(this.sections)}filter(e){let t=[],i=[],r=[],s=new wr(this);e:for(let l=0,o=0;;){let a=l==e.length?1e9:e[l++];for(;o<a||o==a&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,a-o);We(r,h,-1);let u=s.ins==-1?-1:s.off==0?s.ins:0;We(t,h,u),u>0&&ki(i,t,s.text),s.forward(h),o+=h}let c=e[l++];for(;o<c;){if(s.done)break e;let h=Math.min(s.len,c-o);We(t,h,-1),We(r,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),o+=h}}return{changes:new Ce(t,i),filtered:Nt.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],r=this.sections[t+1];r<0?e.push(i):r==0?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,i){let r=[],s=[],l=0,o=null;function a(h=!1){if(!h&&!r.length)return;l<t&&We(r,t-l,-1);let u=new Ce(r,s);o=o?o.compose(u.map(o)):u,r=[],s=[],l=0}function c(h){if(Array.isArray(h))for(let u of h)c(u);else if(h instanceof Ce){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);a(),o=o?o.compose(h.map(o)):h}else{let{from:u,to:f=u,insert:d}=h;if(u>f||u<0||f>t)throw new RangeError(`Invalid change range ${u} to ${f} (in doc of length ${t})`);let p=d?typeof d=="string"?K.of(d.split(i||Bo)):d:K.empty,O=p.length;if(u==f&&O==0)return;u<l&&a(),u>l&&We(r,u-l,-1),We(r,f-u,O),ki(s,r,p),l=f}}return c(e),a(!o),o}static empty(e){return new Ce(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((l,o)=>o&&typeof l!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;i.length<r;)i.push(K.empty);i[r]=K.of(s.slice(1)),t.push(s[0],i[r].length)}}}return new Ce(t,i)}static createSet(e,t){return new Ce(e,t)}}function We(n,e,t,i=!1){if(e==0&&t<=0)return;let r=n.length-2;r>=0&&t<=0&&t==n[r+1]?n[r]+=e:r>=0&&e==0&&n[r]==0?n[r+1]+=t:i?(n[r]+=e,n[r+1]+=t):n.push(e,t)}function ki(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<i;)n.push(K.empty);n.push(t)}}function Vo(n,e,t){let i=n.inserted;for(let r=0,s=0,l=0;l<n.sections.length;){let o=n.sections[l++],a=n.sections[l++];if(a<0)r+=o,s+=o;else{let c=r,h=s,u=K.empty;for(;c+=o,h+=a,a&&i&&(u=u.append(i[l-2>>1])),!(t||l==n.sections.length||n.sections[l+1]<0);)o=n.sections[l++],a=n.sections[l++];e(r,c,s,h,u),r=c,s=h}}}function No(n,e,t,i=!1){let r=[],s=i?[]:null,l=new wr(n),o=new wr(e);for(let a=-1;;){if(l.done&&o.len||o.done&&l.len)throw new Error("Mismatched change set lengths");if(l.ins==-1&&o.ins==-1){let c=Math.min(l.len,o.len);We(r,c,-1),l.forward(c),o.forward(c)}else if(o.ins>=0&&(l.ins<0||a==l.i||l.off==0&&(o.len<l.len||o.len==l.len&&!t))){let c=o.len;for(We(r,o.ins,-1);c;){let h=Math.min(l.len,c);l.ins>=0&&a<l.i&&l.len<=h&&(We(r,0,l.ins),s&&ki(s,r,l.text),a=l.i),l.forward(h),c-=h}o.next()}else if(l.ins>=0){let c=0,h=l.len;for(;h;)if(o.ins==-1){let u=Math.min(h,o.len);c+=u,h-=u,o.forward(u)}else if(o.ins==0&&o.len<h)h-=o.len,o.next();else break;We(r,c,a<l.i?l.ins:0),s&&a<l.i&&ki(s,r,l.text),a=l.i,l.forward(l.len-h)}else{if(l.done&&o.done)return s?Ce.createSet(r,s):Nt.create(r);throw new Error("Mismatched change set lengths")}}}function vd(n,e,t=!1){let i=[],r=t?[]:null,s=new wr(n),l=new wr(e);for(let o=!1;;){if(s.done&&l.done)return r?Ce.createSet(i,r):Nt.create(i);if(s.ins==0)We(i,s.len,0,o),s.next();else if(l.len==0&&!l.done)We(i,0,l.ins,o),r&&ki(r,i,l.text),l.next();else{if(s.done||l.done)throw new Error("Mismatched change set lengths");{let a=Math.min(s.len2,l.len),c=i.length;if(s.ins==-1){let h=l.ins==-1?-1:l.off?0:l.ins;We(i,a,h,o),r&&h&&ki(r,i,l.text)}else l.ins==-1?(We(i,s.off?0:s.len,a,o),r&&ki(r,i,s.textBit(a))):(We(i,s.off?0:s.len,l.off?0:l.ins,o),r&&!l.off&&ki(r,i,l.text));o=(s.ins>a||l.ins>=0&&l.len>a)&&(o||i.length>c),s.forward2(a),l.forward(a)}}}}class wr{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?K.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?K.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class bi{constructor(e,t,i,r){this.from=e,this.to=t,this.flags=i,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new bi(i,r,this.flags,this.goalColumn)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return v.range(e,t,void 0,void 0,i);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return v.range(this.anchor,r,void 0,void 0,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return v.range(e.anchor,e.head)}static create(e,t,i,r){return new bi(e,t,i,r)}}class v{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:v.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new v([this.main],0)}addRange(e,t=!0){return v.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,v.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new v(e.ranges.map(t=>bi.fromJSON(t)),e.main)}static single(e,t=e){return new v([v.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=i:s.from<i)return v.normalized(e.slice(),t);i=s.to}return new v(e,t)}static cursor(e,t=0,i,r){return bi.create(e,e,(t==0?0:t<0?8:16)|(i==null?7:Math.min(6,i)),r)}static range(e,t,i,r,s){let l=r==null?7:Math.min(6,r);return!s&&e!=t&&(s=t<e?1:-1),s&&(l|=s<0?8:16),t<e?bi.create(t,e,l|32,i):bi.create(e,t,l,i)}static undirectionalRange(e,t){return bi.create(e,t,64,void 0)}static normalized(e,t=0){let i=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(i);for(let r=1;r<e.length;r++){let s=e[r],l=e[r-1];if(s.empty?s.from<=l.to:s.from<l.to){let o=l.from,a=Math.max(s.to,l.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?v.range(a,o):v.range(o,a))}}return new v(e,t)}}function $d(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Ha=0;class X{constructor(e,t,i,r,s){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=Ha++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new X(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:Ka),!!e.static,e.enables)}of(e){return new Ps([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ps(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ps(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function Ka(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}class Ps{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=Ha++}dynamicSlot(e){var t;let i=this.value,r=this.facet.compareInput,s=this.id,l=e[s]>>1,o=this.type==2,a=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?a=!0:u=="selection"?c=!0:(((t=e[u.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[u.id]);return{create(u){return u.values[l]=i(u),1},update(u,f){if(a&&f.docChanged||c&&(f.docChanged||f.selection)||Go(u,h)){let d=i(u);if(o?!Ah(d,u.values[l],r):!r(d,u.values[l]))return u.values[l]=d,1}return 0},reconfigure:(u,f)=>{let d,p=f.config.address[s];if(p!=null){let O=Is(f,p);if(this.dependencies.every(m=>m instanceof X?f.facet(m)===u.facet(m):m instanceof ze?f.field(m,!1)==u.field(m,!1):!0)||(o?Ah(d=i(u),O,r):r(d=i(u),O)))return u.values[l]=O,0}else d=i(u);return u.values[l]=d,1}}}get extension(){return this}}function Ah(n,e,t){if(n.length!=e.length)return!1;for(let i=0;i<n.length;i++)if(!t(n[i],e[i]))return!1;return!0}function Go(n,e){let t=!1;for(let i of e)mr(n,i)&1&&(t=!0);return t}function Qb(n,e,t){let i=t.map(a=>n[a.id]),r=t.map(a=>a.type),s=i.filter(a=>!(a&1)),l=n[e.id]>>1;function o(a){let c=[];for(let h=0;h<i.length;h++){let u=Is(a,i[h]);if(r[h]==2)for(let f of u)c.push(f);else c.push(u)}return e.combine(c)}return{create(a){for(let c of i)mr(a,c);return a.values[l]=o(a),1},update(a,c){if(!Go(a,s))return 0;let h=o(a);return e.compare(h,a.values[l])?0:(a.values[l]=h,1)},reconfigure(a,c){let h=Go(a,i),u=c.config.facets[e.id],f=c.facet(e);if(u&&!h&&Ka(t,u))return a.values[l]=f,0;let d=o(a);return e.compare(d,f)?(a.values[l]=f,0):(a.values[l]=d,1)}}}const ts=X.define({static:!0});class ze{constructor(e,t,i,r,s){this.id=e,this.createF=t,this.updateF=i,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new ze(Ha++,e.create,e.update,e.compare||((i,r)=>i===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(ts).find(i=>i.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,r)=>{let s=i.values[t],l=this.updateF(s,r);return this.compareF(s,l)?0:(i.values[t]=l,1)},reconfigure:(i,r)=>{let s=i.facet(ts),l=r.facet(ts),o;return(o=s.find(a=>a.field==this))&&o!=l.find(a=>a.field==this)?(i.values[t]=o.create(i),1):r.config.address[this.id]!=null?(i.values[t]=r.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,ts.of({field:this,create:e})]}get extension(){return this}}const zi={lowest:4,low:3,default:2,high:1,highest:0};function ir(n){return e=>new Pd(e,n)}const Ci={highest:ir(zi.highest),high:ir(zi.high),default:ir(zi.default),low:ir(zi.low),lowest:ir(zi.lowest)};class Pd{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class Ql{of(e){return new Uo(this,e)}reconfigure(e){return Ql.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Uo{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class Ws{constructor(e,t,i,r,s,l){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=l,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let r=[],s=Object.create(null),l=new Map;for(let f of vb(e,t,l))f instanceof ze?r.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let o=Object.create(null),a=[],c=[];for(let f of r)o[f.id]=c.length<<1,c.push(d=>f.slot(d));let h=i==null?void 0:i.config.facets;for(let f in s){let d=s[f],p=d[0].facet,O=h&&h[f]||[];if(d.every(m=>m.type==0))if(o[p.id]=a.length<<1|1,Ka(O,d))a.push(i.facet(p));else{let m=p.combine(d.map(x=>x.value));a.push(i&&p.compare(m,i.facet(p))?i.facet(p):m)}else{for(let m of d)m.type==0?(o[m.id]=a.length<<1|1,a.push(m.value)):(o[m.id]=c.length<<1,c.push(x=>m.dynamicSlot(x)));o[p.id]=c.length<<1,c.push(m=>Qb(m,p,d))}}let u=c.map(f=>f(o));return new Ws(e,l,u,o,a,s)}}function vb(n,e,t){let i=[[],[],[],[],[]],r=new Map;function s(l,o){let a=r.get(l);if(a!=null){if(a<=o)return;let c=i[a].indexOf(l);c>-1&&i[a].splice(c,1),l instanceof Uo&&t.delete(l.compartment)}if(r.set(l,o),Array.isArray(l))for(let c of l)s(c,o);else if(l instanceof Uo){if(t.has(l.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(l.compartment)||l.inner;t.set(l.compartment,c),s(c,o)}else if(l instanceof Pd)s(l.inner,l.prec);else if(l instanceof ze)i[o].push(l),l.provides&&s(l.provides,o);else if(l instanceof Ps)i[o].push(l),l.facet.extensions&&s(l.facet.extensions,zi.default);else{let c=l.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${l}).`);if(c==l)throw new Error(`Unrecognized extension value in extension set (${l}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,o)}}return s(n,zi.default),i.reduce((l,o)=>l.concat(o))}function mr(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let r=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|r}function Is(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const Td=X.define(),Fo=X.define({combine:n=>n.some(e=>e),static:!0}),Cd=X.define({combine:n=>n.length?n[0]:void 0,static:!0}),Ad=X.define(),Rd=X.define(),Md=X.define(),Zd=X.define({combine:n=>n.length?n[0]:!1});class Ft{constructor(e,t){this.type=e,this.value=t}static define(){return new $b}}class $b{of(e){return new Ft(this,e)}}class Pb{constructor(e){this.map=e}of(e){return new q(this,e)}}class q{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new q(this.type,t)}is(e){return this.type==e}static define(e={}){return new Pb(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let r of e){let s=r.map(t);s&&i.push(s)}return i}}q.reconfigure=q.define();q.appendConfig=q.define();class Pe{constructor(e,t,i,r,s,l){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=l,this._doc=null,this._state=null,i&&$d(i,t.newLength),s.some(o=>o.type==Pe.time)||(this.annotations=s.concat(Pe.time.of(Date.now())))}static create(e,t,i,r,s,l){return new Pe(e,t,i,r,s,l)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(Pe.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}Pe.time=Ft.define();Pe.userEvent=Ft.define();Pe.addToHistory=Ft.define();Pe.remote=Ft.define();function Tb(n,e){let t=[];for(let i=0,r=0;;){let s,l;if(i<n.length&&(r==e.length||e[r]>=n[i]))s=n[i++],l=n[i++];else if(r<e.length)s=e[r++],l=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,l):t[t.length-1]<l&&(t[t.length-1]=l)}}function Xd(n,e,t){var i;let r,s,l;return t?(r=e.changes,s=Ce.empty(e.changes.length),l=n.changes.compose(e.changes)):(r=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),l=n.changes.compose(r)),{changes:l,selection:e.selection?e.selection.map(s):(i=n.selection)===null||i===void 0?void 0:i.map(r),effects:q.mapEffects(n.effects,r).concat(q.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function Ho(n,e,t){let i=e.selection,r=bn(e.annotations);return e.userEvent&&(r=r.concat(Pe.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ce?e.changes:Ce.of(e.changes||[],t,n.facet(Cd)),selection:i&&(i instanceof v?i:v.single(i.anchor,i.head)),effects:bn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function Ld(n,e,t){let i=Ho(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let l=!!e[s].sequential;i=Xd(i,Ho(n,e[s],l?i.changes.newLength:n.doc.length),l)}let r=Pe.create(n,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return Ab(t?Cb(r):r)}function Cb(n){let e=n.startState,t=!0;for(let r of e.facet(Ad)){let s=r(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:Tb(t,s))}if(t!==!0){let r,s;if(t===!1)s=n.changes.invertedDesc,r=Ce.empty(e.doc.length);else{let l=n.changes.filter(t);r=l.changes,s=l.filtered.mapDesc(l.changes).invertedDesc}n=Pe.create(e,r,n.selection&&n.selection.map(s),q.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let i=e.facet(Rd);for(let r=i.length-1;r>=0;r--){let s=i[r](n);s instanceof Pe?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof Pe?n=s[0]:n=Ld(e,bn(s),!1)}return n}function Ab(n){let e=n.startState,t=e.facet(Md),i=n;for(let r=t.length-1;r>=0;r--){let s=t[r](n);s&&Object.keys(s).length&&(i=Xd(i,Ho(e,s,n.changes.newLength),!0))}return i==n?n:Pe.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}const Rb=[];function bn(n){return n==null?Rb:Array.isArray(n)?n:[n]}var de=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(de||(de={}));const Mb=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Ko;try{Ko=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function Zb(n){if(Ko)return Ko.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||Mb.test(t)))return!0}return!1}function Xb(n){return e=>{if(!/\S/.test(e))return de.Space;if(Zb(e))return de.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return de.Word;return de.Other}}class U{constructor(e,t,i,r,s,l){this.config=e,this.doc=t,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,l&&(l._state=this);for(let o=0;o<this.config.dynamicSlots.length;o++)mr(this,o<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(i==null){if(t)throw new RangeError("Field is not present in this state");return}return mr(this,i),Is(this,i)}update(...e){return Ld(this,e,!0)}applyTransaction(e){let t=this.config,{base:i,compartments:r}=t;for(let o of e.effects)o.is(Ql.reconfigure)?(t&&(r=new Map,t.compartments.forEach((a,c)=>r.set(c,a)),t=null),r.set(o.value.compartment,o.value.extension)):o.is(q.reconfigure)?(t=null,i=o.value):o.is(q.appendConfig)&&(t=null,i=bn(i).concat(o.value));let s;t?s=e.startState.values.slice():(t=Ws.resolve(i,r,this),s=new U(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,c)=>c.reconfigure(a,this),null).values);let l=e.startState.facet(Fo)?e.newSelection:e.newSelection.asSingle();new U(t,e.newDoc,l,s,(o,a)=>a.update(o,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:v.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),r=this.changes(i.changes),s=[i.range],l=bn(i.effects);for(let o=1;o<t.ranges.length;o++){let a=e(t.ranges[o]),c=this.changes(a.changes),h=c.map(r);for(let f=0;f<o;f++)s[f]=s[f].map(h);let u=r.mapDesc(c,!0);s.push(a.range.map(u)),r=r.compose(h),l=q.mapEffects(l,h).concat(q.mapEffects(bn(a.effects),u))}return{changes:r,selection:v.create(s,t.mainIndex),effects:l}}changes(e=[]){return e instanceof Ce?e:Ce.of(e,this.doc.length,this.facet(U.lineSeparator))}toText(e){return K.of(e.split(this.facet(U.lineSeparator)||Bo))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(mr(this,t),Is(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let r=e[i];r instanceof ze&&this.config.address[r.id]!=null&&(t[i]=r.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(i){for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)){let l=i[s],o=e[s];r.push(l.init(a=>l.spec.fromJSON(o,a)))}}return U.create({doc:e.doc,selection:v.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Ws.resolve(e.extensions||[],new Map),i=e.doc instanceof K?e.doc:K.of((e.doc||"").split(t.staticFacet(U.lineSeparator)||Bo)),r=e.selection?e.selection instanceof v?e.selection:v.single(e.selection.anchor,e.selection.head):v.single(0);return $d(r,i.length),t.staticFacet(Fo)||(r=r.asSingle()),new U(t,i,r,t.dynamicSlots.map(()=>null),(s,l)=>l.create(s),null)}get tabSize(){return this.facet(U.tabSize)}get lineBreak(){return this.facet(U.lineSeparator)||`
|
|
11
|
+
`}get readOnly(){return this.facet(Zd)}phrase(e,...t){for(let i of this.facet(U.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?i:t[s-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let s of this.facet(Td))for(let l of s(this,t,i))Object.prototype.hasOwnProperty.call(l,e)&&r.push(l[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return Xb(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),l=e-i,o=e-i;for(;l>0;){let a=Me(t,l,!1);if(s(t.slice(a,l))!=de.Word)break;l=a}for(;o<r;){let a=Me(t,o);if(s(t.slice(o,a))!=de.Word)break;o=a}return l==o?null:v.range(l+i,o+i)}}U.allowMultipleSelections=Fo;U.tabSize=X.define({combine:n=>n.length?n[0]:4});U.lineSeparator=Cd;U.readOnly=Zd;U.phrases=X.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(r=>n[r]==e[r])}});U.languageData=Td;U.changeFilter=Ad;U.transactionFilter=Rd;U.transactionExtender=Md;Ql.reconfigure=q.define();function Ht(n,e,t={}){let i={};for(let r of n)for(let s of Object.keys(r)){let l=r[s],o=i[s];if(o===void 0)i[s]=l;else if(!(o===l||l===void 0))if(Object.hasOwnProperty.call(t,s))i[s]=t[s](o,l);else throw new Error("Config merge conflict for field "+s)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}class Si{eq(e){return this==e}range(e,t=e){return Jo.create(e,t,this)}}Si.prototype.startSide=Si.prototype.endSide=0;Si.prototype.point=!1;Si.prototype.mapMode=je.TrackDel;function Ja(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let Jo=class jd{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new jd(e,t,i)}};function ea(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class ec{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return hn(this.to)}findIndex(e,t,i,r=0){let s=i?this.to:this.from;for(let l=r,o=s.length;;){if(l==o)return l;let a=l+o>>1,c=s[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==l)return c>=0?l:o;c>=0?o=a:l=a+1}}between(e,t,i,r){for(let s=this.findIndex(t,-1e9,!0),l=this.findIndex(i,1e9,!1,s);s<l;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t,i,r,s){let l=[],o=[],a=[],c=-1,h=-1;e:for(let u=0;u<this.value.length;u++){let f=this.value[u],d=this.from[u]+e,p=this.to[u]+e,O,m;if(d==p){let x=t.mapPos(d,f.startSide,f.mapMode);if(x==null||(O=m=x,f.startSide!=f.endSide&&(m=t.mapPos(d,f.endSide),m<O)))continue}else if(O=t.mapPos(d,f.startSide),m=t.mapPos(p,f.endSide),O>m||O==m&&f.startSide>0&&f.endSide<=0)continue;if(!((m-O||f.endSide-f.startSide)<0))if(c<0&&(c=O),f.point&&(h=Math.max(h,m-O)),(O-i||f.startSide-r)>=0)l.push(f),o.push(O-c),a.push(m-c),i=m,r=f.endSide;else{if(O==m){for(let x=l.length-1;x>0;x--)if((O-a[x-1]||f.startSide-l[x-1].endSide)<=0){l.splice(x,0,f),o.splice(x,0,O),a.splice(x,0,m);continue e}}s(O,m,f)}}return{mapped:l.length?new ec(o,a,l,h):null,pos:c}}}class N{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new N(e,t,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=e,l=e.filter;if(t.length==0&&!l)return this;if(i&&(t=t.slice().sort(ea)),this.isEmpty)return t.length?N.of(t):this;let o=new Ed(this,null,-1).goto(0),a=0,c=[],h=new Gt;for(;o.value||a<t.length;)if(a<t.length&&(o.from-t[a].from||o.startSide-t[a].value.startSide)>=0){let u=t[a++];h.addInner(u.from,u.to,u.value)||c.push(u)}else o.rangeIndex==1&&o.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(o.chunkIndex)<t[a].from)&&(!l||r>this.chunkEnd(o.chunkIndex)||s<this.chunkPos[o.chunkIndex])&&h.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!l||r>o.to||s<o.from||l(o.from,o.to,o.value))&&(h.addInner(o.from,o.to,o.value)||c.push(Jo.create(o.from,o.to,o.value))),o.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?N.empty:this.nextLayer.update({add:c,filter:l,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],r=-1,s,l=(a,c,h)=>{s||(s=new Gt),s.add(a,c,h)};for(let a=0;a<this.chunk.length;a++){let c=this.chunkPos[a],h=this.chunk[a],u=e.touchesRange(c,c+h.length);if(u===!1)r=Math.max(r,h.maxPoint),t.push(h),i.push(e.mapPos(c));else if(u===!0){let[f,d]=t.length?[hn(i)+hn(t).length,hn(hn(t).value).endSide]:[-1,-1],{mapped:p,pos:O}=h.map(c,e,f,d,l);p&&(r=Math.max(r,p.maxPoint),t.push(p),i.push(O))}}let o=this.nextLayer.map(e);return s&&(o=s.finishInner(o)),t.length==0?o:new N(i,t,o||N.empty,r)}between(e,t,i){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],l=this.chunk[r];if(t>=s&&e<=s+l.length&&l.between(s,e-s,t-s,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Qr.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Qr.from(e).goto(t)}static compare(e,t,i,r,s=-1){let l=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),o=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),a=Rh(l,o,i),c=new nr(l,a,s),h=new nr(o,a,s);i.iterGaps((u,f,d)=>Mh(c,u,h,f,d,r)),i.empty&&i.length==0&&Mh(c,0,h,0,0,r)}static eq(e,t,i=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),l=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=l.length)return!1;if(!s.length)return!0;let o=Rh(s,l),a=new nr(s,o,0).goto(i),c=new nr(l,o,0).goto(i);for(;;){if(a.to!=c.to||!ta(a.active,c.active)||a.point&&(!c.point||!Ja(a.point,c.point)))return!1;if(a.to>r)return!0;a.next(),c.next()}}static spans(e,t,i,r,s=-1){let l=new nr(e,null,s).goto(t),o=t,a=l.openStart;for(;;){let c=Math.min(l.to,i);if(l.point){let h=l.activeForPoint(l.to),u=l.pointFrom<t?h.length+1:l.point.startSide<0?h.length:Math.min(h.length,a);r.point(o,c,l.point,h,u,l.pointRank),a=Math.min(l.openEnd(c),h.length)}else c>o&&(r.span(o,c,l.active,a),a=l.openEnd(c));if(l.to>i)return a+(l.point&&l.to>i?1:0);o=l.to,l.next()}}static of(e,t=!1){let i=new Gt;for(let r of e instanceof Jo?[e]:t?Lb(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return N.empty;let t=hn(e);for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=N.empty;r=r.nextLayer)t=new N(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}}N.empty=new N([],[],null,-1);function hn(n){return n[n.length-1]}function Lb(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let i=n[t];if(ea(e,i)>0)return n.slice().sort(ea);e=i}return n}N.empty.nextLayer=N.empty;class Gt{finishChunk(e){this.chunks.push(new ec(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Gt)).add(e,t,i)}addInner(e,t,i){let r=e-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(N.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=N.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Rh(n,e,t){let i=new Map;for(let s of n)for(let l=0;l<s.chunk.length;l++)s.chunk[l].maxPoint<=0&&i.set(s.chunk[l],s.chunkPos[l]);let r=new Set;for(let s of e)for(let l=0;l<s.chunk.length;l++){let o=i.get(s.chunk[l]);o!=null&&(t?t.mapPos(o):o)==s.chunkPos[l]&&!(t!=null&&t.touchesRange(o,o+s.chunk[l].length))&&r.add(s.chunk[l])}return r}class Ed{constructor(e,t,i,r=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Qr{constructor(e){this.heap=e}static from(e,t=null,i=-1){let r=[];for(let s=0;s<e.length;s++)for(let l=e[s];!l.isEmpty;l=l.nextLayer)l.maxPoint>=i&&r.push(new Ed(l,t,i,s));return r.length==1?r[0]:new Qr(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)eo(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)eo(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),eo(this.heap,0)}}}function eo(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let r=n[i];if(i+1<n.length&&r.compare(n[i+1])>=0&&(r=n[i+1],i++),t.compare(r)<0)break;n[i]=t,n[e]=r,e=i}}class nr{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Qr.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){is(this.active,e),is(this.activeTo,e),is(this.activeRank,e),this.minActive=Zh(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;ns(this.active,t,i),ns(this.activeTo,t,r),ns(this.activeRank,t,s),e&&ns(e,t,this.cursor.from),this.minActive=Zh(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&is(i,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let r=i.length-1;r>=0&&i[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function Mh(n,e,t,i,r,s){n.goto(e),t.goto(i);let l=i+r,o=i,a=i-e,c=!!s.boundChange;for(let h=!1;;){let u=n.to+a-t.to,f=u||n.endSide-t.endSide,d=f<0?n.to+a:t.to,p=Math.min(d,l);if(n.point||t.point?(n.point&&t.point&&Ja(n.point,t.point)&&ta(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(o,p,n.point,t.point),h=!1):(h&&s.boundChange(o),p>o&&!ta(n.active,t.active)&&s.compareRange(o,p,n.active,t.active),c&&p<l&&(u||n.openEnd(d)!=t.openEnd(d))&&(h=!0)),d>l)break;o=d,f<=0&&n.next(),f>=0&&t.next()}}function ta(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!Ja(n[t],e[t]))return!1;return!0}function is(n,e){for(let t=e,i=n.length-1;t<i;t++)n[t]=n[t+1];n.pop()}function ns(n,e,t){for(let i=n.length-1;i>=e;i--)n[i+1]=n[i];n[e]=t}function Zh(n,e){let t=-1,i=1e9;for(let r=0;r<e.length;r++)(e[r]-i||n[r].endSide-n[t].endSide)<0&&(t=r,i=e[r]);return t}function Bn(n,e,t=n.length){let i=0;for(let r=0;r<t&&r<n.length;)n.charCodeAt(r)==9?(i+=e-i%e,r++):(i++,r=Me(n,r));return i}function ia(n,e,t,i){for(let r=0,s=0;;){if(s>=e)return r;if(r==n.length)break;s+=n.charCodeAt(r)==9?t-s%t:1,r=Me(n,r)}return i===!0?-1:n.length}const na="ͼ",Xh=typeof Symbol>"u"?"__"+na:Symbol.for(na),ra=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Lh=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class wi{constructor(e,t){this.rules=[];let{finish:i}=t||{};function r(l){return/^@/.test(l)?[l]:l.split(/,\s*/)}function s(l,o,a,c){let h=[],u=/^@(\w+)\b/.exec(l[0]),f=u&&u[1]=="keyframes";if(u&&o==null)return a.push(l[0]+";");for(let d in o){let p=o[d];if(/&/.test(d))s(d.split(/,\s*/).map(O=>l.map(m=>O.replace(/&/,m))).reduce((O,m)=>O.concat(m)),p,a);else if(p&&typeof p=="object"){if(!u)throw new RangeError("The value of a property ("+d+") should be a primitive value.");s(r(d),p,h,f)}else p!=null&&h.push(d.replace(/_.*/,"").replace(/[A-Z]/g,O=>"-"+O.toLowerCase())+": "+p+";")}(h.length||f)&&a.push((i&&!u&&!c?l.map(i):l).join(", ")+" {"+h.join(" ")+"}")}for(let l in e)s(r(l),e[l],this.rules)}getRules(){return this.rules.join(`
|
|
12
|
+
`)}static newName(){let e=Lh[Xh]||1;return Lh[Xh]=e+1,na+e.toString(36)}static mount(e,t,i){let r=e[ra],s=i&&i.nonce;r?s&&r.setNonce(s):r=new jb(e,s),r.mount(Array.isArray(t)?t:[t],e)}}let jh=new Map;class jb{constructor(e,t){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=jh.get(i);if(s)return e[ra]=s;this.sheet=new r.CSSStyleSheet,jh.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[ra]=this}mount(e,t){let i=this.sheet,r=0,s=0;for(let l=0;l<e.length;l++){let o=e[l],a=this.modules.indexOf(o);if(a<s&&a>-1&&(this.modules.splice(a,1),s--,a=-1),a==-1){if(this.modules.splice(s++,0,o),i)for(let c=0;c<o.rules.length;c++)i.insertRule(o.rules[c],r++)}else{for(;s<a;)r+=this.modules[s++].rules.length;r+=o.rules.length,s++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let l="";for(let a=0;a<this.modules.length;a++)l+=this.modules[a].getRules()+`
|
|
13
|
+
`;this.styleTag.textContent=l;let o=t.head||t;this.styleTag.parentNode!=o&&o.insertBefore(this.styleTag,o.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Qi={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},vr={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Eb=typeof navigator<"u"&&/Mac/.test(navigator.platform),_b=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Le=0;Le<10;Le++)Qi[48+Le]=Qi[96+Le]=String(Le);for(var Le=1;Le<=24;Le++)Qi[Le+111]="F"+Le;for(var Le=65;Le<=90;Le++)Qi[Le]=String.fromCharCode(Le+32),vr[Le]=String.fromCharCode(Le);for(var to in Qi)vr.hasOwnProperty(to)||(vr[to]=Qi[to]);function zb(n){var e=Eb&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||_b&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?vr:Qi)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function ae(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var r=t[i];typeof r=="string"?n.setAttribute(i,r):r!=null&&(n[i]=r)}e++}for(;e<arguments.length;e++)_d(n,arguments[e]);return n}function _d(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)_d(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let Ue=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},sa=typeof document<"u"?document:{documentElement:{style:{}}};const la=/Edge\/(\d+)/.exec(Ue.userAgent),zd=/MSIE \d/.test(Ue.userAgent),oa=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ue.userAgent),vl=!!(zd||oa||la),Eh=!vl&&/gecko\/(\d+)/i.test(Ue.userAgent),io=!vl&&/Chrome\/(\d+)/.exec(Ue.userAgent),_h="webkitFontSmoothing"in sa.documentElement.style,aa=!vl&&/Apple Computer/.test(Ue.vendor),zh=aa&&(/Mobile\/\w+/.test(Ue.userAgent)||Ue.maxTouchPoints>2);var M={mac:zh||/Mac/.test(Ue.platform),windows:/Win/.test(Ue.platform),linux:/Linux|X11/.test(Ue.platform),ie:vl,ie_version:zd?sa.documentMode||6:oa?+oa[1]:la?+la[1]:0,gecko:Eh,gecko_version:Eh?+(/Firefox\/(\d+)/.exec(Ue.userAgent)||[0,0])[1]:0,chrome:!!io,chrome_version:io?+io[1]:0,ios:zh,android:/Android\b/.test(Ue.userAgent),webkit:_h,webkit_version:_h?+(/\bAppleWebKit\/(\d+)/.exec(Ue.userAgent)||[0,0])[1]:0,safari:aa,safari_version:aa?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ue.userAgent)||[0,0])[1]:0,tabSize:sa.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function tc(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const qs=Object.create(null);function ic(n,e,t){if(n==e)return!0;n||(n=qs),e||(e=qs);let i=Object.keys(n),r=Object.keys(e);if(i.length-0!=r.length-0)return!1;for(let s of i)if(s!=t&&(r.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function Db(n,e){for(let t=n.attributes.length-1;t>=0;t--){let i=n.attributes[t].name;e[i]==null&&n.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?n.style.cssText=i:n.getAttribute(t)!=i&&n.setAttribute(t,i)}}function Dh(n,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?n.style.cssText="":n.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?n.style.cssText=t[r]:n.setAttribute(r,t[r]));return i}function Wb(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}class Tt{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Ee=(function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n})(Ee||(Ee={}));class z extends Si{constructor(e,t,i,r){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Wr(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Gi(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:l}=Dd(e,t);i=(s?t?-3e8:-1:5e8)-1,r=(l?t?2e8:1:-6e8)+1}return new Gi(e,i,r,t,e.widget||null,!0)}static line(e){return new Ir(e)}static set(e,t=!1){return N.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}z.none=N.empty;class Wr extends z{constructor(e){let{start:t,end:i}=Dd(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?tc(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||qs}eq(e){return this==e||e instanceof Wr&&this.tagName==e.tagName&&ic(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Wr.prototype.point=!1;class Ir extends z{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Ir&&this.spec.class==e.spec.class&&ic(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Ir.prototype.mapMode=je.TrackBefore;Ir.prototype.point=!0;class Gi extends z{constructor(e,t,i,r,s,l){super(t,i,s,e),this.block=r,this.isReplace=l,this.mapMode=r?t<=0?je.TrackBefore:je.TrackAfter:je.TrackDel}get type(){return this.startSide!=this.endSide?Ee.WidgetRange:this.startSide<=0?Ee.WidgetBefore:Ee.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Gi&&Ib(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Gi.prototype.point=!0;function Dd(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function Ib(n,e){return n==e||!!(n&&e&&n.compare(e))}function xn(n,e,t,i=0){let r=t.length-1;r>=0&&t[r]+i>=n?t[r]=Math.max(t[r],e):t.push(n,e)}class $r extends Si{constructor(e,t,i){super(),this.tagName=e,this.attributes=t,this.rank=i}eq(e){return e==this||e instanceof $r&&this.tagName==e.tagName&&ic(this.attributes,e.attributes)}static create(e){return new $r(e.tagName,e.attributes||qs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return N.of(e,t)}}$r.prototype.startSide=$r.prototype.endSide=-1;function Pr(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function ca(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function br(n,e){if(!e.anchorNode)return!1;try{return ca(n,e.anchorNode)}catch{return!1}}function xr(n){return n.nodeType==3?Cr(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function kr(n,e,t,i){return t?Wh(n,e,t,i,-1)||Wh(n,e,t,i,1):!1}function vi(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function Ys(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Wh(n,e,t,i,r){for(;;){if(n==t&&e==i)return!0;if(e==(r<0?0:oi(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=vi(n)+(r<0?0:1),n=s}else if(n.nodeType==1){if(n=n.childNodes[e+(r<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=r<0?oi(n):0}else return!1}}function oi(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Tr(n,e){let{left:t,right:i}=n;if(t==i)return n;let r=e?t:i;return{left:r,right:r,top:n.top,bottom:n.bottom}}function qb(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function Wd(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function Yb(n,e,t,i,r,s,l,o){let a=n.ownerDocument,c=a.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let f,d=h==a.body,p=1,O=1;if(d)f=qb(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let S=h.getBoundingClientRect();({scaleX:p,scaleY:O}=Wd(h,S)),f={left:S.left,right:S.left+h.clientWidth*p,top:S.top,bottom:S.top+h.clientHeight*O}}let m=0,x=0;if(r=="nearest")e.top<f.top+l?(x=e.top-(f.top+l),t>0&&e.bottom>f.bottom+x&&(x=e.bottom-f.bottom+l)):e.bottom>f.bottom-l&&(x=e.bottom-f.bottom+l,t<0&&e.top-x<f.top&&(x=e.top-(f.top+l)));else{let S=e.bottom-e.top,w=f.bottom-f.top;x=(r=="center"&&S<=w?e.top+S/2-w/2:r=="start"||r=="center"&&t<0?e.top-l:e.bottom-w+l)-f.top}if(i=="nearest"?e.left<f.left+s?(m=e.left-(f.left+s),t>0&&e.right>f.right+m&&(m=e.right-f.right+s)):e.right>f.right-s&&(m=e.right-f.right+s,t<0&&e.left<f.left+m&&(m=e.left-(f.left+s))):m=(i=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:i=="start"==o?e.left-s:e.right-(f.right-f.left)+s)-f.left,m||x)if(d)c.scrollBy(m,x);else{let S=0,w=0;if(x){let T=h.scrollTop;h.scrollTop+=x/O,w=(h.scrollTop-T)*O}if(m){let T=h.scrollLeft;h.scrollLeft+=m/p,S=(h.scrollLeft-T)*p}e={left:e.left-S,top:e.top-w,right:e.right-S,bottom:e.bottom-w},S&&Math.abs(S-m)<1&&(i="nearest"),w&&Math.abs(w-x)<1&&(r="nearest")}if(d)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function Id(n,e=!0){let t=n.ownerDocument,i=null,r=null;for(let s=n.parentNode;s&&!(s==t.body||(!e||i)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!i&&s.scrollWidth>s.clientWidth&&(i=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:i,y:r}}class Bb{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?oi(t):0),i,Math.min(e.focusOffset,i?oi(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}}function qd(n){let e=[];for(let t=n;t;t=t.nodeType==11?t.host:t.parentNode)t.nodeType==1&&e.push({node:t,left:t.scrollLeft,top:t.scrollTop});return e}function Yd(n,e=!0){for(let{node:t,left:i,top:r}of n)e&&t.scrollTop!=r&&(t.scrollTop=r),t.scrollLeft!=i&&(t.scrollLeft=i)}let Ei=null;M.safari&&M.safari_version>=26&&(Ei=!1);function Bd(n){if(n.setActive)return n.setActive();if(Ei)return n.focus(Ei);let e=qd(n);n.focus(Ei==null?{get preventScroll(){return Ei={preventScroll:!0},!0}}:void 0),Ei||(Ei=!1,Yd(e))}let Ih;function Cr(n,e,t=e){let i=Ih||(Ih=document.createRange());return i.setEnd(n,t),i.setStart(n,e),i}function kn(n,e,t,i){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=i);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,n.dispatchEvent(s);let l=new KeyboardEvent("keyup",r);return l.synthetic=!0,n.dispatchEvent(l),s.defaultPrevented||l.defaultPrevented}function Vb(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function Nb(n,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,oi(t));;)if(i){if(t.nodeType!=1)return!1;let r=t.childNodes[i-1];r.contentEditable=="false"?i--:(t=r,i=oi(t))}else{if(t==n)return!0;i=vi(t),t=t.parentNode}}function Vd(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function Nd(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=oi(t)}else if(t.parentNode&&!Ys(t))i=vi(t),t=t.parentNode;else return null}}function Gd(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i<t.nodeValue.length)return{node:t,offset:i};if(t.nodeType==1&&i<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[i],i=0}else if(t.parentNode&&!Ys(t))i=vi(t)+1,t=t.parentNode;else return null}}class vt{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new vt(e.parentNode,vi(e),t)}static after(e,t){return new vt(e.parentNode,vi(e)+1,t)}}var ue=(function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n})(ue||(ue={}));const Ui=ue.LTR,nc=ue.RTL;function Ud(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const Gb=Ud("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Ub=Ud("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),ha=Object.create(null),Xt=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);ha[e]=t,ha[t]=-e}function Fd(n){return n<=247?Gb[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?Ub[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const Fb=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class qt{get dir(){return this.level%2?nc:Ui}constructor(e,t,i){this.from=e,this.to=t,this.level=i}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,i,r){let s=-1;for(let l=0;l<e.length;l++){let o=e[l];if(o.from<=t&&o.to>=t){if(o.level==i)return l;(s<0||(r!=0?r<0?o.from<t:o.to>t:e[s].level>o.level))&&(s=l)}}if(s<0)throw new RangeError("Index out of range");return s}}function Hd(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let i=n[t],r=e[t];if(i.from!=r.from||i.to!=r.to||i.direction!=r.direction||!Hd(i.inner,r.inner))return!1}return!0}const he=[];function Hb(n,e,t,i,r){for(let s=0;s<=i.length;s++){let l=s?i[s-1].to:e,o=s<i.length?i[s].from:t,a=s?256:r;for(let c=l,h=a,u=a;c<o;c++){let f=Fd(n.charCodeAt(c));f==512?f=h:f==8&&u==4&&(f=16),he[c]=f==4?2:f,f&7&&(u=f),h=f}for(let c=l,h=a,u=a;c<o;c++){let f=he[c];if(f==128)c<o-1&&h==he[c+1]&&h&24?f=he[c]=h:he[c]=256;else if(f==64){let d=c+1;for(;d<o&&he[d]==64;)d++;let p=c&&h==8||d<t&&he[d]==8?u==1?1:8:256;for(let O=c;O<d;O++)he[O]=p;c=d-1}else f==8&&u==1&&(he[c]=1);h=f,f&7&&(u=f)}}}function Kb(n,e,t,i,r){let s=r==1?2:1;for(let l=0,o=0,a=0;l<=i.length;l++){let c=l?i[l-1].to:e,h=l<i.length?i[l].from:t;for(let u=c,f,d,p;u<h;u++)if(d=ha[f=n.charCodeAt(u)])if(d<0){for(let O=o-3;O>=0;O-=3)if(Xt[O+1]==-d){let m=Xt[O+2],x=m&2?r:m&4?m&1?s:r:0;x&&(he[u]=he[Xt[O]]=x),o=O;break}}else{if(Xt.length==189)break;Xt[o++]=u,Xt[o++]=f,Xt[o++]=a}else if((p=he[u])==2||p==1){let O=p==r;a=O?0:1;for(let m=o-3;m>=0;m-=3){let x=Xt[m+2];if(x&2)break;if(O)Xt[m+2]|=2;else{if(x&4)break;Xt[m+2]|=4}}}}}function Jb(n,e,t,i){for(let r=0,s=i;r<=t.length;r++){let l=r?t[r-1].to:n,o=r<t.length?t[r].from:e;for(let a=l;a<o;){let c=he[a];if(c==256){let h=a+1;for(;;)if(h==o){if(r==t.length)break;h=t[r++].to,o=r<t.length?t[r].from:e}else if(he[h]==256)h++;else break;let u=s==1,f=(h<e?he[h]:i)==1,d=u==f?u?1:2:i;for(let p=h,O=r,m=O?t[O-1].to:n;p>a;)p==m&&(p=t[--O].from,m=O?t[O-1].to:n),he[--p]=d;a=h}else s=c,a++}}}function ua(n,e,t,i,r,s,l){let o=i%2?2:1;if(i%2==r%2)for(let a=e,c=0;a<t;){let h=!0,u=!1;if(c==s.length||a<s[c].from){let O=he[a];O!=o&&(h=!1,u=O==16)}let f=!h&&o==1?[]:null,d=h?i:i+1,p=a;e:for(;;)if(c<s.length&&p==s[c].from){if(u)break e;let O=s[c];if(!h)for(let m=O.to,x=c+1;;){if(m==t)break e;if(x<s.length&&s[x].from==m)m=s[x++].to;else{if(he[m]==o)break e;break}}if(c++,f)f.push(O);else{O.from>a&&l.push(new qt(a,O.from,d));let m=O.direction==Ui!=!(d%2);fa(n,m?i+1:i,r,O.inner,O.from,O.to,l),a=O.to}p=O.to}else{if(p==t||(h?he[p]!=o:he[p]==o))break;p++}f?ua(n,a,p,i+1,r,f,l):a<p&&l.push(new qt(a,p,d)),a=p}else for(let a=t,c=s.length;a>e;){let h=!0,u=!1;if(!c||a>s[c-1].to){let O=he[a-1];O!=o&&(h=!1,u=O==16)}let f=!h&&o==1?[]:null,d=h?i:i+1,p=a;e:for(;;)if(c&&p==s[c-1].to){if(u)break e;let O=s[--c];if(!h)for(let m=O.from,x=c;;){if(m==e)break e;if(x&&s[x-1].to==m)m=s[--x].from;else{if(he[m-1]==o)break e;break}}if(f)f.push(O);else{O.to<a&&l.push(new qt(O.to,a,d));let m=O.direction==Ui!=!(d%2);fa(n,m?i+1:i,r,O.inner,O.from,O.to,l),a=O.from}p=O.from}else{if(p==e||(h?he[p-1]!=o:he[p-1]==o))break;p--}f?ua(n,p,a,i+1,r,f,l):p<a&&l.push(new qt(p,a,d)),a=p}}function fa(n,e,t,i,r,s,l){let o=e%2?2:1;Hb(n,r,s,i,o),Kb(n,r,s,i,o),Jb(r,s,i,o),ua(n,r,s,e,t,i,l)}function ex(n,e,t){if(!n)return[new qt(0,0,e==nc?1:0)];if(e==Ui&&!t.length&&!Fb.test(n))return Kd(n.length);if(t.length)for(;n.length>he.length;)he[he.length]=256;let i=[],r=e==Ui?0:1;return fa(n,r,r,t,0,n.length,i),i}function Kd(n){return[new qt(0,n,0)]}let Jd="";function tx(n,e,t,i,r){var s;let l=i.head-n.from,o=qt.find(e,l,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),a=e[o],c=a.side(r,t);if(l==c){let f=o+=r?1:-1;if(f<0||f>=e.length)return null;a=e[o=f],l=a.side(!r,t),c=a.side(r,t)}let h=Me(n.text,l,a.forward(r,t));(h<a.from||h>a.to)&&(h=c),Jd=n.text.slice(Math.min(l,h),Math.max(l,h));let u=o==(r?e.length-1:0)?null:e[o+(r?1:-1)];return u&&h==c&&u.level+(r?0:1)<a.level?v.cursor(u.side(!r,t)+n.from,u.forward(r,t)?1:-1,u.level):v.cursor(h+n.from,a.forward(r,t)?-1:1,a.level)}function ix(n,e,t){for(let i=e;i<t;i++){let r=Fd(n.charCodeAt(i));if(r==1)return Ui;if(r==2||r==4)return nc}return Ui}const ep=X.define(),tp=X.define(),ip=X.define(),np=X.define(),da=X.define(),rp=X.define(),sp=X.define(),rc=X.define(),sc=X.define(),lp=X.define({combine:n=>n.some(e=>e)}),op=X.define({combine:n=>n.some(e=>e)}),ap=X.define();class yn{constructor(e,t,i,r,s,l=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=l}map(e){return e.empty?this:new yn(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new yn(v.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const rs=q.define({map:(n,e)=>n.map(e)}),cp=q.define();function rt(n,e,t){let i=n.facet(np);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const ri=X.define({combine:n=>n.length?n[0]:!0});let nx=0;const pn=X.define({combine(n){return n.filter((e,t)=>{for(let i=0;i<t;i++)if(n[i].plugin==e.plugin)return!1;return!0})}});class ke{constructor(e,t,i,r,s){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=r,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(pn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(pn.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:i,eventObservers:r,provide:s,decorations:l}=t||{};return new ke(nx++,e,i,r,o=>{let a=[];return l&&a.push($l.of(c=>{let h=c.plugin(o);return h?l(h):z.none})),s&&a.push(s(o)),a})}static fromClass(e,t){return ke.define((i,r)=>new e(i,r),t)}}class no{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(rt(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){rt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){rt(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const hp=X.define(),lc=X.define(),$l=X.define(),up=X.define(),oc=X.define(),qr=X.define(),fp=X.define();function qh(n,e){let t=n.state.facet(fp);if(!t.length)return t;let i=t.map(s=>s instanceof Function?s(n):s),r=[];return N.spans(i,e.from,e.to,{point(){},span(s,l,o,a){let c=s-e.from,h=l-e.from,u=r;for(let f=o.length-1;f>=0;f--,a--){let d=o[f].spec.bidiIsolate,p;if(d==null&&(d=ix(e.text,c,h)),a>0&&u.length&&(p=u[u.length-1]).to==c&&p.direction==d)p.to=h,u=p.inner;else{let O={from:c,to:h,direction:d,inner:[]};u.push(O),u=O.inner}}}}),r}const dp=X.define();function ac(n){let e=0,t=0,i=0,r=0;for(let s of n.state.facet(dp)){let l=s(n);l&&(l.left!=null&&(e=Math.max(e,l.left)),l.right!=null&&(t=Math.max(t,l.right)),l.top!=null&&(i=Math.max(i,l.top)),l.bottom!=null&&(r=Math.max(r,l.bottom)))}return{left:e,right:t,top:i,bottom:r}}const hr=X.define();class gt{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new gt(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>i.toA)){if(r.toA<i.fromA)break;i=i.join(r),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(t.length==0)return e;let i=[];for(let r=0,s=0,l=0;;){let o=r<e.length?e[r].fromB:1e9,a=s<t.length?t[s]:1e9,c=Math.min(o,a);if(c==1e9)break;let h=c+l,u=c,f=h;for(;;)if(s<t.length&&t[s]<=u){let d=t[s+1];s+=2,u=Math.max(u,d);for(let p=r;p<e.length&&e[p].fromB<=u;p++)l=e[p].toA-e[p].toB;f=Math.max(f,d+l)}else if(r<e.length&&e[r].fromB<=u){let d=e[r++];u=Math.max(u,d.toB),f=Math.max(f,d.toA),l=d.toA-d.toB}else break;i.push(new gt(h,f,c,u))}return i}}class Bs{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=Ce.empty(this.startState.doc.length);for(let s of i)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,l,o,a)=>r.push(new gt(s,l,o,a))),this.changedRanges=r}static create(e,t,i){return new Bs(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const rx=[];class xe{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return rx}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Db(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let r of this.children){if(r==e)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,i){return null}domPosFor(e,t){let i=vi(this.dom),r=this.length?e>0:t>0;return new vt(this.parent.dom,i+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Tl)return e;return null}static get(e){return e.cmTile}}class Pl extends xe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,i=null,r,s=(e==null?void 0:e.node)==t?e:null,l=0;for(let o of this.children){if(o.sync(e),l+=o.length+o.breakAfter,r=i?i.nextSibling:t.firstChild,s&&r!=o.dom&&(s.written=!0),o.dom.parentNode==t)for(;r&&r!=o.dom;)r=Yh(r);else t.insertBefore(o.dom,r);i=o.dom}for(r=i?i.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Yh(r);this.length=l}}function Yh(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class Tl extends Pl{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=xe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,r=0,s=0;;)if(r==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&s++,r=t.pop()}else{let l=i.children[r++];if(l instanceof si)t.push(r),i=l,r=0;else{let o=s+l.length,a=e(l,s);if(a!==void 0)return a;s=o+l.breakAfter}}}resolveBlock(e,t){let i,r=-1,s,l=-1;if(this.blockTiles((o,a)=>{let c=a+o.length;if(e>=a&&e<=c){if(o.isWidget()&&t>=-1&&t<=1){if(o.flags&32)return!0;o.flags&16&&(i=void 0)}(a<e||e==c&&(t<-1?o.length:o.covers(1)))&&(!i||!o.isWidget()&&i.isWidget())&&(i=o,r=e-a),(c>e||e==a&&(t>1?o.length:o.covers(-1)))&&(!s||!o.isWidget()&&s.isWidget())&&(s=o,l=e-a)}}),!i&&!s)throw new Error("No tile at position "+e);return i&&t<0||!s?{tile:i,offset:r}:{tile:s,offset:l}}}class si extends Pl{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new si(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class Xn extends Pl{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let r=new Xn(t||document.createElement("div"),e);return(!t||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,i){let r=null,s=-1,l=null,o=-1;function a(h,u){for(let f=0,d=0;f<h.children.length&&d<=u;f++){let p=h.children[f],O=d+p.length;O>=u&&(p.isComposite()?a(p,u-d):(!l||l.isHidden&&(t>0&&!(l.flags&32)||i&&lx(l,p)))&&(O>u||p.flags&32&&t<=1)?(l=p,o=u-d):(d<u||p.flags&16&&!p.isHidden&&t>=-1)&&(r=p,s=u-d)),d=O}}a(this,e);let c=(t<0?r:l)||r||l;return c?{tile:c,offset:c==r?s:o}:null}coordsIn(e,t,i){let r=this.resolveInline(e,t,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),t,i):sx(this)}domIn(e,t){let i=this.resolveInline(e,t);if(i){let{tile:r,offset:s}=i;if(this.dom.contains(r.dom))return r.isText()?new vt(r.dom,Math.min(r.dom.nodeValue.length,s)):r.domPosFor(s,r.flags&16?1:r.flags&32?-1:t);let l=i.tile.parent,o=!1;for(let a of l.children){if(o)return new vt(a.dom,0);a==i.tile&&(o=!0)}}return new vt(this.dom,0)}}function sx(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=xr(e);return t[t.length-1]||null}function lx(n,e){let t=n.coordsIn(0,1),i=e.coordsIn(0,1);return t&&i&&i.top<t.bottom}class nt extends Pl{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let i=new nt(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class Yi extends xe{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t,i){let r=this.dom.nodeValue.length;e>r&&(e=r);let s=e,l=e,o=0;e==0&&t<0||e==r&&t>=0?M.chrome||M.gecko||(e?(s--,o=1):l<r&&(l++,o=-1)):t<0?s--:l<r&&l++;let a=Cr(this.dom,s,l).getClientRects();if(!a.length)return null;let c=a[(o?o<0:t>=0)?0:a.length-1];return M.safari&&!o&&c.width==0&&(c=Array.prototype.find.call(a,h=>h.width)||c),i==null?c:Tr(c,(o?o>0:t<0)==i)}static of(e,t){let i=new Yi(t||document.createTextNode(e),e);return t||(i.flags|=2),i}}class Fi extends xe{constructor(e,t,i,r){super(e,t,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(i)return Tr(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),l=null;if(!s.length)return null;let o=this.flags&16?!0:this.flags&32?!1:e>0;for(let a=o?s.length-1:0;l=s[a],!(e>0?a==0:a==s.length-1||l.top<l.bottom);a+=o?-1:1);return Tr(l,!o)}}get overrideDOMText(){if(!this.length)return K.empty;let{root:e}=this;if(!e)return K.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,i,r,s){return s||(s=e.toDOM(t),e.editable||(s.contentEditable="false")),new Fi(s,i,e,r)}}class Vs extends xe{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!0}get overrideDOMText(){return K.empty}coordsIn(e,t,i){let r=this.dom.getBoundingClientRect();return i==null?r:Tr(r,t>0==i)}}class ox{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,i){let{tile:r,index:s,beforeBreak:l,parents:o}=this;for(;e||t>0;)if(r.isComposite())if(l){if(!e)break;i&&i.break(),e--,l=!1}else if(s==r.children.length){if(!e&&!o.length)break;i&&i.leave(r),l=!!r.breakAfter,{tile:r,index:s}=o.pop(),s++}else{let a=r.children[s],c=a.breakAfter;(t>0?a.length<=e:a.length<e)&&(!i||i.skip(a,0,a.length)!==!1||!a.isComposite)?(l=!!c,s++,e-=a.length):(o.push({tile:r,index:s}),r=a,s=0,i&&a.isComposite()&&i.enter(a))}else{let a=r.length;if(s<a&&e){let c=Math.min(e,a-s);i&&i.skip(r,s,s+c),e-=c,s+=c}if(s==a)l=!!r.breakAfter,{tile:r,index:s}=o.pop(),s++;else if(!e)break}return this.tile=r,this.index=s,this.beforeBreak=l,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class ax{constructor(e,t,i,r){this.from=e,this.to=t,this.wrapper=i,this.rank=r}}class cx{constructor(e,t,i){this.cache=e,this.root=t,this.blockWrappers=i,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,i,r){var s;this.flushBuffer();let l=this.ensureMarks(t,i),o=l.lastChild;if(o&&o.isText()&&!(o.flags&8)&&o.length+e.length<512){this.cache.reused.set(o,2);let a=l.children[l.children.length-1]=new Yi(o.dom,o.text+e);a.parent=l}else l.append(r||Yi.of(e,(s=this.cache.find(Yi))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let i=this.curLine;i.dom!=t.line.dom&&(i.setDOM(this.cache.reused.has(t.line)?ro(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let r=i;for(let o=t.marks.length-1;o>=0;o--){let a=t.marks[o],c=r.lastChild;if(c instanceof nt&&c.mark.eq(a.mark))c.dom!=a.dom&&c.setDOM(ro(a.dom)),r=c;else{if(this.cache.reused.get(a)){let u=xe.get(a.dom);u&&u.setDOM(ro(a.dom))}let h=nt.of(a.mark,a.dom);r.append(h),r=h}this.cache.reused.set(a,2)}let s=xe.get(e.text);s&&this.cache.reused.set(s,2);let l=new Yi(e.text,e.text.nodeValue);l.flags|=8,this.pos=e.range.toB,r.append(l)}addInlineWidget(e,t,i){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,i);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=pp);let r=Xn.start(e,t||((i=this.cache.find(Xn))===null||i===void 0?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let l=e[s],o;if(t>0&&(o=r.lastChild)&&o instanceof nt&&o.mark.eq(l))r=o,t--;else{let a=nt.of(l,(i=this.cache.find(nt,c=>c.mark.eq(l)))===null||i===void 0?void 0:i.dom);r.append(a),r=a,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Bh(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(M.ios&&Bh(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(so,0,32)||new Fi(so.toDOM(),0,so,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=e.rank*102+e.value.rank,i=new ax(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let r=t.lastChild;if(i.from<this.pos&&r instanceof si&&r.wrapper.eq(i.wrapper))t=r;else{let s=si.of(i.wrapper,(e=this.cache.find(si,l=>l.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find(Vs,void 0,1);return i&&(i.flags=t),i||new Vs(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class hx{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:l}=this.cursor.next(this.skipCount);if(this.skipCount=0,l)throw new Error("Ran out of text content when drawing inline views");this.text=r;let o=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,o)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}}const Ns=[Fi,Xn,Yi,nt,Vs,si,Tl];for(let n=0;n<Ns.length;n++)Ns[n].bucket=n;class ux{constructor(e){this.view=e,this.buckets=Ns.map(()=>[]),this.index=Ns.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let r=e.bucket,s=this.buckets[r],l=this.index[r];for(let o=0;o<s.length;o++){let a=(o+l)%s.length,c=s[a];if((!t||t(c))&&!this.reused.has(c))return s.splice(a,1),a<l&&this.index[r]--,this.reused.set(c,i),c}return null}findWidget(e,t,i){let r=this.buckets[0];if(r.length)for(let s=0,l=0;;s++){if(s==r.length){if(l)return null;l=1,s=0}let o=r[s];if(!this.reused.has(o)&&(l==0?o.widget.compare(e):o.widget.constructor==e.constructor&&e.updateDOM(o.dom,this.view,o.widget)))return r.splice(s,1),s<this.index[0]&&this.index[0]--,o.widget==e&&o.length==t&&(o.flags&497)==i?(this.reused.set(o,1),o):(this.reused.set(o,2),new Fi(o.dom,t,e,o.flags&-498|i))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class fx{constructor(e,t,i,r,s){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new ux(e),this.text=new hx(e.state.doc),this.builder=new cx(this.cache,new Tl(e,e.contentDOM),N.iter(i)),this.cache.reused.set(t,2),this.old=new ox(t),this.reuseWalker={skip:(l,o,a)=>{if(this.cache.add(l),l.isComposite())return!1},enter:l=>this.cache.add(l),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let r=0,s=0,l=0;;){let o=l<e.length?e[l++]:null,a=o?o.fromA:this.old.root.length;if(a>r){let c=a-r;this.preserve(c,!l,!o),r=a,s+=c}if(!o)break;t&&o.fromA<=t.range.fromA&&o.toA>=t.range.toA?(this.forward(o.fromA,t.range.fromA,t.range.fromA<t.range.toA?1:-1),this.emit(s,t.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(t,i),this.text.skip(t.range.toB-t.range.fromB),this.forward(t.range.fromA,o.toA),this.emit(t.range.toB,o.toB)):(this.forward(o.fromA,o.toA),this.emit(s,o.toB)),s=o.toB,r=o.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,i){let r=Ox(this.old),s=this.openMarks;this.old.advance(e,i?1:-1,{skip:(l,o,a)=>{if(l.isWidget())if(this.openWidget)this.builder.continueWidget(a-o);else{let c=a>0||o<l.length?Fi.of(l.widget,this.view,a-o,l.flags&496,this.cache.maybeReuse(l)):this.cache.reuse(l);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,r,s),s=r.length)}else if(l.isText())this.builder.ensureLine(null),!o&&a==l.length&&!this.cache.reused.has(l)?this.builder.addText(l.text,r,s,this.cache.reuse(l)):(this.cache.add(l),this.builder.addText(l.text.slice(o,a),r,s)),s=r.length;else if(l.isLine())l.flags&=-2,this.cache.reused.set(l,1),this.builder.addLine(l);else if(l instanceof Vs)this.cache.add(l);else if(l instanceof nt)this.builder.ensureLine(null),this.builder.addMark(l,r,s),this.cache.reused.set(l,1),s=r.length;else return!1;this.openWidget=!1},enter:l=>{l.isLine()?this.builder.addLineStart(l.attrs,this.cache.maybeReuse(l)):(this.cache.add(l),l instanceof nt&&r.unshift(l.mark)),this.openWidget=!1},leave:l=>{l.isLine()?r.length&&(r.length=s=0):l instanceof nt&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,r=this.builder,s=-1,l=N.spans(this.decorations,e,t,{point:(o,a,c,h,u,f)=>{if(c instanceof Gi){if(this.disallowBlockEffectsFor[f]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(a>this.view.state.doc.lineAt(o).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,u>h.length)r.continueWidget(a-o);else{let d=c.widget||(c.block?Ln.block:Ln.inline),p=dx(c),O=this.cache.findWidget(d,a-o,p)||Fi.of(d,this.view,a-o,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget(O)):(r.ensureLine(i),r.addInlineWidget(O,h,u))}i=null}else i=px(i,c);a>o&&this.text.skip(a-o)},span:(o,a,c,h)=>{for(let u=o;u<a;){let f=this.text.next(Math.min(512,a-u));f==null?(r.addLineStartIfNotCovered(i),r.addBreak(),u++):(r.ensureLine(i),r.addText(f,c,u==o?h:c.length),u+=f.length),i=null}s=c.length}});s>-1&&(this.openWidget=l>s),this.openWidget||r.addLineStartIfNotCovered(i),this.openMarks=l}forward(e,t,i=1){t-e<=10?this.old.advance(t-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let r=e.parentNode;;r=r.parentNode){let s=xe.get(r);if(r==this.view.contentDOM)break;s instanceof nt?t.push(s):s!=null&&s.isLine()?i=s:s instanceof si||(r.nodeName=="DIV"&&!i&&r!=this.view.contentDOM?i=new Xn(r,pp):i||t.push(nt.of(new Wr({tagName:r.nodeName.toLowerCase(),attributes:Wb(r)}),r)))}return{line:i,marks:t}}}function Bh(n,e){let t=i=>{for(let r of i.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(n)}function dx(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const pp={class:"cm-line"};function px(n,e){let t=e.spec.attributes,i=e.spec.class;return!t&&!i||(n||(n={class:"cm-line"}),t&&tc(t,n),i&&(n.class+=" "+i)),n}function Ox(n){let e=[];for(let t=n.parents.length;t>1;t--){let i=t==n.parents.length?n.tile:n.parents[t].tile;i instanceof nt&&e.push(i.mark)}return e}function ro(n){let e=xe.get(n);return e&&e.setDOM(n.cloneNode()),n}class Ln extends Tt{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Ln.inline=new Ln("span");Ln.block=new Ln("div");const so=new class extends Tt{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Vh{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=z.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Tl(e,e.contentDOM),this.updateInner([new gt(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:h,toA:u})=>u<this.minWidthFrom||h>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!Qx(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?mx(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;i=new gt(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(M.ie||M.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let l=this.decorations,o=this.blockWrappers;this.updateDeco();let a=kx(l,this.decorations,e.changes);a.length&&(i=gt.extendWithRanges(i,a));let c=Sx(o,this.blockWrappers,e.changes);return c.length&&(i=gt.extendWithRanges(i,c)),s&&!i.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(i=s.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let l=this.tile,o=new fx(this.view,l,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&xe.get(t.text)&&o.cache.reused.set(xe.get(t.text),2),this.tile=o.run(e,t),pa(l,o.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=M.chrome||M.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||i.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof lo&&r.push(s.dom);i.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(cp)&&(this.editContextFormatting=i.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:i}=this.tile,r=this.view.root.activeElement,s=r==i,l=!s&&!(this.view.state.facet(ri)||i.tabIndex>-1)&&br(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(s||t||l))return;let o=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,c,h;if(a.empty?h=c=this.inlineDOMNearPos(a.anchor,a.assoc||1):(h=this.inlineDOMNearPos(a.head,a.head==a.from?1:-1),c=this.inlineDOMNearPos(a.anchor,a.anchor==a.from?1:-1)),M.gecko&&a.empty&&!this.hasComposition&&gx(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=h=new vt(f,0),o=!0}let u=this.view.observer.selectionRange;(o||!u.focusNode||(!kr(c.node,c.offset,u.anchorNode,u.anchorOffset)||!kr(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,a))&&(this.view.observer.ignore(()=>{M.android&&M.chrome&&i.contains(u.focusNode)&&wx(u.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let f=Pr(this.view.root);if(f)if(a.empty){if(M.gecko){let d=bx(c.node,c.offset);if(d&&d!=3){let p=(d==1?Nd:Gd)(c.node,c.offset);p&&(c=new vt(p.node,p.offset))}}f.collapse(c.node,c.offset),a.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=a.bidiLevel)}else if(f.extend){f.collapse(c.node,c.offset);try{f.extend(h.node,h.offset)}catch{}}else{let d=document.createRange();a.anchor>a.head&&([c,h]=[h,c]),d.setEnd(h.node,h.offset),d.setStart(c.node,c.offset),f.removeAllRanges(),f.addRange(d)}l&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new vt(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new vt(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&kr(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Pr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let l=this.lineAt(t.head,t.assoc);if(!l)return;let o=l.posAtStart;if(t.head==o||t.head==o+l.length)return;let a=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!a||!c||a.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(h.node,h.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&i.collapse(r,s)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let s;if(e==i.dom)s=i.dom.childNodes[t];else{let l=oi(e)==0?0:t==0?-1:1;for(;;){let o=e.parentNode;if(o==i.dom)break;l==0&&o.firstChild!=o.lastChild&&(e==o.firstChild?l=-1:l=1),e=o}l<0?s=e:s=e.nextSibling}if(s==i.dom.firstChild)return r;for(;s&&!xe.get(s);)s=s.nextSibling;if(!s)return r+i.length;for(let l=0,o=r;;l++){let a=i.children[l];if(a.dom==s)return o;o+=a.length+a.breakAfter}}else return i.isText()?e==i.dom?r+t:r+(t?i.length:0):r}domAtPos(e,t){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(r,t):i.domIn(r,t)}inlineDOMNearPos(e,t){let i,r=-1,s=!1,l,o=-1,a=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let u=h+c.length;if(h<=e&&(i=c,r=e-h,s=u<e),u>=e&&!l&&(l=c,o=e-h,a=h>e),h>e&&l)return!0}}),!i&&!l?this.domAtPos(e,t):(s&&l?i=null:a&&i&&(l=null),i&&t<0||!l?i.domIn(r,t):l.domIn(o,t))}coordsAt(e,t,i){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof lo?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,i)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,l){if(s.isComposite())for(let o of s.children){if(o.length>=l){let a=r(o,l);if(a)return a}if(l-=o.length,l<0)break}else if(s.isText()&&l<s.length){let o=Me(s.text,l);if(o==l)return null;let a=Cr(s.dom,l,o).getClientRects();for(let c=0;c<a.length;c++){let h=a[c];if(c==a.length-1||h.top<h.bottom&&h.left<h.right)return h}}return null}return r(t,i)}measureVisibleLineHeights(e){let t=[],{from:i,to:r}=e,s=this.view.contentDOM.clientWidth,l=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==ue.LTR,c=0,h=(u,f,d)=>{for(let p=0;p<u.children.length&&!(f>r);p++){let O=u.children[p],m=f+O.length,x=O.dom.getBoundingClientRect(),{height:S}=x;if(d&&!p&&(c+=x.top-d.top),O instanceof si)m>i&&h(O,f,x);else if(f>=i&&(c>0&&t.push(-c),t.push(S+c),c=0,l)){let w=O.dom.lastChild,T=w?xr(w):[];if(T.length){let k=T[T.length-1],P=a?k.right-x.left:x.right-k.left;P>o&&(o=P,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=m)}}d&&p==u.children.length-1&&(c+=d.bottom-x.bottom),f=m+O.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ue.RTL:ue.LTR}measureTextSize(){let e=this.tile.blockTiles(l=>{if(l.isLine()&&l.children.length&&l.length<=20){let o=0,a;for(let c of l.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=xr(c.dom);if(h.length!=1)return;o+=h[0].width,a=h[0].height}if(o)return{lineHeight:l.dom.getBoundingClientRect().height,charWidth:o/l.length,textHeight:a}}});if(e)return e;let t=document.createElement("div"),i,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let l=xr(t.firstChild)[0];i=t.getBoundingClientRect().height,r=l&&l.width?l.width/27:7,s=l&&l.height?l.height:i,t.remove()}),{lineHeight:i,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],l=s?s.from-1:this.view.state.doc.length;if(l>i){let o=(t.lineBlockAt(l).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(z.replace({widget:new lo(o),block:!0,inclusive:!0,isBlockGap:!0}).range(i,l))}if(!s)break;i=s.to+1}return z.set(e)}updateDeco(){let e=1,t=this.view.state.facet($l).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(oc).map((s,l)=>{let o=typeof s=="function";return o&&(i=!0),o?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(N.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(up).map(s=>typeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(ap))try{if(c(this.view,e.range,e))return!0}catch(h){rt(this.view.state,h,"scroll handler")}let{range:t}=e,i=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!i)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=ac(this.view),l={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:o,offsetHeight:a}=this.view.scrollDOM;if(Yb(this.view.scrollDOM,l,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,o),-o),Math.max(Math.min(e.yMargin,a),-a),this.view.textDirection==ue.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(i.top>window.visualViewport.offsetTop+window.visualViewport.height||i.bottom<window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(t.head,1);if(c){let h=qd(c.dom);c.dom.scrollIntoView({block:"nearest"}),Yd(h,!1)}}}lineHasWidget(e){let t=i=>i.isWidget()||i.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){pa(this.tile)}}function pa(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let i of n.children)pa(i,e)}}function gx(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function Op(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let i=Nd(t.focusNode,t.focusOffset),r=Gd(t.focusNode,t.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let o=xe.get(r.node);if(!o||o.isText()&&o.text!=r.node.nodeValue)s=r;else if(n.docView.lastCompositionAfterCursor){let a=xe.get(i.node);!a||a.isText()&&a.text!=i.node.nodeValue||(s=r)}}if(n.docView.lastCompositionAfterCursor=s!=i,!s)return null;let l=e-s.offset;return{from:l,to:l+s.node.nodeValue.length,node:s.node}}function mx(n,e,t){let i=Op(n,t);if(!i)return null;let{node:r,from:s,to:l}=i,o=r.nodeValue;if(/[\n\r]/.test(o)||n.state.doc.sliceString(i.from,i.to)!=o)return null;let a=e.invertedDesc;return{range:new gt(a.mapPos(s),a.mapPos(l),s,l),text:r}}function bx(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let xx=class{constructor(){this.changes=[]}compareRange(e,t){xn(e,t,this.changes)}comparePoint(e,t){xn(e,t,this.changes)}boundChange(e){xn(e,e,this.changes)}};function kx(n,e,t){let i=new xx;return N.compare(n,e,t,i),i.changes}class yx{constructor(){this.changes=[]}compareRange(e,t){xn(e,t,this.changes)}comparePoint(){}boundChange(e){xn(e,e,this.changes)}}function Sx(n,e,t){let i=new yx;return N.compare(n,e,t,i),i.changes}function wx(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function Qx(n,e){let t=!1;return e&&n.iterChangedRanges((i,r)=>{i<e.to&&r>e.from&&(t=!0)}),t}class lo extends Tt{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function vx(n,e,t=1){let i=n.charCategorizer(e),r=n.doc.lineAt(e),s=e-r.from;if(r.length==0)return v.cursor(e);s==0?t=1:s==r.length&&(t=-1);let l=s,o=s;t<0?l=Me(r.text,s,!1):o=Me(r.text,s);let a=i(r.text.slice(l,o));for(;l>0;){let c=Me(r.text,l,!1);if(i(r.text.slice(c,l))!=a)break;l=c}for(;o<r.length;){let c=Me(r.text,o);if(i(r.text.slice(o,c))!=a)break;o=c}return v.undirectionalRange(l+r.from,o+r.from)}function $x(n,e,t,i,r){let s=Math.round((i-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let o=n.viewState.heightOracle.textHeight,a=Math.floor((r-t.top-(n.defaultLineHeight-o)*.5)/o);s+=a*n.viewState.heightOracle.lineLength}let l=n.state.sliceDoc(t.from,t.to);return t.from+ia(l,s,n.state.tabSize)}function Oa(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!r||s.type==Ee.Text&&(r.type!=s.type||(t<0?s.from<e:s.to>e)))&&(r=s)}}return r||i}return i}function Px(n,e,t,i){let r=Oa(n,e.head,e.assoc||-1),s=!i||r.type!=Ee.Text||!(n.lineWrapping||r.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let l=n.dom.getBoundingClientRect(),o=n.textDirectionAt(r.from),a=n.posAtCoords({x:t==(o==ue.LTR)?l.right-1:l.left+1,y:(s.top+s.bottom)/2});if(a!=null)return v.cursor(a,t?-1:1)}return v.cursor(t?r.to:r.from,t?-1:1)}function Nh(n,e,t,i){let r=n.state.doc.lineAt(e.head),s=n.bidiSpans(r),l=n.textDirectionAt(r.from);for(let o=e,a=null;;){let c=tx(r,s,l,o,t),h=Jd;if(!c){if(r.number==(t?n.state.doc.lines:1))return o;h=`
|
|
14
|
+
`,r=n.state.doc.line(r.number+(t?1:-1)),s=n.bidiSpans(r),c=n.visualLineSide(r,!t)}if(a){if(!a(h))return o}else{if(!i)return c;a=i(h)}o=c}}function Tx(n,e,t){let i=n.state.charCategorizer(e),r=i(t);return s=>{let l=i(s);return r==de.Space&&(r=l),r==l}}function Cx(n,e,t,i){let r=e.head,s=t?1:-1;if(r==(t?n.state.doc.length:0))return v.cursor(r,e.assoc);let l=e.goalColumn,o,a=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=n.documentTop;if(c)l==null&&(l=c.left-a.left),o=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(r);l==null&&(l=Math.min(a.right-a.left,n.defaultCharacterWidth*(r-p.from))),o=(s<0?p.top:p.bottom)+h}let u=a.left+l,f=n.viewState.heightOracle.textHeight>>1,d=i??f;for(let p=0;;p+=f){let O=o+(d+p)*s,m=ga(n,{x:u,y:O},!1,s);if(t?O>a.bottom:O<a.top)return v.cursor(m.pos,m.assoc);let x=n.coordsAtPos(m.pos,m.assoc),S=x?(x.top+x.bottom)/2:0;if(!x||(t?S>o:S<o))return v.cursor(m.pos,m.assoc,void 0,l)}}function yr(n,e,t){for(;;){let i=0;for(let r of n)r.between(e-1,e+1,(s,l,o)=>{if(e>s&&e<l){let a=i||t||(e-s<l-e?-1:1);e=a<0?s:l,i=a}});if(!i)return e}}function gp(n,e){let t=null;for(let i=0;i<e.ranges.length;i++){let r=e.ranges[i],s=null;if(r.empty){let l=yr(n,r.from,0);l!=r.from&&(s=v.cursor(l,-1))}else{let l=yr(n,r.from,-1),o=yr(n,r.to,1);(l!=r.from||o!=r.to)&&(r.undirectional?s=v.undirectionalRange(r.from,r.to):s=v.range(r.from==r.anchor?l:o,r.from==r.head?l:o))}s&&(t||(t=e.ranges.slice()),t[i]=s)}return t?v.create(t,e.mainIndex):e}function oo(n,e,t){let i=yr(n.state.facet(qr).map(r=>r(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:v.cursor(i,i<t.from?1:-1)}class It{constructor(e,t){this.pos=e,this.assoc=t}}function ga(n,e,t,i){let r=n.contentDOM.getBoundingClientRect(),s=r.top+n.viewState.paddingTop,{x:l,y:o}=e,a=o-s,c;for(;;){if(a<0)return new It(0,1);if(a>n.viewState.docHeight)return new It(n.state.doc.length,-1);if(c=n.elementAtHeight(a),i==null)break;if(c.type==Ee.Text){if(i<0?c.to<n.viewport.from:c.from>n.viewport.to)break;let f=n.docView.coordsAt(i<0?c.from:c.to,i>0?-1:1);if(f&&(i<0?f.top<=a+s:f.bottom>=a+s))break}let u=n.viewState.heightOracle.textHeight/2;a=i>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Ee.Text){let u=$x(n,r,c,l,o);return new It(u,u==c.from?1:-1)}}if(c.type!=Ee.Text)return a<(c.top+c.bottom)/2?new It(c.from,1):new It(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),new Ax(n,l,o,n.textDirectionAt(c.from)).scanTile(h,c.from)}class Ax{constructor(e,t,i,r){this.view=e,this.x=t,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[qt.find(r,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[qt.find(r,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:r}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from<t)}scan(e,t,i=!1){let r=0,s=e.length-1,l=new Set,o=this.bidiIn(e[0],e[s]),a,c,h=-1,u=1e9,f;e:for(;r<s;){let p=s-r,O=r+s>>1;t:if(l.has(O)){for(let S=1;S<p;S++){let w=O+S;if(w>=s&&(w-=p),!l.has(w)){O=w;break t}}break e}l.add(O);let m=t(O),x=0;if(m)for(let S=0;S<m.length;S++){let w=m[S];if(!(w.width==0&&m.length>1))if(w.bottom<this.y)(!a||a.bottom<w.bottom)&&(a=w),x=1;else if(w.top>this.y)(!c||c.top>w.top)&&(c=w),x=-1;else{let T=w.left>this.x?this.x-w.left:w.right<this.x?this.x-w.right:0,k=Math.abs(T);k<u&&(h=O,u=k,f=w),T&&(x=T<0==(this.baseDir==ue.LTR)?-1:1)}}x==-1&&(!o||this.baseDirAt(e[O],1))?s=O:x==1&&(!o||this.baseDirAt(e[O+1],-1))&&(r=O+1)}if(!f){if(!c&&!a)return{i:e[0],after:!1};let p=a&&(!c||this.y-a.bottom<c.top-this.y)?a:c;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(u&&!i){let{top:p,bottom:O}=f;if(a&&a.bottom>(p+p+O)/3)return this.y=a.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+O+O)/3)return this.y=c.top+1,this.scan(e,t,!0)}let d=(o?this.dirAt(e[h],1):this.baseDir)==ue.LTR;return{i:h,after:this.x>(f.left+f.right)/2==d}}scanText(e,t){let i=[];for(let s=0;s<e.length;s=Me(e.text,s))i.push(t+s);i.push(t+e.length);let r=this.scan(i,s=>{let l=i[s]-t,o=i[s+1]-t;return Cr(e.dom,l,o).getClientRects()});return r.after?new It(i[r.i+1],-1):new It(i[r.i],1)}scanTile(e,t){if(!e.length)return new It(t,1);if(e.children.length==1){let o=e.children[0];if(o.isText())return this.scanText(o,t);if(o.isComposite())return this.scanTile(o,t)}let i=[t];for(let o=0,a=t;o<e.children.length;o++)i.push(a+=e.children[o].length);let r=this.scan(i,o=>{let a=e.children[o];return a.flags&48?null:(a.dom.nodeType==1?a.dom:Cr(a.dom,0,a.length)).getClientRects()}),s=e.children[r.i],l=i[r.i];return s.isText()?this.scanText(s,l):s.isComposite()?this.scanTile(s,l):r.after?new It(i[r.i+1],-1):new It(l,1)}}const un="";class Rx{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(U.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=un}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let r=e;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let l=xe.get(r),o=r.nextSibling;if(o==t){l!=null&&l.breakAfter&&!o&&i!=this.view.contentDOM&&this.lineBreak();break}let a=xe.get(o);(l&&a?l.breakAfter:(l?l.breakAfter:Ys(r))||Ys(o)&&(r.nodeName!="BR"||l!=null&&l.isWidget())&&this.text.length>s)&&!Zx(o,t)&&this.lineBreak(),r=o}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,l=1,o;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,i),l=this.lineSeparator.length):(o=r.exec(t))&&(s=o.index,l=o[0].length),this.append(t.slice(i,s<0?t.length:s)),s<0)break;if(this.lineBreak(),l>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=l-1);i=s+l}}readNode(e){let t=xe.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(Mx(e,i.node,i.offset)?t:0))}}function Mx(n,e,t){for(;;){if(!e||t<oi(e))return!1;if(e==n)return!0;t=vi(e)+1,e=e.parentNode}}function Zx(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let i=xe.get(n);if(!(i!=null&&i.isWidget()))return!1;i&&(t||(t=[])).push(i)}if(t)for(let i of t){let r=i.overrideDOMText;if(r!=null&&r.length)return!1}return!0}class Gh{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class Xx{constructor(e,t,i,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:l}=e.docView,o=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=mp(e.docView.tile,t,i,0))){let a=s||l?[]:jx(e),c=new Rx(a,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=Ex(a,this.bounds.from)}else{let a=e.observer.selectionRange,c=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!ca(e.contentDOM,a.focusNode)?o.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),h=l&&l.node==a.anchorNode&&l.offset==a.anchorOffset||!ca(e.contentDOM,a.anchorNode)?o.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((M.ios||M.chrome)&&c!=h&&Math.min(c,h)<=o.main.from&&Math.max(c,h)>=o.main.to&&(u.from>0||u.to<e.state.doc.length)){let f=Math.min(c,h),d=Math.max(c,h),p=u.from-f,O=u.to-d;(p==0||p==1||f==0)&&(O==0||O==-1||d==e.state.doc.length)&&(c=0,h=e.state.doc.length)}if(e.inputState.composing>-1&&o.ranges.length>1)this.newSel=o.replaceRange(v.range(h,c));else if(e.lineWrapping&&h==c&&!(o.main.empty&&o.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(c,-1),d=0;f&&(d=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=v.create([v.cursor(c,d)])}else this.newSel=v.single(h,c)}}}function mp(n,e,t,i){if(n.isComposite()){let r=-1,s=-1,l=-1,o=-1;for(let a=0,c=i,h=i;a<n.children.length;a++){let u=n.children[a],f=c+u.length;if(c<e&&f>t)return mp(u,e,t,c);if(f>=e&&r==-1&&(r=a,s=c),c>t&&u.dom.parentNode==n.dom){l=a,o=h;break}h=f,c=f+u.breakAfter}return{from:s,to:o<0?i+n.length:o,startDOM:(r?n.children[r-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:l<n.children.length&&l>=0?n.children[l].dom:null}}else return n.isText()?{from:i,to:i+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function bp(n,e){let t,{newSel:i}=e,{state:r}=n,s=r.selection.main,l=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,c=s.from,h=null;(l===8||M.android&&e.text.length<a-o)&&(c=s.to,h="end");let u=r.doc.sliceString(o,a,un),f,d;!s.empty&&s.from>=o&&s.to<=a&&(e.typeOver||u!=e.text)&&u.slice(0,s.from-o)==e.text.slice(0,s.from-o)&&u.slice(s.to-o)==e.text.slice(f=e.text.length-(u.length-(s.to-o)))?t={from:s.from,to:s.to,insert:K.of(e.text.slice(s.from-o,f).split(un))}:(d=xp(u,e.text,c-o,h))&&(M.chrome&&l==13&&d.toB==d.from+2&&e.text.slice(d.from,d.toB)==un+un&&d.toB--,t={from:o+d.from,to:o+d.toA,insert:K.of(e.text.slice(d.from,d.toB).split(un))})}else i&&(!n.hasFocus&&r.facet(ri)||Gs(i,s))&&(i=null);if(!t&&!i)return!1;if((M.mac||M.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(i&&t.insert.length==2&&(i=v.single(i.main.anchor-1,i.main.head-1)),t={from:t.from,to:t.to,insert:K.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).to<s.to&&n.docView.lineHasWidget(s.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:s.from,to:s.to,insert:r.toText(n.inputState.insertingText)}:M.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==`
|
|
15
|
+
`&&n.lineWrapping&&(i&&(i=v.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:K.of([" "])}),t)return cc(n,t,i,l);if(i&&!Gs(i,s)){let o=!1,a="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(o=!0),a=n.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=gp(r.facet(qr).map(c=>c(n)),i))),n.dispatch({selection:i,scrollIntoView:o,userEvent:a}),!0}else return!1}function cc(n,e,t,i=-1){if(M.ios&&n.inputState.flushIOSKey(e))return!0;let r=n.state.selection.main;if(M.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&n.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&kn(n.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&kn(n.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&kn(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let l,o=()=>l||(l=Lx(n,e,t));return n.state.facet(rp).some(a=>a(n,e.from,e.to,s,o))||n.dispatch(o()),!0}function Lx(n,e,t){let i,r=n.state,s=r.selection.main,l=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let a=e.from<s.from?-1:1,c=a<0?s.from:s.to,h=yr(r.facet(qr).map(u=>u(n)),c,a);e.from==h&&(l=h)}if(l>-1)i={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let a=s.from<e.from?r.sliceDoc(s.from,e.from):"",c=s.to>e.to?r.sliceDoc(e.to,s.to):"";i=r.replaceSelection(n.state.toText(a+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let a=r.changes(e),c=t&&t.main.to<=a.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),u,f=t&&Op(n,t.main.head);if(f){let p=e.insert.length-(e.to-e.from);u={from:f.from,to:f.to-p}}else u=n.state.doc.lineAt(s.head);let d=s.to-e.to;i=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:a,range:c||p.map(a)};let O=p.to-d,m=O-h.length;if(n.state.sliceDoc(m,O)!=h||O>=u.from&&m<=u.to)return{range:p};let x=r.changes({from:m,to:O,insert:e.insert}),S=p.to-s.to;return{changes:x,range:c?v.range(Math.max(0,c.anchor+S),Math.max(0,c.head+S)):p.map(x)}})}else i={changes:a,selection:c&&r.selection.replaceRange(c)}}let o="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,o+=".compose",n.inputState.compositionFirstChange&&(o+=".start",n.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:o,scrollIntoView:!0})}function xp(n,e,t,i){let r=Math.min(n.length,e.length),s=0;for(;s<r&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&n.length==e.length)return null;let l=n.length,o=e.length;for(;l>0&&o>0&&n.charCodeAt(l-1)==e.charCodeAt(o-1);)l--,o--;if(i=="end"){let a=Math.max(0,s-Math.min(l,o));t-=l+a-s}if(l<s&&n.length<e.length){let a=t<=s&&t>=l?s-t:0;s-=a,o=s+(o-l),l=s}else if(o<s){let a=t<=s&&t>=o?s-t:0;s-=a,l=s+(l-o),o=s}return{from:s,toA:l,toB:o}}function jx(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new Gh(t,i)),(r!=t||s!=i)&&e.push(new Gh(r,s))),e}function Ex(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?v.single(t+e,i+e):null}function Gs(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class _x{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,M.safari&&e.contentDOM.addEventListener("input",()=>null),M.gecko&&ek(e.contentDOM.ownerDocument)}handleEvent(e){!Nx(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Dx(e),i=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let l=!t[s].handlers.length,o=i[s];o&&l!=!o.handlers.length&&(r.removeEventListener(s,this.handleEvent),o=null),o||r.addEventListener(s,this.handleEvent,{passive:l})}for(let s in i)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&yp.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),M.android&&M.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(M.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(kp.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||Wx.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&M.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&zx(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,kn(this.view.contentDOM,t.key,t.keyCode,t.mods))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:M.safari&&!M.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function zx(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function Uh(n,e){return(t,i)=>{try{return e.call(n,i,t)}catch(r){rt(t.state,r)}}}function Dx(n){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of n){let r=i.spec,s=r&&r.plugin.domEventHandlers,l=r&&r.plugin.domEventObservers;if(s)for(let o in s){let a=s[o];a&&t(o).handlers.push(Uh(i.value,a))}if(l)for(let o in l){let a=l[o];a&&t(o).observers.push(Uh(i.value,a))}}for(let i in Pt)t(i).handlers.push(Pt[i]);for(let i in He)t(i).observers.push(He[i]);return e}const kp=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Wx="dthko",yp=[16,17,18,20,91,92,224,225],ss=6;function ls(n){return Math.max(0,n)*.7+8}function Ix(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class qx{constructor(e,t,i,r){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Id(e.contentDOM),this.atoms=e.state.facet(qr).map(l=>l(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(U.allowMultipleSelections)&&Yx(e,t),this.dragging=Vx(e,t)&&Qp(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Ix(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,r=0,s=0,l=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:l}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:o}=this.scrollParents.y.getBoundingClientRect());let a=ac(this.view);e.clientX-a.left<=r+ss?t=-ls(r-e.clientX):e.clientX+a.right>=l-ss&&(t=ls(e.clientX-l)),e.clientY-a.top<=s+ss?i=-ls(s-e.clientY):e.clientY+a.bottom>=o-ss&&(i=ls(e.clientY-o)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=gp(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Yx(n,e){let t=n.state.facet(ep);return t.length?t[0](e):M.mac?e.metaKey:e.ctrlKey}function Bx(n,e){let t=n.state.facet(tp);return t.length?t[0](e):M.mac?!e.altKey:!e.ctrlKey}function Vx(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let i=Pr(n.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let l=r[s];if(l.left<=e.clientX&&l.right>=e.clientX&&l.top<=e.clientY&&l.bottom>=e.clientY)return!0}return!1}function Nx(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=xe.get(t))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}const Pt=Object.create(null),He=Object.create(null),Sp=M.ie&&M.ie_version<15||M.ios&&M.webkit_version<604;function Gx(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),wp(n,t.value)},50)}function Cl(n,e,t){for(let i of n.facet(e))t=i(t,n);return t}function wp(n,e){e=Cl(n.state,rc,e);let{state:t}=n,i,r=1,s=t.toText(e),l=s.lines==t.selection.ranges.length;if(ma!=null&&t.selection.ranges.every(a=>a.empty)&&ma==s.toString()){let a=-1;i=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==a)return{range:c};a=h.from;let u=t.toText((l?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:v.cursor(c.from+u.length)}})}else l?i=t.changeByRange(a=>{let c=s.line(r++);return{changes:{from:a.from,to:a.to,insert:c.text},range:v.cursor(a.from+c.length)}}):i=t.replaceSelection(s);n.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}He.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,M.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};He.wheel=He.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Pt.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);He.touchstart=(n,e)=>{let t=n.inputState,i=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),i&&(t.lastTouchX=i.clientX,t.lastTouchY=i.clientY),t.setSelectionOrigin("select.pointer")};He.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};He.touchend=(n,e)=>{n.inputState.touchActive=!1};Pt.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of n.state.facet(ip))if(t=i(n,e),t)break;if(!t&&e.button==0&&(t=Fx(n,e)),t){let i=!n.hasFocus;n.inputState.startMouseSelection(new qx(n,e,t,i)),i&&n.observer.ignore(()=>{Bd(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let r=n.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function Fh(n,e,t,i){if(i==1)return v.cursor(e,t);if(i==2)return vx(n.state,e,t);{let r=n.docView.lineAt(e,t),s=n.state.doc.lineAt(r?r.posAtEnd:e),l=r?r.posAtStart:s.from,o=r?r.posAtEnd:s.to;return o<n.state.doc.length&&o==s.to&&o++,v.undirectionalRange(l,o)}}const Ux=M.ie&&M.ie_version<=11;let Hh=null,Kh=0,Jh=0;function Qp(n){if(!Ux)return n.detail;let e=Hh,t=Jh;return Hh=n,Jh=Date.now(),Kh=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(Kh+1)%3:1}function Fx(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=Qp(e),r=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,l,o){let a=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Fh(n,a.pos,a.assoc,i);if(t.pos!=a.pos&&!l){let u=Fh(n,t.pos,t.assoc,i),f=Math.min(u.from,h.from),d=Math.max(u.to,h.to);h=f<h.from?v.range(f,d,h.assoc):v.range(d,f,h.assoc)}return l?r.replaceRange(r.main.extend(h.from,h.to,h.assoc)):o&&i==1&&r.ranges.length>1&&(c=Hx(r,a.pos))?c:o?r.addRange(h):v.create([h])}}}function Hx(n,e){for(let t=0;t<n.ranges.length;t++){let{from:i,to:r}=n.ranges[t];if(i<=e&&r>=e)return v.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Pt.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let r=n.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,l=s+r.length;(s>=t.to||l<=t.from)&&(t=v.undirectionalRange(s,l))}}let{inputState:i}=n;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Cl(n.state,sc,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Pt.dragend=n=>(n.inputState.draggedContent=null,!1);function eu(n,e,t,i){if(t=Cl(n.state,rc,t),!t)return;let r=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,l=i&&s&&Bx(n,e)?{from:s.from,to:s.to}:null,o={from:r,insert:t},a=n.state.changes(l?[l,o]:o);n.focus(),n.dispatch({changes:a,selection:{anchor:a.mapPos(r,-1),head:a.mapPos(r,1)},userEvent:l?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Pt.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),r=0,s=()=>{++r==t.length&&eu(n,e,i.filter(l=>l!=null).join(n.state.lineBreak),!1)};for(let l=0;l<t.length;l++){let o=new FileReader;o.onerror=s,o.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(i[l]=o.result),s()},o.readAsText(t[l])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return eu(n,e,i,!0),!0}return!1};Pt.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Sp?null:e.clipboardData;return t?(wp(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Gx(n),!1)};function Kx(n,e){let t=n.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),n.focus()},50)}function Jx(n){let e=[],t=[],i=!1;for(let r of n.selection.ranges)r.empty||(e.push(n.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of n.selection.ranges){let l=n.doc.lineAt(s);l.number>r&&(e.push(l.text),t.push({from:l.from,to:Math.min(n.doc.length,l.to+1)})),r=l.number}i=!0}return{text:Cl(n,sc,e.join(n.lineBreak)),ranges:t,linewise:i}}let ma=null;Pt.copy=Pt.cut=(n,e)=>{if(!br(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:i,linewise:r}=Jx(n.state);if(!t&&!r)return!1;ma=r?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=Sp?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(Kx(n,t),!1)};const vp=Ft.define();function $p(n,e){let t=[];for(let i of n.facet(sp)){let r=i(n,e);r&&t.push(r)}return t.length?n.update({effects:t,annotations:vp.of(!0)}):null}function Pp(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=$p(n.state,e);t?n.dispatch(t):n.update([])}},10)}He.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),Pp(n)};He.blur=n=>{n.observer.clearSelectionRange(),Pp(n)};He.compositionstart=He.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};He.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,M.chrome&&M.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};He.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Pt.beforeinput=(n,e)=>{var t,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),l=e.getTargetRanges();if(s&&l.length){let o=l[0],a=n.posAtDOM(o.startContainer,o.startOffset),c=n.posAtDOM(o.endContainer,o.endOffset);return cc(n,{from:a,to:c,insert:n.state.toText(s)},null),!0}}let r;if(M.chrome&&M.android&&(r=kp.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var l;(((l=window.visualViewport)===null||l===void 0?void 0:l.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return M.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),M.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>He.compositionend(n,e),20),!1};const tu=new Set;function ek(n){tu.has(n)||(tu.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const iu=["pre-wrap","normal","pre-line","break-spaces"];let jn=!1;function nu(){jn=!1}class tk{constructor(e){this.lineWrapping=e,this.doc=K.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return iu.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i<e.length;i++){let r=e[i];r<0?i++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,i,r,s,l){let o=iu.indexOf(e)>-1,a=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=s,a){this.heightSamples={};for(let c=0;c<l.length;c++){let h=l[c];h<0?c++:this.heightSamples[Math.floor(h*10)]=!0}}return a}}class ik{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Qt{constructor(e,t,i,r,s){this.from=e,this.length=t,this.top=i,this.height=r,this._content=s}get type(){return typeof this._content=="number"?Ee.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Gi?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Qt(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var fe=(function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n})(fe||(fe={}));const Ts=.001;class Fe{constructor(e,t,i=2){this.length=e,this.height=t,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Ts&&(jn=!0),this.height=e)}replace(e,t,i){return Fe.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let s=this,l=i.doc;for(let o=r.length-1;o>=0;o--){let{fromA:a,toA:c,fromB:h,toB:u}=r[o],f=s.lineAt(a,fe.ByPosNoHeight,i.setDoc(t),0,0),d=f.to>=c?f:s.lineAt(c,fe.ByPosNoHeight,i,0,0);for(u+=d.to-c,c=d.to;o>0&&f.from<=r[o-1].toA;)a=r[o-1].fromA,h=r[o-1].fromB,o--,a<f.from&&(f=s.lineAt(a,fe.ByPosNoHeight,i,0,0));h+=f.from-a,a=f.from;let p=hc.build(i.setDoc(l),e,h,u);s=Us(s,s.replace(a,c,p))}return s.updateHeight(i,0)}static empty(){return new ht(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,i=e.length,r=0,s=0;for(;;)if(t==i)if(r>s*2){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),i+=1+o.break,r-=o.size}else if(s>r*2){let o=e[i];o.break?e.splice(i,1,o.left,null,o.right):e.splice(i,1,o.left,o.right),i+=2+o.break,s-=o.size}else break;else if(r<s){let o=e[t++];o&&(r+=o.size)}else{let o=e[--i];o&&(s+=o.size)}let l=0;return e[t-1]==null?(l=1,t--):e[t]==null&&(l=1,i++),new rk(Fe.of(e.slice(0,t)),l,Fe.of(e.slice(i)))}}function Us(n,e){return n==e?n:(n.constructor!=e.constructor&&(jn=!0),e)}Fe.prototype.size=1;const nk=z.replace({});class Tp extends Fe{constructor(e,t,i){super(e,t),this.deco=i,this.spaceAbove=0}mainBlock(e,t){return new Qt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,i,r){return this.spaceAbove&&e<i+this.spaceAbove?new Qt(r,0,i,this.spaceAbove,nk):this.mainBlock(i,r)}lineAt(e,t,i,r,s){let l=this.mainBlock(r,s);return this.spaceAbove?this.blockAt(0,i,r,s).join(l):l}forEachLine(e,t,i,r,s,l){e<=s+this.length&&t>=s&&l(this.lineAt(0,fe.ByPos,i,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}}class ht extends Tp{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new Qt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let r=i[0];return i.length==1&&(r instanceof ht||r instanceof Xe&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Xe?r=new ht(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Fe.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Xe extends Fe{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-i+1,l,o=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);l=a/s,this.length>s+1&&(o=(this.height-a)/(this.length-s-1))}else l=this.height/s;return{firstLine:i,lastLine:r,perLine:l,perChar:o}}blockAt(e,t,i,r){let{firstLine:s,lastLine:l,perLine:o,perChar:a}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length)),h=t.doc.lineAt(c),u=o+h.length*a,f=Math.max(i,e-u/2);return new Qt(h.from,h.length,f,u,0)}else{let c=Math.max(0,Math.min(l-s,Math.floor((e-i)/o))),{from:h,length:u}=t.doc.line(s+c);return new Qt(h,u,i+o*c,o,0)}}lineAt(e,t,i,r,s){if(t==fe.ByHeight)return this.blockAt(e,i,r,s);if(t==fe.ByPosNoHeight){let{from:d,to:p}=i.doc.lineAt(e);return new Qt(d,p-d,0,0,0)}let{firstLine:l,perLine:o,perChar:a}=this.heightMetrics(i,s),c=i.doc.lineAt(e),h=o+c.length*a,u=c.number-l,f=r+o*u+a*(c.from-s-u);return new Qt(c.from,c.length,Math.max(r,Math.min(f,r+this.height-h)),h,0)}forEachLine(e,t,i,r,s,l){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:o,perLine:a,perChar:c}=this.heightMetrics(i,s);for(let h=e,u=r;h<=t;){let f=i.doc.lineAt(h);if(h==e){let p=f.number-o;u+=a*p+c*(e-s-p)}let d=a+c*f.length;l(new Qt(f.from,f.length,u,d,0)),u+=d,h=f.to+1}}replace(e,t,i){let r=this.length-t;if(r>0){let s=i[i.length-1];s instanceof Xe?i[i.length-1]=new Xe(s.length+r):i.push(null,new Xe(r-1))}if(e>0){let s=i[0];s instanceof Xe?i[0]=new Xe(e+s.length):i.unshift(new Xe(e-1),null)}return Fe.of(i)}decomposeLeft(e,t){t.push(new Xe(e-1),null)}decomposeRight(e,t){t.push(null,new Xe(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let l=[],o=Math.max(t,r.from),a=-1;for(r.from>t&&l.push(new Xe(r.from-t-1).updateHeight(e,t));o<=s&&r.more;){let h=e.doc.lineAt(o).length;l.length&&l.push(null);let u=r.heights[r.index++],f=0;u<0&&(f=-u,u=r.heights[r.index++]),a==-1?a=u:Math.abs(u-a)>=Ts&&(a=-2);let d=new ht(h,u,f);d.outdated=!1,l.push(d),o+=h+1}o<=s&&l.push(null,new Xe(s-o).updateHeight(e,o));let c=Fe.of(l);return(a<0||Math.abs(c.height-this.height)>=Ts||Math.abs(a-this.heightMetrics(e,t).perLine)>=Ts)&&(jn=!0),Us(this,c)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class rk extends Fe{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,r){let s=i+this.left.height;return e<s?this.left.blockAt(e,t,i,r):this.right.blockAt(e,t,s,r+this.left.length+this.break)}lineAt(e,t,i,r,s){let l=r+this.left.height,o=s+this.left.length+this.break,a=t==fe.ByHeight?e<l:e<o,c=a?this.left.lineAt(e,t,i,r,s):this.right.lineAt(e,t,i,l,o);if(this.break||(a?c.to<o:c.from>o))return c;let h=t==fe.ByPosNoHeight?fe.ByPosNoHeight:fe.ByPos;return a?c.join(this.right.lineAt(o,h,i,l,o)):this.left.lineAt(o,h,i,r,s).join(c)}forEachLine(e,t,i,r,s,l){let o=r+this.left.height,a=s+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,i,r,s,l),t>=a&&this.right.forEachLine(e,t,i,o,a,l);else{let c=this.lineAt(a,fe.ByPos,i,r,s);e<c.from&&this.left.forEachLine(e,c.from-1,i,r,s,l),c.to>=e&&c.from<=t&&l(c),t>c.to&&this.right.forEachLine(c.to+1,t,i,o,a,l)}}replace(e,t,i){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let s=[];e>0&&this.decomposeLeft(e,s);let l=s.length;for(let o of i)s.push(o);if(e>0&&ru(s,l-1),t<this.length){let o=s.length;this.decomposeRight(t,s),ru(s,o)}return Fe.of(s)}decomposeLeft(e,t){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(i++,e>=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<i&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Fe.of(this.break?[e,null,t]:[e,t]):(this.left=Us(this.left,e),this.right=Us(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:s,right:l}=this,o=t+s.length+this.break,a=null;return r&&r.from<=t+s.length&&r.more?a=s=s.updateHeight(e,t,i,r):s.updateHeight(e,t,i),r&&r.from<=o+l.length&&r.more?a=l=l.updateHeight(e,o,i,r):l.updateHeight(e,o,i),a?this.balanced(s,l):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function ru(n,e){let t,i;n[e]==null&&(t=n[e-1])instanceof Xe&&(i=n[e+1])instanceof Xe&&n.splice(e-1,3,new Xe(t.length+1+i.length))}const sk=5;class hc{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof ht?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new ht(i-this.pos,-1,0)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e<t||i.heightRelevant){let r=i.widget?i.widget.estimatedHeight:0,s=i.widget?i.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let l=t-e;i.block?this.addBlock(new Tp(l,r,i)):(l||s||r>=sk)&&this.addLineDeco(r,s,l)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new ht(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new Xe(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ht)return e;let t=new ht(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof ht)&&!this.isCovered?this.nodes.push(new ht(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=e;for(let r of this.nodes)r instanceof ht&&r.updateHeight(this.oracle,i),i+=r?r.length:1;return this.nodes}static build(e,t,i,r){let s=new hc(i,e);return N.spans(t,i,r,s,0),s.finish(i)}}function lk(n,e,t){let i=new ok;return N.compare(n,e,t,i,0),i.changes}class ok{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,i,r){(e<t||i&&i.heightRelevant||r&&r.heightRelevant)&&xn(e,t,this.changes,5)}}function ak(n,e){let t=n.getBoundingClientRect(),i=n.ownerDocument,r=i.defaultView||window,s=Math.max(0,t.left),l=Math.min(r.innerWidth,t.right),o=Math.max(0,t.top),a=Math.min(r.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=i.body;)if(c.nodeType==1){let h=c,u=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),l=Math.min(l,f.right),o=Math.max(o,f.top),a=Math.min(c==n.parentNode?r.innerHeight:a,f.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,l)-t.left,top:o-(t.top+e),bottom:Math.max(o,a)-(t.top+e)}}function ck(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function hk(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class ao{constructor(e,t,i,r){this.from=e,this.to=t,this.size=i,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++){let r=e[i],s=t[i];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,t){return z.replace({widget:new uk(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class uk extends Tt{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class su{constructor(e,t){this.view=e,this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=lu,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ue.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=t.facet(lc).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new tk(i),this.stateDeco=ou(t),this.heightMap=Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle.setDoc(t.doc),[new gt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=z.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let r=i?t.head:t.anchor;if(!e.some(({from:s,to:l})=>r>=s&&r<=l)){let{from:s,to:l}=this.lineBlockAt(r);e.push(new os(s,l))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?lu:new uc(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(ur(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=ou(this.state);let r=e.changedRanges,s=gt.extendWithRanges(r,lk(i,this.stateDeco,e?e.changes:Ce.empty(this.state.doc.length))),l=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);nu(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=l||jn)&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=l);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let c=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(op)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ue.RTL:ue.LTR;let l=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",o=t.getBoundingClientRect(),a=l||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let c=0,h=0;if(o.width&&o.height){let{scaleX:k,scaleY:P}=Wd(t,o);(k>.005&&Math.abs(this.scaleX-k)>.005||P>.005&&Math.abs(this.scaleY-P)>.005)&&(this.scaleX=k,this.scaleY=P,c|=16,l=a=!0)}let u=(parseInt(i.paddingTop)||0)*this.scaleY,f=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=f)&&(this.paddingTop=u,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let d=Id(this.view.contentDOM,!1).y;d!=this.scrollParent&&(this.scrollParent=d,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Vd(this.scrollParent||e.win);let O=(this.printing?hk:ak)(t,this.paddingTop),m=O.top-this.pixelViewport.top,x=O.bottom-this.pixelViewport.bottom;this.pixelViewport=O;let S=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(S!=this.inView&&(this.inView=S,S&&(a=!0)),!this.inView&&!this.scrollTarget&&!ck(e.dom))return 0;let w=o.width;if((this.contentDOMWidth!=w||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),a){let k=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(k)&&(l=!0),l||r.lineWrapping&&Math.abs(w-this.contentDOMWidth)>r.charWidth){let{lineHeight:P,charWidth:$,textHeight:Z}=e.docView.measureTextSize();l=P>0&&r.refresh(s,P,$,Z,Math.max(5,w/$),k),l&&(e.docView.minWidth=0,c|=16)}m>0&&x>0?h=Math.max(m,x):m<0&&x<0&&(h=Math.min(m,x)),nu();for(let P of this.viewports){let $=P.from==this.viewport.from?k:e.docView.measureVisibleLineHeights(P);this.heightMap=(l?Fe.empty().applyChanges(this.stateDeco,K.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,l,new ik(P.from,$))}jn&&(c|=2)}let T=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return T&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||T)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(l?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:l,visibleBottom:o}=this,a=new os(r.lineAt(l-i*1e3,fe.ByHeight,s,0,0).from,r.lineAt(o+(1-i)*1e3,fe.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<a.from||c>a.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=r.lineAt(c,fe.ByPos,s,0,0),f;t.y=="center"?f=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<a.from?f=u.top:f=u.bottom-h,a=new os(r.lineAt(f-1e3/2,fe.ByHeight,s,0,0).from,r.lineAt(f+h+1e3/2,fe.ByHeight,s,0,0).to)}}return a}mapViewport(e,t){let i=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new os(this.heightMap.lineAt(i,fe.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,fe.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},i=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,fe.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,fe.ByPos,this.heightOracle,0,0),{visibleTop:l,visibleBottom:o}=this;return(e==0||r<=l-Math.max(10,Math.min(-i,250)))&&(t==this.state.doc.length||s>=o+Math.max(10,Math.min(i,250)))&&r>l-2*1e3&&s<o+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let i=[];for(let r of e)t.touchesRange(r.from,r.to)||i.push(new ao(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return i}ensureLineGaps(e,t){let i=this.heightOracle.lineWrapping,r=i?1e4:2e3,s=r>>1,l=r<<1;if(this.defaultTextDirection!=ue.LTR&&!i)return[];let o=[],a=(h,u,f,d)=>{if(u-h<s)return;let p=this.state.selection.main,O=[p.from];p.empty||O.push(p.to);for(let x of O)if(x>h&&x<u){a(h,x-10,f,d),a(x+10,u,f,d);return}let m=dk(e,x=>x.from>=f.from&&x.to<=f.to&&Math.abs(x.from-h)<s&&Math.abs(x.to-u)<s&&!O.some(S=>x.from<S&&x.to>S));if(!m){if(u<f.to&&t&&i&&t.visibleRanges.some(w=>w.from<=u&&w.to>=u)){let w=t.moveToLineBoundary(v.cursor(u),!1,!0).head;w>h&&(u=w)}let x=this.gapSize(f,h,u,d),S=i||x<2e6?x:2e6;m=new ao(h,u,x,S)}o.push(m)},c=h=>{if(h.length<l||h.type!=Ee.Text)return;let u=fk(h.from,h.to,this.stateDeco);if(u.total<l)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,d,p;if(i){let O=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,x;if(f!=null){let S=cs(u,f),w=((this.visibleBottom-this.visibleTop)/2+O)/h.height;m=S-w,x=S+w}else m=(this.visibleTop-h.top-O)/h.height,x=(this.visibleBottom-h.top+O)/h.height;d=as(u,m),p=as(u,x)}else{let O=u.total*this.heightOracle.charWidth,m=r*this.heightOracle.charWidth,x=0;if(O>2e6)for(let P of e)P.from>=h.from&&P.from<h.to&&P.size!=P.displaySize&&P.from*this.heightOracle.charWidth+x<this.pixelViewport.left&&(x=P.size-P.displaySize);let S=this.pixelViewport.left+x,w=this.pixelViewport.right+x,T,k;if(f!=null){let P=cs(u,f),$=((w-S)/2+m)/O;T=P-$,k=P+$}else T=(S-m)/O,k=(w+m)/O;d=as(u,T),p=as(u,k)}d>h.from&&a(h.from,d,h,u),p<h.to&&a(p,h.to,h,u)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(c):c(h);return o}gapSize(e,t,i,r){let s=cs(r,i)-cs(r,t);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){ao.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=z.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];N.spans(t,this.viewport.from,this.viewport.to,{span(s,l){i.push({from:s,to:l})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s<i.length&&!(r&8);s++){let l=this.visibleRanges[s],o=i[s];(l.from!=o.from||l.to!=o.to)&&(r|=4,e&&e.mapPos(l.from,-1)==o.from&&e.mapPos(l.to,1)==o.to||(r|=8))}return this.visibleRanges=i,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||ur(this.heightMap.lineAt(e,fe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||ur(this.heightMap.lineAt(this.scaler.fromDOM(e),fe.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop*this.scaleY:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return ur(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class os{constructor(e,t){this.from=e,this.to=t}}function fk(n,e,t){let i=[],r=n,s=0;return N.spans(t,n,e,{span(){},point(l,o){l>r&&(i.push({from:r,to:l}),s+=l-r),r=o}},20),r<e&&(i.push({from:r,to:e}),s+=e-r),{total:s,ranges:i}}function as({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let i=Math.floor(n*t);for(let r=0;;r++){let{from:s,to:l}=e[r],o=l-s;if(i<=o)return s+i;i-=o}}function cs(n,e){let t=0;for(let{from:i,to:r}of n.ranges){if(e<=r){t+=e-i;break}t+=r-i}return t/n.total}function dk(n,e){for(let t of n)if(e(t))return t}const lu={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function ou(n){let e=n.facet($l).filter(i=>typeof i!="function"),t=n.facet(oc).filter(i=>typeof i!="function");return t.length&&e.push(N.join(t)),e}class uc{constructor(e,t,i){let r=0,s=0,l=0;this.viewports=i.map(({from:o,to:a})=>{let c=t.lineAt(o,fe.ByPos,e,0,0).top,h=t.lineAt(a,fe.ByPos,e,0,0).bottom;return r+=h-c,{from:o,to:a,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let o of this.viewports)o.domTop=l+(o.top-s)*this.scale,l=o.domBottom=o.domTop+(o.bottom-o.top),s=o.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return r+(e-i)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);i=s.bottom,r=s.domBottom}}fromDOM(e){for(let t=0,i=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return i+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);i=s.bottom,r=s.domBottom}}eq(e){return e instanceof uc?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,i)=>t.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}}function ur(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),i=e.toDOM(n.bottom);return new Qt(n.from,n.length,t,i-t,Array.isArray(n._content)?n._content.map(r=>ur(r,e)):n._content)}const hs=X.define({combine:n=>n.join(" ")}),ba=X.define({combine:n=>n.indexOf(!0)>-1}),xa=wi.newName(),Cp=wi.newName(),Ap=wi.newName(),Rp={"&light":"."+Cp,"&dark":"."+Ap};function ka(n,e,t){return new wi(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return n;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):n+" "+i}})}const pk=ka("."+xa,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{background:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 0) no-repeat",backgroundSize:".4em",backgroundPosition:"calc(min(50%, 0px)) center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Rp),Ok={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},co=M.ie&&M.ie_version<=11;class gk{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Bb,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(M.ie&&M.ie_version<=11||M.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&M.android&&e.constructor.EDIT_CONTEXT!==!1&&!(M.chrome&&M.chrome_version<126)&&(this.editContext=new bk(e),e.state.facet(ri)&&(e.contentDOM.editContext=this.editContext.editContext)),co&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(ri)?i.root.activeElement!=this.dom:!br(this.dom,r))return;let s=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(M.ie&&M.ie_version<=11||M.android&&M.chrome)&&!i.state.selection.main.empty&&r.focusNode&&kr(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Pr(e.root);if(!t)return!1;let i=M.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&mk(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let r=br(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Nb(this.dom,i)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(i),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let i=this.dom;i;)if(i.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=t)i.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Ok),co&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),co&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var i;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&kn(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,r=!1;for(let s of e){let l=this.readMutation(s);l&&(l.typeOver&&(r=!0),t==-1?{from:t,to:i}=l:(t=Math.min(l.from,t),i=Math.max(l.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&br(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Xx(this.view,e,t,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,r=bp(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!Gs(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let i=au(t,e.previousSibling||e.target.previousSibling,-1),r=au(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(ri)!=e.state.facet(ri)&&(e.view.contentDOM.editContext=e.state.facet(ri)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function au(n,e,t){for(;e;){let i=xe.get(e);if(i&&i.parent==n)return i;let r=e.parentNode;e=r!=n.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function cu(n,e){let t=e.startContainer,i=e.startOffset,r=e.endContainer,s=e.endOffset,l=n.docView.domAtPos(n.state.selection.main.anchor,1);return kr(l.node,l.offset,r,s)&&([t,i,r,s]=[r,s,t,i]),{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}}function mk(n,e){if(e.getComposedRanges){let r=e.getComposedRanges(n.root)[0];if(r)return cu(n,r)}let t=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",i,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",i,!0),t?cu(n,t):null}class bk{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let r=e.state.selection.main,{anchor:s,head:l}=r,o=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:o,drifted:!1});let c=a-o>i.text.length;o==this.from&&s<this.from?o=s:a==this.to&&s>this.to&&(a=s);let h=xp(e.state.sliceDoc(o,a),i.text,(c?r.from:r.to)-o,c?"end":null);if(!h){let f=v.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));Gs(f,r)||e.dispatch({selection:f,userEvent:"select"});return}let u={from:h.from+o,to:h.toA+o,insert:K.of(i.text.slice(h.from,h.toB).split(`
|
|
16
|
+
`))};if((M.mac||M.android)&&u.from==l-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:o,to:a,insert:K.of([i.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let f=this.to-this.from+(u.to-u.from+u.insert.length);cc(e,u,v.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let l=this.toEditorPos(i.rangeStart),o=this.toEditorPos(i.rangeEnd);l<o;l++){let a=e.coordsForChar(l);s=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(i.rangeStart,r)},this.handlers.textformatupdate=i=>{let r=[];for(let s of i.getTextFormats()){let l=s.underlineStyle,o=s.underlineThickness;if(!/none/i.test(l)&&!/none/i.test(o)){let a=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(a<c){let h=`text-decoration: underline ${/^[a-z]/.test(l)?l+" ":l=="Dashed"?"dashed ":l=="Squiggle"?"wavy ":""}${/thin/i.test(o)?1:2}px`;r.push(z.mark({attributes:{style:h}}).range(a,c))}}}e.dispatch({effects:cp.of(z.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let r=Pr(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,l,o,a,c)=>{if(i)return;let h=c.length-(l-s);if(r&&l>=r.to)if(r.from==s&&r.to==l&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,l+=t,l<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||l>this.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(l),c.toString()),this.to+=h}t+=h}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class A{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Vb(e.parent)||document,this.viewState=new su(this,e.state||U.create(e)),e.scrollTo&&e.scrollTo.is(rs)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(pn).map(r=>new no(r));for(let r of this.plugins)r.update(this);this.observer=new gk(this),this.inputState=new _x(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Vh(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof Pe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let l=this.hasFocus,o=0,a=null;e.some(f=>f.annotation(vp))?(this.inputState.notifiedFocused=l,o=1):l!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=l,a=$p(s,l),a||(o=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(U.phrases)!=this.state.facet(U.phrases))return this.setState(s);r=Bs.create(this,s,e),r.flags|=o;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(u&&(u=u.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection,{x:p,y:O}=this.state.facet(A.cursorScrollMargin);u=new yn(d.empty?d:v.cursor(d.head,d.head>d.anchor?-1:1),"nearest","nearest",O,p)}for(let d of f.effects)d.is(rs)&&(u=d.value.clip(this.state))}this.viewState.update(r,u),this.bidiCache=Fs.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(hr)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(hs)!=r.state.facet(hs)&&(this.viewState.mustMeasureContent=!0),(t||i||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(da))try{f(r)}catch(d){rt(this.state,d,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!bp(this,h)&&c.force&&kn(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new su(this,e),this.plugins=e.facet(pn).map(i=>new no(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Vh(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(pn),i=e.state.facet(pn);if(t!=i){let r=[];for(let s of i){let l=t.indexOf(s);if(l<0)r.push(new no(s));else{let o=this.plugins[l];o.mustUpdate=e,r.push(o)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);t!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(i){rt(this.state,i,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:l,scaleY:o}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(l=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(l<0){if(Vd(i||this.win))s=-1,l=this.viewState.heightMap.height/this.viewState.scaleY;else{let p=this.viewState.scrollAnchorAt(r);s=p.from,l=p.top}o=this.viewState.scaleY}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];c&4||([this.measureRequests,h]=[h,this.measureRequests]);let u=h.map(p=>{try{return p.read(this)}catch(O){return rt(this.state,O),hu}}),f=Bs.create(this,this.state,[]),d=!1;f.flags|=c,t?t.flags|=c:t=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),d=this.docView.update(f),d&&this.docViewUpdate());for(let p=0;p<h.length;p++)if(u[p]!=hu)try{let O=h[p];O.write&&O.write(u[p],this)}catch(O){rt(this.state,O)}if(d&&this.docView.updateSelection(!0),!f.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,l=-1;continue}else{let O=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)/this.viewState.scaleY-l/o;if((O>1||O<-1)&&!(M.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+O,i?s<0?i.scrollTop=i.scrollHeight:i.scrollTop+=O:this.win.scrollBy(0,O),l=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(da))a(t)}get themeClasses(){return xa+" "+(this.state.facet(ba)?Ap:Cp)+" "+this.state.facet(hs)}updateAttrs(){let e=uu(this,hp,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(ri)?"true":"false",class:"cm-content",style:`${M.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),uu(this,lc,t);let i=this.observer.ignore(()=>{let r=Dh(this.contentDOM,this.contentAttrs,t),s=Dh(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(A.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(hr);let e=this.state.facet(A.cspNonce);wi.mount(this.root,this.styleModules.concat(pk).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(i=>i.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return oo(this,e,Nh(this,e,t,i))}moveByGroup(e,t){return oo(this,e,Nh(this,e,t,i=>Tx(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=i[t?i.length-1:0];return v.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return Px(this,e,t,i)}moveVertically(e,t,i){return oo(this,e,Cx(this,e,t,i))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let i=ga(this,e,t);return i&&i.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),ga(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.state.doc.lineAt(e),r=this.bidiSpans(i),s=r[qt.find(r,e-i.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ue.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(lp)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>xk)return Kd(e.length);let t=this.textDirectionAt(e.from),i;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||Hd(s.isolates,i=qh(this,e))))return s.order;i||(i=qh(this,e));let r=ex(e.text,t,i);return this.bidiCache.push(new Fs(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||M.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Bd(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var i,r,s,l;return rs.of(new yn(typeof e=="number"?v.cursor(e):e,(i=t.y)!==null&&i!==void 0?i:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(l=t.xMargin)!==null&&l!==void 0?l:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return rs.of(new yn(v.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return ke.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return ke.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=wi.newName(),r=[hs.of(i),hr.of(ka(`.${i}`,e))];return t&&t.dark&&r.push(ba.of(!0)),r}static baseTheme(e){return Ci.lowest(hr.of(ka("."+xa,e,Rp)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&xe.get(i)||xe.get(e);return((t=r==null?void 0:r.root)===null||t===void 0?void 0:t.view)||null}}A.styleModule=hr;A.inputHandler=rp;A.clipboardInputFilter=rc;A.clipboardOutputFilter=sc;A.scrollHandler=ap;A.focusChangeEffect=sp;A.perLineTextDirection=lp;A.exceptionSink=np;A.updateListener=da;A.editable=ri;A.mouseSelectionStyle=ip;A.dragMovesSelection=tp;A.clickAddsSelectionRange=ep;A.decorations=$l;A.blockWrappers=up;A.outerDecorations=oc;A.atomicRanges=qr;A.bidiIsolatedRanges=fp;A.cursorScrollMargin=X.define({combine:n=>{let e=5,t=5;for(let i of n)typeof i=="number"?e=t=i:{x:e,y:t}=i;return{x:e,y:t}}});A.scrollMargins=dp;A.darkTheme=ba;A.cspNonce=X.define({combine:n=>n.length?n[0]:""});A.contentAttributes=lc;A.editorAttributes=hp;A.lineWrapping=A.contentAttributes.of({class:"cm-lineWrapping"});A.announce=q.define();const xk=4096,hu={};class Fs{constructor(e,t,i,r,s,l){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=s,this.order=l}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:ue.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let l=e[s];l.dir==r&&!t.touchesRange(l.from,l.to)&&i.push(new Fs(t.mapPos(l.from,1),t.mapPos(l.to,-1),l.dir,l.isolates,!1,l.order))}return i}}function uu(n,e,t){for(let i=n.state.facet(e),r=i.length-1;r>=0;r--){let s=i[r],l=typeof s=="function"?s(n):s;l&&tc(l,t)}return t}const kk=M.mac?"mac":M.windows?"win":M.linux?"linux":"key";function yk(n,e){const t=n.split(/-(?!$)/);let i=t[t.length-1];i=="Space"&&(i=" ");let r,s,l,o;for(let a=0;a<t.length-1;++a){const c=t[a];if(/^(cmd|meta|m)$/i.test(c))o=!0;else if(/^a(lt)?$/i.test(c))r=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))l=!0;else if(/^mod$/i.test(c))e=="mac"?o=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return r&&(i="Alt-"+i),s&&(i="Ctrl-"+i),o&&(i="Meta-"+i),l&&(i="Shift-"+i),i}function us(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}const Sk=Ci.default(A.domEventHandlers({keydown(n,e){return Zp(Mp(e.state),n,e,"editor")}})),Vn=X.define({enables:Sk}),fu=new WeakMap;function Mp(n){let e=n.facet(Vn),t=fu.get(e);return t||fu.set(e,t=vk(e.reduce((i,r)=>i.concat(r),[]))),t}function wk(n,e,t){return Zp(Mp(n.state),e,n,t)}let xi=null;const Qk=4e3;function vk(n,e=kk){let t=Object.create(null),i=Object.create(null),r=(l,o)=>{let a=i[l];if(a==null)i[l]=o;else if(a!=o)throw new Error("Key binding "+l+" is used both as a regular binding and as a multi-stroke prefix")},s=(l,o,a,c,h)=>{var u,f;let d=t[l]||(t[l]=Object.create(null)),p=o.split(/ (?!$)/).map(x=>yk(x,e));for(let x=1;x<p.length;x++){let S=p.slice(0,x).join(" ");r(S,!0),d[S]||(d[S]={preventDefault:!0,stopPropagation:!1,run:[w=>{let T=xi={view:w,prefix:S,scope:l};return setTimeout(()=>{xi==T&&(xi=null)},Qk),!0}]})}let O=p.join(" ");r(O,!1);let m=d[O]||(d[O]={preventDefault:!1,stopPropagation:!1,run:((f=(u=d._any)===null||u===void 0?void 0:u.run)===null||f===void 0?void 0:f.slice())||[]});a&&m.run.push(a),c&&(m.preventDefault=!0),h&&(m.stopPropagation=!0)};for(let l of n){let o=l.scope?l.scope.split(" "):["editor"];if(l.any)for(let c of o){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=l;for(let f in h)h[f].run.push(d=>u(d,ya))}let a=l[e]||l.key;if(a)for(let c of o)s(c,a,l.run,l.preventDefault,l.stopPropagation),l.shift&&s(c,"Shift-"+a,l.shift,l.preventDefault,l.stopPropagation)}return t}let ya=null;function Zp(n,e,t,i){ya=e;let r=zb(e),s=tt(r,0),l=Wt(s)==r.length&&r!=" ",o="",a=!1,c=!1,h=!1;xi&&xi.view==t&&xi.scope==i&&(o=xi.prefix+" ",yp.indexOf(e.keyCode)<0&&(c=!0,xi=null));let u=new Set,f=m=>{if(m){for(let x of m.run)if(!u.has(x)&&(u.add(x),x(t)))return m.stopPropagation&&(h=!0),!0;m.preventDefault&&(m.stopPropagation&&(h=!0),c=!0)}return!1},d=n[i],p,O;return d&&(f(d[o+us(r,e,!l)])?a=!0:l&&(e.altKey||e.metaKey||e.ctrlKey)&&!(M.windows&&e.ctrlKey&&e.altKey)&&!(M.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Qi[e.keyCode])&&p!=r?(f(d[o+us(p,e,!0)])||e.shiftKey&&(O=vr[e.keyCode])!=r&&O!=p&&f(d[o+us(O,e,!1)]))&&(a=!0):l&&e.shiftKey&&f(d[o+us(r,e,!0)])&&(a=!0),!a&&f(d._any)&&(a=!0)),c&&(a=!0),a&&h&&e.stopPropagation(),ya=null,a}class Vi{constructor(e,t,i,r,s){this.className=e,this.left=t,this.top=i,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=Xp(e);return[new Vi(t,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return $k(e,t,i)}}function Xp(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==ue.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function du(n,e,t,i){let r=n.coordsAtPos(e,t*2);if(!r)return i;let s=n.dom.getBoundingClientRect(),l=(r.top+r.bottom)/2,o=n.posAtCoords({x:s.left+1,y:l}),a=n.posAtCoords({x:s.right-1,y:l});return o==null||a==null?i:{from:Math.max(i.from,Math.min(o,a)),to:Math.min(i.to,Math.max(o,a))}}function $k(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let i=Math.max(t.from,n.viewport.from),r=Math.min(t.to,n.viewport.to),s=n.textDirection==ue.LTR,l=n.contentDOM,o=l.getBoundingClientRect(),a=Xp(n),c=l.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=o.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=o.right-(h?parseInt(h.paddingRight):0),d=Oa(n,i,1),p=Oa(n,r,-1),O=d.type==Ee.Text?d:null,m=p.type==Ee.Text?p:null;if(O&&(n.lineWrapping||d.widgetLineBreaks)&&(O=du(n,i,1,O)),m&&(n.lineWrapping||p.widgetLineBreaks)&&(m=du(n,r,-1,m)),O&&m&&O.from==m.from&&O.to==m.to)return S(w(t.from,t.to,O));{let k=O?w(t.from,null,O):T(d,!1),P=m?w(null,t.to,m):T(p,!0),$=[];return(O||d).to<(m||p).from-(O&&m?1:0)||d.widgetLineBreaks>1&&k.bottom+n.defaultLineHeight/2<P.top?$.push(x(u,k.bottom,f,P.top)):k.bottom<P.top&&n.elementAtHeight((k.bottom+P.top)/2).type==Ee.Text&&(k.bottom=P.top=(k.bottom+P.top)/2),S(k).concat($).concat(S(P))}function x(k,P,$,Z){return new Vi(e,k-a.left,P-a.top,Math.max(0,$-k),Z-P)}function S({top:k,bottom:P,horizontal:$}){let Z=[];for(let W=0;W<$.length;W+=2)Z.push(x($[W],k,$[W+1],P));return Z}function w(k,P,$){let Z=1e9,W=-1e9,D=[];function j(Y,F,Oe,Qe,ve){let ce=n.coordsAtPos(Y,Y==$.to?-2:2),$e=n.coordsAtPos(Oe,Oe==$.from?2:-2);!ce||!$e||(Z=Math.min(ce.top,$e.top,Z),W=Math.max(ce.bottom,$e.bottom,W),ve==ue.LTR?D.push(s&&F?u:ce.left,s&&Qe?f:$e.right):D.push(!s&&Qe?u:$e.left,!s&&F?f:ce.right))}let E=k??$.from,V=P??$.to;for(let Y of n.visibleRanges)if(Y.to>E&&Y.from<V)for(let F=Math.max(Y.from,E),Oe=Math.min(Y.to,V);;){let Qe=n.state.doc.lineAt(F);for(let ve of n.bidiSpans(Qe)){let ce=ve.from+Qe.from,$e=ve.to+Qe.from;if(ce>=Oe)break;$e>F&&j(Math.max(ce,F),k==null&&ce<=E,Math.min($e,Oe),P==null&&$e>=V,ve.dir)}if(F=Qe.to+1,F>=Oe)break}return D.length==0&&j(E,k==null,V,P==null,n.textDirection),{top:Z,bottom:W,horizontal:D}}function T(k,P){let $=o.top+(P?k.top:k.bottom);return{top:$,bottom:$,horizontal:[]}}}function Pk(n,e){return n.constructor==e.constructor&&n.eq(e)}class Tk{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Cs)!=e.state.facet(Cs)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(Cs);for(;t<i.length&&i[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,i)=>!Pk(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e,M.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Cs=X.define();function Lp(n){return[ke.define(e=>new Tk(e,n)),Cs.of(n)]}const En=X.define({combine(n){return Ht(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Ck(n={}){return[En.of(n),Ak,Rk,Zk,op.of(!0)]}function jp(n){return n.startState.facet(En)!=n.state.facet(En)}const Ak=Lp({above:!0,markers(n){let{state:e}=n,t=e.facet(En),i=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty||t.drawRangeCursor&&!(s&&M.ios&&t.iosSelectionHandles)){let l=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=r.empty?r:v.cursor(r.head,r.assoc);for(let a of Vi.forRange(n,l,o))i.push(a)}}return i},update(n,e){n.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=jp(n);return t&&pu(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){pu(e.state,n)},class:"cm-cursorLayer"});function pu(n,e){e.style.animationDuration=n.facet(En).cursorBlinkRate+"ms"}const Rk=Lp({above:!1,markers(n){let e=[],{main:t,ranges:i}=n.state.selection;for(let r of i)if(!r.empty)for(let s of Vi.forRange(n,"cm-selectionBackground",r))e.push(s);if(M.ios&&!t.empty&&n.state.facet(En).iosSelectionHandles){for(let r of Vi.forRange(n,"cm-selectionHandle cm-selectionHandle-start",v.cursor(t.from,1)))e.push(r);for(let r of Vi.forRange(n,"cm-selectionHandle cm-selectionHandle-end",v.cursor(t.to,1)))e.push(r)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||jp(n)},class:"cm-selectionLayer"}),Mk=M.gecko&&M.gecko_version==153?"#ffffff01":"transparent",Zk=Ci.highest(A.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${Mk} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Ep=q.define({map(n,e){return n==null?null:e.mapPos(n)}}),fr=ze.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,i)=>i.is(Ep)?i.value:t,n)}}),Xk=ke.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(fr);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(fr)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(fr),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let i=n.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-i.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(fr)!=n&&this.view.dispatch({effects:Ep.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Lk(){return[fr,Xk]}function Ou(n,e,t,i,r){e.lastIndex=0;for(let s=n.iterRange(t,i),l=t,o;!s.next().done;l+=s.value.length)if(!s.lineBreak)for(;o=e.exec(s.value);)r(l+o.index,o)}function jk(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let i=[];for(let{from:r,to:s}of t)r=Math.max(n.state.doc.lineAt(r).from,r-e),s=Math.min(n.state.doc.lineAt(s).to,s+e),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class Ek{constructor(e){const{regexp:t,decoration:i,decorate:r,boundary:s,maxLength:l=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(o,a,c,h)=>r(h,c,c+o[0].length,o,a);else if(typeof i=="function")this.addMatch=(o,a,c,h)=>{let u=i(o,a,c);u&&h(c,c+o[0].length,u)};else if(i)this.addMatch=(o,a,c,h)=>h(c,c+o[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=l}createDeco(e){let t=new Gt,i=t.add.bind(t);for(let{from:r,to:s}of jk(e,this.maxLength))Ou(e.state.doc,this.regexp,r,s,(l,o)=>this.addMatch(o,e,l,i));return t.finish()}updateDeco(e,t){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((s,l,o,a)=>{a>=e.view.viewport.from&&o<=e.view.viewport.to&&(i=Math.min(o,i),r=Math.max(a,r))}),e.viewportMoved||r-i>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),i,r):t}updateRange(e,t,i,r){for(let s of e.visibleRanges){let l=Math.max(s.from,i),o=Math.min(s.to,r);if(o>=l){let a=e.state.doc.lineAt(l),c=a.to<o?e.state.doc.lineAt(o):a,h=Math.max(s.from,a.from),u=Math.min(s.to,c.to);if(this.boundary){for(;l>a.from;l--)if(this.boundary.test(a.text[l-1-a.from])){h=l;break}for(;o<c.to;o++)if(this.boundary.test(c.text[o-c.from])){u=o;break}}let f=[],d,p=(O,m,x)=>f.push(x.range(O,m));if(a==c)for(this.regexp.lastIndex=h-a.from;(d=this.regexp.exec(a.text))&&d.index<u-a.from;)this.addMatch(d,e,d.index+a.from,p);else Ou(e.state.doc,this.regexp,h,u,(O,m)=>this.addMatch(m,e,O,p));t=t.update({filterFrom:h,filterTo:u,filter:(O,m)=>O<h||m>u,add:f})}}return t}}const Sa=/x/.unicode!=null?"gu":"g",_k=new RegExp(`[\0-\b
|
|
17
|
+
--\u2028\u2029\uFEFF-]`,Sa),zk={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let ho=null;function Dk(){var n;if(ho==null&&typeof document<"u"&&document.body){let e=document.body.style;ho=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return ho||!1}const As=X.define({combine(n){let e=Ht(n,{render:null,specialChars:_k,addSpecialChars:null});return(e.replaceTabs=!Dk())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Sa)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Sa)),e}});function Wk(n={}){return[As.of(n),Ik()]}let gu=null;function Ik(){return gu||(gu=ke.fromClass(class{constructor(n){this.view=n,this.decorations=z.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(As)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new Ek({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,s=tt(e[0],0);if(s==9){let l=r.lineAt(i),o=t.state.tabSize,a=Bn(l.text,o,i-l.from);return z.replace({widget:new Vk((o-a%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=z.replace({widget:new Bk(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(As);n.startState.facet(As)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const qk="•";function Yk(n){return n>=32?qk:n==10?"":String.fromCharCode(9216+n)}class Bk extends Tt{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Yk(this.code),i=e.state.phrase("Control character")+" "+(zk[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let s=document.createElement("span");return s.textContent=t,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class Vk extends Tt{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Nk(){return Uk}const Gk=z.line({class:"cm-activeLine"}),Uk=ke.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let r=n.lineBlockAt(i.head);r.from>e&&(t.push(Gk.range(r.from)),e=r.from)}return z.set(t)}},{decorations:n=>n.decorations});class Fk extends Tt{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?xr(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),r=Tr(t[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return r.bottom-r.top>s*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+s}:r}ignoreEvent(){return!1}}function Hk(n){let e=ke.fromClass(class{constructor(t){this.view=t,this.placeholder=n?z.set([z.widget({widget:new Fk(n),side:1}).range(0)]):z.none}get decorations(){return this.view.state.doc.length?z.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,A.contentAttributes.of({"aria-placeholder":n})]:e}const wa=2e3;function Kk(n,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),s=[];if(e.off>wa||t.off>wa||e.col<0||t.col<0){let l=Math.min(e.off,t.off),o=Math.max(e.off,t.off);for(let a=i;a<=r;a++){let c=n.doc.line(a);c.length<=o&&s.push(v.range(c.from+l,c.to+o))}}else{let l=Math.min(e.col,t.col),o=Math.max(e.col,t.col);for(let a=i;a<=r;a++){let c=n.doc.line(a),h=ia(c.text,l,n.tabSize,!0);if(h<0)s.push(v.cursor(c.to));else{let u=ia(c.text,o,n.tabSize);s.push(v.range(c.from+h,c.from+u))}}}return s}function Jk(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function mu(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),r=t-i.from,s=r>wa?-1:r==i.length?Jk(n,e.clientX):Bn(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:s,off:r}}function ey(n,e){let t=mu(n,e),i=n.state.selection;return t?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(t.line).from),l=r.state.doc.lineAt(s);t={line:l.number,col:t.col,off:Math.min(t.off,l.length)},i=i.map(r.changes)}},get(r,s,l){let o=mu(n,r);if(!o)return i;let a=Kk(n.state,t,o);return a.length?l?v.create(a.concat(i.ranges)):v.create(a):i}}:null}function ty(n){let e=(t=>t.altKey&&t.button==0);return A.mouseSelectionStyle.of((t,i)=>e(i)?ey(t,i):null)}const iy={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},ny={style:"cursor: crosshair"};function ry(n={}){let[e,t]=iy[n.key||"Alt"],i=ke.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,A.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.isDown?ny:null})]}const fs="-10000px";class _p{constructor(e,t,i,r){this.facet=t,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(l=>l);let s=null;this.tooltipViews=this.tooltips.map(l=>s=i(l,s))}update(e,t){var i;let r=e.state.facet(this.facet),s=r.filter(a=>a);if(r===this.input){for(let a of this.tooltipViews)a.update&&a.update(e);return!1}let l=[],o=t?[]:null;for(let a=0;a<s.length;a++){let c=s[a],h=-1;if(c){for(let u=0;u<this.tooltips.length;u++){let f=this.tooltips[u];f&&f.create==c.create&&(h=u)}if(h<0)l[a]=this.createTooltipView(c,a?l[a-1]:null),o&&(o[a]=!!c.above);else{let u=l[a]=this.tooltipViews[h];o&&(o[a]=t[h]),u.update&&u.update(e)}}}for(let a of this.tooltipViews)l.indexOf(a)<0&&(this.removeTooltipView(a),(i=a.destroy)===null||i===void 0||i.call(a));return t&&(o.forEach((a,c)=>t[c]=a),t.length=o.length),this.input=r,this.tooltips=s,this.tooltipViews=l,!0}}function sy(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const uo=X.define({combine:n=>{var e,t,i;return{position:M.ios?"absolute":((e=n.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=n.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||sy}}}),bu=new WeakMap,fc=ke.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(uo);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new _p(n,dc,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,i=n.state.facet(uo);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=fs,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(n=i.destroy)===null||n===void 0||n.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(M.safari){let l=s.getBoundingClientRect();t=Math.abs(l.top+1e4)>1||Math.abs(l.left)>1}else t=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(n=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=ac(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,l)=>{let o=this.manager.tooltipViews[l];return o.getCoords?o.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(uo).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:t,space:i,scaleX:r,scaleY:s}=n,l=[];for(let o=0;o<this.manager.tooltips.length;o++){let a=this.manager.tooltips[o],c=this.manager.tooltipViews[o],{dom:h}=c,u=n.pos[o],f=n.size[o];if(!u||a.clip!==!1&&(u.bottom<=Math.max(t.top,i.top)||u.top>=Math.min(t.bottom,i.bottom)||u.right<Math.max(t.left,i.left)-.1||u.left>Math.min(t.right,i.right)+.1)){h.style.top=fs;continue}let d=a.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,p=d?7:0,O=f.right-f.left,m=(e=bu.get(c))!==null&&e!==void 0?e:f.bottom-f.top,x=c.offset||oy,S=this.view.textDirection==ue.LTR,w=f.width>i.right-i.left?S?i.left:i.right-f.width:S?Math.max(i.left,Math.min(u.left-(d?14:0)+x.x,i.right-O)):Math.min(Math.max(i.left,u.left-O+(d?14:0)-x.x),i.right-O),T=this.above[o];!a.strictSide&&(T?u.top-m-p-x.y<i.top:u.bottom+m+p+x.y>i.bottom)&&T==i.bottom-u.bottom>u.top-i.top&&(T=this.above[o]=!T);let k=(T?u.top-i.top:i.bottom-u.bottom)-p;if(k<m&&c.resize!==!1){if(k<this.view.defaultLineHeight){h.style.top=fs;continue}bu.set(c,m),h.style.height=(m=k)/s+"px"}else h.style.height&&(h.style.height="");let P=T?u.top-m-p-x.y:u.bottom+p+x.y,$=w+O;if(c.overlap!==!0)for(let Z of l)Z.left<$&&Z.right>w&&Z.top<P+m&&Z.bottom>P&&(P=T?Z.top-m-2-p:Z.bottom+p+2);if(this.position=="absolute"?(h.style.top=(P-n.parent.top)/s+"px",xu(h,(w-n.parent.left)/r)):(h.style.top=P/s+"px",xu(h,w/r)),d){let Z=u.left+(S?x.x:-x.x)-(w+14-7);d.style.left=Z/r+"px"}c.overlap!==!0&&l.push({left:w,top:P,right:$,bottom:P+m}),h.classList.toggle("cm-tooltip-above",T),h.classList.toggle("cm-tooltip-below",!T),c.positioned&&c.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=fs}},{eventObservers:{scroll(){this.maybeMeasure()}}});function xu(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const ly=A.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),oy={x:0,y:0},dc=X.define({enables:[fc,ly]}),Hs=X.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Al{static create(e){return new Al(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new _p(e,Hs,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const ay=dc.compute([Hs],n=>{let e=n.facet(Hs);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:Al.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),zp=X.define();class cy{constructor(e,t,i,r,s,l){this.view=e,this.source=t,this.field=i,this.locked=r,this.setHover=s,this.hoverTime=l,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,i=e.docView.tile.nearest(t.target);if(!i)return;let r,s=1;if(i.isWidget())r=i.posAtStart;else{if(r=e.posAtCoords(t),r==null)return;let l=e.coordsAtPos(r);if(!l||t.y<l.top||t.y>l.bottom||t.x<l.left-e.defaultCharacterWidth||t.x>l.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find(c=>c.from<=r&&c.to>=r),a=o&&o.dir==ue.RTL?-1:1;s=t.x<l.left?-a:a}this.activateHover(e,r,s)}activateHover(e,t,i,r){let s=this.source(e,t,i),l=o=>{if(o&&!(Array.isArray(o)&&!o.length)){let a=Array.isArray(o)?o:[o];r&&this.locked.set(a,r),e.dispatch({effects:this.setHover.of(a)})}};if(s&&"then"in s){let o=this.pending={pos:t};s.then(a=>{this.pending==o&&(this.pending=null,l(a))},a=>rt(e.state,a,"hover tooltip"))}else l(s)}get tooltip(){let e=this.view.plugin(fc),t=e?e.manager.tooltips.findIndex(i=>i.create==Al.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&!this.locked.has(r)&&s&&!hy(s.dom,e)||this.pending){let{pos:l}=r[0]||this.pending,o=(i=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:l;(l==o?this.view.posAtCoords(this.lastMove)!=l:!uy(this.view,l,o,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length&&!this.locked.has(t)){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const ds=4;function hy(n,e){let{left:t,right:i,top:r,bottom:s}=n.getBoundingClientRect(),l;if(l=n.querySelector(".cm-tooltip-arrow")){let o=l.getBoundingClientRect();r=Math.min(o.top,r),s=Math.max(o.bottom,s)}return e.clientX>=t-ds&&e.clientX<=i+ds&&e.clientY>=r-ds&&e.clientY<=s+ds}function uy(n,e,t,i,r,s){let l=n.scrollDOM.getBoundingClientRect(),o=n.documentTop+n.documentPadding.top+n.contentHeight;if(l.left>i||l.right<i||l.top>r||Math.min(l.bottom,o)<r)return!1;let a=n.posAtCoords({x:i,y:r},!1);return a>=e&&a<=t}function fy(n,e={}){let t=q.define(),i=new WeakMap,r=ze.define({create(){return[]},update(l,o){let a=i.get(l);if(l.length&&(e.hideOnChange&&(o.docChanged||o.selection)?l=[]:a&&a(o)?l=[]:e.hideOn&&(l=l.filter(c=>!e.hideOn(o,c)))),o.docChanged&&l.length){let c=[];for(let h of l){let u=o.changes.mapPos(h.pos,-1,je.TrackDel);if(u!=null){let f=Object.assign(Object.create(null),h);f.pos=u,f.end!=null&&(f.end=o.changes.mapPos(f.end)),c.push(f)}}l=c}for(let c of o.effects)c.is(t)&&(l=c.value,a=void 0),(c.is(py)&&!c.value||c.value==r)&&(l=[]);return l.length&&a&&i.set(l,a),l},provide:l=>Hs.from(l)});const s=ke.define(l=>new cy(l,n,r,i,t,e.hoverTime||300));return{active:r,extension:[r,s,zp.of(s),ay]}}function dy(n,e,t,i={}){var r;let s=n.state.facet(zp).map(l=>n.plugin(l)).filter(l=>!!l);if(i.tooltip&&i.tooltip.active){let l=s.find(o=>o.field==i.tooltip.active);l&&(s=[l])}for(let l of s)l.activateHover(n,e,t,(r=i.until)!==null&&r!==void 0?r:(()=>!1))}function Dp(n,e){let t=n.plugin(fc);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const py=q.define(),ku=X.define({combine(n){let e,t;for(let i of n)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Rl(n,e){let t=n.plugin(Wp),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const Wp=ke.fromClass(class{constructor(n){this.input=n.state.facet(Ar),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(ku);this.top=new ps(n,!0,e.topContainer),this.bottom=new ps(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(ku);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new ps(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new ps(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Ar);if(t!=this.input){let i=t.filter(a=>a),r=[],s=[],l=[],o=[];for(let a of i){let c=this.specs.indexOf(a),h;c<0?(h=a(n.view),o.push(h)):(h=this.panels[c],h.update&&h.update(n)),r.push(h),(h.top?s:l).push(h)}this.specs=i,this.panels=r,this.top.sync(s),this.bottom.sync(l);for(let a of o)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let i of this.panels)i.update&&i.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>A.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class ps{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=yu(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=yu(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function yu(n){let e=n.nextSibling;return n.remove(),e}const Ar=X.define({enables:Wp});function Oy(n,e){let t,i=new Promise(l=>t=l),r=l=>my(l,e,t);n.state.field(Rs,!1)?n.dispatch({effects:Ip.of(r)}):n.dispatch({effects:q.appendConfig.of(Rs.init(()=>[r]))});let s=qp.of(r);return{close:s,result:i.then(l=>((n.win.queueMicrotask||(a=>n.win.setTimeout(a,10)))(()=>{n.state.field(Rs).indexOf(r)>-1&&n.dispatch({effects:s})}),l))}}function gy(n,e){let t=n.state.field(Rs,!1)||[];for(let i of t){let r=Rl(n,i);if(r&&r.dom.classList.contains(e))return r}return null}const Rs=ze.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(Ip)?n=[t.value].concat(n):t.is(qp)&&(n=n.filter(i=>i!=t.value));return n},provide:n=>Ar.computeN([n],e=>e.field(n))}),Ip=q.define(),qp=q.define();function my(n,e,t){let i=e.content?e.content(n,()=>l(null)):null;if(!i){if(i=ae("form"),e.input){let o=ae("input",e.input);/^(text|password|number|email|tel|url)$/.test(o.type)&&o.classList.add("cm-textfield"),o.name||(o.name="input"),i.appendChild(ae("label",(e.label||"")+": ",o))}else i.appendChild(document.createTextNode(e.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(ae("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let o=0;o<r.length;o++){let a=r[o];a.addEventListener("keydown",c=>{c.keyCode==27?(c.preventDefault(),l(null)):c.keyCode==13&&(c.preventDefault(),l(a))}),a.addEventListener("submit",c=>{c.preventDefault(),l(a)})}let s=ae("div",i,ae("button",{onclick:()=>l(null),"aria-label":n.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(s.className=e.class),s.classList.add("cm-dialog");function l(o){s.contains(s.ownerDocument.activeElement)&&n.focus(),t(o)}return{dom:s,top:e.top,mount:()=>{if(e.focus){let o;typeof e.focus=="string"?o=i.querySelector(e.focus):o=i.querySelector("input")||i.querySelector("button"),o&&"select"in o?o.select():o&&"focus"in o&&o.focus()}}}}class ai extends Si{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}ai.prototype.elementClass="";ai.prototype.toDOM=void 0;ai.prototype.mapMode=je.TrackBefore;ai.prototype.startSide=ai.prototype.endSide=-1;ai.prototype.point=!0;const Ms=X.define(),by=X.define(),xy={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>N.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Sr=X.define();function ky(n){return[Yp(),Sr.of({...xy,...n})]}const Su=X.define({combine:n=>n.some(e=>e)});function Yp(n){return[yy]}const yy=ke.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Sr).map(e=>new Qu(n,e)),this.fixed=!n.state.facet(Su);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Su)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=N.iter(this.view.state.facet(Ms),this.view.viewport.from),i=[],r=this.gutters.map(s=>new Sy(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let l=!0;for(let o of s.type)if(o.type==Ee.Text&&l){Qa(t,i,o.from);for(let a of r)a.line(this.view,o,i);l=!1}else if(o.widget)for(let a of r)a.widget(this.view,o)}else if(s.type==Ee.Text){Qa(t,i,s.from);for(let l of r)l.line(this.view,s,i)}else if(s.widget)for(let l of r)l.widget(this.view,s);for(let s of r)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Sr),t=n.state.facet(Sr),i=n.docChanged||n.heightChanged||n.viewportChanged||!N.eq(n.startState.facet(Ms),n.state.facet(Ms),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(n)&&(i=!0);else{i=!0;let r=[];for(let s of t){let l=e.indexOf(s);l<0?r.push(new Qu(this.view,s)):(this.gutters[l].update(n),r.push(this.gutters[l]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>A.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ue.LTR?{left:i,right:r}:{right:i,left:r}})});function wu(n){return Array.isArray(n)?n:[n]}function Qa(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class Sy{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=N.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,s=(t.top-this.height)/e.scaleY,l=t.height/e.scaleY;if(this.i==r.elements.length){let o=new Bp(e,l,s,i);r.elements.push(o),r.dom.appendChild(o.dom)}else r.elements[this.i].update(e,l,s,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];Qa(this.cursor,r,t.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(e,t,r);s&&r.unshift(s);let l=this.gutter;r.length==0&&!l.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let s of e.state.facet(by)){let l=s(e,t.widget,t);l&&(r||(r=[])).push(l)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Qu{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,l;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let a=s.getBoundingClientRect();l=(a.top+a.bottom)/2}else l=r.clientY;let o=e.lineBlockAtHeight(l-e.documentTop);t.domEventHandlers[i](e,o,r)&&r.preventDefault()});this.markers=wu(t.markers(e)),t.initialSpacer&&(this.spacer=new Bp(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=wu(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!N.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class Bp{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),wy(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,l=0;;){let o=l,a=s<t.length?t[s++]:null,c=!1;if(a){let h=a.elementClass;h&&(i+=" "+h);for(let u=l;u<this.markers.length;u++)if(this.markers[u].compare(a)){o=u,c=!0;break}}else o=this.markers.length;for(;l<o;){let h=this.markers[l++];if(h.toDOM){h.destroy(r);let u=r.nextSibling;r.remove(),r=u}}if(!a)break;a.toDOM&&(c?r=r.nextSibling:this.dom.insertBefore(a.toDOM(e),r)),c&&l++}this.dom.className=i,this.markers=t}destroy(){this.setMarkers(null,[])}}function wy(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}const Qy=X.define(),vy=X.define(),On=X.define({combine(n){return Ht(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let r in t){let s=i[r],l=t[r];i[r]=s?(o,a,c)=>s(o,a,c)||l(o,a,c):l}return i}})}});class fo extends ai{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function po(n,e){return n.state.facet(On).formatNumber(e,n.state)}const $y=Sr.compute([On],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Qy)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new fo(po(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(vy)){let s=r(e,t,i);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(On)!=e.state.facet(On),initialSpacer(e){return new fo(po(e,vu(e.state.doc.lines)))},updateSpacer(e,t){let i=po(t.view,vu(t.view.state.doc.lines));return i==e.number?e:new fo(i)},domEventHandlers:n.facet(On).domEventHandlers,side:"before"}));function Py(n={}){return[On.of(n),Yp(),$y]}function vu(n){let e=9;for(;e<n;)e=e*10+9;return e}const Ty=new class extends ai{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Cy=Ms.compute(["selection"],n=>{let e=[],t=-1;for(let i of n.selection.ranges){let r=n.doc.lineAt(i.head).from;r>t&&(t=r,e.push(Ty.range(r)))}return N.of(e)});function Ay(){return Cy}const Vp=1024;let Ry=0,mt=class{constructor(e,t){this.from=e,this.to=t}};class B{constructor(e={}){this.id=Ry++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Ke.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}}B.closedBy=new B({deserialize:n=>n.split(" ")});B.openedBy=new B({deserialize:n=>n.split(" ")});B.group=new B({deserialize:n=>n.split(" ")});B.isolate=new B({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});B.contextHash=new B({perNode:!0});B.lookAhead=new B({perNode:!0});B.mounted=new B({perNode:!0});class Sn{constructor(e,t,i,r=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=r}static get(e){return e&&e.props&&e.props[B.mounted.id]}}const My=Object.create(null);class Ke{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):My,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new Ke(e.name||"",t,e.id,i);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(B.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(B.group),s=-1;s<(r?r.length:0);s++){let l=t[s<0?i.name:r[s]];if(l)return l}}}}Ke.none=new Ke("",Object.create(null),0,8);class pc{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let i of this.types){let r=null;for(let s of e){let l=s(i);if(l){r||(r=Object.assign({},i.props));let o=l[1],a=l[0];a.combine&&a.id in r&&(o=a.combine(r[a.id],o)),r[a.id]=o}}t.push(r?new Ke(i.name,r,i.id,i.flags):i)}return new pc(t)}}const Os=new WeakMap,$u=new WeakMap;var re;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(re||(re={}));class pe{constructor(e,t,i,r,s){if(this.type=e,this.children=t,this.positions=i,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[l,o]of s)this.props[typeof l=="number"?l:l.id]=o}}toString(){let e=Sn.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let i of this.children){let r=i.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Ks(this.topNode,e)}cursorAt(e,t=0,i=0){let r=Os.get(this)||this.topNode,s=new Ks(r);return s.moveTo(e,t),Os.set(this,s._tree),s}get topNode(){return new qe(this,0,0,null)}resolve(e,t=0){let i=Rr(Os.get(this)||this.topNode,e,t,!1);return Os.set(this,i),i}resolveInner(e,t=0){let i=Rr($u.get(this)||this.topNode,e,t,!0);return $u.set(this,i),i}resolveStack(e,t=0){return Ly(this,e,t)}iterate(e){let{enter:t,leave:i,from:r=0,to:s=this.length}=e,l=e.mode||0,o=(l&re.IncludeAnonymous)>0;for(let a=this.cursor(l|re.IncludeAnonymous);;){let c=!1;if(a.from<=s&&a.to>=r&&(!o&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&i&&(o||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:mc(Ke.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new pe(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new pe(Ke.none,t,i,r)))}static build(e){return jy(e)}}pe.empty=new pe(Ke.none,[],[],0);class Oc{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Oc(this.buffer,this.index)}}class $i{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return Ke.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],i=this.buffer[e+3],r=this.set.types[t],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,i==e)return s;let l=[];for(;e<i;)l.push(this.childString(e)),e=this.buffer[e+3];return s+"("+l.join(",")+")"}findChild(e,t,i,r,s){let{buffer:l}=this,o=-1;for(let a=e;a!=t&&!(Np(s,r,l[a+1],l[a+2])&&(o=a,i>0));a=l[a+3]);return o}slice(e,t,i){let r=this.buffer,s=new Uint16Array(t-e),l=0;for(let o=e,a=0;o<t;){s[a++]=r[o++],s[a++]=r[o++]-i;let c=s[a++]=r[o++]-i;s[a++]=r[o++]-e,l=Math.max(l,c)}return new $i(s,l,this.set)}}function Np(n,e,t,i){switch(n){case-2:return t<e;case-1:return i>=e&&t<e;case 0:return t<e&&i>e;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function Rr(n,e,t,i){for(var r;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let l=!i&&n instanceof qe&&n.index<0?null:n.parent;if(!l)return n;n=l}let s=i?0:re.IgnoreOverlays;if(i)for(let l=n,o=l.parent;o;l=o,o=l.parent)l instanceof qe&&l.index<0&&((r=o.enter(e,t,s))===null||r===void 0?void 0:r.from)!=l.from&&(n=o);for(;;){let l=n.enter(e,t,s);if(!l)return n;n=l}}class Gp{cursor(e=0){return new Ks(this,e)}getChild(e,t=null,i=null){let r=Pu(this,e,t,i);return r.length?r[0]:null}getChildren(e,t=null,i=null){return Pu(this,e,t,i)}resolve(e,t=0){return Rr(this,e,t,!1)}resolveInner(e,t=0){return Rr(this,e,t,!0)}matchContext(e){return va(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),i=this;for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(i=t,t=r.prevSibling):t=r}return i}get node(){return this}get next(){return this.parent}}class qe extends Gp{constructor(e,t,i,r){super(),this._tree=e,this.from=t,this.index=i,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,i,r,s=0){for(let l=this;;){for(let{children:o,positions:a}=l._tree,c=t>0?o.length:-1;e!=c;e+=t){let h=o[e],u=a[e]+l.from,f;if(!(!(s&re.EnterBracketed&&h instanceof pe&&(f=Sn.get(h))&&!f.overlay&&f.bracketed&&i>=u&&i<=u+h.length)&&!Np(r,i,u,u+h.length))){if(h instanceof $i){if(s&re.ExcludeBuffers)continue;let d=h.findChild(0,h.buffer.length,t,i-u,r);if(d>-1)return new Yt(new Zy(l,h,e,u),null,d)}else if(s&re.IncludeAnonymous||!h.type.isAnonymous||gc(h)){let d;if(!(s&re.IgnoreMounts)&&(d=Sn.get(h))&&!d.overlay)return new qe(d.tree,u,e,l);let p=new qe(h,u,e,l);return s&re.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,i,r,s)}}}if(s&re.IncludeAnonymous||!l.type.isAnonymous||(l.index>=0?e=l.index+t:e=t<0?-1:l._parent._tree.children.length,l=l._parent,!l))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let r;if(!(i&re.IgnoreOverlays)&&(r=Sn.get(this._tree))&&r.overlay){let s=e-this.from,l=i&re.EnterBracketed&&r.bracketed;for(let{from:o,to:a}of r.overlay)if((t>0||l?o<=s:o<s)&&(t<0||l?a>=s:a>s))return new qe(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function Pu(n,e,t,i){let r=n.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let l=!1;!l;)if(l=r.type.is(t),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function va(n,e,t=e.length-1){for(let i=n;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class Zy{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}}class Yt extends Gp{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return s<0?null:new Yt(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&re.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new Yt(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Yt(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Yt(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let l=i.buffer[this.index+1];e.push(i.slice(r,s,l)),t.push(0)}return new pe(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Up(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;s<n.length;s++){let l=n[s];(l.from>t.from||l.to<t.to)&&(t=l,e=s)}let i=t instanceof qe&&t.index<0?null:t.parent,r=n.slice();return i?r[e]=i:r.splice(e,1),new Xy(r,t)}class Xy{constructor(e,t){this.heads=e,this.node=t}get next(){return Up(this.heads)}}function Ly(n,e,t){let i=n.resolveInner(e,t),r=null;for(let s=i instanceof qe?i:i.context.parent;s;s=s.parent)if(s.index<0){let l=s.parent;(r||(r=[i])).push(l.resolve(e,t)),s=l}else{let l=Sn.get(s.tree);if(l&&l.overlay&&l.overlay[0].from<=e&&l.overlay[l.overlay.length-1].to>=e){let o=new qe(l.tree,l.overlay[0].from+s.from,-1,s);(r||(r=[i])).push(Rr(o,e,t,!1))}}return r?Up(r):i}class Ks{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~re.EnterBracketed,e instanceof qe)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof qe?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&re.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&re.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&re.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:i}=r)}else({index:t,_parent:i}=this._tree);for(;i;{index:t,_parent:i}=i)if(t>-1)for(let s=t+e,l=e<0?-1:i._tree.children.length;s!=l;s+=e){let o=i._tree.children[s];if(this.mode&re.IncludeAnonymous||o instanceof $i||!o.type.isAnonymous||gc(o))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,i=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let l=e;l;l=l._parent)if(l.index==r){if(r==this.index)return l;t=l,i=s+1;break e}r=this.stack[--s]}for(let r=i;r<this.stack.length;r++)t=new Yt(this.buffer,t,this.stack[r]);return this.bufferNode=new Yt(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let i=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,r=!0}}}matchContext(e){if(!this.buffer)return va(this.node.parent,e);let{buffer:t}=this.buffer,{types:i}=t.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return va(this._tree,e,r);let l=i[t.buffer[this.stack[s]]];if(!l.isAnonymous){if(e[r]&&e[r]!=l.name)return!1;r--}}return!0}}function gc(n){return n.children.some(e=>e instanceof $i||!e.type.isAnonymous||gc(e))}function jy(n){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=Vp,reused:s=[],minRepeatType:l=i.types.length}=n,o=Array.isArray(t)?new Oc(t,t.length):t,a=i.types,c=0,h=0;function u(k,P,$,Z,W,D){let{id:j,start:E,end:V,size:Y}=o,F=h,Oe=c;if(Y<0)if(o.next(),Y==-1){let Se=s[j];$.push(Se),Z.push(E-k);return}else if(Y==-3){c=j;return}else if(Y==-4){h=j;return}else throw new RangeError(`Unrecognized record size: ${Y}`);let Qe=a[j],ve,ce,$e=E-k;if(V-E<=r&&(ce=m(o.pos-P,W))){let Se=new Uint16Array(ce.size-ce.skip),Ae=o.pos-ce.size,De=Se.length;for(;o.pos>Ae;)De=x(ce.start,Se,De);ve=new $i(Se,V-ce.start,i),$e=ce.start-k}else{let Se=o.pos-Y;o.next();let Ae=[],De=[],J=j>=l?j:-1,Be=0,Rt=V;for(;o.pos>Se;)J>=0&&o.id==J&&o.size>=0?(o.end<=Rt-r&&(p(Ae,De,E,Be,o.end,Rt,J,F,Oe),Be=Ae.length,Rt=o.end),o.next()):D>2500?f(E,Se,Ae,De):u(E,Se,Ae,De,J,D+1);if(J>=0&&Be>0&&Be<Ae.length&&p(Ae,De,E,Be,E,Rt,J,F,Oe),Ae.reverse(),De.reverse(),J>-1&&Be>0){let Mt=d(Qe,Oe);ve=mc(Qe,Ae,De,0,Ae.length,0,V-E,Mt,Mt)}else ve=O(Qe,Ae,De,V-E,F-V,Oe)}$.push(ve),Z.push($e)}function f(k,P,$,Z){let W=[],D=0,j=-1;for(;o.pos>P;){let{id:E,start:V,end:Y,size:F}=o;if(F>4)o.next();else{if(j>-1&&V<j)break;j<0&&(j=Y-r),W.push(E,V,Y),D++,o.next()}}if(D){let E=new Uint16Array(D*4),V=W[W.length-2];for(let Y=W.length-3,F=0;Y>=0;Y-=3)E[F++]=W[Y],E[F++]=W[Y+1]-V,E[F++]=W[Y+2]-V,E[F++]=F;$.push(new $i(E,W[2]-V,i)),Z.push(V-k)}}function d(k,P){return($,Z,W)=>{let D=0,j=$.length-1,E,V;if(j>=0&&(E=$[j])instanceof pe){if(!j&&E.type==k&&E.length==W)return E;(V=E.prop(B.lookAhead))&&(D=Z[j]+E.length+V)}return O(k,$,Z,W,D,P)}}function p(k,P,$,Z,W,D,j,E,V){let Y=[],F=[];for(;k.length>Z;)Y.push(k.pop()),F.push(P.pop()+$-W);k.push(O(i.types[j],Y,F,D-W,E-D,V)),P.push(W-$)}function O(k,P,$,Z,W,D,j){if(D){let E=[B.contextHash,D];j=j?[E].concat(j):[E]}if(W>25){let E=[B.lookAhead,W];j=j?[E].concat(j):[E]}return new pe(k,P,$,Z,j)}function m(k,P){let $=o.fork(),Z=0,W=0,D=0,j=$.end-r,E={size:0,start:0,skip:0};e:for(let V=$.pos-k;$.pos>V;){let Y=$.size;if($.id==P&&Y>=0){E.size=Z,E.start=W,E.skip=D,D+=4,Z+=4,$.next();continue}let F=$.pos-Y;if(Y<0||F<V||$.start<j)break;let Oe=$.id>=l?4:0,Qe=$.start;for($.next();$.pos>F;){if($.size<0)if($.size==-3||$.size==-4)Oe+=4;else break e;else $.id>=l&&(Oe+=4);$.next()}W=Qe,Z+=Y,D+=Oe}return(P<0||Z==k)&&(E.size=Z,E.start=W,E.skip=D),E.size>4?E:void 0}function x(k,P,$){let{id:Z,start:W,end:D,size:j}=o;if(o.next(),j>=0&&Z<l){let E=$;if(j>4){let V=o.pos-(j-4);for(;o.pos>V;)$=x(k,P,$)}P[--$]=E,P[--$]=D-k,P[--$]=W-k,P[--$]=Z}else j==-3?c=Z:j==-4&&(h=Z);return $}let S=[],w=[];for(;o.pos>0;)u(n.start||0,n.bufferStart||0,S,w,-1,0);let T=(e=n.length)!==null&&e!==void 0?e:S.length?w[0]+S[0].length:0;return new pe(a[n.topID],S.reverse(),w.reverse(),T)}const Tu=new WeakMap;function Zs(n,e){if(!n.isAnonymous||e instanceof $i||e.type!=n)return 1;let t=Tu.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=n||!(i instanceof pe)){t=1;break}t+=Zs(n,i)}Tu.set(e,t)}return t}function mc(n,e,t,i,r,s,l,o,a){let c=0;for(let p=i;p<r;p++)c+=Zs(n,e[p]);let h=Math.ceil(c*1.5/8),u=[],f=[];function d(p,O,m,x,S){for(let w=m;w<x;){let T=w,k=O[w],P=Zs(n,p[w]);for(w++;w<x;w++){let $=Zs(n,p[w]);if(P+$>=h)break;P+=$}if(w==T+1){if(P>h){let $=p[T];d($.children,$.positions,0,$.children.length,O[T]+S);continue}u.push(p[T])}else{let $=O[w-1]+p[w-1].length-k;u.push(mc(n,p,O,T,w,k,$,null,a))}f.push(k+S-s)}}return d(e,t,i,r,0),(o||a)(u,f,l)}class Fp{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof Yt?this.setBuffer(e.context.buffer,e.index,t):e instanceof qe&&this.map.set(e.tree,t)}get(e){return e instanceof Yt?this.getBuffer(e.context.buffer,e.index):e instanceof qe?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class li{constructor(e,t,i,r,s=!1,l=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(s?1:0)|(l?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new li(0,e.length,e,0,!1,i)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],s=1,l=e.length?e[0]:null;for(let o=0,a=0,c=0;;o++){let h=o<t.length?t[o]:null,u=h?h.fromA:1e9;if(u-a>=i)for(;l&&l.from<u;){let f=l;if(a>=f.from||u<=f.to||c){let d=Math.max(f.from,a)-c,p=Math.min(f.to,u)-c;f=d>=p?null:new li(d,p,f.tree,f.offset+c,o>0,!!h)}if(f&&r.push(f),l.to>u)break;l=s<e.length?e[s++]:null}if(!h)break;a=h.toA,c=h.toA-h.toB}return r}}class Hp{startParse(e,t,i){return typeof e=="string"&&(e=new Ey(e)),i=i?i.length?i.map(r=>new mt(r.from,r.to)):[new mt(0,0)]:[new mt(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let s=r.advance();if(s)return s}}}class Ey{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function _y(n){return(e,t,i,r)=>new Dy(e,n,t,i,r)}class Cu{constructor(e,t,i,r,s,l){this.parser=e,this.parse=t,this.overlay=i,this.bracketed=r,this.target=s,this.from=l}}function Au(n){if(!n.length||n.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(n))}class zy{constructor(e,t,i,r,s,l,o,a){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=s,this.bracketed=l,this.target=o,this.prev=a,this.depth=0,this.ranges=[]}}const $a=new B({perNode:!0});class Dy{constructor(e,t,i,r,s){this.nest=t,this.input=i,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new pe(i.type,i.children,i.positions,i.length,i.propValues.concat([[$a,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[B.mounted.id]=new Sn(t,e.overlay,e.parser,e.bracketed),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new qy(this.fragments),t=null,i=null,r=new Ks(new qe(this.baseTree,this.ranges[0].from,0,null),re.IncludeAnonymous|re.IgnoreMounts);e:for(let s,l;;){let o=!0,a;if(this.stoppedAt!=null&&r.from>=this.stoppedAt)o=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(c)for(let h of c.mount.overlay){let u=h.from+c.pos,f=h.to+c.pos;u>=r.from&&f<=r.to&&!t.ranges.some(d=>d.from<f&&d.to>u)&&t.ranges.push({from:u,to:f})}}o=!1}else if(i&&(l=Wy(i.ranges,r.from,r.to)))o=l!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.from<r.to||!s.overlay)){r.tree||(Iy(r),t&&t.depth++,i&&i.depth++);let c=e.findMounts(r.from,s.parser);if(typeof s.overlay=="function")t=new zy(s.parser,s.overlay,c,this.inner.length,r.from,!!s.bracketed,r.tree,t);else{let h=Zu(this.ranges,s.overlay||(r.from<r.to?[new mt(r.from,r.to)]:[]));h.length&&Au(h),(h.length||!s.overlay)&&this.inner.push(new Cu(s.parser,h.length?s.parser.startParse(this.input,Xu(c,h),h):s.parser.startParse(""),s.overlay?s.overlay.map(u=>new mt(u.from-r.from,u.to-r.from)):null,!!s.bracketed,r.tree,h.length?h[0].from:r.from)),s.overlay?h.length&&(i={ranges:h,depth:0,prev:i}):o=!1}}else if(t&&(a=t.predicate(r))&&(a===!0&&(a=new mt(r.from,r.to)),a.from<a.to)){let c=t.ranges.length-1;c>=0&&t.ranges[c].to==a.from?t.ranges[c]={from:t.ranges[c].from,to:a.to}:t.ranges.push(a)}if(o&&r.firstChild())t&&t.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=Zu(this.ranges,t.ranges);c.length&&(Au(c),this.inner.splice(t.index,0,new Cu(t.parser,t.parser.startParse(this.input,Xu(t.mounts,c),c),t.ranges.map(h=>new mt(h.from-t.start,h.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}}function Wy(n,e,t){for(let i of n){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Ru(n,e,t,i,r,s){if(e<t){let l=n.buffer[e+1];i.push(n.slice(e,t,l)),r.push(l-s)}}function Iy(n){let{node:e}=n,t=[],i=e.context.buffer;do t.push(n.index),n.parent();while(!n.tree);let r=n.tree,s=r.children.indexOf(i),l=r.children[s],o=l.buffer,a=[s];function c(h,u,f,d,p,O){let m=t[O],x=[],S=[];Ru(l,h,m,x,S,d);let w=o[m+1],T=o[m+2];a.push(x.length);let k=O?c(m+4,o[m+3],l.set.types[o[m]],w,T-w,O-1):e.toTree();return x.push(k),S.push(w-d),Ru(l,o[m+3],u,x,S,d),new pe(f,x,S,p)}r.children[s]=c(0,o.length,Ke.none,0,l.length,t.length-1);for(let h of a){let u=n.tree.children[h],f=n.tree.positions[h];n.yield(new qe(u,f+n.from,h,n._tree))}}class Mu{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(re.IncludeAnonymous|re.IgnoreMounts)}moveTo(e){let{cursor:t}=this,i=e-this.offset;for(;!this.done&&t.from<i;)if(!(t.to>=e&&t.enter(i,1,re.IgnoreOverlays|re.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof pe)t=t.children[0];else break}return!1}}let qy=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=(t=i.tree.prop($a))!==null&&t!==void 0?t:i.to,this.inner=new Mu(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop($a))!==null&&e!==void 0?e:t.to,this.inner=new Mu(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let l=(i=s.tree)===null||i===void 0?void 0:i.prop(B.mounted);if(l&&l.parser==t)for(let o=this.fragI;o<this.fragments.length;o++){let a=this.fragments[o];if(a.from>=s.to)break;a.tree==this.curFrag.tree&&r.push({frag:a,pos:s.from-a.offset,mount:l})}}}return r}};function Zu(n,e){let t=null,i=e;for(let r=1,s=0;r<n.length;r++){let l=n[r-1].to,o=n[r].from;for(;s<i.length;s++){let a=i[s];if(a.from>=o)break;a.to<=l||(t||(i=t=e.slice()),a.from<l?(t[s]=new mt(a.from,l),a.to>o&&t.splice(s+1,0,new mt(o,a.to))):a.to>o?t[s--]=new mt(o,a.to):t.splice(s--,1))}}return i}function Yy(n,e,t,i){let r=0,s=0,l=!1,o=!1,a=-1e9,c=[];for(;;){let h=r==n.length?1e9:l?n[r].to:n[r].from,u=s==e.length?1e9:o?e[s].to:e[s].from;if(l!=o){let f=Math.max(a,t),d=Math.min(h,u,i);f<d&&c.push(new mt(f,d))}if(a=Math.min(h,u),a==1e9)break;h==a&&(l?(l=!1,r++):l=!0),u==a&&(o?(o=!1,s++):o=!0)}return c}function Xu(n,e){let t=[];for(let{pos:i,mount:r,frag:s}of n){let l=i+(r.overlay?r.overlay[0].from:0),o=l+r.tree.length,a=Math.max(s.from,l),c=Math.min(s.to,o);if(r.overlay){let h=r.overlay.map(f=>new mt(f.from+i,f.to+i)),u=Yy(e,h,a,c);for(let f=0,d=a;;f++){let p=f==u.length,O=p?c:u[f].from;if(O>d&&t.push(new li(d,O,r.tree,-l,s.from>=d||s.openStart,s.to<=O||s.openEnd)),p)break;d=u[f].to}}else t.push(new li(a,c,r.tree,-l,s.from>=l||s.openStart,s.to<=o||s.openEnd))}return t}let By=0;class Ot{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=By++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof Ot&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let r=new Ot(i,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Js(e);return i=>i.modified.indexOf(t)>-1?i:Js.get(i.base||i,i.modified.concat(t).sort((r,s)=>r.id-s.id))}}let Vy=0;class Js{constructor(e){this.name=e,this.instances=[],this.id=Vy++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(o=>o.base==e&&Ny(t,o.modified));if(i)return i;let r=[],s=new Ot(e.name,r,e,t);for(let o of t)o.instances.push(s);let l=Gy(t);for(let o of e.set)if(!o.modified.length)for(let a of l)r.push(Js.get(o,a));return s}}function Ny(n,e){return n.length==e.length&&n.every((t,i)=>t==e[i])}function Gy(n){let e=[[]];for(let t=0;t<n.length;t++)for(let i=0,r=e.length;i<r;i++)e.push(e[i].concat(n[t]));return e.sort((t,i)=>i.length-t.length)}function Ml(n){let e=Object.create(null);for(let t in n){let i=n[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let s=[],l=2,o=r;for(let u=0;;){if(o=="..."&&u>0&&u+3==r.length){l=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),u+=f[0].length,u==r.length)break;let d=r[u++];if(u==r.length&&d=="!"){l=0;break}if(d!="/")throw new RangeError("Invalid path: "+r);o=r.slice(u)}let a=s.length-1,c=s[a];if(!c)throw new RangeError("Invalid path: "+r);let h=new Mr(i,l,a>0?s.slice(0,a):null);e[c]=h.sort(e[c])}}return Kp.add(e)}const Kp=new B({combine(n,e){let t,i,r;for(;n||e;){if(!n||e&&n.depth>=e.depth?(r=e,e=e.next):(r=n,n=n.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Mr(r.tags,r.mode,r.context);t?t.next=s:i=s,t=s}return i}});class Mr{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}Mr.empty=new Mr([],2,null);function Jp(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let l of s.tag)t[l.id]=s.class;let{scope:i,all:r=null}=e||{};return{style:s=>{let l=r;for(let o of s)for(let a of o.set){let c=t[a.id];if(c){l=l?l+" "+c:c;break}}return l},scope:i}}function Uy(n,e){let t=null;for(let i of n){let r=i.style(e);r&&(t=t?t+" "+r:r)}return t}function Fy(n,e,t,i=0,r=n.length){let s=new Hy(i,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),i,r,"",s.highlighters),s.flush(r)}class Hy{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,r,s){let{type:l,from:o,to:a}=e;if(o>=i||a<=t)return;l.isTop&&(s=this.highlighters.filter(d=>!d.scope||d.scope(l)));let c=r,h=Ky(e)||Mr.empty,u=Uy(s,h.tags);if(u&&(c&&(c+=" "),c+=u,h.mode==1&&(r+=(r?" ":"")+u)),this.startSpan(Math.max(t,o),c),h.opaque)return;let f=e.tree&&e.tree.prop(B.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+o,1),p=this.highlighters.filter(m=>!m.scope||m.scope(f.tree.type)),O=e.firstChild();for(let m=0,x=o;;m++){let S=m<f.overlay.length?f.overlay[m]:null,w=S?S.from+o:a,T=Math.max(t,x),k=Math.min(i,w);if(T<k&&O)for(;e.from<k&&(this.highlightRange(e,T,k,r,s),this.startSpan(Math.min(k,e.to),c),!(e.to>=w||!e.nextSibling())););if(!S||w>i)break;x=S.to+o,x>t&&(this.highlightRange(d.cursor(),Math.max(t,S.from+o),Math.min(i,x),"",p),this.startSpan(Math.min(i,x),c))}O&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,s),this.startSpan(Math.min(i,e.to),c)}while(e.nextSibling());e.parent()}}}function Ky(n){let e=n.type.prop(Kp);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const R=Ot.define,gs=R(),gi=R(),Lu=R(gi),ju=R(gi),mi=R(),ms=R(mi),Oo=R(mi),Et=R(),ji=R(Et),Lt=R(),jt=R(),Pa=R(),rr=R(Pa),bs=R(),b={comment:gs,lineComment:R(gs),blockComment:R(gs),docComment:R(gs),name:gi,variableName:R(gi),typeName:Lu,tagName:R(Lu),propertyName:ju,attributeName:R(ju),className:R(gi),labelName:R(gi),namespace:R(gi),macroName:R(gi),literal:mi,string:ms,docString:R(ms),character:R(ms),attributeValue:R(ms),number:Oo,integer:R(Oo),float:R(Oo),bool:R(mi),regexp:R(mi),escape:R(mi),color:R(mi),url:R(mi),keyword:Lt,self:R(Lt),null:R(Lt),atom:R(Lt),unit:R(Lt),modifier:R(Lt),operatorKeyword:R(Lt),controlKeyword:R(Lt),definitionKeyword:R(Lt),moduleKeyword:R(Lt),operator:jt,derefOperator:R(jt),arithmeticOperator:R(jt),logicOperator:R(jt),bitwiseOperator:R(jt),compareOperator:R(jt),updateOperator:R(jt),definitionOperator:R(jt),typeOperator:R(jt),controlOperator:R(jt),punctuation:Pa,separator:R(Pa),bracket:rr,angleBracket:R(rr),squareBracket:R(rr),paren:R(rr),brace:R(rr),content:Et,heading:ji,heading1:R(ji),heading2:R(ji),heading3:R(ji),heading4:R(ji),heading5:R(ji),heading6:R(ji),contentSeparator:R(Et),list:R(Et),quote:R(Et),emphasis:R(Et),strong:R(Et),link:R(Et),monospace:R(Et),strikethrough:R(Et),inserted:R(),deleted:R(),changed:R(),invalid:R(),meta:bs,documentMeta:R(bs),annotation:R(bs),processingInstruction:R(bs),definition:Ot.defineModifier("definition"),constant:Ot.defineModifier("constant"),function:Ot.defineModifier("function"),standard:Ot.defineModifier("standard"),local:Ot.defineModifier("local"),special:Ot.defineModifier("special")};for(let n in b){let e=b[n];e instanceof Ot&&(e.name=n)}Jp([{tag:b.link,class:"tok-link"},{tag:b.heading,class:"tok-heading"},{tag:b.emphasis,class:"tok-emphasis"},{tag:b.strong,class:"tok-strong"},{tag:b.keyword,class:"tok-keyword"},{tag:b.atom,class:"tok-atom"},{tag:b.bool,class:"tok-bool"},{tag:b.url,class:"tok-url"},{tag:b.labelName,class:"tok-labelName"},{tag:b.inserted,class:"tok-inserted"},{tag:b.deleted,class:"tok-deleted"},{tag:b.literal,class:"tok-literal"},{tag:b.string,class:"tok-string"},{tag:b.number,class:"tok-number"},{tag:[b.regexp,b.escape,b.special(b.string)],class:"tok-string2"},{tag:b.variableName,class:"tok-variableName"},{tag:b.local(b.variableName),class:"tok-variableName tok-local"},{tag:b.definition(b.variableName),class:"tok-variableName tok-definition"},{tag:b.special(b.variableName),class:"tok-variableName2"},{tag:b.definition(b.propertyName),class:"tok-propertyName tok-definition"},{tag:b.typeName,class:"tok-typeName"},{tag:b.namespace,class:"tok-namespace"},{tag:b.className,class:"tok-className"},{tag:b.macroName,class:"tok-macroName"},{tag:b.propertyName,class:"tok-propertyName"},{tag:b.operator,class:"tok-operator"},{tag:b.comment,class:"tok-comment"},{tag:b.meta,class:"tok-meta"},{tag:b.invalid,class:"tok-invalid"},{tag:b.punctuation,class:"tok-punctuation"}]);var go;const gn=new B;function eO(n){return X.define({combine:n?e=>e.concat(n):void 0})}const bc=new B;class $t{constructor(e,t,i=[],r=""){this.data=e,this.name=r,U.prototype.hasOwnProperty("tree")||Object.defineProperty(U.prototype,"tree",{get(){return ye(this)}}),this.parser=t,this.extension=[Pi.of(this),U.languageData.of((s,l,o)=>{let a=Eu(s,l,o),c=a.type.prop(gn);if(!c)return[];let h=s.facet(c),u=a.type.prop(bc);if(u){let f=a.resolve(l-a.from,o);for(let d of u)if(d.test(f,s)){let p=s.facet(d.facet);return d.type=="replace"?p:p.concat(h)}}return h})].concat(i)}isActiveAt(e,t,i=-1){return Eu(e,t,i).type.prop(gn)==this.data}findRegions(e){let t=e.facet(Pi);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(s,l)=>{if(s.prop(gn)==this.data){i.push({from:l,to:l+s.length});return}let o=s.prop(B.mounted);if(o){if(o.tree.prop(gn)==this.data){if(o.overlay)for(let a of o.overlay)i.push({from:a.from+l,to:a.to+l});else i.push({from:l,to:l+s.length});return}else if(o.overlay){let a=i.length;if(r(o.tree,o.overlay[0].from+l),i.length>a)return}}for(let a=0;a<s.children.length;a++){let c=s.children[a];c instanceof pe&&r(c,s.positions[a]+l)}};return r(ye(e),0),i}get allowsNesting(){return!0}}$t.setState=q.define();function Eu(n,e,t){let i=n.facet(Pi),r=ye(n).topNode;if(!i||i.allowsNesting)for(let s=r;s;s=s.enter(e,t,re.ExcludeBuffers|re.EnterBracketed))s.type.isTop&&(r=s);return r}class _n extends $t{constructor(e,t,i){super(e,t,[],i),this.parser=t}static define(e){let t=eO(e.languageData);return new _n(t,e.parser.configure({props:[gn.add(i=>i.isTop?t:void 0)]}),e.name)}configure(e,t){return new _n(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function ye(n){let e=n.field($t.state,!1);return e?e.tree:pe.empty}class Jy{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e<i||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let sr=null;class el{constructor(e,t,i=[],r,s,l,o,a){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=l,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new el(e,t,[],pe.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Jy(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=pe.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(li.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(li.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=sr;sr=this;try{return e()}finally{sr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=_u(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:s,viewport:l,skipped:o}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,h,u,f)=>a.push({fromA:c,toA:h,fromB:u,toB:f})),i=li.applyChanges(i,a),r=pe.empty,s=0,l={from:e.mapPos(l.from,-1),to:e.mapPos(l.to,1)},this.skipped.length){o=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);h<u&&o.push({from:h,to:u})}}}return new el(this.parser,t,i,r,s,l,o,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:r,to:s}=this.skipped[i];r<e.to&&s>e.from&&(this.fragments=_u(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Hp{createParse(t,i,r){let s=r[0].from,l=r[r.length-1].to;return{parsedPos:s,advance(){let a=sr;if(a){for(let c of r)a.tempSkipped.push(c);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=l,new pe(Ke.none,[],[],l-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return sr}}function _u(n,e,t){return li.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class zn{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new zn(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=el.create(e.facet(Pi).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new zn(i)}}$t.state=ze.define({create:zn.init,update(n,e){for(let t of e.effects)if(t.is($t.setState))return t.value;return e.startState.facet(Pi)!=e.state.facet(Pi)?zn.init(e.state):n.apply(e)}});let tO=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(tO=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const mo=typeof navigator<"u"&&(!((go=navigator.scheduling)===null||go===void 0)&&go.isInputPending)?()=>navigator.scheduling.isInputPending():null,eS=ke.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field($t.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field($t.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=tO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:r}}=this.view,s=i.field($t.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let l=Date.now()+Math.min(this.chunkBudget,100,e&&!mo?Math.max(25,e.timeRemaining()-5):1e9),o=s.context.treeLen<r&&i.doc.length>r+1e3,a=s.context.work(()=>mo&&mo()||Date.now()>l,r+(o?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:$t.setState.of(new zn(s.context))})),this.chunkBudget>0&&!(a&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>rt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Pi=X.define({combine(n){return n.length?n[0]:null},enables:n=>[$t.state,eS,A.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class xc{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const tS=X.define(),Yr=X.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function tl(n){let e=n.facet(Yr);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Zr(n,e){let t="",i=n.tabSize,r=n.facet(Yr)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let s=0;s<e;s++)t+=r;return t}function kc(n,e){n instanceof U&&(n=new Zl(n));for(let i of n.state.facet(tS)){let r=i(n,e);if(r!==void 0)return r}let t=ye(n.state);return t.length>=e?iS(n,t,e):null}class Zl{constructor(e,t={}){this.state=e,this.options=t,this.unit=tl(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==e?{text:"",from:e}:(t<0?r<e:r<=e)?{text:i.text.slice(r-i.from),from:r}:{text:i.text.slice(0,r-i.from),from:i.from}:i}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:r}=this.lineAt(e,t);return i.slice(e-r,Math.min(i.length,e+100-r))}column(e,t=1){let{text:i,from:r}=this.lineAt(e,t),s=this.countColumn(i,e-r),l=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return l>-1&&(s+=l-this.countColumn(i,i.search(/\S|$/))),s}countColumn(e,t=e.length){return Bn(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let l=s(r);if(l>-1)return l}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Xl=new B;function iS(n,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let s=[];for(let l=r;l&&!(l.from<i.node.from||l.to>i.node.to||l.from==i.node.from&&l.type==i.node.type);l=l.parent)s.push(l);for(let l=s.length-1;l>=0;l--)i={node:s[l],next:i}}return iO(i,n,t)}function iO(n,e,t){for(let i=n;i;i=i.next){let r=rS(i.node);if(r)return r(yc.create(e,t,i))}return 0}function nS(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function rS(n){let e=n.type.prop(Xl);if(e)return e;let t=n.firstChild,i;if(t&&(i=t.type.prop(B.closedBy))){let r=n.lastChild,s=r&&i.indexOf(r.name)>-1;return l=>nO(l,!0,1,void 0,s&&!nS(l)?r.from:void 0)}return n.parent==null?sS:null}function sS(){return 0}class yc extends Zl{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new yc(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(lS(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return iO(this.context.next,this.base,this.pos)}}function lS(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function oS(n){let e=n.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),l=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let o=t.to;;){let a=e.childAfter(o);if(!a||a==i)return null;if(!a.type.isSkipped){if(a.from>=l)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}o=a.to}}function aS({closing:n,align:e=!0,units:t=1}){return i=>nO(i,e,t,n)}function nO(n,e,t,i,r){let s=n.textAfter,l=s.match(/^\s*/)[0].length,o=i&&s.slice(l,l+i.length)==i||r==n.pos+l,a=e?oS(n):null;return a?o?n.column(a.from):n.column(a.to):n.baseIndent+(o?0:n.unit*t)}const cS=n=>n.baseIndent;function Xs({except:n,units:e=1}={}){return t=>{let i=n&&n.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}const hS=200;function uS(){return U.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:i}=n.newSelection.main,r=t.lineAt(i);if(i>r.from+hS)return n;let s=t.sliceString(r.from,i);if(!e.some(c=>c.test(s)))return n;let{state:l}=n,o=-1,a=[];for(let{head:c}of l.selection.ranges){let h=l.doc.lineAt(c);if(h.from==o)continue;o=h.from;let u=kc(l,h.from);if(u==null)continue;let f=/^\s*/.exec(h.text)[0],d=Zr(l,u);f!=d&&a.push({from:h.from,to:h.from+f.length,insert:d})}return a.length?[n,{changes:a,sequential:!0}]:n})}const fS=X.define(),Ll=new B;function rO(n){let e=n.firstChild,t=n.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?n.to:t.from}:null}function dS(n,e,t){let i=ye(n);if(i.length<t)return null;let r=i.resolveStack(t,1),s=null;for(let l=r;l;l=l.next){let o=l.node;if(o.to<=t||o.from>t)continue;if(s&&o.from<e)break;let a=o.type.prop(Ll);if(a&&(o.to<i.length-50||i.length==n.doc.length||!pS(o))){let c=a(o,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function pS(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function il(n,e,t){for(let i of n.facet(fS)){let r=i(n,e,t);if(r)return r}return dS(n,e,t)}function sO(n,e){let t=e.mapPos(n.from,1),i=e.mapPos(n.to,-1);return t>=i?void 0:{from:t,to:i}}const jl=q.define({map:sO}),Br=q.define({map:sO});function lO(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(n.lineBlockAt(t));return e}const Hi=ze.define({create(){return z.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((i,r)=>n=zu(n,i,r)),n=n.map(e.changes);let t=[];for(let i of e.effects)i.is(jl)&&!OS(n,i.value.from,i.value.to)?t.push(i.value):i.is(Br)&&(n=n.update({filter:(r,s)=>i.value.from!=r||i.value.to!=s,filterFrom:i.value.from,filterTo:i.value.to}));if(t.length){let{preparePlaceholder:i}=e.state.facet(cO),r=t.map(s=>(i?z.replace({widget:new SS(i(e.state,s))}):Du).range(s.from,s.to));n=n.update({add:r})}return e.selection&&(n=zu(n,e.selection.main.head)),n},provide:n=>A.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(i,r)=>{t.push(i,r)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<n.length;){let i=n[t++],r=n[t++];if(typeof i!="number"||typeof r!="number")throw new RangeError("Invalid JSON for fold state");e.push(Du.range(i,r))}return z.set(e,!0)}});function zu(n,e,t=e){let i=!1;return n.between(e,t,(r,s)=>{r<t&&s>e&&(i=!0)}),i?n.update({filterFrom:e,filterTo:t,filter:(r,s)=>r>=t||s<=e}):n}function nl(n,e,t){var i;let r=null;return(i=n.field(Hi,!1))===null||i===void 0||i.between(e,t,(s,l)=>{(!r||r.from>s)&&(r={from:s,to:l})}),r}function OS(n,e,t){let i=!1;return n.between(e,e,(r,s)=>{r==e&&s==t&&(i=!0)}),i}function oO(n,e){return n.field(Hi,!1)?e:e.concat(q.appendConfig.of(hO()))}const gS=n=>{for(let e of lO(n)){let t=il(n.state,e.from,e.to);if(t)return n.dispatch({effects:oO(n.state,[jl.of(t),aO(n,t)])}),!0}return!1},mS=n=>{if(!n.state.field(Hi,!1))return!1;let e=[];for(let t of lO(n)){let i=nl(n.state,t.from,t.to);i&&e.push(Br.of(i),aO(n,i,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function aO(n,e,t=!0){let i=n.state.doc.lineAt(e.from).number,r=n.state.doc.lineAt(e.to).number;return A.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${n.state.phrase("to")} ${r}.`)}const bS=n=>{let{state:e}=n,t=[];for(let i=0;i<e.doc.length;){let r=n.lineBlockAt(i),s=il(e,r.from,r.to);s&&t.push(jl.of(s)),i=(s?n.lineBlockAt(s.to):r).to+1}return t.length&&n.dispatch({effects:oO(n.state,t)}),!!t.length},xS=n=>{let e=n.state.field(Hi,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(i,r)=>{t.push(Br.of({from:i,to:r}))}),n.dispatch({effects:t}),!0},kS=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:gS},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:mS},{key:"Ctrl-Alt-[",run:bS},{key:"Ctrl-Alt-]",run:xS}],yS={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},cO=X.define({combine(n){return Ht(n,yS)}});function hO(n){return[Hi,vS]}function uO(n,e){let{state:t}=n,i=t.facet(cO),r=l=>{let o=n.lineBlockAt(n.posAtDOM(l.target)),a=nl(n.state,o.from,o.to);a&&n.dispatch({effects:Br.of(a)}),l.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(n,r,e);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}const Du=z.replace({widget:new class extends Tt{toDOM(n){return uO(n,null)}}});class SS extends Tt{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return uO(e,this.value)}}const wS={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class bo extends ai{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function QS(n={}){let e={...wS,...n},t=new bo(e,!0),i=new bo(e,!1),r=ke.fromClass(class{constructor(l){this.from=l.viewport.from,this.markers=this.buildMarkers(l)}update(l){(l.docChanged||l.viewportChanged||l.startState.facet(Pi)!=l.state.facet(Pi)||l.startState.field(Hi,!1)!=l.state.field(Hi,!1)||ye(l.startState)!=ye(l.state)||e.foldingChanged(l))&&(this.markers=this.buildMarkers(l.view))}buildMarkers(l){let o=new Gt;for(let a of l.viewportLineBlocks){let c=nl(l.state,a.from,a.to)?i:il(l.state,a.from,a.to)?t:null;c&&o.add(a.from,a.from,c)}return o.finish()}}),{domEventHandlers:s}=e;return[r,ky({class:"cm-foldGutter",markers(l){var o;return((o=l.plugin(r))===null||o===void 0?void 0:o.markers)||N.empty},initialSpacer(){return new bo(e,!1)},domEventHandlers:{...s,click:(l,o,a)=>{if(s.click&&s.click(l,o,a))return!0;let c=nl(l.state,o.from,o.to);if(c)return l.dispatch({effects:Br.of(c)}),!0;let h=il(l.state,o.from,o.to);return h?(l.dispatch({effects:jl.of(h)}),!0):!1}}}),hO()]}const vS=A.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Nn{constructor(e,t){this.specs=e;let i;function r(o){let a=wi.newName();return(i||(i=Object.create(null)))["."+a]=o,a}const s=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,l=t.scope;this.scope=l instanceof $t?o=>o.prop(gn)==l.data:l?o=>o==l:void 0,this.style=Jp(e.map(o=>({tag:o.tag,class:o.class||r(Object.assign({},o,{tag:null}))})),{all:s}).style,this.module=i?new wi(i):null,this.themeType=t.themeType}static define(e,t){return new Nn(e,t||{})}}const Ta=X.define(),fO=X.define({combine(n){return n.length?[n[0]]:null}});function xo(n){let e=n.facet(Ta);return e.length?e:n.facet(fO)}function Sc(n,e){let t=[PS],i;return n instanceof Nn&&(n.module&&t.push(A.styleModule.of(n.module)),i=n.themeType),e!=null&&e.fallback?t.push(fO.of(n)):i?t.push(Ta.computeN([A.darkTheme],r=>r.facet(A.darkTheme)==(i=="dark")?[n]:[])):t.push(Ta.of(n)),t}class $S{constructor(e){this.markCache=Object.create(null),this.tree=ye(e.state),this.decorations=this.buildDeco(e,xo(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=ye(e.state),i=xo(e.state),r=i!=xo(e.startState),{viewport:s}=e.view,l=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!r&&t.type==this.tree.type&&l>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=l):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return z.none;let i=new Gt;for(let{from:r,to:s}of e.visibleRanges)Fy(this.tree,t,(l,o,a)=>{i.add(l,o,this.markCache[a]||(this.markCache[a]=z.mark({class:a})))},r,s);return i.finish()}}const PS=Ci.high(ke.fromClass($S,{decorations:n=>n.decorations})),TS=Nn.define([{tag:b.meta,color:"#404740"},{tag:b.link,textDecoration:"underline"},{tag:b.heading,textDecoration:"underline",fontWeight:"bold"},{tag:b.emphasis,fontStyle:"italic"},{tag:b.strong,fontWeight:"bold"},{tag:b.strikethrough,textDecoration:"line-through"},{tag:b.keyword,color:"#708"},{tag:[b.atom,b.bool,b.url,b.contentSeparator,b.labelName],color:"#219"},{tag:[b.literal,b.inserted],color:"#164"},{tag:[b.string,b.deleted],color:"#a11"},{tag:[b.regexp,b.escape,b.special(b.string)],color:"#e40"},{tag:b.definition(b.variableName),color:"#00f"},{tag:b.local(b.variableName),color:"#30a"},{tag:[b.typeName,b.namespace],color:"#085"},{tag:b.className,color:"#167"},{tag:[b.special(b.variableName),b.macroName],color:"#256"},{tag:b.definition(b.propertyName),color:"#00c"},{tag:b.comment,color:"#940"},{tag:b.invalid,color:"#f00"}]),CS=A.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),dO=1e4,pO="()[]{}",OO=X.define({combine(n){return Ht(n,{afterCursor:!0,brackets:pO,maxScanDistance:dO,renderMatch:MS})}}),AS=z.mark({class:"cm-matchingBracket"}),RS=z.mark({class:"cm-nonmatchingBracket"});function MS(n){let e=[],t=n.matched?AS:RS;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}function Wu(n){let e=[],t=n.facet(OO);for(let i of n.selection.ranges){if(!i.empty)continue;let r=Bt(n,i.head,-1,t)||i.head>0&&Bt(n,i.head-1,1,t)||t.afterCursor&&(Bt(n,i.head,1,t)||i.head<n.doc.length&&Bt(n,i.head+1,-1,t));r&&(e=e.concat(t.renderMatch(r,n)))}return z.set(e,!0)}const ZS=ke.fromClass(class{constructor(n){this.paused=!1,this.decorations=Wu(n.state)}update(n){(n.docChanged||n.selectionSet||this.paused)&&(n.view.composing?(this.decorations=this.decorations.map(n.changes),this.paused=!0):(this.decorations=Wu(n.state),this.paused=!1))}},{decorations:n=>n.decorations}),XS=[ZS,CS];function LS(n={}){return[OO.of(n),XS]}const gO=new B;function Ca(n,e,t){let i=n.prop(e<0?B.openedBy:B.closedBy);if(i)return i;if(n.name.length==1){let r=t.indexOf(n.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Aa(n){let e=n.type.prop(gO);return e?e(n.node):n}function Bt(n,e,t,i={}){let r=i.maxScanDistance||dO,s=i.brackets||pO,l=ye(n),o=l.resolveInner(e,t);for(let a=o;a;a=a.parent){let c=Ca(a.type,t,s);if(c&&a.from<a.to){let h=Aa(a);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return jS(n,e,t,a,h,c,s)}}return ES(n,e,t,l,o.type,r,s)}function jS(n,e,t,i,r,s,l){let o=i.parent,a={from:r.from,to:r.to},c=0,h=o==null?void 0:o.cursor();if(h&&(t<0?h.childBefore(i.from):h.childAfter(i.to)))do if(t<0?h.to<=i.from:h.from>=i.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let u=Aa(h);return{start:a,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(Ca(h.type,t,l))c++;else if(Ca(h.type,-t,l)){if(c==0){let u=Aa(h);return{start:a,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:a,matched:!1}}function ES(n,e,t,i,r,s,l){if(t<0?!e:e==n.doc.length)return null;let o=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),a=l.indexOf(o);if(a<0||a%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let f=0;!h.next().done&&f<=s;){let d=h.value;t<0&&(f+=d.length);let p=e+f*t;for(let O=t>0?0:d.length-1,m=t>0?d.length:-1;O!=m;O+=t){let x=l.indexOf(d[O]);if(!(x<0||i.resolveInner(p+O,1).type!=r))if(x%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:p+O,to:p+O+1},matched:x>>1==a>>1};u--}}t>0&&(f+=d.length)}return h.done?{start:c,matched:!1}:null}const _S=Object.create(null),Iu=[Ke.none],qu=[],Yu=Object.create(null),zS=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])zS[n]=DS(_S,e);function ko(n,e){qu.indexOf(n)>-1||(qu.push(n),console.warn(e))}function DS(n,e){let t=[];for(let o of e.split(" ")){let a=[];for(let c of o.split(".")){let h=n[c]||b[c];h?typeof h=="function"?a.length?a=a.map(h):ko(c,`Modifier ${c} used at start of tag`):a.length?ko(c,`Tag ${c} used as modifier`):a=Array.isArray(h)?h:[h]:ko(c,`Unknown highlighting tag ${c}`)}for(let c of a)t.push(c)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(o=>o.id),s=Yu[r];if(s)return s.id;let l=Yu[r]=Ke.define({id:Iu.length,name:i,props:[Ml({[i]:t})]});return Iu.push(l),l.id}ue.RTL,ue.LTR;const WS=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),i=Qc(n.state,t.from);return i.line?IS(n):i.block?YS(n):!1};function wc(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=n(e,t);return r?(i(t.update(r)),!0):!1}}const IS=wc(NS,0),qS=wc(mO,0),YS=wc((n,e)=>mO(n,e,VS(e)),0);function Qc(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const lr=50;function BS(n,{open:e,close:t},i,r){let s=n.sliceDoc(i-lr,i),l=n.sliceDoc(r,r+lr),o=/\s*$/.exec(s)[0].length,a=/^\s*/.exec(l)[0].length,c=s.length-o;if(s.slice(c-e.length,c)==e&&l.slice(a,a+t.length)==t)return{open:{pos:i-o,margin:o&&1},close:{pos:r+a,margin:a&&1}};let h,u;r-i<=2*lr?h=u=n.sliceDoc(i,r):(h=n.sliceDoc(i,i+lr),u=n.sliceDoc(r-lr,r));let f=/^\s*/.exec(h)[0].length,d=/\s*$/.exec(u)[0].length,p=u.length-d-t.length;return h.slice(f,f+e.length)==e&&u.slice(p,p+t.length)==t?{open:{pos:i+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:r-d-t.length,margin:/\s/.test(u.charAt(p-1))?1:0}}:null}function VS(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),r=t.to<=i.to?i:n.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>i.from?e[s].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function mO(n,e,t=e.selection.ranges){let i=t.map(s=>Qc(e,s.from).block);if(!i.every(s=>s))return null;let r=t.map((s,l)=>BS(e,i[l],s.from,s.to));if(n!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,l)=>r[l]?[]:[{from:s.from,insert:i[l].open+" "},{from:s.to,insert:" "+i[l].close}]))};if(n!=1&&r.some(s=>s)){let s=[];for(let l=0,o;l<r.length;l++)if(o=r[l]){let a=i[l],{open:c,close:h}=o;s.push({from:c.pos-a.open.length,to:c.pos+c.margin},{from:h.pos-h.margin,to:h.pos+a.close.length})}return{changes:s}}return null}function NS(n,e,t=e.selection.ranges){let i=[],r=-1;e:for(let{from:s,to:l}of t){let o=i.length,a=1e9,c;for(let h=s;h<=l;){let u=e.doc.lineAt(h);if(c==null&&(c=Qc(e,u.from).line,!c))continue e;if(u.from>r&&(s==l||l>u.from)){r=u.from;let f=/^\s*/.exec(u.text)[0].length,d=f==u.length,p=u.text.slice(f,f+c.length)==c?f:-1;f<u.text.length&&f<a&&(a=f),i.push({line:u,comment:p,token:c,indent:f,empty:d,single:!1})}h=u.to+1}if(a<1e9)for(let h=o;h<i.length;h++)i[h].indent<i[h].line.text.length&&(i[h].indent=a);i.length==o+1&&(i[o].single=!0)}if(n!=2&&i.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:o,token:a,indent:c,empty:h,single:u}of i)(u||!h)&&s.push({from:o.from+c,insert:a+" "});let l=e.changes(s);return{changes:l,selection:e.selection.map(l,1)}}else if(n!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:l,comment:o,token:a}of i)if(o>=0){let c=l.from+o,h=c+a.length;l.text[h-l.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}const Ra=Ft.define(),GS=Ft.define(),US=X.define(),bO=X.define({combine(n){return Ht(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),xO=ze.define({create(){return Vt.empty},update(n,e){let t=e.state.facet(bO),i=e.annotation(Ra);if(i){let a=st.fromTransaction(e,i.selection),c=i.side,h=c==0?n.undone:n.done;return a?h=rl(h,h.length,t.minDepth,a):h=SO(h,e.startState.selection),new Vt(c==0?i.rest:h,c==0?h:i.rest)}let r=e.annotation(GS);if((r=="full"||r=="before")&&(n=n.isolate()),e.annotation(Pe.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=st.fromTransaction(e),l=e.annotation(Pe.time),o=e.annotation(Pe.userEvent);return s?n=n.addChanges(s,l,o,t,e):e.selection&&(n=n.addSelection(e.startState.selection,l,o,t.newGroupDelay)),(r=="full"||r=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new Vt(n.done.map(st.fromJSON),n.undone.map(st.fromJSON))}});function FS(n={}){return[xO,bO.of(n),A.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?kO:e.inputType=="historyRedo"?Ma:null;return i?(e.preventDefault(),i(t)):!1}})]}function El(n,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(xO,!1);if(!r)return!1;let s=r.pop(n,t,e);return s?(i(s),!0):!1}}const kO=El(0,!1),Ma=El(1,!1),HS=El(0,!0),KS=El(1,!0);class st{constructor(e,t,i,r,s){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new st(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new st(e.changes&&Ce.fromJSON(e.changes),[],e.mapped&&Nt.fromJSON(e.mapped),e.startSelection&&v.fromJSON(e.startSelection),e.selectionsAfter.map(v.fromJSON))}static fromTransaction(e,t){let i=bt;for(let r of e.startState.facet(US)){let s=r(e);s.length&&(i=i.concat(s))}return!i.length&&e.changes.empty?null:new st(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,bt)}static selection(e){return new st(void 0,bt,void 0,void 0,e)}}function rl(n,e,t,i){let r=e+1>t+20?e-t-1:0,s=n.slice(r,e);return s.push(i),s}function JS(n,e){let t=[],i=!1;return n.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,l,o)=>{for(let a=0;a<t.length;){let c=t[a++],h=t[a++];o>=c&&l<=h&&(i=!0)}}),i}function e1(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function yO(n,e){return n.length?e.length?n.concat(e):n:e}const bt=[],t1=200;function SO(n,e){if(n.length){let t=n[n.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-t1));return i.length&&i[i.length-1].eq(e)?n:(i.push(e),rl(n,n.length-1,1e9,t.setSelAfter(i)))}else return[st.selection([e])]}function i1(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function yo(n,e){if(!n.length)return n;let t=n.length,i=bt;for(;t;){let r=n1(n[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=n.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[st.selection(i)]:bt}function n1(n,e,t){let i=yO(n.selectionsAfter.length?n.selectionsAfter.map(o=>o.map(e)):bt,t);if(!n.changes)return st.selection(i);let r=n.changes.map(e),s=e.mapDesc(n.changes,!0),l=n.mapped?n.mapped.composeDesc(s):s;return new st(r,q.mapEffects(n.effects,e),l,n.startSelection.map(s),i)}const r1=/^(input\.type|delete)($|\.)/;class Vt{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new Vt(this.done,this.undone):this}addChanges(e,t,i,r,s){let l=this.done,o=l[l.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!i||r1.test(i))&&(!o.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,JS(o.changes,e.changes))||i=="input.type.compose")?l=rl(l,l.length-1,r.minDepth,new st(e.changes.compose(o.changes),yO(q.mapEffects(e.effects,o.changes),o.effects),o.mapped,o.startSelection,bt)):l=rl(l,l.length,r.minDepth,e),new Vt(l,bt,t,i)}addSelection(e,t,i,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:bt;return s.length>0&&t-this.prevTime<r&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&e1(s[s.length-1],e)?this:new Vt(SO(this.done,e),this.undone,t,i)}addMapping(e){return new Vt(yo(this.done,e),yo(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],l=s.selectionsAfter[0]||(s.startSelection?s.startSelection.map(s.changes.invertedDesc,1):t.selection);if(i&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Ra.of({side:e,rest:i1(r),selection:l}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let o=r.length==1?bt:r.slice(0,r.length-1);return s.mapped&&(o=yo(o,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Ra.of({side:e,rest:o,selection:l}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Vt.empty=new Vt(bt,bt);const s1=[{key:"Mod-z",run:kO,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Ma,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Ma,preventDefault:!0},{key:"Mod-u",run:HS,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:KS,preventDefault:!0}];function Gn(n,e){return v.create(n.ranges.map(e),n.mainIndex)}function Ct(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function At({state:n,dispatch:e},t){let i=Gn(n.selection,t);return i.eq(n.selection,!0)?!1:(e(Ct(n,i)),!0)}function _l(n,e){return v.cursor(e?n.to:n.from)}function wO(n,e){return At(n,t=>t.empty?n.moveByChar(t,e):_l(t,e))}function Ye(n){return n.textDirectionAt(n.state.selection.main.head)==ue.LTR}const QO=n=>wO(n,!Ye(n)),vO=n=>wO(n,Ye(n));function $O(n,e){return At(n,t=>t.empty?n.moveByGroup(t,e):_l(t,e))}const l1=n=>$O(n,!Ye(n)),o1=n=>$O(n,Ye(n));function a1(n,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function zl(n,e,t){let i=ye(n).resolveInner(e.head),r=t?B.closedBy:B.openedBy;for(let a=e.head;;){let c=t?i.childAfter(a):i.childBefore(a);if(!c)break;a1(n,c,r)?i=c:a=t?c.to:c.from}let s=i.type.prop(r),l,o;return s&&(l=t?Bt(n,i.from,1):Bt(n,i.to,-1))&&l.matched?o=t?l.end.to:l.end.from:o=t?i.to:i.from,v.cursor(o,t?-1:1)}const c1=n=>At(n,e=>zl(n.state,e,!Ye(n))),h1=n=>At(n,e=>zl(n.state,e,Ye(n)));function PO(n,e){return At(n,t=>{if(!t.empty)return _l(t,e);let i=n.moveVertically(t,e);return i.head!=t.head?i:n.moveToLineBoundary(t,e)})}const TO=n=>PO(n,!1),CO=n=>PO(n,!0);function AO(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,i=0,r;if(e){for(let s of n.state.facet(A.scrollMargins)){let l=s(n);l!=null&&l.top&&(t=Math.max(l==null?void 0:l.top,t)),l!=null&&l.bottom&&(i=Math.max(l==null?void 0:l.bottom,i))}r=n.scrollDOM.clientHeight-t-i}else r=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:i,selfScroll:e,height:Math.max(n.defaultLineHeight,r-5)}}function RO(n,e){let t=AO(n),{state:i}=n,r=Gn(i.selection,l=>l.empty?n.moveVertically(l,e,t.height):_l(l,e));if(r.eq(i.selection))return!1;let s;if(t.selfScroll){let l=n.coordsAtPos(i.selection.main.head),o=n.scrollDOM.getBoundingClientRect(),a=o.top+t.marginTop,c=o.bottom-t.marginBottom;l&&l.top>a&&l.bottom<c&&(s=A.scrollIntoView(r.main.head,{y:"start",yMargin:l.top-a}))}return n.dispatch(Ct(i,r),{effects:s}),!0}const Bu=n=>RO(n,!1),Za=n=>RO(n,!0);function Ai(n,e,t){let i=n.lineBlockAt(e.head),r=n.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=n.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let s=/^\s*/.exec(n.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&e.head!=i.from+s&&(r=v.cursor(i.from+s))}return r}const u1=n=>At(n,e=>Ai(n,e,!0)),f1=n=>At(n,e=>Ai(n,e,!1)),d1=n=>At(n,e=>Ai(n,e,!Ye(n))),p1=n=>At(n,e=>Ai(n,e,Ye(n))),O1=n=>At(n,e=>v.cursor(n.lineBlockAt(e.head).from,1)),g1=n=>At(n,e=>v.cursor(n.lineBlockAt(e.head).to,-1));function m1(n,e,t){let i=!1,r=Gn(n.selection,s=>{let l=Bt(n,s.head,-1)||Bt(n,s.head,1)||s.head>0&&Bt(n,s.head-1,1)||s.head<n.doc.length&&Bt(n,s.head+1,-1);if(!l||!l.end)return s;i=!0;let o=l.start.from==s.head?l.end.to:l.end.from;return v.cursor(o)});return i?(e(Ct(n,r)),!0):!1}const b1=({state:n,dispatch:e})=>m1(n,e);function kt(n,e,t){let i=Gn(n.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=v.range(r.head,r.anchor));let s=t(r);return v.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(n.state.selection)?!1:(n.dispatch(Ct(n.state,i)),!0)}function MO(n,e){return kt(n,e,t=>n.moveByChar(t,e))}const ZO=n=>MO(n,!Ye(n)),XO=n=>MO(n,Ye(n));function LO(n,e){return kt(n,e,t=>n.moveByGroup(t,e))}const x1=n=>LO(n,!Ye(n)),k1=n=>LO(n,Ye(n)),y1=n=>{let e=!Ye(n);return kt(n,e,t=>zl(n.state,t,e))},S1=n=>{let e=Ye(n);return kt(n,e,t=>zl(n.state,t,e))};function jO(n,e){return kt(n,e,t=>n.moveVertically(t,e))}const EO=n=>jO(n,!1),_O=n=>jO(n,!0);function zO(n,e){return kt(n,e,t=>n.moveVertically(t,e,AO(n).height))}const Vu=n=>zO(n,!1),Nu=n=>zO(n,!0),w1=n=>kt(n,!0,e=>Ai(n,e,!0)),Q1=n=>kt(n,!1,e=>Ai(n,e,!1)),v1=n=>{let e=!Ye(n);return kt(n,e,t=>Ai(n,t,e))},$1=n=>{let e=Ye(n);return kt(n,e,t=>Ai(n,t,e))},P1=n=>kt(n,!1,e=>v.cursor(n.lineBlockAt(e.head).from)),T1=n=>kt(n,!0,e=>v.cursor(n.lineBlockAt(e.head).to)),Gu=({state:n,dispatch:e})=>(e(Ct(n,{anchor:0})),!0),Uu=({state:n,dispatch:e})=>(e(Ct(n,{anchor:n.doc.length})),!0),Fu=({state:n,dispatch:e})=>(e(Ct(n,{anchor:n.selection.main.anchor,head:0})),!0),Hu=({state:n,dispatch:e})=>(e(Ct(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),C1=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),A1=({state:n,dispatch:e})=>{let t=Dl(n).map(({from:i,to:r})=>v.undirectionalRange(i,Math.min(r+1,n.doc.length)));return e(n.update({selection:v.create(t),userEvent:"select"})),!0},R1=({state:n,dispatch:e})=>{let t=Gn(n.selection,i=>{let r=ye(n),s=r.resolveStack(i.from,1);if(i.empty){let l=r.resolveStack(i.from,-1);l.node.from>=s.node.from&&l.node.to<=s.node.to&&(s=l)}for(let l=s;l;l=l.next){let{node:o}=l;if((o.from<i.from&&o.to>=i.to||o.to>i.to&&o.from<=i.from)&&l.next)return v.undirectionalRange(o.from,o.to)}return i});return t.eq(n.selection)?!1:(e(Ct(n,t)),!0)};function DO(n,e){let{state:t}=n,i=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let l=t.doc.lineAt(s.head);if(e?l.to<n.state.doc.length:l.from>0)for(let o=s;;){let a=n.moveVertically(o,e);if(a.head<l.from||a.head>l.to){r.some(c=>c.head==a.head)||r.push(a);break}else{if(a.head==o.head)break;o=a}}}return r.length==i.ranges.length?!1:(n.dispatch(Ct(t,v.create(r,r.length-1))),!0)}const M1=n=>DO(n,!1),Z1=n=>DO(n,!0),X1=({state:n,dispatch:e})=>{let t=n.selection,i=null;return t.ranges.length>1?i=v.create([t.main]):t.main.empty||(i=v.create([v.cursor(t.main.head)])),i?(e(Ct(n,i)),!0):!1};function Vr(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:i}=n,r=i.changeByRange(s=>{let{from:l,to:o}=s;if(l==o){let a=e(s);a<l?(t="delete.backward",a=xs(n,a,!1)):a>l&&(t="delete.forward",a=xs(n,a,!0)),l=Math.min(l,a),o=Math.max(o,a)}else l=xs(n,l,!1),o=xs(n,o,!0);return l==o?{range:s}:{changes:{from:l,to:o},range:v.cursor(l,l<s.head?-1:1)}});return r.changes.empty?!1:(n.dispatch(i.update(r,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?A.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function xs(n,e,t){if(n instanceof A)for(let i of n.state.facet(A.atomicRanges).map(r=>r(n)))i.between(e,e,(r,s)=>{r<e&&s>e&&(e=t?s:r)});return e}const WO=(n,e,t)=>Vr(n,i=>{let r=i.from,{state:s}=n,l=s.doc.lineAt(r),o,a;if(t&&!e&&r>l.from&&r<l.from+200&&!/[^ \t]/.test(o=l.text.slice(0,r-l.from))){if(o[o.length-1]==" ")return r-1;let c=Bn(o,s.tabSize),h=c%tl(s)||tl(s);for(let u=0;u<h&&o[o.length-1-u]==" ";u++)r--;a=r}else a=Me(l.text,r-l.from,e,e)+l.from,a==r&&l.number!=(e?s.doc.lines:1)?a+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(l.text.slice(a-l.from,r-l.from))&&(a=Me(l.text,a-l.from,!1,!1)+l.from);return a}),Xa=n=>WO(n,!1,!0),IO=n=>WO(n,!0,!1),qO=(n,e)=>Vr(n,t=>{let i=t.head,{state:r}=n,s=r.doc.lineAt(i),l=r.charCategorizer(i);for(let o=null;;){if(i==(e?s.to:s.from)){i==t.head&&s.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let a=Me(s.text,i-s.from,e)+s.from,c=s.text.slice(Math.min(i,a)-s.from,Math.max(i,a)-s.from),h=l(c);if(o!=null&&h!=o)break;(c!=" "||i!=t.head)&&(o=h),i=a}return i}),YO=n=>qO(n,!1),L1=n=>qO(n,!0),j1=n=>Vr(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),E1=n=>Vr(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),_1=n=>Vr(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),z1=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:K.of(["",""])},range:v.cursor(i.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},D1=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>{if(!i.empty||i.from==0||i.from==n.doc.length)return{range:i};let r=i.from,s=n.doc.lineAt(r),l=r==s.from?r-1:Me(s.text,r-s.from,!1)+s.from,o=r==s.to?r+1:Me(s.text,r-s.from,!0)+s.from;return{changes:{from:l,to:o,insert:n.doc.slice(r,o).append(n.doc.slice(l,r))},range:v.cursor(o)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Dl(n){let e=[],t=-1;for(let i of n.selection.ranges){let r=n.doc.lineAt(i.from),s=n.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=n.doc.lineAt(i.to-1)),t>=r.number){let l=e[e.length-1];l.to=s.to,l.ranges.push(i)}else e.push({from:r.from,to:s.to,ranges:[i]});t=s.number+1}return e}function BO(n,e,t){if(n.readOnly)return!1;let i=[],r=[];for(let s of Dl(n)){if(t?s.to==n.doc.length:s.from==0)continue;let l=n.doc.lineAt(t?s.to+1:s.from-1),o=l.length+1;if(t){i.push({from:s.to,to:l.to},{from:s.from,insert:l.text+n.lineBreak});for(let a of s.ranges)r.push(v.range(Math.min(n.doc.length,a.anchor+o),Math.min(n.doc.length,a.head+o)))}else{i.push({from:l.from,to:s.from},{from:s.to,insert:n.lineBreak+l.text});for(let a of s.ranges)r.push(v.range(a.anchor-o,a.head-o))}}return i.length?(e(n.update({changes:i,scrollIntoView:!0,selection:v.create(r,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const W1=({state:n,dispatch:e})=>BO(n,e,!1),I1=({state:n,dispatch:e})=>BO(n,e,!0);function VO(n,e,t){if(n.readOnly)return!1;let i=[];for(let s of Dl(n))t?i.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):i.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let r=n.changes(i);return e(n.update({changes:r,selection:n.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const q1=({state:n,dispatch:e})=>VO(n,e,!1),Y1=({state:n,dispatch:e})=>VO(n,e,!0),B1=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Dl(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),i=Gn(e.selection,r=>{let s;if(n.lineWrapping){let l=n.lineBlockAt(r.head),o=n.coordsAtPos(r.head,r.assoc||1);o&&(s=l.bottom+n.documentTop-o.bottom+n.defaultLineHeight/2)}return n.moveVertically(r,!0,s)}).map(t);return n.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function V1(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=ye(n).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),s;return i&&r&&i.to<=e&&r.from>=e&&(s=i.type.prop(B.closedBy))&&s.indexOf(r.name)>-1&&n.doc.lineAt(i.to).from==n.doc.lineAt(r.from).from&&!/\S/.test(n.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}const Ku=NO(!1),N1=NO(!0);function NO(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:s,to:l}=r,o=e.doc.lineAt(s),a=!n&&s==l&&V1(e,s);n&&(s=l=(l<=o.to?o:e.doc.lineAt(l)).to);let c=new Zl(e,{simulateBreak:s,simulateDoubleBreak:!!a}),h=kc(c,s);for(h==null&&(h=Bn(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));l<o.to&&/\s/.test(o.text[l-o.from]);)l++;a?{from:s,to:l}=a:s>o.from&&s<o.from+100&&!/\S/.test(o.text.slice(0,s))&&(s=o.from);let u=["",Zr(e,h)];return a&&u.push(Zr(e,c.lineIndent(o.from,-1))),{changes:{from:s,to:l,insert:K.of(u)},range:v.cursor(s+1+u[1].length)}});return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function vc(n,e){let t=-1;return n.changeByRange(i=>{let r=[];for(let l=i.from;l<=i.to;){let o=n.doc.lineAt(l);o.number>t&&(i.empty||i.to>o.from)&&(e(o,r,i),t=o.number),l=o.to+1}let s=n.changes(r);return{changes:r,range:v.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const G1=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),i=new Zl(n,{overrideIndentation:s=>{let l=t[s];return l??-1}}),r=vc(n,(s,l,o)=>{let a=kc(i,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let c=/^\s*/.exec(s.text)[0],h=Zr(n,a);(c!=h||o.from<s.from+c.length)&&(t[s.from]=a,l.push({from:s.from,to:s.from+c.length,insert:h}))});return r.changes.empty||e(n.update(r,{userEvent:"indent"})),!0},GO=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(vc(n,(t,i)=>{i.push({from:t.from,insert:n.facet(Yr)})}),{userEvent:"input.indent"})),!0),UO=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(vc(n,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Bn(r,n.tabSize),l=0,o=Zr(n,Math.max(0,s-tl(n)));for(;l<r.length&&l<o.length&&r.charCodeAt(l)==o.charCodeAt(l);)l++;i.push({from:t.from+l,to:t.from+r.length,insert:o.slice(l)})}),{userEvent:"delete.dedent"})),!0),U1=n=>(n.setTabFocusMode(),!0),F1=[{key:"Ctrl-b",run:QO,shift:ZO,preventDefault:!0},{key:"Ctrl-f",run:vO,shift:XO},{key:"Ctrl-p",run:TO,shift:EO},{key:"Ctrl-n",run:CO,shift:_O},{key:"Ctrl-a",run:O1,shift:P1},{key:"Ctrl-e",run:g1,shift:T1},{key:"Ctrl-d",run:IO},{key:"Ctrl-h",run:Xa},{key:"Ctrl-k",run:j1},{key:"Ctrl-Alt-h",run:YO},{key:"Ctrl-o",run:z1},{key:"Ctrl-t",run:D1},{key:"Ctrl-v",run:Za}],H1=[{key:"ArrowLeft",run:QO,shift:ZO,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:l1,shift:x1,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:d1,shift:v1,preventDefault:!0},{key:"ArrowRight",run:vO,shift:XO,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:o1,shift:k1,preventDefault:!0},{mac:"Cmd-ArrowRight",run:p1,shift:$1,preventDefault:!0},{key:"ArrowUp",run:TO,shift:EO,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Gu,shift:Fu},{mac:"Ctrl-ArrowUp",run:Bu,shift:Vu},{key:"ArrowDown",run:CO,shift:_O,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Uu,shift:Hu},{mac:"Ctrl-ArrowDown",run:Za,shift:Nu},{key:"PageUp",run:Bu,shift:Vu},{key:"PageDown",run:Za,shift:Nu},{key:"Home",run:f1,shift:Q1,preventDefault:!0},{key:"Mod-Home",run:Gu,shift:Fu},{key:"End",run:u1,shift:w1,preventDefault:!0},{key:"Mod-End",run:Uu,shift:Hu},{key:"Enter",run:Ku,shift:Ku},{key:"Mod-a",run:C1},{key:"Backspace",run:Xa,shift:Xa,preventDefault:!0},{key:"Delete",run:IO,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:YO,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:L1,preventDefault:!0},{mac:"Mod-Backspace",run:E1,preventDefault:!0},{mac:"Mod-Delete",run:_1,preventDefault:!0}].concat(F1.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),K1=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:c1,shift:y1},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:h1,shift:S1},{key:"Alt-ArrowUp",run:W1},{key:"Shift-Alt-ArrowUp",run:q1},{key:"Alt-ArrowDown",run:I1},{key:"Shift-Alt-ArrowDown",run:Y1},{key:"Mod-Alt-ArrowUp",run:M1},{key:"Mod-Alt-ArrowDown",run:Z1},{key:"Escape",run:X1},{key:"Mod-Enter",run:N1},{key:"Alt-l",mac:"Ctrl-l",run:A1},{key:"Mod-i",run:R1,preventDefault:!0},{key:"Mod-[",run:UO},{key:"Mod-]",run:GO},{key:"Mod-Alt-\\",run:G1},{key:"Shift-Mod-k",run:B1},{key:"Shift-Mod-\\",run:b1},{key:"Mod-/",run:WS},{key:"Alt-A",mac:"Ctrl-A",run:qS},{key:"Ctrl-m",mac:"Shift-Alt-m",run:U1}].concat(H1),FO={key:"Tab",run:GO,shift:UO},Ju=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Dn{constructor(e,t,i=0,r=e.length,s,l){this.test=l,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=s?o=>s(Ju(o)):Ju,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return tt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Fa(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Wt(e);let r=this.normalize(t);if(r.length)for(let s=0,l=i,o=!0;;s++){let a=r.charCodeAt(s),c=this.match(a,l,o,this.bufferPos+this.bufferStart,s==r.length-1);if(c)return this.value=c,this;if(s==r.length-1)break;o&&s<t.length&&t.charCodeAt(s)==a?l++:o=!1}}}match(e,t,i,r,s){let l=null;for(let o=0;o<this.matches.length;){let a=this.matches[o],c=!1;this.query.charCodeAt(a.index)==e&&(a.index==this.query.length-1?l={from:a.from,to:r,precise:s&&a.precise}:(a.index++,c=!0)),c?o++:this.matches.splice(o,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?l={from:t,to:r,precise:i&&s}:this.matches.push({from:t,index:1,precise:i})),l&&this.test&&!this.test(l.from,l.to,this.buffer,this.bufferStart)&&(l=null),l}}typeof Symbol<"u"&&(Dn.prototype[Symbol.iterator]=function(){return this});const HO={from:-1,to:-1,match:/.*/.exec(""),precise:!0},$c="gm"+(/x/.unicode==null?"":"u");class KO{constructor(e,t,i,r=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=HO,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new JO(e,t,i,r,s);this.re=new RegExp(t,$c+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.iter=e.iter();let l=e.lineAt(r);this.curLineStart=l.from,this.matchPos=sl(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,r=i+t[0].length;if(this.matchPos=sl(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<r||i>this.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const So=new WeakMap;class wn{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,i){let r=So.get(e);if(!r||r.from>=i||r.to<=t){let o=new wn(t,e.sliceString(t,i));return So.set(e,o),o}if(r.from==t&&r.to==i)return r;let{text:s,from:l}=r;return l>t&&(s=e.sliceString(t,l)+s,l=t),r.to<i&&(s+=e.sliceString(r.to,i)),So.set(e,new wn(l,s)),new wn(t,s.slice(t-l,i-l))}}class JO{constructor(e,t,i,r,s){this.text=e,this.to=s,this.done=!1,this.value=HO,this.matchPos=sl(e,r),this.re=new RegExp(t,$c+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.flat=wn.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,r=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,precise:!0,match:t},this.matchPos=sl(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=wn.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(KO.prototype[Symbol.iterator]=JO.prototype[Symbol.iterator]=function(){return this});function J1(n){try{return new RegExp(n,$c),!0}catch{return!1}}function sl(n,e){if(e>=n.length)return e;let t=n.lineAt(e),i;for(;e<t.to&&(i=t.text.charCodeAt(e-t.from))>=56320&&i<57344;)e++;return e}const ew=n=>{let e=gy(n,"cm-goto-line");if(e){let l=e.dom.querySelector("input[type=text]");return l&&l.select(),!0}let{state:t}=n,i=String(t.doc.lineAt(n.state.selection.main.head).number),{close:r,result:s}=Oy(n,{class:"cm-goto-line",label:t.phrase("Go to line"),input:{type:"text",name:"line",value:i},focus:!0,submitLabel:t.phrase("go")});return s.then(l=>{let o=l&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(l.elements.line.value);if(!o){n.dispatch({effects:r});return}let a=t.doc.lineAt(t.selection.main.head),[,c,h,u,f]=o,d=u?+u.slice(1):0,p=h?+h:a.number;if(h&&f){let x=p/100;c&&(x=x*(c=="-"?-1:1)+a.number/t.doc.lines),p=Math.round(t.doc.lines*x)}else h&&c&&(p=p*(c=="-"?-1:1)+a.number);let O=t.doc.line(Math.max(1,Math.min(t.doc.lines,p))),m=v.cursor(O.from+Math.max(0,Math.min(d,O.length)));n.dispatch({effects:[r,A.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0},tw={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},iw=X.define({combine(n){return Ht(n,tw,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function nw(n){return[aw,ow]}const rw=z.mark({class:"cm-selectionMatch"}),sw=z.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function ef(n,e,t,i){return(t==0||n(e.sliceDoc(t-1,t))!=de.Word)&&(i==e.doc.length||n(e.sliceDoc(i,i+1))!=de.Word)}function lw(n,e,t,i){return n(e.sliceDoc(t,t+1))==de.Word&&n(e.sliceDoc(i-1,i))==de.Word}const ow=ke.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(iw),{state:t}=n,i=t.selection;if(i.ranges.length>1)return z.none;let r=i.main,s,l=null;if(r.empty){if(!e.highlightWordAroundCursor)return z.none;let a=t.wordAt(r.head);if(!a)return z.none;l=t.charCategorizer(r.head),s=t.sliceDoc(a.from,a.to)}else{let a=r.to-r.from;if(a<e.minSelectionLength||a>200)return z.none;if(e.wholeWords){if(s=t.sliceDoc(r.from,r.to),l=t.charCategorizer(r.head),!(ef(l,t,r.from,r.to)&&lw(l,t,r.from,r.to)))return z.none}else if(s=t.sliceDoc(r.from,r.to),!s)return z.none}let o=[];for(let a of n.visibleRanges){let c=new Dn(t.doc,s,a.from,a.to);for(;!c.next().done;){let{from:h,to:u}=c.value;if((!l||ef(l,t,h,u))&&(r.empty&&h<=r.from&&u>=r.to?o.push(sw.range(h,u)):(h>=r.to||u<=r.from)&&o.push(rw.range(h,u)),o.length>e.maxMatches))return z.none}}return z.set(o)}},{decorations:n=>n.decorations}),aw=A.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),cw=({state:n,dispatch:e})=>{let{selection:t}=n,i=v.create(t.ranges.map(r=>n.wordAt(r.head)||v.cursor(r.head)),t.mainIndex);return i.eq(t)?!1:(e(n.update({selection:i})),!0)};function hw(n,e){let{main:t,ranges:i}=n.selection,r=n.wordAt(t.head),s=r&&r.from==t.from&&r.to==t.to;for(let l=!1,o=new Dn(n.doc,e,i[i.length-1].to);;)if(o.next(),o.done){if(l)return null;o=new Dn(n.doc,e,0,Math.max(0,i[i.length-1].from-1)),l=!0}else{if(l&&i.some(a=>a.from==o.value.from))continue;if(s){let a=n.wordAt(o.value.from);if(!a||a.from!=o.value.from||a.to!=o.value.to)continue}return o.value}}const uw=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return cw({state:n,dispatch:e});let i=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(s=>n.sliceDoc(s.from,s.to)!=i))return!1;let r=hw(n,i);return r?(e(n.update({selection:n.selection.addRange(v.range(r.from,r.to),!1),effects:A.scrollIntoView(r.to)})),!0):!1},Un=X.define({combine(n){return Ht(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new vw(e),scrollToMatch:e=>A.scrollIntoView(e)})}});class eg{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||J1(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?`
|
|
18
|
+
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new mw(this):new pw(this)}getCursor(e,t=0,i){let r=e.doc?e:U.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?dn(this,r,t,i):fn(this,r,t,i)}}class tg{constructor(e){this.spec=e}}function fw(n,e,t){return(i,r,s,l)=>{if(t&&!t(i,r,s,l))return!1;let o=i>=l&&r<=l+s.length?s.slice(i-l,r-l):e.doc.sliceString(i,r);return n(o,e,i,r)}}function fn(n,e,t,i){let r;return n.wholeWord&&(r=dw(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(r=fw(n.test,e,r)),new Dn(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:s=>s.toLowerCase(),r)}function dw(n,e){return(t,i,r,s)=>((s>t||s+r.length<i)&&(s=Math.max(0,t-2),r=n.sliceString(s,Math.min(n.length,i+2))),(e(ll(r,t-s))!=de.Word||e(ol(r,t-s))!=de.Word)&&(e(ol(r,i-s))!=de.Word||e(ll(r,i-s))!=de.Word))}class pw extends tg{constructor(e){super(e)}nextMatch(e,t,i){let r=fn(this.spec,e,i,e.doc.length).nextOverlapping();if(r.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);r=fn(this.spec,e,0,s).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==i?null:r.value}prevMatchInRange(e,t,i){for(let r=i;;){let s=Math.max(t,r-1e4-this.spec.unquoted.length),l=fn(this.spec,e,s,r),o=null;for(;!l.nextOverlapping().done;)o=l.value;if(o)return o;if(s==t)return null;r-=1e4}}prevMatch(e,t,i){let r=this.prevMatchInRange(e,0,t);return r||(r=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=t||r.to!=i)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=fn(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let s=fn(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function Ow(n,e,t){return(i,r,s)=>(!t||t(i,r,s))&&n(s[0],e,i,r)}function dn(n,e,t,i){let r;return n.wholeWord&&(r=gw(e.charCategorizer(e.selection.main.head))),n.test&&(r=Ow(n.test,e,r)),new KO(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:r},t,i)}function ll(n,e){return n.slice(Me(n,e,!1),e)}function ol(n,e){return n.slice(e,Me(n,e))}function gw(n){return(e,t,i)=>!i[0].length||(n(ll(i.input,i.index))!=de.Word||n(ol(i.input,i.index))!=de.Word)&&(n(ol(i.input,i.index+i[0].length))!=de.Word||n(ll(i.input,i.index+i[0].length))!=de.Word)}class mw extends tg{nextMatch(e,t,i){let r=dn(this.spec,e,i,e.doc.length).next();return r.done&&(r=dn(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let s=Math.max(t,i-r*1e4),l=dn(this.spec,e,s,i),o=null;for(;!l.next().done;)o=l.value;if(o&&(s==t||o.from>s+10))return o;if(s==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s<e.match.length)return e.match[s]+i.slice(r)}return t})}matchAll(e,t){let i=dn(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let s=dn(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const Xr=q.define(),Pc=q.define(),yi=ze.define({create(n){return new wo(La(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Xr)?n=new wo(t.value.create(),n.panel):t.is(Pc)&&(n=new wo(n.query,t.value?Tc:null));return n},provide:n=>Ar.from(n,e=>e.panel)});class wo{constructor(e,t){this.query=e,this.panel=t}}const bw=z.mark({class:"cm-searchMatch"}),xw=z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),kw=ke.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(yi))}update(n){let e=n.state.field(yi);(e!=n.startState.field(yi)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return z.none;let{view:t}=this,i=new Gt;for(let r=0,s=t.visibleRanges,l=s.length;r<l;r++){let{from:o,to:a}=s[r];for(;r<l-1&&a>s[r+1].from-500;)a=s[++r].to;n.highlight(t.state,o,a,(c,h)=>{let u=t.state.selection.ranges.some(f=>f.from==c&&f.to==h);i.add(c,h,u?xw:bw)})}return i.finish()}},{decorations:n=>n.decorations});function Nr(n){return e=>{let t=e.state.field(yi,!1);return t&&t.query.spec.valid?n(e,t):rg(e)}}const al=Nr((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return!1;let r=v.single(i.from,i.to),s=n.state.facet(Un);return n.dispatch({selection:r,effects:[Cc(n,i),s.scrollToMatch(r.main,n)],userEvent:"select.search"}),ng(n),!0}),cl=Nr((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return!1;let s=v.single(r.from,r.to),l=n.state.facet(Un);return n.dispatch({selection:s,effects:[Cc(n,r),l.scrollToMatch(s.main,n)],userEvent:"select.search"}),ng(n),!0}),yw=Nr((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:v.create(t.map(i=>v.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Sw=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:r}=t.main,s=[],l=0;for(let o=new Dn(n.doc,n.sliceDoc(i,r));!o.next().done;){if(s.length>1e3)return!1;o.value.from==i&&(l=s.length),s.push(v.range(o.value.from,o.value.to))}return e(n.update({selection:v.create(s,l),userEvent:"select.search.matches"})),!0},tf=Nr((n,{query:e})=>{let{state:t}=n,{from:i,to:r}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,i,i);if(!s)return!1;let l=s,o=[],a,c,h=[];l.precise?l.from==i&&l.to==r&&(c=t.toText(e.getReplacement(l)),o.push({from:l.from,to:l.to,insert:c}),l=e.nextMatch(t,l.from,l.to),h.push(A.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))):l=e.nextMatch(t,l.from,l.to);let u=n.state.changes(o);return l&&(a=v.single(l.from,l.to).map(u),h.push(Cc(n,l)),h.push(t.facet(Un).scrollToMatch(a.main,n))),n.dispatch({changes:u,selection:a,effects:h,userEvent:"input.replace"}),!0}),ww=Nr((n,{query:e})=>{if(n.state.readOnly)return!1;let t=[];for(let r of e.matchAll(n.state,1e9)){let{from:s,to:l,precise:o}=r;o&&t.push({from:s,to:l,insert:e.getReplacement(r)})}if(!t.length)return!1;let i=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:A.announce.of(i),userEvent:"input.replace.all"}),!0});function Tc(n){return n.state.facet(Un).createPanel(n)}function La(n,e){var t,i,r,s,l;let o=n.selection.main,a=o.empty||o.to>o.from+100?"":n.sliceDoc(o.from,o.to);if(e&&!a)return e;let c=n.facet(Un);return new eg({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:c.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(i=e==null?void 0:e.caseSensitive)!==null&&i!==void 0?i:c.caseSensitive,literal:(r=e==null?void 0:e.literal)!==null&&r!==void 0?r:c.literal,regexp:(s=e==null?void 0:e.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(l=e==null?void 0:e.wholeWord)!==null&&l!==void 0?l:c.wholeWord})}function ig(n){let e=Rl(n,Tc);return e&&e.dom.querySelector("[main-field]")}function ng(n){let e=ig(n);e&&e==n.root.activeElement&&e.select()}const rg=n=>{let e=n.state.field(yi,!1);if(e&&e.panel){let t=ig(n);if(t&&t!=n.root.activeElement){let i=La(n.state,e.query.spec);i.valid&&n.dispatch({effects:Xr.of(i)}),t.focus(),t.select()}}else n.dispatch({effects:[Pc.of(!0),e?Xr.of(La(n.state,e.query.spec)):q.appendConfig.of(Pw)]});return!0},sg=n=>{let e=n.state.field(yi,!1);if(!e||!e.panel)return!1;let t=Rl(n,Tc);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Pc.of(!1)}),!0},Qw=[{key:"Mod-f",run:rg,scope:"editor search-panel"},{key:"F3",run:al,shift:cl,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:al,shift:cl,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:sg,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Sw},{key:"Mod-Alt-g",run:ew},{key:"Mod-d",run:uw,preventDefault:!0}];class vw{constructor(e){this.view=e;let t=this.query=e.state.field(yi).query.spec;this.commit=this.commit.bind(this),this.searchField=ae("input",{value:t.search,placeholder:ot(e,"Find"),"aria-label":ot(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ae("input",{value:t.replace,placeholder:ot(e,"Replace"),"aria-label":ot(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ae("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=ae("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=ae("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(r,s,l){return ae("button",{class:"cm-button",name:r,onclick:s,type:"button"},l)}this.dom=ae("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>al(e),[ot(e,"next")]),i("prev",()=>cl(e),[ot(e,"previous")]),i("select",()=>yw(e),[ot(e,"all")]),ae("label",null,[this.caseField,ot(e,"match case")]),ae("label",null,[this.reField,ot(e,"regexp")]),ae("label",null,[this.wordField,ot(e,"by word")]),...e.state.readOnly?[]:[ae("br"),this.replaceField,i("replace",()=>tf(e),[ot(e,"replace")]),i("replaceAll",()=>ww(e),[ot(e,"replace all")])],ae("button",{name:"close",onclick:()=>sg(e),"aria-label":ot(e,"close"),type:"button"},["×"])])}commit(){let e=new eg({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Xr.of(e)}))}keydown(e){wk(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?cl:al)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),tf(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(Xr)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Un).top}}function ot(n,e){return n.state.phrase(e)}const ks=30,ys=/[\s\.,:;?!]/;function Cc(n,{from:e,to:t}){let i=n.state.doc.lineAt(e),r=n.state.doc.lineAt(t).to,s=Math.max(i.from,e-ks),l=Math.min(r,t+ks),o=n.state.sliceDoc(s,l);if(s!=i.from){for(let a=0;a<ks;a++)if(!ys.test(o[a+1])&&ys.test(o[a])){o=o.slice(a);break}}if(l!=r){for(let a=o.length-1;a>o.length-ks;a--)if(!ys.test(o[a-1])&&ys.test(o[a])){o=o.slice(0,a);break}}return A.announce.of(`${n.state.phrase("current match")}. ${o} ${n.state.phrase("on line")} ${i.number}.`)}const $w=A.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Pw=[yi,Ci.low(kw),$w];class lg{constructor(e,t,i,r){this.state=e,this.pos=t,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=ye(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),r=t.text.slice(i-t.from,this.pos-t.from),s=r.search(ag(e,!1));return s<0?null:{from:i+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function nf(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function Tw(n){let e=Object.create(null),t=Object.create(null);for(let{label:r}of n){e[r[0]]=!0;for(let s=1;s<r.length;s++)t[r[s]]=!0}let i=nf(e)+nf(t)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function og(n){let e=n.map(r=>typeof r=="string"?{label:r}:r),[t,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:Tw(e);return r=>{let s=r.matchBefore(i);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function Cw(n,e){return t=>{for(let i=ye(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(n.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}class rf{constructor(e,t,i,r){this.completion=e,this.source=t,this.match=i,this.score=r}}function Ni(n){return n.selection.main.from}function ag(n,e){var t;let{source:i}=n,r=e&&i[0]!="^",s=i[i.length-1]!="$";return!r&&!s?n:new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const Ac=Ft.define();function Aw(n,e,t,i){let{main:r}=n.selection,s=t-r.from,l=i-r.from;return{...n.changeByRange(o=>{if(o!=r&&t!=i&&n.sliceDoc(o.from+s,o.from+l)!=n.sliceDoc(t,i))return{range:o};let a=n.toText(e);return{changes:{from:o.from+s,to:i==r.from?o.to:o.from+l,insert:a},range:v.cursor(o.from+s+a.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const sf=new WeakMap;function Rw(n){if(!Array.isArray(n))return n;let e=sf.get(n);return e||sf.set(n,e=og(n)),e}const hl=q.define(),Lr=q.define();class Mw{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let i=tt(e,t),r=Wt(i);this.chars.push(i);let s=e.slice(t,t+r),l=s.toUpperCase();this.folded.push(tt(l==s?s.toLowerCase():l,0)),t+=r}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:i,any:r,precise:s,byWord:l}=this;if(t.length==1){let S=tt(e,0),w=Wt(S),T=w==e.length?0:-100;if(S!=t[0])if(S==i[0])T+=-200;else return null;return this.ret(T,[0,w])}let o=e.indexOf(this.pattern);if(o==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let a=t.length,c=0;if(o<0){for(let S=0,w=Math.min(e.length,200);S<w&&c<a;){let T=tt(e,S);(T==t[c]||T==i[c])&&(r[c++]=S),S+=Wt(T)}if(c<a)return null}let h=0,u=0,f=!1,d=0,p=-1,O=-1,m=/[a-z]/.test(e),x=!0;for(let S=0,w=Math.min(e.length,200),T=0;S<w&&u<a;){let k=tt(e,S);o<0&&(h<a&&k==t[h]&&(s[h++]=S),d<a&&(k==t[d]||k==i[d]?(d==0&&(p=S),O=S+1,d++):d=0));let P,$=k<255?k>=48&&k<=57||k>=97&&k<=122?2:k>=65&&k<=90?1:0:(P=Fa(k))!=P.toLowerCase()?1:P!=P.toUpperCase()?2:0;(!S||$==1&&m||T==0&&$!=0)&&(t[u]==k||i[u]==k&&(f=!0)?l[u++]=S:l.length&&(x=!1)),T=$,S+=Wt(k)}return u==a&&l[0]==0&&x?this.result(-100+(f?-200:0),l,e):d==a&&p==0?this.ret(-200-e.length+(O==e.length?0:-100),[0,O]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):d==a?this.ret(-900-e.length,[p,O]):u==a?this.result(-100+(f?-200:0)+-700+(x?0:-1100),l,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,i){let r=[],s=0;for(let l of t){let o=l+(this.astral?Wt(tt(i,l)):1);s&&r[s-1]==l?r[s-1]=o:(r[s++]=l,r[s++]=o)}return this.ret(e-i.length,r)}}class Zw{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),i=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return i==null?null:(this.matched=[0,t.length],this.score=i+(e.length==this.pattern.length?0:-100),this)}}const Re=X.define({combine(n){return Ht(n,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Xw,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>lf(e(i),t(i)),optionClass:(e,t)=>i=>lf(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function lf(n,e){return n?e?n+" "+e:n:e}function Xw(n,e,t,i,r,s){let l=n.textDirection==ue.RTL,o=l,a=!1,c="top",h,u,f=e.left-r.left,d=r.right-e.right,p=i.right-i.left,O=i.bottom-i.top;if(o&&f<Math.min(p,d)?o=!1:!o&&d<Math.min(p,f)&&(o=!0),p<=(o?f:d))h=Math.max(r.top,Math.min(t.top,r.bottom-O))-e.top,u=Math.min(400,o?f:d);else{a=!0,u=Math.min(400,(l?e.right:r.right-e.left)-30);let S=r.bottom-e.bottom;S>=O||S>e.top?h=t.bottom-e.top:(c="bottom",h=e.bottom-t.top)}let m=(e.bottom-e.top)/s.offsetHeight,x=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${h/m}px; max-width: ${u/x}px`,class:"cm-completionInfo-"+(a?l?"left-narrow":"right-narrow":o?"left":"right")}}const Rc=q.define();function Lw(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,r,s){let l=document.createElement("span");l.className="cm-completionLabel";let o=t.displayLabel||t.label,a=0;for(let c=0;c<s.length;){let h=s[c++],u=s[c++];h>a&&l.appendChild(document.createTextNode(o.slice(a,h)));let f=l.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(o.slice(h,u))),f.className="cm-completionMatchedText",a=u}return a<o.length&&l.appendChild(document.createTextNode(o.slice(a))),l},position:50},{render(t){if(!t.detail)return null;let i=document.createElement("span");return i.className="cm-completionDetail",i.textContent=t.detail,i},position:80}),e.sort((t,i)=>t.position-i.position).map(t=>t.render)}function Qo(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let i=Math.ceil((n-e)/t);return{from:n-i*t,to:n-(i-1)*t}}class jw{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:s,selected:l}=r.open,o=e.state.facet(Re);this.optionContent=Lw(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=Qo(s.length,l,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{let{options:c}=e.state.field(t).open;for(let h=a.target,u;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(u=/-(\d+)$/.exec(h.id))&&+u[1]<c.length){this.applyCompletion(e,c[+u[1]]),a.preventDefault();return}if(a.target==this.list){let h=this.list.classList.contains("cm-completionListIncompleteTop")&&a.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&a.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;h!=null&&(e.dispatch({effects:Rc.of(h)}),a.preventDefault())}}),this.dom.addEventListener("focusout",a=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Re).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:Lr.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:s,selected:l,disabled:o}=i.open;(!r.open||r.open.options!=s)&&(this.range=Qo(s.length,l,e.state.facet(Re).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),o!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Qo(t.options.length,t.selected,this.view.state.facet(Re).maxRenderedOptions),this.showOptions(t.options,e.id));let i=this.updateSelectedOption(t.selected);if(i){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:s}=r;if(!s)return;let l=typeof s=="string"?document.createTextNode(s):s(r);if(!l)return;"then"in l?l.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,r)}).catch(o=>rt(this.view.state,o,"completion info")):(this.addInfoPane(l,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:s}=e;i.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return t&&_w(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),s=this.space;if(!s){let l=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:l.clientWidth,bottom:l.clientHeight}}return r.top>Math.min(s.bottom,t.bottom)-10||r.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(Re).positionInfo(this.view,t,r,i,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,i){const r=document.createElement("ul");r.id=t,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",l=>{l.target==r&&l.preventDefault()});let s=null;for(let l=i.from;l<i.to;l++){let{completion:o,match:a}=e[l],{section:c}=o;if(c){let f=typeof c=="string"?c:c.name;if(f!=s&&(l>i.from||i.from==0))if(s=f,typeof c!="string"&&c.header)r.appendChild(c.header(c));else{let d=r.appendChild(document.createElement("completion-section"));d.textContent=f}}const h=r.appendChild(document.createElement("li"));h.id=t+"-"+l,h.setAttribute("role","option");let u=this.optionClass(o);u&&(h.className=u);for(let f of this.optionContent){let d=f(o,this.view.state,this.view,a);d&&h.appendChild(d)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function Ew(n,e){return t=>new jw(t,n,e)}function _w(n,e){let t=n.getBoundingClientRect(),i=e.getBoundingClientRect(),r=t.height/n.offsetHeight;i.top<t.top?n.scrollTop-=(t.top-i.top)/r:i.bottom>t.bottom&&(n.scrollTop+=(i.bottom-t.bottom)/r)}function of(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function zw(n,e){let t=[],i=null,r=null,s=h=>{t.push(h);let{section:u}=h.completion;if(u){i||(i=[]);let f=typeof u=="string"?u:u.name;i.some(d=>d.name==f)||i.push(typeof u=="string"?{name:f}:u)}},l=e.facet(Re);for(let h of n)if(h.hasResult()){let u=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new rf(f,h.source,u?u(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),d,p=l.filterStrict?new Zw(f):new Mw(f);for(let O of h.result.options)if(d=p.match(O.label)){let m=O.displayLabel?u?u(O,d.matched):[]:d.matched,x=d.score+(O.boost||0);if(s(new rf(O,h.source,m,x)),typeof O.section=="object"&&O.section.rank==="dynamic"){let{name:S}=O.section;r||(r=Object.create(null)),r[S]=Math.max(x,r[S]||-1e9)}}}}if(i){let h=Object.create(null),u=0,f=(d,p)=>(d.rank==="dynamic"&&p.rank==="dynamic"?r[p.name]-r[d.name]:0)||(typeof d.rank=="number"?d.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(d.name<p.name?-1:1);for(let d of i.sort(f))u-=1e5,h[d.name]=u;for(let d of t){let{section:p}=d.completion;p&&(d.score+=h[typeof p=="string"?p:p.name])}}let o=[],a=null,c=l.compareCompletions;for(let h of t.sort((u,f)=>f.score-u.score||c(u.completion,f.completion))){let u=h.completion;!a||a.label!=u.label||a.detail!=u.detail||a.type!=null&&u.type!=null&&a.type!=u.type||a.apply!=u.apply||a.boost!=u.boost?o.push(h):of(h.completion)>of(a)&&(o[o.length-1]=h),a=h.completion}return o}class mn{constructor(e,t,i,r,s,l){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=r,this.selected=s,this.disabled=l}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new mn(this.options,af(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,s,l){if(r&&!l&&e.some(c=>c.isPending))return r.setDisabled();let o=zw(e,t);if(!o.length)return r&&e.some(c=>c.isPending)?r.setDisabled():null;let a=t.facet(Re).selectOnOpen?0:-1;if(r&&r.selected!=a&&r.selected!=-1){let c=r.options[r.selected].completion;for(let h=0;h<o.length;h++)if(o[h].completion==c){a=h;break}}return new mn(o,af(i,a),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:Bw,above:s.aboveCursor},r?r.timestamp:Date.now(),a,!1)}map(e){return new mn(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new mn(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class ul{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new ul(qw,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(Re),s=(i.override||t.languageDataAt("autocomplete",Ni(t)).map(Rw)).map(a=>(this.active.find(h=>h.source==a)||new xt(a,this.active.some(h=>h.state!=0)?1:0)).update(e,i));s.length==this.active.length&&s.every((a,c)=>a==this.active[c])&&(s=this.active);let l=this.open,o=e.effects.some(a=>a.is(Mc));l&&e.docChanged&&(l=l.map(e.changes)),e.selection||s.some(a=>a.hasResult()&&e.changes.touchesRange(a.from,a.to))||!Dw(s,this.active)||o?l=mn.build(s,t,this.id,l,i,o):l&&l.disabled&&!s.some(a=>a.isPending)&&(l=null),!l&&s.every(a=>!a.isPending)&&s.some(a=>a.hasResult())&&(s=s.map(a=>a.hasResult()?new xt(a.source,0):a));for(let a of e.effects)a.is(Rc)&&(l=l&&l.setSelected(a.value,this.id));return s==this.active&&l==this.open?this:new ul(s,this.id,l)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?Ww:Iw}}function Dw(n,e){if(n==e)return!0;for(let t=0,i=0;;){for(;t<n.length&&!n[t].hasResult();)t++;for(;i<e.length&&!e[i].hasResult();)i++;let r=t==n.length,s=i==e.length;if(r||s)return r==s;if(n[t++].result!=e[i++].result)return!1}}const Ww={"aria-autocomplete":"list"},Iw={};function af(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const qw=[];function cg(n,e){if(n.isUserEvent("input.complete")){let i=n.annotation(Ac);if(i&&e.activateOnCompletion(i))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class xt{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=cg(e,t),r=this;(i&8||i&16&&this.touches(e))&&(r=new xt(r.source,0)),i&4&&r.state==0&&(r=new xt(this.source,1)),r=r.updateFor(e,i);for(let s of e.effects)if(s.is(hl))r=new xt(r.source,1,s.value);else if(s.is(Lr))r=new xt(r.source,0);else if(s.is(Mc))for(let l of s.value)l.source==r.source&&(r=l);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Ni(e.state))}}class Qn extends xt{constructor(e,t,i,r,s,l){super(e,3,t),this.limit=i,this.result=r,this.from=s,this.to=l}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let s=e.changes.mapPos(this.from),l=e.changes.mapPos(this.to,1),o=Ni(e.state);if(o>l||!r||t&2&&(Ni(e.startState)==this.from||o<this.limit))return new xt(this.source,t&4?1:0);let a=e.changes.mapPos(this.limit);return Yw(r.validFor,e.state,s,l)?new Qn(this.source,this.explicit,a,r,s,l):r.update&&(r=r.update(r,s,l,new lg(e.state,o,!1)))?new Qn(this.source,this.explicit,a,r,r.from,(i=r.to)!==null&&i!==void 0?i:Ni(e.state)):new xt(this.source,1,this.explicit)}map(e){if(e.empty)return this;let t=this.result.map?this.result.map(this.result,e):this.result;return t?new Qn(this.source,this.explicit,e.mapPos(this.limit),t,e.mapPos(this.from),e.mapPos(this.to,1)):new xt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function Yw(n,e,t,i){if(!n)return!1;let r=e.sliceDoc(t,i);return typeof n=="function"?n(r,t,i,e):ag(n,!0).test(r)}const Mc=q.define({map(n,e){return n.map(t=>t.map(e))}}),it=ze.define({create(){return ul.start()},update(n,e){return n.update(e)},provide:n=>[dc.from(n,e=>e.tooltip),A.contentAttributes.from(n,e=>e.attrs)]});function Zc(n,e){const t=e.completion.apply||e.completion.label;let i=n.state.field(it).active.find(r=>r.source==e.source);return i instanceof Qn?(typeof t=="string"?n.dispatch({...Aw(n.state,t,i.from,i.to),annotations:Ac.of(e.completion)}):t(n,e.completion,i.from,i.to),!0):!1}const Bw=Ew(it,Zc);function Ss(n,e="option"){return t=>{let i=t.state.field(it,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<t.state.facet(Re).interactionDelay)return!1;let r=1,s;e=="page"&&(s=Dp(t,i.open.tooltip))&&(r=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:l}=i.open.options,o=i.open.selected>-1?i.open.selected+r*(n?1:-1):n?0:l-1;return o<0?o=e=="page"?0:l-1:o>=l&&(o=e=="page"?l-1:0),t.dispatch({effects:Rc.of(o)}),!0}}const Vw=n=>{let e=n.state.field(it,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(Re).interactionDelay?!1:Zc(n,e.open.options[e.open.selected])},vo=n=>n.state.field(it,!1)?(n.dispatch({effects:hl.of(!0)}),!0):!1,Nw=n=>{let e=n.state.field(it,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Lr.of(null)}),!0)};class Gw{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Uw=50,Fw=1e3,Hw=ke.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(it).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(it),t=n.state.facet(Re);if(!n.selectionSet&&!n.docChanged&&n.startState.field(it)==e)return;let i=n.transactions.some(s=>{let l=cg(s,t);return l&8||(s.selection||s.docChanged)&&!(l&3)});for(let s=0;s<this.running.length;s++){let l=this.running[s];if(i||l.context.abortOnDocChange&&n.docChanged||l.updates.length+n.transactions.length>Uw&&Date.now()-l.time>Fw){for(let o of l.context.abortListeners)try{o()}catch(a){rt(this.view.state,a)}l.context.abortListeners=null,this.running.splice(s--,1)}else l.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(s=>s.effects.some(l=>l.is(hl)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(l=>l.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of n.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(it);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Re).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=Ni(e),i=new lg(e,t,n.explicit,this.view),r=new Gw(n,i);this.running.push(r),Promise.resolve(n.source(i)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:Lr.of(null)}),rt(this.view.state,s)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Re).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Re),i=this.view.state.field(it);for(let r=0;r<this.running.length;r++){let s=this.running[r];if(s.done===void 0)continue;if(this.running.splice(r--,1),s.done){let o=Ni(s.updates.length?s.updates[0].startState:this.view.state),a=Math.min(o,s.done.from+(s.active.explicit?0:1)),c=new Qn(s.active.source,s.active.explicit,a,s.done,s.done.from,(n=s.done.to)!==null&&n!==void 0?n:o);for(let h of s.updates)c=c.update(h,t);if(c.hasResult()){e.push(c);continue}}let l=i.active.find(o=>o.source==s.active.source);if(l&&l.isPending)if(s.done==null){let o=new xt(s.active.source,0);for(let a of s.updates)o=o.update(a,t);o.isPending||e.push(o)}else this.startQuery(l)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:Mc.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(it,!1);if(e&&e.tooltip&&this.view.state.facet(Re).closeOnBlur){let t=e.open&&Dp(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Lr.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:hl.of(!1)}),20),this.composing=0}}}),Kw=typeof navigator=="object"&&/Win/.test(navigator.platform),Jw=Ci.highest(A.domEventHandlers({keydown(n,e){let t=e.state.field(it,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(Kw&&n.altKey)||n.metaKey)return!1;let i=t.open.options[t.open.selected],r=t.active.find(l=>l.source==i.source),s=i.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(n.key)>-1&&Zc(e,i),!1}})),hg=A.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class eQ{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}}class Xc{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,je.TrackDel),i=e.mapPos(this.to,1,je.TrackDel);return t==null||i==null?null:new Xc(this.field,t,i)}}class Lc{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],r=[t],s=e.doc.lineAt(t),l=/^\s*/.exec(s.text)[0];for(let a of this.lines){if(i.length){let c=l,h=/^\t*/.exec(a)[0].length;for(let u=0;u<h;u++)c+=e.facet(Yr);r.push(t+c.length-h),a=c+a.slice(h)}i.push(a),t+=a.length+1}let o=this.fieldPositions.map(a=>new Xc(a.field,r[a.line]+a.from,r[a.line]+a.to));return{text:i,ranges:o}}static parse(e){let t=[],i=[],r=[],s;for(let l of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(l);){let o=s[1]?+s[1]:null,a=s[2]||s[3]||"",c=-1;o===0&&(o=1e9);let h=a.replace(/\\[{}]/g,u=>u[1]);for(let u=0;u<t.length;u++)(o!=null?t[u].seq==o:h&&t[u].name==h)&&(c=u);if(c<0){let u=0;for(;u<t.length&&(o==null||t[u].seq!=null&&t[u].seq<o);)u++;t.splice(u,0,{seq:o,name:h}),c=u;for(let f of r)f.field>=c&&f.field++}for(let u of r)if(u.line==i.length&&u.from>s.index){let f=s[2]?3+(s[1]||"").length:2;u.from-=f,u.to-=f}r.push(new eQ(c,i.length,s.index,s.index+h.length)),l=l.slice(0,s.index)+a+l.slice(s.index+s[0].length)}l=l.replace(/\\([{}])/g,(o,a,c)=>{for(let h of r)h.line==i.length&&h.from>c&&(h.from--,h.to--);return a}),i.push(l)}return new Lc(i,r)}}let tQ=z.widget({widget:new class extends Tt{toDOM(){let n=document.createElement("span");return n.className="cm-snippetFieldPosition",n}ignoreEvent(){return!1}}}),iQ=z.mark({class:"cm-snippetField"});class Fn{constructor(e,t){this.ranges=e,this.active=t,this.deco=z.set(e.map(i=>(i.from==i.to?tQ:iQ).range(i.from,i.to)),!0)}map(e){let t=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;t.push(r)}return new Fn(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}}const Gr=q.define({map(n,e){return n&&n.map(e)}}),nQ=q.define(),jr=ze.define({create(){return null},update(n,e){for(let t of e.effects){if(t.is(Gr))return t.value;if(t.is(nQ)&&n)return new Fn(n.ranges,t.value)}return n&&e.docChanged&&(n=n.map(e.changes)),n&&e.selection&&!n.selectionInsideField(e.selection)&&(n=null),n},provide:n=>A.decorations.from(n,e=>e?e.deco:z.none)});function jc(n,e){return v.create(n.filter(t=>t.field==e).map(t=>v.range(t.from,t.to)))}function rQ(n){let e=Lc.parse(n);return(t,i,r,s)=>{let{text:l,ranges:o}=e.instantiate(t.state,r),{main:a}=t.state.selection,c={changes:{from:r,to:s==a.from?a.to:s,insert:K.of(l)},scrollIntoView:!0,annotations:i?[Ac.of(i),Pe.userEvent.of("input.complete")]:void 0};if(o.length&&(c.selection=jc(o,0)),o.some(h=>h.field>0)){let h=new Fn(o,0),u=c.effects=[Gr.of(h)];t.state.field(jr,!1)===void 0&&u.push(q.appendConfig.of([jr,cQ,hQ,hg]))}t.dispatch(t.state.update(c))}}function ug(n){return({state:e,dispatch:t})=>{let i=e.field(jr,!1);if(!i||n<0&&i.active==0)return!1;let r=i.active+n,s=n>0&&!i.ranges.some(l=>l.field==r+n);return t(e.update({selection:jc(i.ranges,r),effects:Gr.of(s?null:new Fn(i.ranges,r)),scrollIntoView:!0})),!0}}const sQ=({state:n,dispatch:e})=>n.field(jr,!1)?(e(n.update({effects:Gr.of(null)})),!0):!1,lQ=ug(1),oQ=ug(-1),aQ=[{key:"Tab",run:lQ,shift:oQ},{key:"Escape",run:sQ}],cf=X.define({combine(n){return n.length?n[0]:aQ}}),cQ=Ci.highest(Vn.compute([cf],n=>n.facet(cf)));function et(n,e){return{...e,apply:rQ(n)}}const hQ=A.domEventHandlers({mousedown(n,e){let t=e.state.field(jr,!1),i;if(!t||(i=e.posAtCoords({x:n.clientX,y:n.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=i&&s.to>=i);return!r||r.field==t.active?!1:(e.dispatch({selection:jc(t.ranges,r.field),effects:Gr.of(t.ranges.some(s=>s.field>r.field)?new Fn(t.ranges,r.field):null),scrollIntoView:!0}),!0)}}),Er={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Bi=q.define({map(n,e){let t=e.mapPos(n,-1,je.TrackAfter);return t??void 0}}),Ec=new class extends Si{};Ec.startSide=1;Ec.endSide=-1;const fg=ze.define({create(){return N.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(Bi)&&(n=n.update({add:[Ec.range(t.value,t.value+1)]}));return n}});function uQ(){return[dQ,fg]}const $o="()[]{}<>«»»«[]{}";function dg(n){for(let e=0;e<$o.length;e+=2)if($o.charCodeAt(e)==n)return $o.charAt(e+1);return Fa(n<128?n:n+1)}function pg(n,e){return n.languageDataAt("closeBrackets",e)[0]||Er}const fQ=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),dQ=A.inputHandler.of((n,e,t,i)=>{if((fQ?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let r=n.state.selection.main;if(i.length>2||i.length==2&&Wt(tt(i,0))==1||e!=r.from||t!=r.to)return!1;let s=gQ(n.state,i);return s?(n.dispatch(s),!0):!1}),pQ=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let i=pg(n,n.selection.main.head).brackets||Er.brackets,r=null,s=n.changeByRange(l=>{if(l.empty){let o=mQ(n.doc,l.head);for(let a of i)if(a==o&&Wl(n.doc,l.head)==dg(tt(a,0)))return{changes:{from:l.head-a.length,to:l.head+a.length},range:v.cursor(l.head-a.length)}}return{range:r=l}});return r||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},OQ=[{key:"Backspace",run:pQ}];function gQ(n,e){let t=pg(n,n.selection.main.head),i=t.brackets||Er.brackets;for(let r of i){let s=dg(tt(r,0));if(e==r)return s==r?kQ(n,r,i.indexOf(r+r+r)>-1,t):bQ(n,r,s,t.before||Er.before);if(e==s&&Og(n,n.selection.main.from))return xQ(n,r,s)}return null}function Og(n,e){let t=!1;return n.field(fg).between(0,n.doc.length,i=>{i==e&&(t=!0)}),t}function Wl(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Wt(tt(t,0)))}function mQ(n,e){let t=n.sliceString(e-2,e);return Wt(tt(t,0))==t.length?t:t.slice(1)}function bQ(n,e,t,i){let r=null,s=n.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:t,from:l.to}],effects:Bi.of(l.to+e.length),range:v.range(l.anchor+e.length,l.head+e.length)};let o=Wl(n.doc,l.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:e+t,from:l.head},effects:Bi.of(l.head+e.length),range:v.cursor(l.head+e.length)}:{range:r=l}});return r?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function xQ(n,e,t){let i=null,r=n.changeByRange(s=>s.empty&&Wl(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:v.cursor(s.head+t.length)}:i={range:s});return i?null:n.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function kQ(n,e,t,i){let r=i.stringPrefixes||Er.stringPrefixes,s=null,l=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:Bi.of(o.to+e.length),range:v.range(o.anchor+e.length,o.head+e.length)};let a=o.head,c=Wl(n.doc,a),h;if(c==e){if(hf(n,a))return{changes:{insert:e+e,from:a},effects:Bi.of(a+e.length),range:v.cursor(a+e.length)};if(Og(n,a)){let f=t&&n.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+f.length,insert:f},range:v.cursor(a+f.length)}}}else{if(t&&n.sliceDoc(a-2*e.length,a)==e+e&&(h=uf(n,a-2*e.length,r))>-1&&hf(n,h))return{changes:{insert:e+e+e+e,from:a},effects:Bi.of(a+e.length),range:v.cursor(a+e.length)};if(n.charCategorizer(a)(c)!=de.Word&&uf(n,a,r)>-1&&!yQ(n,a,e,r))return{changes:{insert:e+e,from:a},effects:Bi.of(a+e.length),range:v.cursor(a+e.length)}}return{range:s=o}});return s?null:n.update(l,{scrollIntoView:!0,userEvent:"input.type"})}function hf(n,e){let t=ye(n).resolveInner(e+1);return t.parent&&t.from==e}function yQ(n,e,t,i){let r=ye(n).resolveInner(e,-1),s=i.reduce((l,o)=>Math.max(l,o.length),0);for(let l=0;l<5;l++){let o=n.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),a=o.indexOf(t);if(!a||a>-1&&i.indexOf(o.slice(0,a))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+a;){if(n.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function uf(n,e,t){let i=n.charCategorizer(e);if(i(n.sliceDoc(e-1,e))!=de.Word)return e;for(let r of t){let s=e-r.length;if(n.sliceDoc(s,e)==r&&i(n.sliceDoc(s-1,s))!=de.Word)return s}return-1}function SQ(n={}){return[Jw,it,Re.of(n),Hw,wQ,hg]}const gg=[{key:"Ctrl-Space",run:vo},{mac:"Alt-`",run:vo},{mac:"Alt-i",run:vo},{key:"Escape",run:Nw},{key:"ArrowDown",run:Ss(!0)},{key:"ArrowUp",run:Ss(!1)},{key:"PageDown",run:Ss(!0,"page")},{key:"PageUp",run:Ss(!1,"page")},{key:"Enter",run:Vw}],wQ=Ci.highest(Vn.computeN([Re],n=>n.facet(Re).defaultKeymap?[gg]:[]));class ff{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class Di{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=i.facet(_r).markerFilter;r&&(e=r(e,i));let s=e.slice().sort((d,p)=>d.from-p.from||d.to-p.to),l=new Gt,o=[],a=0,c=i.doc.iter(),h=0,u=i.doc.length;for(let d=0;;){let p=d==s.length?null:s[d];if(!p&&!o.length)break;let O,m;if(o.length)O=a,m=o.reduce((w,T)=>Math.min(w,T.to),p&&p.from>O?p.from:1e8);else{if(O=p.from,O>u)break;m=p.to,o.push(p),d++}for(;d<s.length;){let w=s[d];if(w.from==O&&(w.to>w.from||w.to==O))o.push(w),d++,m=Math.min(w.to,m);else{m=Math.min(w.from,m);break}}m=Math.min(m,u);let x=!1;if(o.some(w=>w.from==O&&(w.to==m||m==u))&&(x=O==m,!x&&m-O<10)){let w=O-(h+c.value.length);w>0&&(c.next(w),h=O);for(let T=O;;){if(T>=m){x=!0;break}if(!c.lineBreak&&h+c.value.length>T)break;T=h+c.value.length,h+=c.value.length,c.next()}}let S=jQ(o);if(x)l.add(O,O,z.widget({widget:new MQ(S),diagnostics:o.slice()}));else{let w=o.reduce((T,k)=>k.markClass?T+" "+k.markClass:T,"");l.add(O,m,z.mark({class:"cm-lintRange cm-lintRange-"+S+w,diagnostics:o.slice(),inclusiveEnd:o.some(T=>T.to>m)}))}if(a=m,a==u)break;for(let w=0;w<o.length;w++)o[w].to<=a&&o.splice(w--,1)}let f=l.finish();return new Di(f,t,Ti(f))}}function Ti(n,e=null,t=0){let i=null;return n.between(t,1e9,(r,s,{spec:l})=>{if(!(e&&l.diagnostics.indexOf(e)<0))if(!i)i=new ff(r,s,e||l.diagnostics[0]);else{if(l.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new ff(i.from,s,i.diagnostic)}}),i}function QQ(n,e){let t=e.pos,i=e.end||t,r=n.state.facet(_r).hideOn(n,t,i);if(r!=null)return r;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(l=>l.is(mg))||n.changes.touchesRange(s.from,Math.max(s.to,i)))}function vQ(n,e){return n.field(ut,!1)?e:e.concat(q.appendConfig.of(EQ))}const mg=q.define(),_c=q.define(),bg=q.define(),ut=ze.define({create(){return new Di(z.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),i=null,r=n.panel;if(n.selected){let s=e.changes.mapPos(n.selected.from,1);i=Ti(t,n.selected.diagnostic,s)||Ti(t,null,s)}!t.size&&r&&e.state.facet(_r).autoPanel&&(r=null),n=new Di(t,r,i)}for(let t of e.effects)if(t.is(mg)){let i=e.state.facet(_r).autoPanel?t.value.length?zr.open:null:n.panel;n=Di.init(t.value,i,e.state)}else t.is(_c)?n=new Di(n.diagnostics,t.value?zr.open:null,n.selected):t.is(bg)&&(n=new Di(n.diagnostics,n.panel,t.value));return n},provide:n=>[Ar.from(n,e=>e.panel),A.decorations.from(n,e=>e.diagnostics)]}),$Q=z.mark({class:"cm-lintRange cm-lintRange-active"});function PQ(n,e,t){let{diagnostics:i}=n.state.field(ut),r,s=-1,l=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(a,c,{spec:h})=>{if(e>=a&&e<=c&&(a==c||(e>a||t>0)&&(e<c||t<0)))return r=h.diagnostics,s=a,l=c,!1});let o=n.state.facet(_r).tooltipFilter;return r&&o&&(r=o(r,n.state)),r?{pos:s,end:l,above:!0,create(){return{dom:TQ(n,r)}}}:null}function TQ(n,e){return ae("ul",{class:"cm-tooltip-lint"},e.map(t=>kg(n,t,!1)))}const CQ=n=>{let e=n.state.field(ut,!1);(!e||!e.panel)&&n.dispatch({effects:vQ(n.state,[_c.of(!0)])});let t=Rl(n,zr.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},df=n=>{let e=n.state.field(ut,!1);return!e||!e.panel?!1:(n.dispatch({effects:_c.of(!1)}),!0)},AQ=n=>{let e=n.state.field(ut,!1);if(!e)return!1;let t=n.state.selection.main,i=Ti(e.diagnostics,null,t.to+1);return!i&&(i=Ti(e.diagnostics,null,0),!i||i.from==t.from&&i.to==t.to)?!1:(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),dy(n,i.from,1,{tooltip:yg,until:r=>r.docChanged||r.newSelection.main.head<i.from||r.newSelection.main.head>i.to}),!0)},RQ=[{key:"Mod-Shift-m",run:CQ,preventDefault:!0},{key:"F8",run:AQ}],_r=X.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...Ht(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:pf,tooltipFilter:pf,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,r,s)=>e(i,r,s)||t(i,r,s):e:t,autoPanel:(e,t)=>e||t})}}});function pf(n,e){return n?e?(t,i)=>e(n(t,i),i):n:e}function xg(n){let e=[];if(n)e:for(let{name:t}of n){for(let i=0;i<t.length;i++){let r=t[i];if(/[a-zA-Z]/.test(r)&&!e.some(s=>s.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function kg(n,e,t){var i;let r=t?xg(e.actions):[];return ae("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},ae("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((s,l)=>{let o=!1,a=d=>{if(d.preventDefault(),o)return;o=!0;let p=Ti(n.state.field(ut).diagnostics,e);p&&s.apply(n,p.from,p.to)},{name:c}=s,h=r[l]?c.indexOf(r[l]):-1,u=h<0?c:[c.slice(0,h),ae("u",c.slice(h,h+1)),c.slice(h+1)],f=s.markClass?" "+s.markClass:"";return ae("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:a,onmousedown:a,"aria-label":` Action: ${c}${h<0?"":` (access key "${r[l]})"`}.`},u)}),e.source&&ae("div",{class:"cm-diagnosticSource"},e.source))}class MQ extends Tt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return ae("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Of{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=kg(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class zr{constructor(e){this.view=e,this.items=[];let t=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)df(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],l=xg(s.actions);for(let o=0;o<l.length;o++)if(l[o].toUpperCase().charCodeAt(0)==r.keyCode){let a=Ti(this.view.state.field(ut).diagnostics,s);a&&s.actions[o].apply(e,a.from,a.to)}}else return;r.preventDefault()}},i=r=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(r.target)&&this.moveSelection(s)};this.list=ae("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:i}),this.dom=ae("div",{class:"cm-panel-lint"},this.list,ae("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>df(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(ut).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(ut),i=0,r=!1,s=null,l=new Set;for(e.between(0,this.view.state.doc.length,(o,a,{spec:c})=>{for(let h of c.diagnostics){if(l.has(h))continue;l.add(h);let u=-1,f;for(let d=i;d<this.items.length;d++)if(this.items[d].diagnostic==h){u=d;break}u<0?(f=new Of(this.view,h),this.items.splice(i,0,f),r=!0):(f=this.items[u],u>i&&(this.items.splice(i,u-i),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Of(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:a})=>{let c=a.height/this.list.offsetHeight;o.top<a.top?this.list.scrollTop-=(a.top-o.top)/c:o.bottom>a.bottom&&(this.list.scrollTop+=(o.bottom-a.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(ut),i=Ti(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:bg.of(i)})}static open(e){return new zr(e)}}function ZQ(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function ws(n){return ZQ(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const XQ=A.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:ws("#f11")},".cm-lintRange-warning":{backgroundImage:ws("orange")},".cm-lintRange-info":{backgroundImage:ws("#999")},".cm-lintRange-hint":{backgroundImage:ws("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function LQ(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function jQ(n){let e="hint",t=1;for(let i of n){let r=LQ(i.severity);r>t&&(t=r,e=i.severity)}return e}const yg=fy(PQ,{hideOn:QQ}),EQ=[ut,A.decorations.compute([ut],n=>{let{selected:e,panel:t}=n.field(ut);return!e||!t||e.from==e.to?z.none:z.set([$Q.range(e.from,e.to)])}),yg,XQ];var gf=function(e){e===void 0&&(e={});var t=e,i=t.crosshairCursor,r=i===void 0?!1:i,s=[];e.closeBracketsKeymap!==!1&&(s=s.concat(OQ)),e.defaultKeymap!==!1&&(s=s.concat(K1)),e.searchKeymap!==!1&&(s=s.concat(Qw)),e.historyKeymap!==!1&&(s=s.concat(s1)),e.foldKeymap!==!1&&(s=s.concat(kS)),e.completionKeymap!==!1&&(s=s.concat(gg)),e.lintKeymap!==!1&&(s=s.concat(RQ));var l=[];return e.lineNumbers!==!1&&l.push(Py()),e.highlightActiveLineGutter!==!1&&l.push(Ay()),e.highlightSpecialChars!==!1&&l.push(Wk()),e.history!==!1&&l.push(FS()),e.foldGutter!==!1&&l.push(QS()),e.drawSelection!==!1&&l.push(Ck()),e.dropCursor!==!1&&l.push(Lk()),e.allowMultipleSelections!==!1&&l.push(U.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&l.push(uS()),e.syntaxHighlighting!==!1&&l.push(Sc(TS,{fallback:!0})),e.bracketMatching!==!1&&l.push(LS()),e.closeBrackets!==!1&&l.push(uQ()),e.autocompletion!==!1&&l.push(SQ()),e.rectangularSelection!==!1&&l.push(ty()),r!==!1&&l.push(ry()),e.highlightActiveLine!==!1&&l.push(Nk()),e.highlightSelectionMatches!==!1&&l.push(nw()),e.tabSize&&typeof e.tabSize=="number"&&l.push(Yr.of(" ".repeat(e.tabSize))),l.concat([Vn.of(s.flat())]).filter(Boolean)};const _Q="#e5c07b",mf="#e06c75",zQ="#56b6c2",DQ="#ffffff",Ls="#abb2bf",ja="#7d8799",WQ="#61afef",IQ="#98c379",bf="#d19a66",qQ="#c678dd",YQ="#21252b",xf="#2c313a",kf="#282c34",Po="#353a42",BQ="#3E4451",yf="#528bff",VQ=A.theme({"&":{color:Ls,backgroundColor:kf},".cm-content":{caretColor:yf},".cm-cursor, .cm-dropCursor":{borderLeftColor:yf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:BQ},".cm-panels":{backgroundColor:YQ,color:Ls},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:kf,color:ja,border:"none"},".cm-activeLineGutter":{backgroundColor:xf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Po},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Po,borderBottomColor:Po},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:xf,color:Ls}}},{dark:!0}),NQ=Nn.define([{tag:b.keyword,color:qQ},{tag:[b.name,b.deleted,b.character,b.propertyName,b.macroName],color:mf},{tag:[b.function(b.variableName),b.labelName],color:WQ},{tag:[b.color,b.constant(b.name),b.standard(b.name)],color:bf},{tag:[b.definition(b.name),b.separator],color:Ls},{tag:[b.typeName,b.className,b.number,b.changed,b.annotation,b.modifier,b.self,b.namespace],color:_Q},{tag:[b.operator,b.operatorKeyword,b.url,b.escape,b.regexp,b.link,b.special(b.string)],color:zQ},{tag:[b.meta,b.comment],color:ja},{tag:b.strong,fontWeight:"bold"},{tag:b.emphasis,fontStyle:"italic"},{tag:b.strikethrough,textDecoration:"line-through"},{tag:b.link,color:ja,textDecoration:"underline"},{tag:b.heading,fontWeight:"bold",color:mf},{tag:[b.atom,b.bool,b.special(b.variableName)],color:bf},{tag:[b.processingInstruction,b.string,b.inserted],color:IQ},{tag:b.invalid,color:DQ}]),GQ=[VQ,Sc(NQ)];var UQ=A.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),FQ=function(e){e===void 0&&(e={});var t=e,i=t.indentWithTab,r=i===void 0?!0:i,s=t.editable,l=s===void 0?!0:s,o=t.readOnly,a=o===void 0?!1:o,c=t.theme,h=c===void 0?"light":c,u=t.placeholder,f=u===void 0?"":u,d=t.basicSetup,p=d===void 0?!0:d,O=[];switch(r&&O.unshift(Vn.of([FO])),p&&(typeof p=="boolean"?O.unshift(gf()):O.unshift(gf(p))),f&&O.unshift(Hk(f)),h){case"light":O.push(UQ);break;case"dark":O.push(GQ);break;case"none":break;default:O.push(h);break}return l===!1&&O.push(A.editable.of(!1)),a&&O.push(U.readOnly.of(!0)),[...O]},HQ=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class KQ{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class Sf{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var To=null,JQ=()=>typeof window>"u"?new Sf:(To||(To=new Sf),To),ev=A.theme({"& .cm-scroller":{height:"100% !important"}}),wf=null,Co=null;function tv(n,e,t,i,r,s){if(!n&&!e&&!t&&!i&&!r&&!s)return null;var l=JSON.stringify({height:n,minHeight:e,maxHeight:t,width:i,minWidth:r,maxWidth:s});return l===wf||(wf=l,Co=A.theme({"&":{height:n,minHeight:e,maxHeight:t,width:i,minWidth:r,maxWidth:s}})),Co}var Qf=Ft.define(),iv=200,nv=[];function rv(n){var e=n.value,t=n.selection,i=n.onChange,r=n.onStatistics,s=n.onCreateEditor,l=n.onUpdate,o=n.extensions,a=o===void 0?nv:o,c=n.autoFocus,h=n.theme,u=h===void 0?"light":h,f=n.height,d=f===void 0?null:f,p=n.minHeight,O=p===void 0?null:p,m=n.maxHeight,x=m===void 0?null:m,S=n.width,w=S===void 0?null:S,T=n.minWidth,k=T===void 0?null:T,P=n.maxWidth,$=P===void 0?null:P,Z=n.placeholder,W=Z===void 0?"":Z,D=n.editable,j=D===void 0?!0:D,E=n.readOnly,V=E===void 0?!1:E,Y=n.indentWithTab,F=Y===void 0?!0:Y,Oe=n.basicSetup,Qe=Oe===void 0?!0:Oe,ve=n.root,ce=n.initialState,$e=Q.useState(),Se=$e[0],Ae=$e[1],De=Q.useState(),J=De[0],Be=De[1],Rt=Q.useState(),Mt=Rt[0],Ri=Rt[1],lt=Q.useState(()=>({current:null}))[0],Kt=Q.useState(()=>({current:null}))[0],Mi=tv(d,O,x,w,k,$),Kn=A.updateListener.of(Ve=>{if(Ve.docChanged&&typeof i=="function"&&!Ve.transactions.some(nn=>nn.annotation(Qf))){lt.current?lt.current.reset():(lt.current=new KQ(()=>{if(Kt.current){var nn=Kt.current;Kt.current=null,nn()}lt.current=null},iv),JQ().add(lt.current));var Ne=Ve.state.doc,ei=Ne.toString();i(ei,Ve)}r&&r(HQ(Ve))}),Jt=FQ({theme:u,editable:j,readOnly:V,placeholder:W,indentWithTab:F,basicSetup:Qe}),Zt=[Kn,...Mi?[Mi]:[],ev,...Jt];return l&&typeof l=="function"&&Zt.push(A.updateListener.of(l)),Zt=Zt.concat(a),Q.useLayoutEffect(()=>{if(Se&&!Mt){var Ve={doc:e,selection:t,extensions:Zt},Ne=ce?U.fromJSON(ce.json,Ve,ce.fields):U.create(Ve);if(Ri(Ne),!J){var ei=new A({state:Ne,parent:Se,root:ve});Be(ei),s&&s(ei,Ne)}}return()=>{J&&(Ri(void 0),Be(void 0))}},[Se,Mt]),Q.useEffect(()=>{n.container&&Ae(n.container)},[n.container]),Q.useEffect(()=>()=>{J&&(J.destroy(),Be(void 0)),lt.current&&(lt.current.cancel(),lt.current=null)},[J]),Q.useEffect(()=>{c&&J&&J.focus()},[c,J]),Q.useEffect(()=>{J&&J.dispatch({effects:q.reconfigure.of(Zt)})},[u,a,d,O,x,w,k,$,W,j,V,F,Qe,i,l]),Q.useEffect(()=>{if(e!==void 0){var Ve=J?J.state.doc.toString():"";if(J&&e!==Ve){var Ne=lt.current&&!lt.current.isDone,ei=()=>{J&&e!==J.state.doc.toString()&&J.dispatch({changes:{from:0,to:J.state.doc.toString().length,insert:e||""},annotations:[Qf.of(!0)]})};Ne?Kt.current=ei:ei()}}},[e,J]),{state:Mt,setState:Ri,view:J,setView:Be,container:Se,setContainer:Ae}}var sv=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Sg=Q.forwardRef((n,e)=>{var t=n.className,i=n.value,r=i===void 0?"":i,s=n.selection,l=n.extensions,o=l===void 0?[]:l,a=n.onChange,c=n.onStatistics,h=n.onCreateEditor,u=n.onUpdate,f=n.autoFocus,d=n.theme,p=d===void 0?"light":d,O=n.height,m=n.minHeight,x=n.maxHeight,S=n.width,w=n.minWidth,T=n.maxWidth,k=n.basicSetup,P=n.placeholder,$=n.indentWithTab,Z=n.editable,W=n.readOnly,D=n.root,j=n.initialState,E=gb(n,sv),V=Q.useRef(null),Y=rv({root:D,value:r,autoFocus:f,theme:p,height:O,minHeight:m,maxHeight:x,width:S,minWidth:w,maxWidth:T,basicSetup:k,placeholder:P,indentWithTab:$,editable:Z,readOnly:W,selection:s,onChange:a,onStatistics:c,onCreateEditor:h,onUpdate:u,extensions:o,initialState:j}),F=Y.state,Oe=Y.view,Qe=Y.container,ve=Y.setContainer;Q.useImperativeHandle(e,()=>({editor:V.current,state:F,view:Oe}),[V,Qe,F,Oe]);var ce=Q.useCallback(Se=>{V.current=Se,ve(Se)},[ve]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var $e=typeof p=="string"?"cm-theme-"+p:"cm-theme";return g.jsx("div",qo({ref:ce,className:""+$e+(t?" "+t:"")},E))});Sg.displayName="CodeMirror";var lv=n=>{var e=n.theme,t=n.settings,i=t===void 0?{}:t,r=n.styles,s=r===void 0?[]:r,l={".cm-gutters":{}},o={};i.background&&(o.backgroundColor=i.background),i.backgroundImage&&(o.backgroundImage=i.backgroundImage),i.foreground&&(o.color=i.foreground),i.fontSize&&(o.fontSize=i.fontSize),(i.background||i.foreground)&&(l["&"]=o),i.fontFamily&&(l["&.cm-editor .cm-scroller"]={fontFamily:i.fontFamily}),i.gutterBackground&&(l[".cm-gutters"].backgroundColor=i.gutterBackground),i.gutterForeground&&(l[".cm-gutters"].color=i.gutterForeground),i.gutterBorder&&(l[".cm-gutters"].borderRightColor=i.gutterBorder),i.caret&&(l[".cm-content"]={caretColor:i.caret},l[".cm-cursor, .cm-dropCursor"]={borderLeftColor:i.caret});var a={};i.gutterActiveForeground&&(a.color=i.gutterActiveForeground),i.lineHighlight&&(l[".cm-activeLine"]={backgroundColor:i.lineHighlight},a.backgroundColor=i.lineHighlight),l[".cm-activeLineGutter"]=a,i.selection&&(l["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:i.selection+" !important"}),i.selectionMatch&&(l["& .cm-selectionMatch"]={backgroundColor:i.selectionMatch});var c=A.theme(l,{dark:e==="dark"}),h=Nn.define(s),u=[c,Sc(h)];return u};class fl{constructor(e,t,i,r,s,l,o,a,c,h=0,u){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=s,this.score=l,this.buffer=o,this.bufferBase=a,this.curContext=c,this.lookAhead=h,this.parent=u}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let r=e.parser.context;return new fl(e,[],t,i,i,0,[],0,r?new vf(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,r=e&65535,{parser:s}=this.p,l=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),o=s.dynamicPrecedence(r);if(o&&(this.score+=o),i==0){r<s.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,l?8:4,!0),this.reduceContext(r,this.reducePos);return}let a=this.stack.length-(i-1)*3-(e&262144?6:0),c=a?this.stack[a-2]:this.p.ranges[0].from;r<s.minRepeatTerm&&c==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let h=this.reducePos-c;h>=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=h));let u=a?this.stack[a-1]:0,f=this.bufferBase+this.buffer.length-u;if(r<s.minRepeatTerm||e&131072){let d=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,c,d,f+4,!0)}if(e&262144)this.state=this.stack[a];else{let d=this.stack[a-3];this.state=s.getGoto(d,r,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,i,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let l=this.buffer.length;if(l>0&&this.buffer[l-4]==0&&this.buffer[l-1]>-1){if(t==i)return;if(this.buffer[l-2]>=t){this.buffer[l-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(e,t,i,r);else{let l=this.buffer.length;if(l>0&&(this.buffer[l-4]!=0||this.buffer[l-1]<0)){let o=!1;for(let a=l;a>0&&this.buffer[a-2]>i;a-=4)if(this.buffer[a-1]>=0){o=!0;break}if(o)for(;l>0&&this.buffer[l-2]>i;)this.buffer[l]=this.buffer[l-4],this.buffer[l+1]=this.buffer[l-3],this.buffer[l+2]=this.buffer[l-2],this.buffer[l+3]=this.buffer[l-1],l-=4,r>4&&(r-=4)}this.buffer[l]=e,this.buffer[l+1]=t,this.buffer[l+2]=i,this.buffer[l+3]=r}}shift(e,t,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:l}=this.p;this.pos=r;let o=l.stateFlag(s,1);!o&&(r>i||t<=l.maxNode)&&(this.reducePos=r),this.pushState(s,o?i:Math.min(i,this.reducePos)),this.shiftContext(t,i),t<=l.maxNode&&this.buffer.push(t,i,r,4)}else this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4)}apply(e,t,i,r){e&65536?this.reduce(e):this.shift(e,t,i,r)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new fl(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new ov(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,l;s<t.length;s+=2)(l=t[s+1])!=this.state&&this.p.parser.hasAction(l,e)&&r.push(t[s],l);if(this.stack.length<120)for(let s=0;r.length<8&&s<t.length;s+=2){let l=t[s+1];r.some((o,a)=>a&1&&o==l)||r.push(t[s],l)}t=r}let i=[];for(let r=0;r<t.length&&i.length<4;r+=2){let s=t[r+1];if(s==this.state)continue;let l=this.split();l.pushState(s,this.pos),l.storeNode(0,l.pos,l.pos,4,!0),l.shiftContext(t[r],this.pos),l.reducePos=this.pos,l.score-=200,i.push(l)}return i}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if((t&65536)==0)return!1;if(!e.validAction(this.state,t)){let i=t>>19,r=t&65535,s=this.stack.length-i*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let l=this.findForcedReduction();if(l==null)return!1;t=l}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,l=>{if(!(l&393216))if(l&65536){let o=(l>>19)-s;if(o>1){let a=l&65535,c=this.stack.length-o*3;if(c>=0&&e.getGoto(this.stack[c],a,!1)>=0)return o<<19|65536|a}}else{let o=i(l,s+1);if(o!=null)return o}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new vf(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class vf{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class ov{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}}class dl{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new dl(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new dl(this.stack,this.pos,this.index)}}function dr(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let i=0,r=0;i<n.length;){let s=0;for(;;){let l=n.charCodeAt(i++),o=!1;if(l==126){s=65535;break}l>=92&&l--,l>=34&&l--;let a=l-32;if(a>=46&&(a-=46,o=!0),s+=a,o)break;s*=46}t?t[r++]=s:t=new e(s)}return t}class js{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const $f=new js;class av{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=$f,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<i.from;){if(!r)return null;let l=this.ranges[--r];s-=i.from-l.to,i=l}for(;t<0?s>i.to:s>=i.to;){if(r==this.ranges.length-1)return null;let l=this.ranges[++r];s+=l.from-i.to,i=l}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,r;if(t>=0&&t<this.chunk.length)i=this.pos+e,r=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(i=s,i>=this.chunk2Pos&&i<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(i-this.chunk2Pos);else{let l=this.rangeIndex,o=this.range;for(;o.to<=i;)o=this.ranges[++l];this.chunk2=this.input.chunk(this.chunk2Pos=i),i+this.chunk2.length>o.to&&(this.chunk2=this.chunk2.slice(0,o.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=i}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=$f,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return i}}class vn{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;wg(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}vn.prototype.contextual=vn.prototype.fallback=vn.prototype.extend=!1;class pl{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=typeof e=="string"?dr(e):e}token(e,t){let i=e.pos,r=0;for(;;){let s=e.next<0,l=e.resolveOffset(1,1);if(wg(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,l==null)break;e.reset(l,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}}pl.prototype.contextual=vn.prototype.fallback=vn.prototype.extend=!1;class ft{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function wg(n,e,t,i,r,s){let l=0,o=1<<i,{dialect:a}=t.p.parser;e:for(;(o&n[l])!=0;){let c=n[l+1];for(let d=l+3;d<c;d+=2)if((n[d+1]&o)>0){let p=n[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||cv(p,e.token.value,r,s))){e.acceptToken(p);break}}let h=e.next,u=0,f=n[l+2];if(e.next<0&&f>u&&n[c+f*3-3]==65535){l=n[c+f*3-1];continue e}for(;u<f;){let d=u+f>>1,p=c+d+(d<<1),O=n[p],m=n[p+1]||65536;if(h<O)f=d;else if(h>=m)u=d+1;else{l=n[p+2],e.advance();continue e}}break}}function Pf(n,e,t){for(let i=e,r;(r=n[i])!=65535;i++)if(r==t)return i-e;return-1}function cv(n,e,t,i){let r=Pf(t,i,e);return r<0||Pf(t,i,n)<r}const at=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG);let Ao=null;function Tf(n,e,t){let i=n.cursor(re.IncludeAnonymous);for(i.moveTo(e);;)if(!(t<0?i.childBefore(e):i.childAfter(e)))for(;;){if((t<0?i.to<e:i.from>e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(n.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:n.length}}class hv{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Tf(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Tf(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let i=this.trees[t],r=this.index[t];if(r==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=i.children[r],l=this.start[t]+i.positions[r];if(l>e)return this.nextStart=l,null;if(s instanceof pe){if(l==e){if(l<this.safeFrom)return null;let o=l+s.length;if(o<=this.safeTo){let a=s.prop(B.lookAhead);if(!a||o+a<this.fragment.to)return s}}this.index[t]++,l+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(l),this.index.push(0))}else this.index[t]++,this.nextStart=l+s.length}}}class uv{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new js)}getActions(e){let t=0,i=null,{parser:r}=e.p,{tokenizers:s}=r,l=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,a=0;for(let c=0;c<s.length;c++){if((1<<c&l)==0)continue;let h=s[c],u=this.tokens[c];if(!(i&&!h.fallback)&&((h.contextual||u.start!=e.pos||u.mask!=l||u.context!=o)&&(this.updateCachedToken(u,h,e),u.mask=l,u.context=o),u.lookAhead>u.end+25&&(a=Math.max(u.lookAhead,a)),u.value!=0)){let f=t;if(u.extended>-1&&(t=this.addActions(e,u.extended,u.end,t)),t=this.addActions(e,u.value,u.end,t),!h.extend&&(i=u,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!i&&e.pos==this.stream.end&&(i=new js,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new js,{pos:i,p:r}=e;return t.start=i,t.end=Math.min(i+1,r.stream.end),t.value=i==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,i){let r=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(r,e),i),e.value>-1){let{parser:s}=i.p;for(let l=0;l<s.specialized.length;l++)if(s.specialized[l]==e.value){let o=s.specializers[l](this.stream.read(e.start,e.end),i);if(o>=0&&i.p.parser.dialect.allows(o>>1)){(o&1)==0?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=i,r}addActions(e,t,i,r){let{state:s}=e,{parser:l}=e.p,{data:o}=l;for(let a=0;a<2;a++)for(let c=l.stateSlot(s,a?2:1);;c+=3){if(o[c]==65535)if(o[c+1]==1)c=ni(o,c+2);else{r==0&&o[c+1]==2&&(r=this.putAction(ni(o,c+2),t,i,r));break}o[c]==t&&(r=this.putAction(ni(o,c+1),t,i,r))}return r}}class fv{constructor(e,t,i,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new av(t,r),this.tokens=new uv(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[fl.start(this,e.top[0],s)],this.fragments=i.length&&this.stream.end-s>e.bufferLength*4?new hv(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[l]=e;for(;l.forceReduce()&&l.stack.length&&l.stack[l.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let l=0;l<e.length;l++){let o=e[l];for(;;){if(this.tokens.mainToken=null,o.pos>t)i.push(o);else{if(this.advanceStack(o,i,e))continue;{r||(r=[],s=[]),r.push(o);let a=this.tokens.getMainToken(o);s.push(a.value,a.end)}}break}}if(!i.length){let l=r&&pv(r);if(l)return at&&console.log("Finish with "+this.stackID(l)),this.stackToTree(l);if(this.parser.strict)throw at&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let l=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,i);if(l)return at&&console.log("Force-finish "+this.stackID(l)),this.stackToTree(l.forceAll())}if(this.recovering){let l=this.recovering==1?1:this.recovering*3;if(i.length>l)for(i.sort((o,a)=>a.score-o.score);i.length>l;)i.pop();i.some(o=>o.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let l=0;l<i.length-1;l++){let o=i[l];for(let a=l+1;a<i.length;a++){let c=i[a];if(o.sameState(c)||o.buffer.length>500&&c.buffer.length>500)if((o.score-c.score||o.buffer.length-c.buffer.length)>0)i.splice(a--,1);else{i.splice(l--,1);continue e}}}i.length>12&&(i.sort((l,o)=>o.score-l.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let l=1;l<i.length;l++)i[l].pos<this.minStackPos&&(this.minStackPos=i[l].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,i){let r=e.pos,{parser:s}=this,l=at?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let u=this.fragments.nodeAt(r);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?s.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!c||(u.prop(B.contextHash)||0)==h))return e.useNode(u,f),at&&console.log(l+this.stackID(e)+` (via reuse of ${s.getName(u.type.id)})`),!0;if(!(u instanceof pe)||u.children.length==0||u.positions[0]>0)break;let d=u.children[0];if(d instanceof pe&&u.positions[0]==0)u=d;else break}}let o=s.stateSlot(e.state,4);if(o>0)return e.reduce(o),at&&console.log(l+this.stackID(e)+` (via always-reduce ${s.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let c=0;c<a.length;){let h=a[c++],u=a[c++],f=a[c++],d=c==a.length||!i,p=d?e:e.split(),O=this.tokens.mainToken;if(p.apply(h,u,O?O.start:p.pos,f),at&&console.log(l+this.stackID(p)+` (via ${(h&65536)==0?"shift":`reduce of ${s.getName(h&65535)}`} for ${s.getName(u)} @ ${r}${p==e?"":", split"})`),d)return!0;p.pos>r?t.push(p):i.push(p)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return Cf(e,t),!0}}runRecovery(e,t,i){let r=null,s=!1;for(let l=0;l<e.length;l++){let o=e[l],a=t[l<<1],c=t[(l<<1)+1],h=at?this.stackID(o)+" -> ":"";if(o.deadEnd&&(s||(s=!0,o.restart(),at&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))))continue;let u=o.split(),f=h;for(let d=0;d<10&&u.forceReduce()&&(at&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,i));d++)at&&(f=this.stackID(u)+" -> ");for(let d of o.recoverByInsert(a))at&&console.log(h+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>o.pos?(c==o.pos&&(c++,a=0),o.recoverByDelete(a,c),at&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),Cf(o,i)):(!r||r.score<u.score)&&(r=u)}return r}stackToTree(e){return e.close(),pe.build({buffer:dl.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Ao||(Ao=new WeakMap)).get(e);return t||Ao.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Cf(n,e){for(let t=0;t<e.length;t++){let i=e[t];if(i.pos==n.pos&&i.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}class dv{constructor(e,t,i){this.source=e,this.flags=t,this.disabled=i}allows(e){return!this.disabled||this.disabled[e]==0}}const Ro=n=>n;class Qg{constructor(e){this.start=e.start,this.shift=e.shift||Ro,this.reduce=e.reduce||Ro,this.reuse=e.reuse||Ro,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Wn extends Hp{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let o=0;o<e.repeatNodeCount;o++)t.push("");let i=Object.keys(e.topRules).map(o=>e.topRules[o][1]),r=[];for(let o=0;o<t.length;o++)r.push([]);function s(o,a,c){r[o].push([a,a.deserialize(String(c))])}if(e.nodeProps)for(let o of e.nodeProps){let a=o[0];typeof a=="string"&&(a=B[a]);for(let c=1;c<o.length;){let h=o[c++];if(h>=0)s(h,a,o[c++]);else{let u=o[c+-h];for(let f=-h;f>0;f--)s(o[c++],a,u);c++}}}this.nodeSet=new pc(t.map((o,a)=>Ke.define({name:a>=this.minRepeatTerm?void 0:o,id:a,props:r[a],top:i.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Vp;let l=dr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;o<this.specializerSpecs.length;o++)this.specialized[o]=this.specializerSpecs[o].term;this.specializers=this.specializerSpecs.map(Af),this.states=dr(e.states,Uint32Array),this.data=dr(e.stateData),this.goto=dr(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(o=>typeof o=="number"?new vn(l,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let r=new fv(this,e,t,i);for(let s of this.wrappers)r=s(r,e,t,i);return r}getGoto(e,t,i=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let l=r[s++],o=l&1,a=r[s++];if(o&&i)return a;for(let c=s+(l>>1);s<c;s++)if(r[s]==e)return a;if(o)return-1}}hasAction(e,t){let i=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),l;;s+=3){if((l=i[s])==65535)if(i[s+1]==1)l=i[s=ni(i,s+2)];else{if(i[s+1]==2)return ni(i,s+2);break}if(l==t||l==0)return ni(i,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),r=i?t(i):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=ni(this.data,s+2);else break;r=t(ni(this.data,s+1))}return r}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=ni(this.data,i+2);else break;if((this.data[i+2]&1)==0){let r=this.data[i+1];t.some((s,l)=>l&1&&s==r)||t.push(this.data[i],r)}}return t}configure(e){let t=Object.assign(Object.create(Wn.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(s=>s.from==i);return r?r.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,r)=>{let s=e.specializers.find(o=>o.from==i.external);if(!s)return i;let l=Object.assign(Object.assign({},i),{external:s.to});return t.specializers[r]=Af(l),l})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let s of e.split(" ")){let l=t.indexOf(s);l>=0&&(i[l]=!0)}let r=null;for(let s=0;s<t.length;s++)if(!i[s])for(let l=this.dialects[t[s]],o;(o=this.data[l++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[o]=1;return new dv(e,i,r)}static deserialize(e){return new Wn(e)}}function ni(n,e){return n[e]|n[e+1]<<16}function pv(n){let e=null;for(let t of n){let i=t.p.stoppedAt;(t.pos==t.p.stream.end||i!=null&&t.pos>i)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function Af(n){if(n.external){let e=n.extend?1:0;return(t,i)=>n.external(t,i)<<1|e}return n.get}const Ov=55,gv=1,mv=56,bv=2,xv=57,kv=3,Rf=4,yv=5,zc=6,vg=7,$g=8,Pg=9,Tg=10,Sv=11,wv=12,Qv=13,Mo=58,vv=14,$v=15,Mf=59,Cg=21,Pv=23,Ag=24,Tv=25,Ea=27,Rg=28,Cv=29,Av=32,Rv=35,Mv=37,Zv=38,Xv=0,Lv=1,jv={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Ev={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Zf={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function _v(n){return n==45||n==46||n==58||n>=65&&n<=90||n==95||n>=97&&n<=122||n>=161}let Xf=null,Lf=null,jf=0;function _a(n,e){let t=n.pos+e;if(jf==t&&Lf==n)return Xf;let i=n.peek(e),r="";for(;_v(i);)r+=String.fromCharCode(i),i=n.peek(++e);return Lf=n,jf=t,Xf=r?r.toLowerCase():i==zv||i==Dv?void 0:null}const Mg=60,Ol=62,Dc=47,zv=63,Dv=33,Wv=45;function Ef(n,e){this.name=n,this.parent=e}const Iv=[zc,Tg,vg,$g,Pg],qv=new Qg({start:null,shift(n,e,t,i){return Iv.indexOf(e)>-1?new Ef(_a(i,1)||"",n):n},reduce(n,e){return e==Cg&&n?n.parent:n},reuse(n,e,t,i){let r=e.type.id;return r==zc||r==Mv?new Ef(_a(i,1)||"",n):n},strict:!1}),Yv=new ft((n,e)=>{if(n.next!=Mg){n.next<0&&e.context&&n.acceptToken(Mo);return}n.advance();let t=n.next==Dc;t&&n.advance();let i=_a(n,0);if(i===void 0)return;if(!i)return n.acceptToken(t?$v:vv);let r=e.context?e.context.name:null;if(t){if(i==r)return n.acceptToken(Sv);if(r&&Ev[r])return n.acceptToken(Mo,-2);if(e.dialectEnabled(Xv))return n.acceptToken(wv);for(let s=e.context;s;s=s.parent)if(s.name==i)return;n.acceptToken(Qv)}else{if(i=="script")return n.acceptToken(vg);if(i=="style")return n.acceptToken($g);if(i=="textarea")return n.acceptToken(Pg);if(jv.hasOwnProperty(i))return n.acceptToken(Tg);r&&Zf[r]&&Zf[r][i]?n.acceptToken(Mo,-1):n.acceptToken(zc)}},{contextual:!0}),Bv=new ft(n=>{for(let e=0,t=0;;t++){if(n.next<0){t&&n.acceptToken(Mf);break}if(n.next==Wv)e++;else if(n.next==Ol&&e>=2){t>=3&&n.acceptToken(Mf,-2);break}else e=0;n.advance()}});function Vv(n){for(;n;n=n.parent)if(n.name=="svg"||n.name=="math")return!0;return!1}const Nv=new ft((n,e)=>{if(n.next==Dc&&n.peek(1)==Ol){let t=e.dialectEnabled(Lv)||Vv(e.context);n.acceptToken(t?yv:Rf,2)}else n.next==Ol&&n.acceptToken(Rf,1)});function Wc(n,e,t){let i=2+n.length;return new ft(r=>{for(let s=0,l=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(e);break}if(s==0&&r.next==Mg||s==1&&r.next==Dc||s>=2&&s<i&&r.next==n.charCodeAt(s-2))s++,l++;else if(s==i&&r.next==Ol){o>l?r.acceptToken(e,-l):r.acceptToken(t,-(l-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(e,1);break}else s=l=0;r.advance()}})}const Gv=Wc("script",Ov,gv),Uv=Wc("style",mv,bv),Fv=Wc("textarea",xv,kv),Hv=Ml({"Text RawText IncompleteTag IncompleteCloseTag":b.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":b.angleBracket,TagName:b.tagName,"MismatchedCloseTag/TagName":[b.tagName,b.invalid],AttributeName:b.attributeName,"AttributeValue UnquotedAttributeValue":b.attributeValue,Is:b.definitionOperator,"EntityReference CharacterReference":b.character,Comment:b.blockComment,ProcessingInst:b.processingInstruction,DoctypeDecl:b.documentMeta}),Kv=Wn.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:qv,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Hv],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[Gv,Uv,Fv,Nv,Yv,Bv,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function Zg(n,e){let t=Object.create(null);for(let i of n.getChildren(Ag)){let r=i.getChild(Tv),s=i.getChild(Ea)||i.getChild(Rg);r&&(t[e.read(r.from,r.to)]=s?s.type.id==Ea?e.read(s.from+1,s.to-1):e.read(s.from,s.to):"")}return t}function _f(n,e){let t=n.getChild(Pv);return t?e.read(t.from,t.to):" "}function Zo(n,e,t){let i;for(let r of t)if(!r.attrs||r.attrs(i||(i=Zg(n.node.parent.firstChild,e))))return{parser:r.parser,bracketed:!0};return null}function Xg(n=[],e=[]){let t=[],i=[],r=[],s=[];for(let o of n)(o.tag=="script"?t:o.tag=="style"?i:o.tag=="textarea"?r:s).push(o);let l=e.length?Object.create(null):null;for(let o of e)(l[o.name]||(l[o.name]=[])).push(o);return _y((o,a)=>{let c=o.type.id;if(c==Cv)return Zo(o,a,t);if(c==Av)return Zo(o,a,i);if(c==Rv)return Zo(o,a,r);if(c==Cg&&s.length){let h=o.node,u=h.firstChild,f=u&&_f(u,a),d;if(f){for(let p of s)if(p.tag==f&&(!p.attrs||p.attrs(d||(d=Zg(u,a))))){let O=h.lastChild,m=O.type.id==Zv?O.from:h.to;if(m>u.to)return{parser:p.parser,overlay:[{from:u.to,to:m}]}}}}if(l&&c==Ag){let h=o.node,u;if(u=h.firstChild){let f=l[a.read(u.from,u.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=_f(h.parent,a))continue;let p=h.lastChild;if(p.type.id==Ea){let O=p.from+1,m=p.lastChild,x=p.to-(m&&m.isError?0:1);if(x>O)return{parser:d.parser,overlay:[{from:O,to:x}],bracketed:!0}}else if(p.type.id==Rg)return{parser:d.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}const Jv=148,zf=1,e$=149,t$=150,Lg=2,i$=151,n$=3,r$=4,jg=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],s$=58,l$=40,Eg=95,o$=91,Es=45,a$=46,c$=35,h$=37,u$=38,f$=92,d$=10,p$=42;function Dr(n){return n>=65&&n<=90||n>=97&&n<=122||n>=161}function Ic(n){return n>=48&&n<=57}function Df(n){return Ic(n)||n>=97&&n<=102||n>=65&&n<=70}const _g=(n,e,t)=>(i,r)=>{for(let s=!1,l=0,o=0;;o++){let{next:a}=i;if(Dr(a)||a==Es||a==Eg||s&&Ic(a))!s&&(a!=Es||o>0)&&(s=!0),l===o&&a==Es&&l++,i.advance();else if(a==f$&&i.peek(1)!=d$){if(i.advance(),Df(i.next)){do i.advance();while(Df(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();s=!0}else{s&&i.acceptToken(l==2&&r.canShift(Lg)?e:a==l$?t:n);break}}},O$=new ft(_g(e$,Lg,t$),{contextual:!0}),g$=new ft(_g(i$,n$,r$),{contextual:!0}),m$=new ft(n=>{if(jg.includes(n.peek(-1))){let{next:e}=n;(Dr(e)||e==Eg||e==c$||e==a$||e==p$||e==o$||e==s$&&Dr(n.peek(1))||e==Es||e==u$)&&n.acceptToken(Jv)}}),b$=new ft(n=>{if(!jg.includes(n.peek(-1))){let{next:e}=n;if(e==h$&&(n.advance(),n.acceptToken(zf)),Dr(e)){do n.advance();while(Dr(n.next)||Ic(n.next));n.acceptToken(zf)}}}),x$=Ml({"AtKeyword import charset namespace keyframes media supports font-feature-values":b.definitionKeyword,"from to selector scope MatchFlag":b.keyword,NamespaceName:b.namespace,KeyframeName:b.labelName,KeyframeRangeName:b.operatorKeyword,TagName:b.tagName,ClassName:b.className,PseudoClassName:b.constant(b.className),IdName:b.labelName,"FeatureName PropertyName":b.propertyName,AttributeName:b.attributeName,NumberLiteral:b.number,KeywordQuery:b.keyword,UnaryQueryOp:b.operatorKeyword,"CallTag ValueName FontName":b.atom,VariableName:b.variableName,Callee:b.operatorKeyword,Unit:b.unit,"UniversalSelector NestingSelector":b.definitionOperator,"MatchOp CompareOp":b.compareOperator,"ChildOp SiblingOp, LogicOp":b.logicOperator,BinOp:b.arithmeticOperator,Important:b.modifier,Comment:b.blockComment,ColorLiteral:b.color,"ParenthesizedContent StringLiteral":b.string,":":b.punctuation,"PseudoOp #":b.derefOperator,"; , |":b.separator,"( )":b.paren,"[ ]":b.squareBracket,"{ }":b.brace}),k$={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:158,"url-prefix":158,domain:158,regexp:158},y$={__proto__:null,or:104,and:104,not:112,only:112,layer:212},S$={__proto__:null,selector:118,style:124,layer:208},w$={__proto__:null,"@import":204,"@media":216,"@charset":220,"@namespace":224,"@keyframes":230,"@supports":242,"@scope":246,"@font-feature-values":252},Q$={__proto__:null,to:249},v$=Wn.deserialize({version:14,states:"MrQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FqO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#ERO'dQdO'#ETO'oQdO'#E[O'oQdO'#E_OOQP'#Fq'#FqO)RQhO'#FQOOQS'#Fp'#FpOOQS'#FT'#FTQYQdOOO)YQdO'#EeO*iQhO'#EkO)YQdO'#EmO*pQdO'#EoO*{QdO'#ErO)}QhO'#ExO+TQdO'#EzO+`QdO'#E}O+eQaO'#CfO+lQ`O'#EbO+qQ`O'#F}O+|QdO'#F}QOQ`OOP,WO&jO'#CaPOOO)CA`)CA`OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:mO'dQdO,5:oO'oQdO,5:vO'oQdO,5:xO'oQdO,5:yO'oQdO'#F[O,nQ`O,58}O,vQdO'#EaOOQS,58},58}OOQP'#Cq'#CqOOQO'#EP'#EPOOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#ES'#ESOOQP,5:m,5:mO-XQpO'#EUO-dQdO'#EVO-iQ`O'#EVO-nQpO,5:oO.XQaO,5:vO.oQaO,5:yOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;lO)}QhO'#DeO0`Q`O'#DnO0eQhO'#D{OOQW'#Fw'#FwOOQS,5;l,5;lO0jQ`O'#DhO0oQ`O'#DkOOQS-E9R-E9ROOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5;POOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FtO6|Q`O'#DYO7RQ`O'#D|OOQ['#Ft'#FtO7WQhO'#GQO7fQ`O,5;VO7kQ!bO,5;XOOQS'#Eq'#EqO7sQ`O,5;ZO7xQdO,5;ZOOQO'#Et'#EtO8QQ`O,5;^O8VQhO,5;dO'oQdO'#DjOOQS,5;f,5;fO0jQ`O,5;fO8_QdO,5;fOOQS'#Fc'#FcO8gQdO'#FPO7fQ`O,5;iO8oQdO,5:|O9PQdO'#F^O9^Q`O,5<iO9^Q`O,5<iPOOO'#FS'#FSP9iO&jO,58{POOO,58{,58{OOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO,}Q`O1G.tO-SQ`O1G.tOOQP1G0X1G0XO9tQpO1G0ZO9|QaO1G0bO:dQaO1G0dO:zQaO1G0eO;bQaO,5;vOOQO-E9Y-E9YOOQS1G.i1G.iO;lQ`O,5:{O;qQdO'#EQO;xQdO'#CuOOQO'#EX'#EXOOQO,5:q,5:qO-dQdO,5:qOOQP1G0Z1G0ZO)YQdO1G0ZO<PQ!jO'#D^O<_Q!bO,59yO<gQhO,5:ROOQO'#Fx'#FxO<bQ!bO,59}O<oQhO'#FdO)}QhO,59{O)}QhO'#FdO=gQhO1G1WOOQS1G1W1G1WO=qQhO,5:PO>lQhO'#DoOOQW,5:Y,5:YOOQW,5:g,5:gOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FuOOQS'#Fu'#FuOOQS'#FV'#FVO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EgOOQW'#Eg'#EgOBuQ`O1G0kO4oQhO1G0kOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:hOCVQhO'#F`OCdQ`O,5<lOOQS1G0q1G0qOOQS1G0s1G0sOOQS1G0u1G0uOCoQ`O1G0uOCtQdO'#EuOOQS1G0x1G0xOOQS1G1O1G1OODPQaO,5:UO7fQ`O1G1QOOQS1G1Q1G1QO0jQ`O1G1QOOQS-E9a-E9aOOQS1G1T1G1TODWQ!fO1G0hODnQ`O'#EdOOQO1G0h1G0hOOQO,5;x,5;xODsQdO,5;xOOQO-E9[-E9[OEQQ`O1G2TPOOO-E9Q-E9QPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%u7+%uO)YQdO7+%uOOQS1G0g1G0gOE]QaO'#F|OEgQ`O,5:lOElQ!fO'#FUOFjQdO'#FsOFtQ`O,59aOOQO1G0]1G0]OFyQ!bO7+%uO)YQdO1G/eOGUQhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOGgQhO,5<OOOQW-E9b-E9bOOQS7+&r7+&rOH_QhO'#D^OHmQhO'#F{OHxQ`O'#F{OH}Q`O,5:ZOISQ!bO'#D`O>vQhO'#DmOI_QhO'#DsOIgQhO'#DuOIlQ!jO'#FzOOQO'#Fz'#FzOIwQ`O'#DxOJPQ!bO'#DzOOQO'#Fy'#FyOJUQ`O1G/qOOQS-E9T-E9TOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJZQdO,5;ROOQS7+&V7+&VOJ`Q`O7+&VOJeQhO'#D]OJmQ`O,59vO)}QhO,59vOOQ[1G0S1G0SOJuQ`O1G0SOJzQhO,5;zOOQO-E9^-E9^OOQS7+&a7+&aOKYQbO'#DSOOQO'#Ew'#EwOKhQ`O'#EvOOQO'#Ev'#EvOKsQ`O'#FaOK{QdO,5;aOOQS,5;a,5;aOOQ[1G/p1G/pOOQS7+&l7+&lO7fQ`O7+&lOLWQ!fO'#F]O)YQdO'#F]OM_QdO7+&SOOQO7+&S7+&SOOQO,5;O,5;OOOQO1G1d1G1dOMrQ!bO<<IaOM}QdO'#FZONXQ`O,5<hOOQP1G0W1G0WOOQS-E9S-E9SONaQdO'#FYONkQ`O,5<_OOQ]1G.{1G.{OOQP<<Ia<<IaONsQ`O<<IaONxQdO7+%POOQO'#D`'#D`O! PQ!bO7+%TO! XQhO'#FXO! fQ`O,5<gO)YQdO,5<gOOQW1G/u1G/uO! nQ`O,5:XO>vQhO'#DtOOQO,5:_,5:_O! sQhO,5:aO! {QhO,5:fO)YQdO,5:dOOQW7+%]7+%]OOQO'#Ei'#EiO!!SQ`O1G0mOOQS<<Iq<<IqO)YQdO,59wO!!vQhO1G/bOOQ[1G/b1G/bO!!}Q`O1G/bOOQW-E9U-E9UOOQ[7+%n7+%nOOQO,5;b,5;bOCwQdO'#FbOKsQ`O,5;{OOQS,5;{,5;{OOQS-E9_-E9_OOQS1G0{1G0{OOQS<<JW<<JWO!#VQ!fO,5;wOOQS-E9Z-E9ZOOQO<<In<<InOOQPAN>{AN>{O!$^Q`OAN>{O!$cQaO,5;uOOQO-E9X-E9XO!$mQdO,5;tOOQO-E9W-E9WOOQW<<Hk<<HkOOQW<<Ho<<HoO!$wQhO<<HoO!%YQhO'#D^O!%hQhO,5;sO!%sQ`O,5;sOOQO-E9V-E9VO!%xQdO1G2RO!&SQhO1G/sO!&[Q`O,5:`O>vQhO'#DwOOQO1G/{1G/{O!&aQ!bO1G0QO!&iQdO1G0OOJZQdO'#F_O!&pQ`O7+&XOOQW7+&X7+&XO!&xQ!bO1G/cOOQ[7+$|7+$|O!'TQhO7+$|P!'[Q`O'#FWOOQO,5;|,5;|OOQO-E9`-E9`OOQS1G1g1G1gOOQPG24gG24gO!'aQ`OAN>ZO)YQdO1G1_O!'fQ`O7+'mOOQO1G/z1G/zO!'nQ`O,5:cO!'sQhO7+%lOOQO,5;y,5;yOOQO-E9]-E9]OOQW<<Is<<IsOOQ[<<Hh<<HhPOQW,5;r,5;rOOQWG23uG23uO!'zQdO7+&yOOQO1G/}1G/}OOQO<<IW<<IW",stateData:"!(_~O$_OS$`QQ~OWVO^_O`WOcYOdYOl`OmZOp[O#P]O#S^O#YdO#`eO#bfO#dgO#ghO#miO#ojO#rkO$ZRO$fTO~OQmOWVO^_O`WOcYOdYOl`OmZOp[O#P]O#S^O#YdO#`eO#bfO#dgO#ghO#miO#ojO#rkO$ZlO$fTO~O$X$qP~P!jO$`qO~O`YXcYXdYXmYXpYXsYX!eYX#PYX#SYX$YYX$f[X~OgYX~P$ZO$ZsO~O$fuO~O$fuO`$eXc$eXd$eXm$eXp$eXs$eX!e$eX#P$eX#S$eX$Y$eXg$eX~O$ZvO~O`xOcyOdyOmzOp{O#P|O#S!OO$Y}O~Os!RO!e!PO~P&^Of!XO$Z!TO$[!UO~O$Z!YO~OW!^O$Z![O$f!]O~OWVO^_O`WOcYOdYOmZOp[O#P]O#S^O$ZRO$fTO~OS!fOc!gOd!gOh!cOs!RO!Y!eO!]!jO!`!kO$]!bO~On!iO~P(dOQ!uOh!nOp!oOs!pOu!xOw!xO}!vO!q!wO$Z!mO$[!sO$j!qO~OS!fOc!gOd!gOh!cO!Y!eO!]!jO!`!kO$]!bO~Os$tP~P)}Ow!}O!q!wO$Z!|O~Ow#PO$Z#PO~Oh#SOs!RO#p#UO~O$Z#WO~Oc#VX~P$ZOc#ZO~On#[O$X$qXr$qX~O$X$qXr$qX~P!jO$a#_O$b#_O$c#aO~Of#fO$Z!TO$[!UO~Os!RO!e!PO~Or$qP~P!jOh#pO~Oh#qO~Oo!xX!|!xX$f!zX~O$Z#rO~O$f#tO~Oo#uO!|#vO~O`xOcyOdyOmzOp{O~Os#Oa!e#Oa#P#Oa#S#Oa$Y#Oag#Oa~P-vOs#Ra!e#Ra#P#Ra#S#Ra$Y#Rag#Ra~P-vOS!fOc!gOd!gOh!cO!Y!eO!]!jO!`!kO~OR#zOu#zOw#zO$]#wO$j!qO~P/VOn$QO!U#}O!e$OO~P(dOh$SO~O$]$UO~Oh#SO~Oh$WO~O`$YOc$YOg$]Ol$YOm$YOn$YO~P)YO`$YOc$YOl$YOm$YOn$YOo$_O~P)YO`$YOc$YOl$YOm$YOn$YOr$aO~P)YOP$bOSvXcvXdvXhvXnvXyvX!YvX!]vX!`vX#[vX#^vX$]vX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!qvX$ZvX$[vX$jvXovXrvX!evX$XvX$svX!}vX~Oy$cO#[$dO#^$eOn$tP~P)}Oh#qOS$hXc$hXd$hXn$hXy$hX!Y$hX!]$hX!`$hX#[$hX#^$hX$]$hXQ$hX`$hXg$hXl$hXm$hXp$hXs$hXu$hXw$hX}$hX!q$hX$Z$hX$[$hX$j$hXo$hXr$hX!e$hX$X$hX$s$hX!}$hX~Oh$iO~Oh$kO~O!U#}O!e$lOs$tXn$tX~Os!RO~On$oOy$cO~On$pO~Ow$qO!q!wO~Os$rO~Os!RO!U#}O~Os!RO#p$xO~O$Z#WOs#sX~O$s$|On#Ua$X#Uar#Ua~P)YOn$QX$X$QXr$QX~P!jOn#[O$X$qar$qa~O$a#_O$b#_O$c%TO~Oo%VO!|%WO~Os#Oi!e#Oi#P#Oi#S#Oi$Y#Oig#Oi~P-vOs#Qi!e#Qi#P#Qi#S#Qi$Y#Qig#Qi~P-vOs#Ri!e#Ri#P#Ri#S#Ri$Y#Rig#Ri~P-vOs$Oa!e$Oa~P&^Or%XO~Og$pP~P'oOg$gP~P)YOc!SXg!QX!U!QX!W!SX~Oc%aO!W%bO~Og%cO!U#}O~O!U#}OS$WXc$WXd$WXh$WXn$WXs$WX!Y$WX!]$WX!`$WX!e$WX$]$WX~On%gO!e$OO~P(dO!U#}OS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!`!Xa!e!Xa$]!Xag!Xa~O$]%hOg$oP~P/VOR#zOS!fOh%mOu#zOw#zO!Y%nO$]%lO$j!qO~Oy$cOQ$iX`$iXc$iXg$iXh$iXl$iXm$iXn$iXp$iXs$iXu$iXw$iX}$iX!q$iX$Z$iX$[$iX$j$iXo$iXr$iX~O`$YOc$YOg%wOl$YOm$YOn$YO~P)YO`$YOc$YOl$YOm$YOn$YOo%xO~P)YO`$YOc$YOl$YOm$YOn$YOr%yO~P)YOh%{OS#ZXc#ZXd#ZXn#ZX!Y#ZX!]#ZX!`#ZX$]#ZX~On%|O~Og&ROw&SO!r&SO~Os$SX!e$SXn$SX~P)}O!e$lOs$tan$ta~On&VO~Or&^O$Z&XO$j&WO~Og&_O~P&^Oy$cO!e&cO$s$|On#Ui$X#Uir#Ui~P)YO$r&fO~On$Qa$X$Qar$Qa~P!jOn#[O$X$qir$qi~O!e&iOg$pX~P&^Og&kO~Oy$cOQ#xXg#xXh#xXp#xXs#xXu#xXw#xX}#xX!e#xX!q#xX$Z#xX$[#xX$j#xX~O!e&mOg$gX~P)YOg&oO~Oo&pOy$cO!}&qO~OR#zOu#zOw#zO$]&sO$j!qO~O!U#}OS$Wac$Wad$Wah$Wan$Was$Wa!Y$Wa!]$Wa!`$Wa!e$Wa$]$Wa~Oc!dXg!QX!U!QX!e!QX~O!U#}O!e&uOg$oX~Oc&wO~Og&xO~Oc!mXg!mX!W!SX~OS!fOh&zO~O!U&|O~O!U&|O!W&}Og$nX~Oc'OOg!lX~O!W&}O~Og'PO~O$Z'QO~On'SO~Oc'TO!U#}O~Og'VOn'UO~Og'YO~O!U#}Os$Sa!e$San$Sa~OP$bOsvX!evXgvX~O$j&WOs#jX!e#jX~Os!RO!e'[O~Or'`O$Z&XO$j&WO~Oy$cOQ$PXh$PXn$PXp$PXs$PXu$PXw$PX}$PX!e$PX!q$PX$X$PX$Z$PX$[$PX$j$PX$s$PXr$PX~O!e&cO$s$|On#Uq$X#Uqr#Uq~P)YOo'eOy$cO!}'fO~Og#}X!e#}X~P'oO!e&iOg$pa~Og#|X!e#|X~P)YO!e&mOg$ga~Oo'eO~Og'kO~P)YOg'lO!W'mO~O$]'nOg#{X!e#{X~P/VO!e&uOg$oa~Og'sO~OS!fOh'uO~OS!fO~PGUO`'yOg'{O~OS#zac#zad#zah#za!Y#za!]#za!`#za$]#za~Og'}O~P!![Og'}On(OO~Oy$cOQ$Pah$Pan$Pap$Pas$Pau$Paw$Pa}$Pa!e$Pa!q$Pa$X$Pa$Z$Pa$[$Pa$j$Pa$s$Par$Pa~Oo(TO~Og#}a!e#}a~P&^Og#|a!e#|a~P)YOR#zOu#zOw#zO$]&sO$j&WO~Oc!fXg!QX!U!QX!e!QX~O!U#}Og#{a!e#{a~Oc(VO~O!e&uOg$oi~P)YOg!ai!U!ji~Og(XO~O!W(ZOg!ni~Og!li~P)YO`'yOg(^O~Oy$cOg!Pin!Pi~Og(_O~P!![On(`O~Og(aO~O!e&uOg$oq~Og(cO~OS!fO~P!$wOg#{q!e#{q~P)YO$_!r$`$j`$jy#S~",goto:"7g$uPPPPP$vP$yP%S%f%S%x&[P%SP&b%SPP&hPPP&n&x&xPPPPP&xPP&xP'hP&xP&x(k&xP)Z)^)d)d)v)dP)dP)dP)d)dP*])dP*i*o+e+hP+k*i+n*i+q+w+z,Q+z)d,WPP,|-S%S-Y%S-`-`-f-jPP%SP%S%SP-p.l.y/Q$yP/ZP/^P$yP$yP$yP/d$yP/g/j/m/t$yP$yPP$yP/y$yP/|0S0c0}1]1c1m1s1y2P2V2a2g2m2s2y3PPPPPPPPPPPP3V3`P4U4X5]P5e6_6t+z7Q7T7WPP7^RrQ_aOPco!R#[%Pq_OP]^co|}!O!P!R#S#[#p%P&iqSOP]^co|}!O!P!R#S#[#p%P&iqUOP]^co|}!O!P!R#S#[#p%P&iQtTR#buQwWR#cxQ!VYR#dyQ#d!XS$h!t!uR%U#f!Z!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(b!Y!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bb#z!c$W%b%m&z&}'m'u(ZU&Z$r&]'[R'Z&Y!Z!tdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bR$j!vQ&P$iR'W&Qq!h`ei!c!d!e!r#}$O$P$S$g$i$l&Q&uQ#x!cW%s$W%m&z'uQ&t%bQ'w&}Q(U'mR(d(ZQ#VjQ$V!jQ$v#UR&a$xX%q$W%m&z'up!h`ei!c!d!e!r#}$O$P$S$g$i$l&Q&uW%p$W%m&z'uQ&{%nQ'v&|Q'w&}R(d(ZR$T!fR%j$SR'p&uR&{%nX%o$W%m&z'uR'v&|X%t$W%m&z'uX%r$W%m&z'u!Y!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bQ!}gR$q#OQ!WYR#eyQ#d!WR%U#eQ!ZZR#gzQ!_[R#h{T!^[{Q#s!]R%_#tQ!SXQ!i`Q#TjQ#n!QQ$Q!dQ$n!zQ$t#RQ$w#VQ$z#YQ%g$PQ&`$vQ'^&[Q'a&aR(S']SnP!RQ#^oQ%O#[R&g%PZmPo!R#[%PQ$}#ZQ&e${R'd&dR$g!rQ'R%{R(['yR#OgR#QhR$s#QS&[$r&]R(Q'[V&Y$r&]'[R#YkQ#`qR%S#`QcOSoP!RU!lco%PR%P#[Q%]#q[&l%]&r'i'r'x(bQ&r%aQ'i&mQ'r&wQ'x'OR(b(VQ$[!nQ$^!oQ$`!pV%v$[$^$`Q&Q$iR'X&QQ&v%iS'q&v(WR(W'rQ&n%]R'j&nQ&j%YR'h&jQ!QXR#m!QQ&d${R'c&dQ#]nS%Q#]%RR%R#^Q'z'RR(]'zQ$m!yR&U$mQ&]$rR'_&]Q']&[R(R']Q#XkR$y#XQ$P!dR%f$P_bOPco!R#[%P^XOPco!R#[%PQ!`]Q!a^Q#i|Q#j}Q#k!OQ#l!PQ$u#SQ%Y#pR'g&iR%^#qQ!rdQ!{f[$X!n!o!p$[$^$`Q${#Zh%[#q%]%a&m&r&w'O'i'r'x(V(bQ%`#vQ%z$cS&b${&dQ&h%WQ'b&cR'|'T]$Z!n!o!p$[$^$`Q!d`U!ye!r$gQ#RiQ#y!cS#|!d$PQ$R!eQ%d#}Q%e$OQ%i$SS&O$i&QQ&T$lR'o&uQ#{!cW%s$W%m&z'uQ&t%bQ'w&}Q(U'mR(d(ZQ%u$WQ&y%mQ't&zR(Y'uR%k$SR%Z#pQpPR#o!RQ!zeQ$f!rR%}$g",nodeNames:"⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector StyleQuery style ParenthesedQuery CallQuery ArgList PropertyName , PropertyName UnaryQuery ParenthesedQuery BinaryQuery ParenthesedQuery ParenthesedQuery StyleFeature PropertyName StyleRange PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName NamespacedAttribute NamespaceName AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",maxTerm:174,nodeProps:[["isolate",-2,5,39,""],["openedBy",23,"(",31,"[",34,"{"],["closedBy",24,")",32,"]",35,"}"]],propSources:[x$],skippedNodes:[0,5,130],repeatNodeCount:17,tokenData:"K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!r`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$_~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$_~!r`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$sYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!r`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!r`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!r`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!r`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!r`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!r`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!r`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!r`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!|S!r`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#SQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!r`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!r`$jYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!r`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!r`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!r`$jYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!r`$jYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!eYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!r`$`~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$jYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!r`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!r`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!|SOy%jz;'S%j;'S;=`%{<%lO%jj@uV#PQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS#PQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!r`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!r`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!}WOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!}WOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!r`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!r`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!r`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!r`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!r`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!r`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!r`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$rQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$fUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#SQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[m$,b$,O$,g$,1,2,3,4,new pl("m~RRYZ[z{a~~g~aO$b~~dP!P!Qg~lO$c~~",28,155)],topRules:{StyleSheet:[0,6],Styles:[1,129]},dynamicPrecedences:{97:1},specialized:[{term:150,get:n=>k$[n]||-1},{term:151,get:n=>y$[n]||-1},{term:4,get:n=>S$[n]||-1},{term:28,get:n=>w$[n]||-1},{term:149,get:n=>Q$[n]||-1}],tokenPrec:2444});let Xo=null;function Lo(){if(!Xo&&typeof document=="object"&&document.body){let{style:n}=document.body,e=[],t=new Set;for(let i in n)i!="cssText"&&i!="cssFloat"&&typeof n[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Xo=e.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return Xo||[]}const Wf=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(n=>({type:"class",label:n})),If=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(n=>({type:"keyword",label:n})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(n=>({type:"constant",label:n}))),$$=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(n=>({type:"type",label:n})),P$=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(n=>({type:"keyword",label:n})),ii=/^(\w[\w-]*|-\w[\w-]*|)$/,T$=/^-(-[\w-]*)?$/;function C$(n,e){var t;if((n.name=="("||n.type.isError)&&(n=n.parent||n),n.name!="ArgList")return!1;let i=(t=n.parent)===null||t===void 0?void 0:t.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}const qf=new Fp,A$=["Declaration"];function R$(n){for(let e=n;;){if(e.type.isTop)return e;if(!(e=e.parent))return n}}function zg(n,e,t){if(e.to-e.from>4096){let i=qf.get(e);if(i)return i;let r=[],s=new Set,l=e.cursor(re.IncludeAnonymous);if(l.firstChild())do for(let o of zg(n,l.node,t))s.has(o.label)||(s.add(o.label),r.push(o));while(l.nextSibling());return qf.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(s=>{var l;if(t(s)&&s.matchContext(A$)&&((l=s.node.nextSibling)===null||l===void 0?void 0:l.name)==":"){let o=n.sliceString(s.from,s.to);r.has(o)||(r.add(o),i.push({label:o,type:"variable"}))}}),i}}const M$=n=>e=>{let{state:t,pos:i}=e,r=ye(t).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Lo(),validFor:ii};if(r.name=="ValueName")return{from:r.from,options:If,validFor:ii};if(r.name=="PseudoClassName")return{from:r.from,options:Wf,validFor:ii};if(n(r)||(e.explicit||s)&&C$(r,t.doc))return{from:n(r)||s?r.from:i,options:zg(t.doc,R$(r),n),validFor:T$};if(r.name=="TagName"){for(let{parent:a}=r;a;a=a.parent)if(a.name=="Block")return{from:r.from,options:Lo(),validFor:ii};return{from:r.from,options:$$,validFor:ii}}if(r.name=="AtKeyword")return{from:r.from,options:P$,validFor:ii};if(!e.explicit)return null;let l=r.resolve(i),o=l.childBefore(i);return o&&o.name==":"&&l.name=="PseudoClassSelector"?{from:i,options:Wf,validFor:ii}:o&&o.name==":"&&l.name=="Declaration"||l.name=="ArgList"?{from:i,options:If,validFor:ii}:l.name=="Block"||l.name=="Styles"?{from:i,options:Lo(),validFor:ii}:null},Z$=M$(n=>n.name=="VariableName"),gl=_n.define({name:"css",parser:v$.configure({props:[Xl.add({Declaration:Xs()}),Ll.add({"Block KeyframeList":rO})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function X$(){return new xc(gl,gl.data.of({autocomplete:Z$}))}const L$=316,j$=317,Yf=1,E$=2,_$=3,z$=4,D$=318,W$=320,I$=321,q$=5,Y$=6,B$=0,za=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Dg=125,V$=59,Da=47,N$=42,G$=43,U$=45,F$=60,H$=44,K$=63,J$=46,eP=91,tP=new Qg({start:!1,shift(n,e){return e==q$||e==Y$||e==W$?n:e==I$},strict:!1}),iP=new ft((n,e)=>{let{next:t}=n;(t==Dg||t==-1||e.context)&&n.acceptToken(D$)},{contextual:!0,fallback:!0}),nP=new ft((n,e)=>{let{next:t}=n,i;za.indexOf(t)>-1||t==Da&&((i=n.peek(1))==Da||i==N$)||t!=Dg&&t!=V$&&t!=-1&&!e.context&&n.acceptToken(L$)},{contextual:!0}),rP=new ft((n,e)=>{n.next==eP&&!e.context&&n.acceptToken(j$)},{contextual:!0}),sP=new ft((n,e)=>{let{next:t}=n;if(t==G$||t==U$){if(n.advance(),t==n.next){n.advance();let i=!e.context&&e.canShift(Yf);n.acceptToken(i?Yf:E$)}}else t==K$&&n.peek(1)==J$&&(n.advance(),n.advance(),(n.next<48||n.next>57)&&n.acceptToken(_$))},{contextual:!0});function jo(n,e){return n>=65&&n<=90||n>=97&&n<=122||n==95||n>=192||!e&&n>=48&&n<=57}const lP=new ft((n,e)=>{if(n.next!=F$||!e.dialectEnabled(B$)||(n.advance(),n.next==Da))return;let t=0;for(;za.indexOf(n.next)>-1;)n.advance(),t++;if(jo(n.next,!0)){for(n.advance(),t++;jo(n.next,!1);)n.advance(),t++;for(;za.indexOf(n.next)>-1;)n.advance(),t++;if(n.next==H$)return;for(let i=0;;i++){if(i==7){if(!jo(n.next,!0))return;break}if(n.next!="extends".charCodeAt(i))break;n.advance(),t++}}n.acceptToken(z$,-t)}),oP=Ml({"get set async static":b.modifier,"for while do if else switch try catch finally return throw break continue default case defer":b.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":b.operatorKeyword,"let var const using function class extends":b.definitionKeyword,"import export from":b.moduleKeyword,"with debugger new":b.keyword,TemplateString:b.special(b.string),super:b.atom,BooleanLiteral:b.bool,this:b.self,null:b.null,Star:b.modifier,VariableName:b.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":b.function(b.variableName),VariableDefinition:b.definition(b.variableName),Label:b.labelName,PropertyName:b.propertyName,PrivatePropertyName:b.special(b.propertyName),"CallExpression/MemberExpression/PropertyName":b.function(b.propertyName),"FunctionDeclaration/VariableDefinition":b.function(b.definition(b.variableName)),"ClassDeclaration/VariableDefinition":b.definition(b.className),"NewExpression/VariableName":b.className,PropertyDefinition:b.definition(b.propertyName),PrivatePropertyDefinition:b.definition(b.special(b.propertyName)),UpdateOp:b.updateOperator,"LineComment Hashbang":b.lineComment,BlockComment:b.blockComment,Number:b.number,String:b.string,Escape:b.escape,ArithOp:b.arithmeticOperator,LogicOp:b.logicOperator,BitOp:b.bitwiseOperator,CompareOp:b.compareOperator,RegExp:b.regexp,Equals:b.definitionOperator,Arrow:b.function(b.punctuation),": Spread":b.punctuation,"( )":b.paren,"[ ]":b.squareBracket,"{ }":b.brace,"InterpolationStart InterpolationEnd":b.special(b.brace),".":b.derefOperator,", ;":b.separator,"@":b.meta,TypeName:b.typeName,TypeDefinition:b.definition(b.typeName),"type enum interface implements namespace module declare":b.definitionKeyword,"abstract global Privacy readonly override":b.modifier,"is keyof unique infer asserts":b.operatorKeyword,JSXAttributeValue:b.attributeValue,JSXText:b.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":b.angleBracket,"JSXIdentifier JSXNameSpacedName":b.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":b.attributeName,"JSXBuiltin/JSXIdentifier":b.standard(b.tagName)}),aP={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},cP={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},hP={__proto__:null,"<":193},uP=Wn.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-E<j-E<jO9kQ`O,5=_O!$rQ`O,5=_O!$wQlO,5;ZO!&zQMhO'#EkO!(eQ`O,5;ZO!(jQlO'#DyO!(tQpO,5;dO!(|QpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)[QlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IpO!+_Q!0LrO,5<iO%[QlO,5;eO!&zQMhO,5;eO!+|QMhO,5;eO!-nQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-uQ,UO'#FjO!.rQ,UO'#KXO!.^Q,UO'#KXO!.yQ,UO'#KXOOQO'#KX'#KXO!/_Q,UO,5<SOOOW,5<`,5<`O!/pQlO'#FvOOOW'#Io'#IoO7VO7dO,5<QO!/wQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0hQ$IUO'#CyOOQ!0Lh'#C}'#C}O!0{O#@ItO'#DRO!1iQMjO,5<eO!1pQ`O,5<hO!3YQ(CWO'#GXO!3jQ`O'#GYO!3oQ`O'#GYO!5_Q(CWO'#G^O!6dQpO'#GbOOQO'#Gn'#GnO!,TQMhO'#GmOOQO'#Gp'#GpO!,TQMhO'#GoO!7VQ$IUO'#JlOOQ!0Lh'#Jl'#JlO!7aQ`O'#JkO!7oQ`O'#JjO!7wQ`O'#CuOOQ!0Lh'#C{'#C{O!8YQ`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO!8_Q`O,5<eO1SQ`O'#DZO!,TQMhO'#GPO!,TQMhO'#GRO!8gQ`O'#GTO!8lQ`O'#GUO!3oQ`O'#G[O!,TQMhO'#GaO<]Q`O'#JkO!8qQ`O'#EqO!9`Q`O,5<gOOQ!0Lb'#Cr'#CrO!9hQ`O'#ErO!:bQpO'#EsOOQ!0Lb'#KR'#KRO!:iQ!0LrO'#KaO9uQ!0LrO,5=cO`QlO,5>tOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!<hQ!0MxO,5:bO!:]QpO,5:`O!?RQ!0MxO,5:jO%[QlO,5:jO!AiQ!0MxO,5:lOOQO,5@z,5@zO!BYQMhO,5=_O!BhQ!0LrO'#JiO9`Q`O'#JiO!ByQ!0LrO,59ZO!CUQpO,59ZO!C^QMhO,59ZO:dQMhO,59ZO!CiQ`O,5;ZO!CqQ`O'#HbO!DVQ`O'#KdO%[QlO,5;}O!:]QpO,5<PO!D_Q`O,5=zO!DdQ`O,5=zO!DiQ`O,5=zO!DwQ`O,5=zO9uQ!0LrO,5=zO<]Q`O,5=jOOQO'#Cy'#CyO!EOQpO,5=gO!EWQMhO,5=hO!EcQ`O,5=jO!EhQ!bO,5=mO!EpQ`O'#K`O?YQ`O'#HWO9kQ`O'#HYO!EuQ`O'#HYO:dQMhO'#H[O!EzQ`O'#H[OOQ[,5=p,5=pO!FPQ`O'#H]O!FbQ`O'#CoO!FgQ`O,59PO!FqQ`O,59PO!HvQlO,59POOQ[,59P,59PO!IWQ!0LrO,59PO%[QlO,59PO!KcQlO'#HeOOQ['#Hf'#HfOOQ['#Hg'#HgO`QlO,5=}O!KyQ`O,5=}O`QlO,5>TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-E<f-E<fO#)kQ!0MSO,5;RODWQpO,5:rO#)uQpO,5:rODWQpO,5;RO!ByQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#*SQ!0LrO,5;RO#*_Q!0LrO,5;RO!CUQpO,5:rOOQO,5;X,5;XO#*mQ!0LrO,5;RPOOO'#I^'#I^P#+RO&2DjO,58|POOO,58|,58|OOOO-E<^-E<^OOQ!0Lh1G.p1G.pOOOO-E<_-E<_OOOO,59},59}O#+^Q!bO,59}OOOO-E<a-E<aOOQ!0Lf1G/g1G/gO#+cQ!fO,5?OO+}QlO,5?OOOQO,5?U,5?UO#+mQlO'#IdOOQO-E<b-E<bO#+zQ`O,5@`O#,SQ!fO,5@`O#,ZQ`O,5@nOOQ!0Lf1G/m1G/mO%[QlO,5@oO#,cQ`O'#IjOOQO-E<h-E<hO#,ZQ`O,5@nOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@lO#,wQ!0LrO,5@lO#-YQ!0LrO,5@lO#-aQ`O,5@kO9eQ`O,5@kO#-iQ`O,5@kO#-wQ`O'#ImO#-aQ`O,5@kOOQ!0Lb1G0w1G0wO!(tQpO,5:uO!)PQpO,5:uOOQS,5:w,5:wO#.iQdO,5:wO#.qQMhO1G2yO9kQ`O1G2yOOQ!0Lf1G0u1G0uO#/PQ!0MxO1G0uO#0UQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0rQ!0MzO'#JlO!$wQlO1G0uO#2}Q!fO'#JwO%[QlO'#JwO#3XQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#3^Q`O1G1OO#5rQ!0MxO1G1PO#5yQ!0MxO1G1PO#8aQ!0MxO1G1PO#8hQ!0MxO1G1PO#;OQ!0MxO1G1PO#=fQ!0MxO1G1PO#=mQ!0MxO1G1PO#=tQ!0MxO1G1PO#@[Q!0MxO1G1PO#@cQ!0MxO1G1PO#BpQ?MtO'#CiO#DkQ?MtO1G1`O#DrQ?MtO'#JsO#EVQ!0MxO,5?[OOQ!0Lb-E<n-E<nO#GdQ!0MxO1G1PO#HaQ!0MzO1G1POOQ!0Lf1G1P1G1PO#IdQMjO'#J|O#InQ`O,5:xO#IsQ!0MxO1G1cO#JgQ,UO,5<WO#JoQ,UO,5<XO#JwQ,UO'#FoO#K`Q`O'#FnOOQO'#KY'#KYOOQO'#In'#InO#KeQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#KvQ?MtO'#JrO#LQQ`O,5<bO!)[QlO,5<bOOOW-E<m-E<mOOQ!0Lf1G1l1G1lO#LVQpO'#KXOOQ!0Lf,5<d,5<dO#L_QpO,5<dO#LdQMhO'#DTOOOO'#Ib'#IbO#LkO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8lQ`O'#IrO#LvQ`O,5<zOOQ!0Lh,5<w,5<wO!,TQMhO'#IuO#MdQMjO,5=XO!,TQMhO'#IwO#NVQMjO,5=ZO!&zQMhO,5=]OOQO1G2S1G2SO#NaQ!dO'#CrO#NtQ(CWO'#ErO$ |QpO'#GbO$!dQ!dO,5<sO$!kQ`O'#K[O9eQ`O'#K[O$!yQ`O,5<uO$#aQ!dO'#C{O!,TQMhO,5<tO$#kQ`O'#GZO$$PQ`O,5<tO$$UQ!dO'#GWO$$cQ!dO'#K]O$$mQ`O'#K]O!&zQMhO'#K]O$$rQ`O,5<xO$$wQlO'#JvO$%RQpO'#GcO#$`QpO'#GcO$%dQ`O'#GgO!3oQ`O'#GkO$%iQ!0LrO'#ItO$%tQpO,5<|OOQ!0Lp,5<|,5<|O$%{QpO'#GcO$&YQpO'#GdO$&kQpO'#GdO$&pQMjO,5=XO$'QQMjO,5=ZOOQ!0Lh,5=^,5=^O!,TQMhO,5@VO!,TQMhO,5@VO$'bQ`O'#IyO$'vQ`O,5@UO$(OQ`O,59aOOQ!0Lh,59i,59iO$(TQ`O,5@VO$)TQ$IYO,59uOOQ!0Lh'#Jp'#JpO$)vQMjO,5<kO$*iQMjO,5<mO@zQ`O,5<oOOQ!0Lh,5<p,5<pO$*sQ`O,5<vO$*xQMjO,5<{O$+YQ`O'#KPO!$wQlO1G2RO$+_Q`O1G2RO9eQ`O'#KSO9eQ`O'#EtO%[QlO'#EtO9eQ`O'#I{O$+dQ!0LrO,5@{OOQ[1G2}1G2}OOQ[1G4`1G4`OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$-fQ!0MxO1G0UOOQ[1G2y1G2yO!&zQMhO1G2yO%[QlO1G2yO#.tQ`O1G2yO$/jQMhO'#EkOOQ!0Lb,5@T,5@TO$/wQ!0LrO,5@TOOQ[1G.u1G.uO!ByQ!0LrO1G.uO!CUQpO1G.uO!C^QMhO1G.uO$0YQ`O1G0uO$0_Q`O'#CiO$0jQ`O'#KeO$0rQ`O,5=|O$0wQ`O'#KeO$0|Q`O'#KeO$1[Q`O'#JRO$1jQ`O,5AOO$1rQ!fO1G1iOOQ!0Lf1G1k1G1kO9kQ`O1G3fO@zQ`O1G3fO$1yQ`O1G3fO$2OQ`O1G3fO!DiQ`O1G3fO9uQ!0LrO1G3fOOQ[1G3f1G3fO!EcQ`O1G3UO!&zQMhO1G3RO$2TQ`O1G3ROOQ[1G3S1G3SO!&zQMhO1G3SO$2YQ`O1G3SO$2bQpO'#HQOOQ[1G3U1G3UO!6_QpO'#I}O!EhQ!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$2jQMhO,5=tO9kQ`O,5=tO$%dQ`O,5=vO9`Q`O,5=vO!CUQpO,5=vO!C^QMhO,5=vO:dQMhO,5=vO$2xQ`O'#KcO$3TQ`O,5=wOOQ[1G.k1G.kO$3YQ!0LrO1G.kO@zQ`O1G.kO$3eQ`O1G.kO9uQ!0LrO1G.kO$5mQ!fO,5AQO$5zQ`O,5AQO9eQ`O,5AQO$6VQlO,5>PO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5<iO$BOQ!fO1G4jOOQO1G4p1G4pO%[QlO,5?OO$BYQ`O1G5zO$BbQ`O1G6YO$BjQ!fO1G6ZO9eQ`O,5?UO$BtQ!0MxO1G6WO%[QlO1G6WO$CUQ!0LrO1G6WO$CgQ`O1G6VO$CgQ`O1G6VO9eQ`O1G6VO$CoQ`O,5?XO9eQ`O,5?XOOQO,5?X,5?XO$DTQ`O,5?XO$+YQ`O,5?XOOQO-E<k-E<kOOQS1G0a1G0aOOQS1G0c1G0cO#.lQ`O1G0cOOQ[7+(e7+(eO!&zQMhO7+(eO%[QlO7+(eO$DcQ`O7+(eO$DnQMhO7+(eO$D|Q!0MzO,5=XO$GXQ!0MzO,5=ZO$IdQ!0MzO,5=XO$KuQ!0MzO,5=ZO$NWQ!0MzO,59uO%!]Q!0MzO,5<kO%$hQ!0MzO,5<mO%&sQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%)UQ!0MxO7+&aO%)xQlO'#IfO%*VQ`O,5@cO%*_Q!fO,5@cOOQ!0Lf1G0P1G0PO%*iQ`O7+&jOOQ!0Lf7+&j7+&jO%*nQ?MtO,5:fO%[QlO7+&zO%*xQ?MtO,5:bO%+VQ?MtO,5:jO%+aQ?MtO,5:lO%+kQMhO'#IiO%+uQ`O,5@hOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%+}Q!jO,5<ZO!)[QlO,5<YOOQO-E<l-E<lOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%,YQ`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%,_Q!dO,59oOOOO-E<`-E<`OOQ!0Lh1G/X1G/XO%,fQ!0MxO7+'kOOQ!0Lh,5?^,5?^O%-YQMhO1G2fP%-aQ`O'#IrPOQ!0Lh-E<p-E<pO%-}QMjO,5?aOOQ!0Lh-E<s-E<sO%.pQMjO,5?cOOQ!0Lh-E<u-E<uO%.zQ!dO1G2wO%/RQ!dO'#CrO%/iQMhO'#KSO$$wQlO'#JvOOQ!0Lh1G2_1G2_O%/sQ`O'#IqO%0[Q`O,5@vO%0[Q`O,5@vO%0dQ`O,5@vO%0oQ`O,5@vOOQO1G2a1G2aO%0}QMjO1G2`O$+YQ`O'#K[O!,TQMhO1G2`O%1_Q(CWO'#IsO%1lQ`O,5@wO!&zQMhO,5@wO%1tQ!dO,5@wOOQ!0Lh1G2d1G2dO%4UQ!fO'#CiO%4`Q`O,5=POOQ!0Lb,5<},5<}O%4hQpO,5<}OOQ!0Lb,5=O,5=OOCwQ`O,5<}O%4sQpO,5<}OOQ!0Lb,5=R,5=RO$+YQ`O,5=VOOQO,5?`,5?`OOQO-E<r-E<rOOQ!0Lp1G2h1G2hO#$`QpO,5<}O$$wQlO,5=PO%5RQ`O,5=OO%5^QpO,5=OO!,TQMhO'#IuO%6WQMjO1G2sO!,TQMhO'#IwO%6yQMjO1G2uO%7TQMjO1G5qO%7_QMjO1G5qOOQO,5?e,5?eOOQO-E<w-E<wOOQO1G.{1G.{O!,TQMhO1G5qO!,TQMhO1G5qO!:]QpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%7lQ`O1G2ZO!,TQMhO1G2bO%7qQ!0MxO7+'mOOQ!0Lf7+'m7+'mO!$wQlO7+'mO%8eQ`O,5;`OOQ!0Lb,5?g,5?gOOQ!0Lb-E<y-E<yO%8jQ!dO'#K^O#(ZQ`O7+(eO4UQ!fO7+(eO$DfQ`O7+(eO%8tQ!0MvO'#CiO%9XQ!0MvO,5=SO%9lQ`O,5=SO%9tQ`O,5=SOOQ!0Lb1G5o1G5oOOQ[7+$a7+$aO!ByQ!0LrO7+$aO!CUQpO7+$aO!$wQlO7+&aO%9yQ`O'#JQO%:bQ`O,5APOOQO1G3h1G3hO9kQ`O,5APO%:bQ`O,5APO%:jQ`O,5APOOQO,5?m,5?mOOQO-E=P-E=POOQ!0Lf7+'T7+'TO%:oQ`O7+)QO9uQ!0LrO7+)QO9kQ`O7+)QO@zQ`O7+)QO%:tQ`O7+)QOOQ[7+)Q7+)QOOQ[7+(p7+(pO%:yQ!0MvO7+(mO!&zQMhO7+(mO!E^Q`O7+(nOOQ[7+(n7+(nO!&zQMhO7+(nO%;TQ`O'#KbO%;`Q`O,5=lOOQO,5?i,5?iOOQO-E<{-E<{OOQ[7+(s7+(sO%<rQpO'#HZOOQ[1G3`1G3`O!&zQMhO1G3`O%[QlO1G3`O%<yQ`O1G3`O%=UQMhO1G3`O9uQ!0LrO1G3bO$%dQ`O1G3bO9`Q`O1G3bO!CUQpO1G3bO!C^QMhO1G3bO%=dQ`O'#JPO%=xQ`O,5@}O%>QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-E<c-E<cOOQO,5?V,5?VOOQO-E<i-E<iO!CUQpO1G/sOOQO-E<e-E<eOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#(ZQ`O7+%uOOQ!0Lf7+&`7+&`O?YQ`O7+&`O!CUQpO7+&`OOQO7+%x7+%xO$AlQ!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%@nQ!0LrO7+&XO!ByQ!0LrO7+%xO!CUQpO7+%xO%@yQ!0LrO7+&XO%AXQ!0MxO7++rO%[QlO7++rO%AiQ`O7++qO%AiQ`O7++qOOQO1G4s1G4sO9eQ`O1G4sO%AqQ`O1G4sOOQS7+%}7+%}O#(ZQ`O<<LPO4UQ!fO<<LPO%BPQ`O<<LPOOQ[<<LP<<LPO!&zQMhO<<LPO%[QlO<<LPO%BXQ`O<<LPO%BdQ!0MzO,5?aO%DoQ!0MzO,5?cO%FzQ!0MzO1G2`O%I]Q!0MzO1G2sO%KhQ!0MzO1G2uO%MsQ!fO,5?QO%[QlO,5?QOOQO-E<d-E<dO%M}Q`O1G5}OOQ!0Lf<<JU<<JUO%NVQ?MtO1G0uO&!^Q?MtO1G1PO&!eQ?MtO1G1PO&$fQ?MtO1G1PO&$mQ?MtO1G1PO&&nQ?MtO1G1PO&(oQ?MtO1G1PO&(vQ?MtO1G1PO&(}Q?MtO1G1PO&+OQ?MtO1G1PO&+VQ?MtO1G1PO&+^Q!0MxO<<JfO&-UQ?MtO1G1PO&.RQ?MvO1G1PO&/UQ?MvO'#JlO&1[Q?MtO1G1cO&1iQ?MtO1G0UO&1sQMjO,5?TOOQO-E<g-E<gO!)[QlO'#FqOOQO'#KZ'#KZOOQO1G1u1G1uO&1}Q`O1G1tO&2SQ?MtO,5?[OOOW7+'h7+'hOOOO1G/Z1G/ZO&2^Q!dO1G4xOOQ!0Lh7+(Q7+(QP!&zQMhO,5?^O!,TQMhO7+(cO&2eQ`O,5?]O9eQ`O,5?]O$+YQ`O,5?]OOQO-E<o-E<oO&2sQ`O1G6bO&2sQ`O1G6bO&2{Q`O1G6bO&3WQMjO7+'zO&3hQ!dO,5?_O&3rQ`O,5?_O!&zQMhO,5?_OOQO-E<q-E<qO&3wQ!dO1G6cO&4RQ`O1G6cO&4ZQ`O1G2kO!&zQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%4hQpO1G2iO!CUQpO1G2iOCwQ`O1G2iOOQ!0Lb1G2q1G2qO&4`QpO1G2iO&4nQ`O1G2kO$+YQ`O1G2jOCwQ`O1G2jO$$wQlO1G2kO&4vQ`O1G2jO&5jQMjO,5?aOOQ!0Lh-E<t-E<tO&6]QMjO,5?cOOQ!0Lh-E<v-E<vO!,TQMhO7++]O&6gQMjO7++]O&6qQMjO7++]OOQ!0Lh1G/c1G/cO&7OQ`O1G/cOOQ!0Lh7+'u7+'uO&7TQMjO7+'|O&7eQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&8XQ`O1G0zO!&zQMhO'#IzO&8^Q`O,5@xO&:`Q!fO<<LPO!&zQMhO1G2nO&:gQ!0LrO1G2nOOQ[<<G{<<G{O!ByQ!0LrO<<G{O&:xQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?l,5?lO&;lQ`O,5?lO&;qQ`O,5?lOOQO-E=O-E=OO&<PQ`O1G6kO&<PQ`O1G6kO9kQ`O1G6kO@zQ`O<<LlOOQ[<<Ll<<LlO&<XQ`O<<LlO9uQ!0LrO<<LlO9kQ`O<<LlOOQ[<<LX<<LXO%:yQ!0MvO<<LXOOQ[<<LY<<LYO!E^Q`O<<LYO&<^QpO'#I|O&<iQ`O,5@|O!)[QlO,5@|OOQ[1G3W1G3WOOQO'#JO'#JOO9uQ!0LrO'#JOO&<qQpO,5=uOOQ[,5=u,5=uO&<xQpO'#EgO&=PQpO'#GeO&=UQ`O7+(zO&=ZQ`O7+(zOOQ[7+(z7+(zO!&zQMhO7+(zO%[QlO7+(zO&=cQ`O7+(zOOQ[7+(|7+(|O9uQ!0LrO7+(|O$%dQ`O7+(|O9`Q`O7+(|O!CUQpO7+(|O&=nQ`O,5?kOOQO-E<}-E<}OOQO'#H^'#H^O&=yQ`O1G6iO9uQ!0LrO<<GqOOQ[<<Gq<<GqO@zQ`O<<GqO&>RQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<<Ly<<LyOOQ[<<L{<<L{OOQ[-E=Q-E=QOOQ[1G3z1G3zO&>nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO?YQ`O<<IzOOQO<<Is<<IsO$AlQ!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!ByQ!0LrO<<IdO&?SQ!0LrO<<IsO&?_Q!0MxO<= ^O&?oQ`O<= ]OOQO7+*_7+*_O9eQ`O7+*_OOQ[ANAkANAkO&?wQ!fOANAkO!&zQMhOANAkO#(ZQ`OANAkO4UQ!fOANAkO&@OQ`OANAkO%[QlOANAkO&@WQ!0MzO7+'zO&BiQ!0MzO,5?aO&DtQ!0MzO,5?cO&GPQ!0MzO7+'|O&IbQ!fO1G4lO&IlQ?MtO7+&aO&KpQ?MvO,5=XO&MwQ?MvO,5=ZO&NXQ?MvO,5=XO&NiQ?MvO,5=ZO&NyQ?MvO,59uO'#PQ?MvO,5<kO'%SQ?MvO,5<mO''hQ?MvO,5<{O')^Q?MtO7+'kO')kQ?MtO7+'mO')xQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*d7+*dO')}QMjO<<K}OOQO1G4w1G4wO'*UQ`O1G4wO'*aQ`O1G4wO'*oQ`O7++|O'*oQ`O7++|O!&zQMhO1G4yO'*wQ!dO1G4yO'+RQ`O7++}O'+ZQ`O7+(VO'+fQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!CUQpO7+(TOCwQ`O7+(TO'+pQ`O7+(VO!&zQMhO7+(VO$+YQ`O7+(UO'+uQ`O7+(VOCwQ`O7+(UO'+}QMjO<<NwO!,TQMhO<<NwOOQ!0Lh7+$}7+$}O',XQ!dO,5?fOOQO-E<x-E<xO',cQ!0MvO7+(YO!&zQMhO7+(YOOQ[AN=gAN=gO9kQ`O1G5WOOQO1G5W1G5WO',sQ`O1G5WO',xQ`O7+,VO',xQ`O7+,VO9uQ!0LrOANBWO@zQ`OANBWOOQ[ANBWANBWO'-QQ`OANBWOOQ[ANAsANAsOOQ[ANAtANAtO'-VQ`O,5?hOOQO-E<z-E<zO'-bQ?MtO1G6hOOQO,5?j,5?jOOQO-E<|-E<|OOQ[1G3a1G3aO'-lQ`O,5=POOQ[<<Lf<<LfO!&zQMhO<<LfO&=UQ`O<<LfO'-qQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9uQ!0LrO<<LhO$%dQ`O<<LhO9`Q`O<<LhO'-yQpO1G5VO'.UQ`O7+,TOOQ[AN=]AN=]O9uQ!0LrOAN=]OOQ[<= r<= rOOQ[<= s<= sO'.^Q`O<= rO'.cQ`O<= sOOQ[<<Lq<<LqO'.hQ`O<<LqO'.mQlO<<LqOOQ[1G3{1G3{O?YQ`O7+)lO'.tQ`O<<JQO'/PQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$AlQ!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<My<<MyOOQ[G27VG27VO!&zQMhOG27VO#(ZQ`OG27VO'/ZQ!fOG27VO4UQ!fOG27VO'/bQ`OG27VO'/jQ?MtO<<JfO'/wQ?MvO1G2`O'1mQ?MvO,5?aO'3pQ?MvO,5?cO'5sQ?MvO1G2sO'7vQ?MvO1G2uO'9yQ?MtO<<KXO':WQ?MtO<<I{OOQO1G1w1G1wO!,TQMhOANAiOOQO7+*c7+*cO':eQ`O7+*cO':pQ`O<= hO':xQ!dO7+*eOOQ!0Lb<<Kq<<KqO$+YQ`O<<KqOCwQ`O<<KqO';SQ`O<<KqO!&zQMhO<<KqOOQ!0Lb<<Ko<<KoO!CUQpO<<KoO';_Q!dO<<KqOOQ!0Lb<<Kp<<KpO';iQ`O<<KqO!&zQMhO<<KqO$+YQ`O<<KpO';nQMjOANDcO';xQ!0MvO<<KtOOQO7+*r7+*rO9kQ`O7+*rO'<YQ`O<= qOOQ[G27rG27rO9uQ!0LrOG27rO@zQ`OG27rO!)[QlO1G5SO'<bQ`O7+,SO'<jQ`O1G2kO&=UQ`OANBQOOQ[ANBQANBQO!&zQMhOANBQO'<oQ`OANBQOOQ[ANBSANBSO9uQ!0LrOANBSO$%dQ`OANBSOOQO'#H_'#H_OOQO7+*q7+*qOOQ[G22wG22wOOQ[ANE^ANE^OOQ[ANE_ANE_OOQ[ANB]ANB]O'<wQ`OANB]OOQ[<<MW<<MWO!)[QlOAN?lOOQOG24yG24yO$AlQ!0MxOG24yO#(ZQ`OLD,qOOQ[LD,qLD,qO!&zQMhOLD,qO'<|Q!fOLD,qO'=TQ?MvO7+'zO'>yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<<M}<<M}OOQ!0LbANA]ANA]O$+YQ`OANA]OCwQ`OANA]O'EVQ!dOANA]OOQ!0LbANAZANAZO'E^Q`OANA]O!&zQMhOANA]O'EiQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N^<<N^OOQ[LD-^LD-^O9uQ!0LrOLD-^O'EsQ?MtO7+*nOOQO'#Gf'#GfOOQ[G27lG27lO&=UQ`OG27lO!&zQMhOG27lOOQ[G27nG27nO9uQ!0LrOG27nOOQ[G27wG27wO'E}Q?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#(ZQ`O!$(!]O!&zQMhO!$(!]O'FXQ!0MzOG27TOOQ!0LbG26wG26wO$+YQ`OG26wO'HjQ`OG26wOCwQ`OG26wO'HuQ!dOG26wO!&zQMhOG26wOOQ[!$(!x!$(!xOOQ[LD-WLD-WO&=UQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#(ZQ`O!)9EwOOQ!0LbLD,cLD,cO$+YQ`OLD,cOCwQ`OLD,cO'H|Q`OLD,cO'IXQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'I`Q?MvOG27TOOQ!0Lb!$( }!$( }O$+YQ`O!$( }OCwQ`O!$( }O'KUQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$+YQ`O!)9EiOCwQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$+YQ`O!.K;TOOQ!0Lb!4/0o!4/0oO!)[QlO'#DzO1PQ`O'#EXO'KaQ!fO'#JrO'KhQ!L^O'#DvO'KoQlO'#EOO'KvQ!fO'#CiO'N^Q!fO'#CiO!)[QlO'#EQO'NnQlO,5;ZO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO'#IpO(!qQ`O,5<iO!)[QlO,5;eO(!yQMhO,5;eO($dQMhO,5;eO!)[QlO,5;wO!&zQMhO'#GmO(!yQMhO'#GmO!&zQMhO'#GoO(!yQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&zQMhO'#GPO(!yQMhO'#GPO!&zQMhO'#GRO(!yQMhO'#GRO!&zQMhO'#GaO(!yQMhO'#GaO!)[QlO,5:jO($kQpO'#D_O($uQpO'#JvO!)[QlO,5@oO'NnQlO1G0uO(%PQ?MtO'#CiO!)[QlO1G2PO!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO(%ZQ!dO'#CrO!&zQMhO,5<tO(!yQMhO,5<tO'NnQlO1G2RO!)[QlO7+&zO!&zQMhO1G2`O(!yQMhO1G2`O!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO!&zQMhO1G2bO(!yQMhO1G2bO'NnQlO7+'mO'NnQlO7+&aO!&zQMhOANAiO(!yQMhOANAiO(%nQ`O'#EoO(%sQ`O'#EoO(%{Q`O'#F]O(&QQ`O'#EyO(&VQ`O'#KTO(&bQ`O'#KRO(&mQ`O,5;ZO(&rQMjO,5<eO(&yQ`O'#GYO('OQ`O'#GYO('TQ`O,5<eO(']Q`O,5<gO('eQ`O,5;ZO('mQ?MtO1G1`O('tQ`O,5<tO('yQ`O,5<tO((OQ`O,5<vO((TQ`O,5<vO((YQ`O1G2RO((_Q`O1G0uO((dQMjO<<K}O((kQMjO<<K}O((rQMhO'#F|O9`Q`O'#F{OAuQ`O'#EnO!)[QlO,5;tO!3oQ`O'#GYO!3oQ`O'#GYO!3oQ`O'#G[O!3oQ`O'#G[O!,TQMhO7+(cO!,TQMhO7+(cO%.zQ!dO1G2wO%.zQ!dO1G2wO!&zQMhO,5=]O!&zQMhO,5=]",stateData:"()x~O'|OS'}OSTOS(ORQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&W!WO&^!XO&`!YO&b!ZO&d![O&g!]O&m!^O&s!_O&u!`O&w!aO&y!bO&{!cO(TSO(VTO(YUO(aVO(o[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O(O!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'z]X(a]X(r]X(y]X(z]X~O!g%RX~P(qO_!}O(V#PO(W!}O(X#PO~O_#QO(X#PO(Y#PO(Z#QO~Ox#SO!U#TO(b#TO(c#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T<ZO(VTO(YUO(aVO(o[O~O![#ZO!]#WO!Y(hP!Y(vP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(VTO(YUO(aVO(o[O~Op#mO![#iO!|]O#i#lO#j#iO(T<[O!k(sP~P.iO!l#oO(T#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa(fX'z(fX'w(fX!k(fX!Y(fX!_(fX%i(fX!g(fX~P1qO#S$dO#`$eO$Q$eOP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX!_(gX%i(gX~Oa(gX'z(gX'w(gX!Y(gX!k(gXv(gX!g(gX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%dOk%dOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T$sO(VTO(YUO(a$uO(y$}O(z%POg(^P~Ol%[O~P7eO!l%eO~O!S%hO!_%iO(T%gO~O!g%mO~Oa%nO'z%nO~O!Q%rO~P%[O(U!lO~P%[O%n%vO~P%[Oh%VO!l%eO(T%gO(U!lO~Oe%}O!l%eO(T%gO~Oj$RO~O!_&PO(T%gO(U!lO(VTO(YUO`)WP~O!Q&SO!l&RO%j&VO&T&WO~P;SO!x#sO~O%s&YO!S)SX!_)SX(T)SX~O(T&ZO~Ol!PO!u&`O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&eOe&dO!x&bO%h&cO%{&aO~P<bOd&hOeyOl!PO!_&gO!u&`O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&kO#`&nO%j&iO(U!lO~P=gO!l&oO!u&sO~O!l#oO~O!_XO~Oa%nO'x&{O'z%nO~Oa%nO'x'OO'z%nO~Oa%nO'x'QO'z%nO~O'w]X!Y]Xv]X!k]X&[]X!_]X%i]X!g]X~P(qO!b'_O!c'WO!d'WO(U!lO(VTO(YUO~Os'UO!S'TO!['XO(e'SO!^(iP!^(xP~P@nOn'bO!_'`O(T%gO~Oe'gO!l%eO(T%gO~O!Q&SO!l&RO~Os!nO!S!oO!|<VO#T!pO#U!pO#W!pO#X!pO(U!lO(VTO(YUO(e!mO(o!sO~O!b'mO!c'lO!d'lO#V!pO#['nO#]'nO~PBYOa%nOh%VO!g#vO!l%eO'z%nO(r'pO~O!p'tO#`'rO~PChOs!nO!S!oO(VTO(YUO(e!mO(o!sO~O!_XOs(mX!S(mX!b(mX!c(mX!d(mX!|(mX#T(mX#U(mX#V(mX#W(mX#X(mX#[(mX#](mX(U(mX(V(mX(Y(mX(e(mX(o(mX~O!c'lO!d'lO(U!lO~PDWO(P'xO(Q'xO(R'zO~O_!}O(V'|O(W!}O(X'|O~O_#QO(X'|O(Y'|O(Z#QO~Ov(OO~P%[Ox#SO!U#TO(b#TO(c(RO~O![(TO!Y'WX!Y'^X!]'WX!]'^X~P+}O!](VO!Y(hX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](VO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~O!Y(hX~PHRO!Y([O~O!Y(uX!](uX!g(uX!k(uX(r(uX~O#`(uX#k#dX!^(uX~PJUO#`(]O!Y(wX!](wX~O!](^O!Y(vX~O!Y(aO~O#`$eO~PJUO!^(bO~P`OR#zO!Q#yO!S#{O!l#xO(aVOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(r!na(y!na(z!na~Oa!na'z!na'w!na!Y!na!k!nav!na!_!na%i!na!g!na~PKlO!k(cO~O!g#vO#`(dO(r'pO!](tXa(tX'z(tX~O!k(tX~PNXO!S%hO!_%iO!|]O#i(iO#j(hO(T%gO~O!](jO!k(sX~O!k(lO~O!S%hO!_%iO#j(hO(T%gO~OP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~O!g#vO!k(gX~P! uOR(nO!Q(mO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(T!{a~P!#vO!x(rO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~O#k(xO~O![(zO!k(kP~P%[O(e(|O(o[O~O!S)OO!l#xO(e(|O(o[O~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S*YO!_*ZO!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op*`O}O(T&ZO~O!l+SO~O(T(vO~Op+WO!S%hO![#iO!_%iO!|]O#i#lO#j#iO(T%gO!k(sP~O!g#vO#k+XO~O!S%hOTX'z)TX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa!ja!]!ja'z!ja'w!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:tOR#zO!Q#yO!S#{O!l#xO(aVOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(r!ra(y!ra(z!ra~Oa!ra'z!ra'w!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!=[OR#zO!Q#yO!S#{O!l#xO(aVOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(r!ta(y!ta(z!ta~Oa!ta'z!ta'w!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?rOh%VOn+gO!_'`O%i+fO~O!g+iOa(]X!_(]X'z(]X!](]X~Oa%nO!_XO'z%nO~Oh%VO!l%eO~Oh%VO!l%eO(T%gO~O!g#vO#k(xO~Ob+tO%j+uO(T+qO(VTO(YUO!^)XP~O!]+vO`)WX~O[+zO~O`+{O~O!_&PO(T%gO(U!lO`)WP~O%j,OO~P;SOh%VO#`,SO~Oh%VOn,VO!_$|O~O!_,XO~O!Q,ZO!_XO~O%n%vO~O!x,`O~Oe,eO~Ob,fO(T#nO(VTO(YUO!^)VP~Oe%}O~O%j!QO(T&ZO~P=gO[,kO`,jO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(VTO(YUO(aVO(o[O~O!_!eO!u!gO$W!kO(T!dO~P!FyO`,jOa%nO'z%nO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa,pOl!OO!uwO%l!OO%m!OO%n!OO~P!IcO!l&oO~O&^,vO~O!_,xO~O&o,zO&q,{OP&laQ&laS&laY&laa&lad&lae&lal&lap&lar&las&lat&laz&la|&la!O&la!S&la!W&la!X&la!_&la!i&la!l&la!o&la!p&la!q&la!s&la!u&la!x&la!|&la$W&la$n&la%h&la%j&la%l&la%m&la%n&la%q&la%s&la%v&la%w&la%y&la&W&la&^&la&`&la&b&la&d&la&g&la&m&la&s&la&u&la&w&la&y&la&{&la'w&la(T&la(V&la(Y&la(a&la(o&la!^&la&e&lab&la&j&la~O(T-QO~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P#!iO!g-VO#`-UOh(jX!]#hX!^#hX!g(jX!l(jX~O!](jX!^(jX~P##[Oh%VO!g-XO!l%eO!]!aX!^!aX~Os!nO!S!oO(VTO(YUO(e!mO~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO#z<gO#{<hO(aVO(r$YO(y#|O(z#}O~O$O.{O~P#BwO#S$dO#`<nO$Q<nO$O(gX!^(gX~P! uOa'da!]'da'z'da'w'da!k'da!Y'dav'da!_'da%i'da!g'da~P!:tO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO(y#mi(z#mi~P#EyOn>]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]<iO!^(fX~P#BwO!^/ZO~O!g)hO$f({X~O$f/]O~Ov/^O~P!&zOx)yO(b)zO(c/aO~O!S/dO~O(y$}On%aa!Q%aa'y%aa(z%aa!]%aa#`%aa~Og%aa$O%aa~P#L{O(z%POn%ca!Q%ca'y%ca(y%ca!]%ca#`%ca~Og%ca$O%ca~P#MnO!]fX!gfX!kfX!k$zX(rfX~P!0SOp%WOPP~P!1uOr*sO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO~Os<}O!S/nO![+[O!^*pO(e<|O!^(xP~P$ [O!k/oO~P#/sO!]/pO!g#vO(r'pO!k)OX~O!k/uO~OnoX!QoX'yoX(yoX(zoX~O!g#vO!koX~P$#OOp/wO!S%hO![*^O!_%iO(T%gO!k)OP~O#k/xO~O!Y$zX!]$zX!g%RX~P!0SO!]/yO!Y)PX~P#/sO!g/{O~O!Y/}O~OpkO(T0OO~P.iOh%VOr0TO!g#vO!l%eO(r'pO~O!g+iO~Oa%nO!]0XO'z%nO~O!^0ZO~P!5iO!c0[O!d0[O(U!lO~P#$`Os!nO!S0]O(VTO(YUO(e!mO~O#[0_O~Og%aa!]%aa#`%aa$O%aa~P!1WOg%ca!]%ca#`%ca$O%ca~P!1WOj%dOk%dOl%dO(T&ZOg'mX!]'mX~O!]*yOg(^a~Og0hO~On0jO#`0iOg(_a!](_a~OR0kO!Q0kO!S0lO#S$dOn}a'y}a(y}a(z}a!]}a#`}a~Og}a$O}a~P$(cO!Q*OO'y*POn$sa(y$sa(z$sa!]$sa#`$sa~Og$sa$O$sa~P$)_O!Q*OO'y*POn$ua(y$ua(z$ua!]$ua#`$ua~Og$ua$O$ua~P$*QO#k0oO~Og%Ta!]%Ta#`%Ta$O%Ta~P!1WO!g#vO~O#k0rO~O!]+^Oa)Ta'z)Ta~OR#zO!Q#yO!S#{O!l#xO(aVOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(r!ri(y!ri(z!ri~Oa!ri'z!ri'w!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$+oOh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op0{O%]0|O(T0zO~P$.VO!g+iOa(]a!_(]a'z(]a!](]a~O#k1SO~O[]X!]fX!^fX~O!]1TO!^)XX~O!^1VO~O[1WO~Ob1YO(T+qO(VTO(YUO~O!_&PO(T%gO`'uX!]'uX~O!]+vO`)Wa~O!k1]O~P!:tO[1`O~O`1aO~O#`1fO~On1iO!_$|O~O(e(|O!^)UP~Oh%VOn1rO!_1oO%i1qO~O[1|O!]1zO!^)VX~O!^1}O~O`2POa%nO'z%nO~O(T#nO(VTO(YUO~O#S$dO#`$eO$Q$eOP(gXR(gX[(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~Oj2SO&[2TOa(gX~P$3pOj2SO#`$eO&[2TO~Oa2VO~P%[Oa2XO~O&e2[OP&ciQ&ciS&ciY&cia&cid&cie&cil&cip&cir&cis&cit&ciz&ci|&ci!O&ci!S&ci!W&ci!X&ci!_&ci!i&ci!l&ci!o&ci!p&ci!q&ci!s&ci!u&ci!x&ci!|&ci$W&ci$n&ci%h&ci%j&ci%l&ci%m&ci%n&ci%q&ci%s&ci%v&ci%w&ci%y&ci&W&ci&^&ci&`&ci&b&ci&d&ci&g&ci&m&ci&s&ci&u&ci&w&ci&y&ci&{&ci'w&ci(T&ci(V&ci(Y&ci(a&ci(o&ci!^&cib&ci&j&ci~Ob2bO!^2`O&j2aO~P`O!_XO!l2dO~O&q,{OP&liQ&liS&liY&lia&lid&lie&lil&lip&lir&lis&lit&liz&li|&li!O&li!S&li!W&li!X&li!_&li!i&li!l&li!o&li!p&li!q&li!s&li!u&li!x&li!|&li$W&li$n&li%h&li%j&li%l&li%m&li%n&li%q&li%s&li%v&li%w&li%y&li&W&li&^&li&`&li&b&li&d&li&g&li&m&li&s&li&u&li&w&li&y&li&{&li'w&li(T&li(V&li(Y&li(a&li(o&li!^&li&e&lib&li&j&li~O!Y2jO~O!]!aa!^!aa~P#BwOs!nO!S!oO![2pO(e!mO!]'XX!^'XX~P@nO!]-]O!^(ia~O!]'_X!^'_X~P!9|O!]-`O!^(xa~O!^2wO~P'_Oa%nO#`3QO'z%nO~Oa%nO!g#vO#`3QO'z%nO~Oa%nO!g#vO!p3UO#`3QO'z%nO(r'pO~Oa%nO'z%nO~P!:tO!]$_Ov$qa~O!Y'Wi!]'Wi~P!:tO!](VO!Y(hi~O!](^O!Y(vi~O!Y(wi!](wi~P!:tO!](ti!k(tia(ti'z(ti~P!:tO#`3WO!](ti!k(tia(ti'z(ti~O!](jO!k(si~O!S%hO!_%iO!|]O#i3]O#j3[O(T%gO~O!S%hO!_%iO#j3[O(T%gO~On3dO!_'`O%i3cO~Oh%VOn3dO!_'`O%i3cO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aav%aa!_%aa%i%aa!g%aa~P#L{O#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%cav%ca!_%ca%i%ca!g%ca~P#MnO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/sO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/sO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'z}a(a}a(r}a!k}a!Y}a'w}av}a!_}a%i}a!g}a~P$(cO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'z$sa(a$sa(r$sa!k$sa!Y$sa'w$sav$sa!_$sa%i$sa!g$sa~P$)_O#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'z$ua(a$ua(r$ua!k$ua!Y$ua'w$uav$ua!_$ua%i$ua!g$ua~P$*QO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'z%Ta(a%Ta(r%Ta!k%Ta!Y%Ta'w%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/sOa#cq!]#cq'z#cq'w#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:tO![3lO!]'YX!k'YX~P%[O!].tO!k(ka~O!].tO!k(ka~P!:tO!Y3oO~O$O!na!^!na~PKlO$O!ja!]!ja!^!ja~P#BwO$O!ra!^!ra~P!=[O$O!ta!^!ta~P!?rOg']X!]']X~P!,TO!]/POg(pa~OSfO!_4TO$d4UO~O!^4YO~Ov4ZO~P#/sOa$mq!]$mq'z$mq'w$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:tO!Y4]O~P!&zO!S4^O~O!Q*OO'y*PO(z%POn'ia(y'ia!]'ia#`'ia~Og'ia$O'ia~P%-fO!Q*OO'y*POn'ka(y'ka(z'ka!]'ka#`'ka~Og'ka$O'ka~P%.XO(r$YO~P#/sO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!0SOp%WO(T=WO~P!1uOp4bO!S%hO![4aO!_%iO(T%gO!]'eX!k'eX~O!]/pO!k)Oa~O!]/pO!g#vO!k)Oa~O!]/pO!g#vO(r'pO!k)Oa~Og$|i!]$|i#`$|i$O$|i~P!1WO![4jO!Y'gX!]'gX~P!3tO!]/yO!Y)Pa~O!]/yO!Y)Pa~P#/sOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~Oj%YX!g%YX~P%2OOj4oO!g#vO~Oh%VO!g#vO!l%eO~Oh%VOr4tO!l%eO(r'pO~Or4yO!g#vO(r'pO~Os!nO!S4zO(VTO(YUO(e!mO~O(y$}On%ai!Q%ai'y%ai(z%ai!]%ai#`%ai~Og%ai$O%ai~P%5oO(z%POn%ci!Q%ci'y%ci(y%ci!]%ci#`%ci~Og%ci$O%ci~P%6bOg(_i!](_i~P!1WO#`5QOg(_i!](_i~P!1WO!k5VO~Oa$oq!]$oq'z$oq'w$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:tO!Y5ZO~O!]5[O!_)QX~P#/sOa$zX!_$zX%^]X'z$zX!]$zX~P!0SO%^5_OaoX!_oX'zoX!]oX~P$#OOp5`O(T#nO~O%^5_O~Ob5fO%j5gO(T+qO(VTO(YUO!]'tX!^'tX~O!]1TO!^)Xa~O[5kO~O`5lO~O[5pO~Oa%nO'z%nO~P#/sO!]5uO#`5wO!^)UX~O!^5xO~Or6OOs!nO!S*iO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!pO#W!pO#X!pO#[5}O#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O!^5|O~P%;eOn6TO!_1oO%i6SO~Oh%VOn6TO!_1oO%i6SO~Ob6[O(T#nO(VTO(YUO!]'sX!^'sX~O!]1zO!^)Va~O(VTO(YUO(e6^O~O`6bO~Oj6eO&[6fO~PNXO!k6gO~P%[Oa6iO~Oa6iO~P%[Ob2bO!^6nO&j2aO~P`O!g6pO~O!g6rOh(ji!](ji!^(ji!g(ji!l(jir(ji(r(ji~O!]#hi!^#hi~P#BwO#`6sO!]#hi!^#hi~O!]!ai!^!ai~P#BwOa%nO#`6|O'z%nO~Oa%nO!g#vO#`6|O'z%nO~O!](tq!k(tqa(tq'z(tq~P!:tO!](jO!k(sq~O!S%hO!_%iO#j7TO(T%gO~O!_'`O%i7WO~On7[O!_'`O%i7WO~O#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'z'ia(a'ia(r'ia!k'ia!Y'ia'w'iav'ia!_'ia%i'ia!g'ia~P%-fO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'z'ka(a'ka(r'ka!k'ka!Y'ka'w'kav'ka!_'ka%i'ka!g'ka~P%.XO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'z$|i(a$|i(r$|i!k$|i!Y$|i'w$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/sO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'z%ai(a%ai(r%ai!k%ai!Y%ai'w%aiv%ai!_%ai%i%ai!g%ai~P%5oO#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'z%ci(a%ci(r%ci!k%ci!Y%ci'w%civ%ci!_%ci%i%ci!g%ci~P%6bO!]'Ya!k'Ya~P!:tO!].tO!k(ki~O$O#ci!]#ci!^#ci~P#BwOP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#n#mi~P%NdO#n<_O~P%NdOP$[OR#zOr<kO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#r#mi~P&!lO#r<aO~P&!lOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO(aVO#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#v#mi~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO(aVO(z#}O#z#mi#{#mi$O#mi(r#mi(y#mi!]#mi!^#mi~O#x<eO~P&&uO#x#mi~P&&uO#v<cO~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO(aVO(y#|O(z#}O#{#mi$O#mi(r#mi!]#mi!^#mi~O#z#mi~P&)UO#z<gO~P&)UOa#|y!]#|y'z#|y'w#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:tO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO(y#mi(z#mi~P&,QOn>^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOr<QO!g#vO(r'pO~Ov(fX~P1qO!Q%rO~P!)[O(U!lO~P!)[O!YfX!]fX#`fX~P%2OOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~O!gfX!k]X!kfX(rfX~P'LTOP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_XO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]<iO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<tO!S${O!_$|O!i>WO!l$xO#j<zO$W%`O$t<vO$v<xO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Ol)dO~P(!yOr!eX(r!eX~P#!iOr(jX(r(jX~P##[O!^]X!^fX~P'LTO!YfX!Y$zX!]fX!]$zX#`fX~P!0SO#k<^O~O!g#vO#k<^O~O#`<nO~Oj<bO~O#`=OO!](wX!^(wX~O#`<nO!](uX!^(uX~O#k=PO~Og=RO~P!1WO#k=XO~O#k=YO~Og=RO(T&ZO~O!g#vO#k=ZO~O!g#vO#k=PO~O$O=[O~P#BwO#k=]O~O#k=^O~O#k=cO~O#k=dO~O#k=eO~O#k=fO~O$O=gO~P!1WO$O=hO~P!1WOl=sO~P7eOk#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~(OT#o!X'|(U#ps#n#qr!Q'}$]'}(T$_(e~",goto:"$9Y)]PPPPPP)^PP)aP)rP+W/]PPPP6mPP7TPP=QPPP@tPA^PA^PPPA^PCfPA^PA^PA^PCjPCoPD^PIWPPPI[PPPPI[L_PPPLeMVPI[PI[PP! eI[PPPI[PI[P!#lI[P!'S!(X!(bP!)U!)Y!)U!,gPPPPPPP!-W!(XPP!-h!/YP!2iI[I[!2n!5z!:h!:h!>gPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#<e#<k#<n)aP#<q)aP#<z#<z#<zP)aP)aP)aP)aPP)aP#=Q#=TP#=T)aP#=XP#=[P)aP)aP)aP)aP)aP)a)aPP#=b#=h#=s#=y#>P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{<Y%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_S#q]<V!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU+P%]<s<tQ+t&PQ,f&gQ,m&oQ0x+gQ0}+iQ1Y+uQ2R,kQ3`.gQ5`0|Q5f1TQ6[1zQ7Y3dQ8`5gR9e7['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>R>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o>U<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hW%Ti%V*y>PS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^T)z$u){V+P%]<s<tW'[!e%i*Z-`S(}#y#zQ+c%rQ+y&SS.b(m(nQ1j,XQ5T0kR8i5u'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vS(o#p'iQ)P#zS+b%q.|S.c(n(pR3^.d'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS#q]<VQ&t!XQ&u!YQ&w![Q&x!]R2Z,vQ'a!hQ+e%wQ-h'cS.e(q+hQ2x-gW3b.h.i0w0yQ6w2yW7U3_3a3e5^U9a7V7X7ZU:q9c9d9fS;b:p:sQ;p;cR;x;qU!wQ'`-eT5y1o5{!Q_OXZ`st!V!Z#d#h%e%m&i&k&r&t&u&w(j,s,x.[2[2_]!pQ!r'`-e1o5{T#q]<V%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S(}#y#zS.b(m(n!s=l$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uS<P;|;}R<S<QQ#wbQ's!uS(e#g2US(g#m+WQ+Y%fQ+j%xQ+p&OU-r'k't'wQ.W(fU/r*]*`/wQ0S*jQ0V*lQ1O+kQ1u,aS3R-s-vQ3Z.`S4e/s/tQ4n0PS4q0R0^Q4u0WQ6W1vQ7P3US7q4`4bQ7u4fU7|4r4x4{Q8P4wQ8v6XS9q7r7sQ9u7yQ9}8RQ:O8SQ:c8wQ:y9rS:z9v9xQ;S:QQ;^:dS;f:{;PS;r;g;hS;z;s;uS<O;{;}Q<R<PQ<T<SQ=o=jQ={=tR=|=uV!wQ'`-e%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S#wz!j!r=i$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!P<d)^)q-Z.|2k2n3p3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!f$Vc#Y%q(S(Y(t(y)W)X)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!T<f)^)q-Z.|2k2n3p3v3w3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!^$Zc#Y%q(S(Y(t(y)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<WQ4_/kz>S)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^Q+T%aQ/c*Oo4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!U$yi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n=r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hQ=w>TQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hnoOXst!Z#d%m&r&t&u&w,s,x2[2_S*f${*YQ-R'OQ-S'QR4i/y%[%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f<o#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<p<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!d=S(u)c*[*e.j.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f<q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!h=U(u)c*[*e.k.l.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|<jQ-|<WR<j)qQ/q*]W4c/q4d7t9sU4d/r/s/tS7t4e4fR9s7u$e*Q$v(u)c)e*[*e*t*u+Q+R+V.l.m.o.p.q/_/g/i/k/v/|0d0e0v1e3f3g3h3}4R4[4g4h4l4|5O5R5S5W5r7]7^7_7`7e7f7h7i7j7p7w7z8U8X8Z9h9i9j9t9|:R:S:t:u:v:w:x:};R;e;j;v;y=p=}>O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.l<oQ.m<qQ.o<uQ.p<wQ.q<yQ/_)yQ/g*RQ/i*TQ/k*VQ/v*aS/|*g/mQ0d*wQ0e*xl0v+f,V.f1i1q3c6S7W8q9b:`:r;[;dQ1e,SQ3f=SQ3g=UQ3h=XS3}<l<mQ4R/PS4[/d4^Q4g/xQ4h/yQ4l/{Q4|0`Q5O0bQ5R0iQ5S0jQ5W0oQ5r1fQ7]=]Q7^=_Q7_=aQ7`=cQ7e<pQ7f<rQ7h<vQ7i<xQ7j<zQ7p4_Q7w4jQ7z4oQ8U5QQ8X5[Q8Z5_Q9h=YQ9i=TQ9j=VQ9t7vQ9|8QQ:R8VQ:S8[Q:t=^Q:u=`Q:v=bQ:w=dQ:x9pQ:}9yQ;R:PQ;e=gQ;j;QQ;v;kQ;y=hQ=p>PQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.n<sR7g<tnpOXst!Z#d%m&r&t&u&w,s,x2[2_Q!fPS#fZ#oQ&|!`W'h!o*i0]4zQ(P#SQ)Q#{Q)r$nS,l&k&nQ,q&oQ-O&{S-T'T/nQ-g'bQ.x)OQ/[)sQ0s+]Q0y+gQ2W,pQ2y-iQ3a.gQ4W/VQ5U0lQ6Q1rQ6c2SQ6d2TQ6h2VQ6j2XQ6o2aQ7Z3dQ7m4TQ8s6TQ9P6eQ9Q6fQ9S6iQ9f7[Q:a8tR:k9T#[cOPXZst!Z!`!o#d#o#{%m&k&n&o&r&t&u&w&{'T'b)O*i+]+g,p,s,x-i.g/n0]0l1r2S2T2V2X2[2_2a3d4z6T6e6f6i7[8t9TQ#YWQ#eYQ%quQ%svS%uw!gS(S#W(VQ(Y#ZQ(t#uQ(y#xQ)R$OQ)S$PQ)T$QQ)U$RQ)V$SQ)W$TQ)X$UQ)Y$VQ)Z$WQ)[$XQ)^$ZQ)`$_Q)b$aQ)g$eW)q$n)s/V4TQ+d%tQ+x&RS-Z'X2pQ-x'rS-}(T.PQ.S(]Q.U(dQ.s(xQ.v(zQ.z<UQ.|<XQ.}<YQ/O<]Q/b)}Q0p+XQ2k-UQ2n-XQ3O-qQ3V.VQ3k.tQ3p<^Q3q<_Q3r<`Q3s<aQ3t<bQ3u<cQ3v<dQ3w<eQ3x<fQ3y<gQ3z<hQ3{.{Q3|<kQ4P<nQ4Q<{Q4X<iQ5X0rQ5c1SQ6u=OQ6{3QQ7Q3WQ7a3lQ7b=PQ7k=RQ7l=ZQ8k5wQ9X6sQ9]6|Q9g=[Q9m=eQ9n=fQ:o9_Q;W:ZQ;`:mQ<W#SR=v>SR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i<VR)f$dY!uQ'`-e1o5{Q'k!rS'u!v!yS'w!z5}S-t'l'mQ-v'nR3T-uT#kZ%eS#jZ%eS%km,oU(g#h#i#lS.Y(h(iQ.^(jQ0t+^Q3Y.ZU3Z.[.]._S7S3[3]R9`7Td#^W#W#Z%h(T(^*Y+Z.T/mr#gZm#h#i#l%e(h(i(j+^.Z.[.]._3[3]7TS*]$x*bQ/t*^Q2U,oQ2l-VQ4`/pQ6q2dQ7s4aQ9W6rT=m'X+[V#aW%h*YU#`W%h*YS(U#W(^U(Z#Z+Z/mS-['X+[T.O(T.TV'^!e%i*ZQ$lfR)x$qT)m$l)nR4V/UT*_$x*bT*h${*YQ0w+fQ1g,VQ3_.fQ5t1iQ6P1qQ7X3cQ8r6SQ9c7WQ:^8qQ:p9bQ;Z:`Q;c:rQ;n;[R;q;dnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&l!VR,h&itmOXst!U!V!Z#d%m&i&r&t&u&w,s,x2[2_R,o&oT%lm,oR1k,XR,g&gQ&U|S+}&V&WR1^,OR+s&PT&p!W&sT&q!W&sT2^,x2_",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:tP,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[oP],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Wp(Z!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Z!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(o%1l(Wp(Z!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Wp(Z!b$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Wp(Z!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Wp(Z!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(z+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(Y';W$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(WpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Wp(Z!b(U%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Wp(Z!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Wp(Z!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Wp(Z!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Wp(Z!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Z!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Wp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Wp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Wp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Wp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(WpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(WpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Wp(Z!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Wp(Z!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Wp(Z!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Wp(Z!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Wp(Z!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Wp(Z!b(O0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Wp(Z!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Z!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Z!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(WpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(WpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Wp(Z!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Wp(Z!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(r(Ct$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Wp(Z!b(a+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Wp(Z!b(T,2j$_#t(e$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Wp(Z!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(y+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[nP,rP,sP,lP,2,3,4,5,6,7,8,9,10,11,12,13,14,iP,new pl("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new pl("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:n=>aP[n]||-1},{term:343,get:n=>cP[n]||-1},{term:95,get:n=>hP[n]||-1}],tokenPrec:15201}),Wg=[et("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),et("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),et("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),et("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),et("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),et(`try {
|
|
19
19
|
\${}
|
|
20
20
|
} catch (\${error}) {
|
|
21
21
|
\${}
|
|
@@ -27,12 +27,12 @@ Write **markdown** here…`,markdownHint:"Paste Markdown text and click Convert
|
|
|
27
27
|
constructor(\${params}) {
|
|
28
28
|
\${}
|
|
29
29
|
}
|
|
30
|
-
}`,{label:"class",detail:"definition",type:"keyword"}),et('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),et('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Y$=$g.concat([et("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),et("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),et("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Rf=new jp,Pg=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function er(n){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,n),!0}}const I$=["FunctionDeclaration"],V$={FunctionDeclaration:er("function"),ClassDeclaration:er("class"),ClassExpression:()=>!0,EnumDeclaration:er("constant"),TypeAliasDeclaration:er("type"),NamespaceDeclaration:er("namespace"),VariableDefinition(n,e){n.matchContext(I$)||e(n,"variable")},TypeDefinition(n,e){e(n,"type")},__proto__:null};function Tg(n,e){let t=Rf.get(e);if(t)return t;let i=[],r=!0;function s(l,o){let a=n.sliceString(l.from,l.to);i.push({label:a,type:o})}return e.cursor(te.IncludeAnonymous).iterate(l=>{if(r)r=!1;else if(l.name){let o=V$[l.name];if(o&&o(l,s)||Pg.has(l.name))return!1}else if(l.to-l.from>8192){for(let o of Tg(n,l.node))i.push(o);return!1}}),Rf.set(e,i),i}const Mf=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Cg=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function B$(n){let e=xe(n.state).resolveInner(n.pos,-1);if(Cg.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Mf.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let r=e;r;r=r.parent)Pg.has(r.name)&&(i=i.concat(Tg(n.state.doc,r)));return{options:i,from:t?e.from:n.pos,validFor:Mf}}const Ut=Mn.define({name:"javascript",parser:q$.configure({props:[Al.add({IfStatement:As({except:/^\s*({|else\b)/}),TryStatement:As({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:DS,SwitchBody:n=>{let e=n.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return n.baseIndent+(t?0:i?1:2)*n.unit},Block:zS({closing:"}"}),ArrowFunction:n=>n.baseIndent+n.unit,"TemplateString BlockComment":()=>null,"Statement Property":As({except:/^\s*{/}),JSXElement(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},JSXEscape(n){let e=/\s*\}/.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"JSXOpenTag JSXSelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),Rl.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Yp,BlockComment(n){return{from:n.from+2,to:n.to-2}},JSXElement(n){let e=n.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=n.lastChild;return{from:e.to,to:t.type.isError?n.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(n){var e;let t=(e=n.firstChild)===null||e===void 0?void 0:e.nextSibling,i=n.lastChild;return!t||t.type.isError?null:{from:t.to,to:i.type.isError?n.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Ag={test:n=>/^JSX/.test(n.name),facet:zp({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Rg=Ut.configure({dialect:"ts"},"typescript"),Mg=Ut.configure({dialect:"jsx",props:[cc.add(n=>n.isTop?[Ag]:void 0)]}),Zg=Ut.configure({dialect:"jsx ts",props:[cc.add(n=>n.isTop?[Ag]:void 0)]},"typescript");let Xg=n=>({label:n,type:"keyword"});const jg="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Xg),N$=jg.concat(["declare","implements","private","protected","public"].map(Xg));function G$(n={}){let e=n.jsx?n.typescript?Zg:Mg:n.typescript?Rg:Ut,t=n.typescript?Y$.concat(N$):$g.concat(jg);return new hc(e,[Ut.data.of({autocomplete:lw(Cg,BO(t))}),Ut.data.of({autocomplete:B$}),n.jsx?H$:[]])}function U$(n){for(;;){if(n.name=="JSXOpenTag"||n.name=="JSXSelfClosingTag"||n.name=="JSXFragmentTag")return n;if(n.name=="JSXEscape"||!n.parent)return null;n=n.parent}}function Zf(n,e,t=n.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return n.sliceString(i.from,Math.min(i.to,t));return""}const F$=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),H$=C.inputHandler.of((n,e,t,i,r)=>{if((F$?n.composing:n.compositionStarted)||n.state.readOnly||e!=t||i!=">"&&i!="/"||!Ut.isActiveAt(n.state,e,-1))return!1;let s=r(),{state:l}=s,o=l.changeByRange(a=>{var c;let{head:h}=a,u=xe(l).resolveInner(h-1,-1),f;if(u.name=="JSXStartTag"&&(u=u.parent),!(l.doc.sliceString(h-1,h)!=i||u.name=="JSXAttributeValue"&&u.to>h)){if(i==">"&&u.name=="JSXFragmentTag")return{range:a,changes:{from:h,insert:"</>"}};if(i=="/"&&u.name=="JSXStartCloseTag"){let d=u.parent,p=d.parent;if(p&&d.from==h-2&&((f=Zf(l.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let O=`${f}>`;return{range:v.cursor(h+O.length,-1),changes:{from:h,insert:O}}}}else if(i==">"){let d=U$(u);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(l.doc.sliceString(h,h+2))&&(f=Zf(l.doc,d,h)))return{range:a,changes:{from:h,insert:`</${f}>`}}}}return{range:a}});return o.changes.empty?!1:(n.dispatch([s,l.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),tr=["_blank","_self","_top","_parent"],Mo=["ascii","utf-8","utf-16","latin1","latin1"],Zo=["get","post","put","delete"],Xo=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],ct=["true","false"],E={},K$={a:{attrs:{href:null,ping:null,type:null,media:null,target:tr,hreflang:null}},abbr:E,address:E,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:E,aside:E,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:E,base:{attrs:{href:null,target:tr}},bdi:E,bdo:E,blockquote:{attrs:{cite:null}},body:E,br:E,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Xo,formmethod:Zo,formnovalidate:["novalidate"],formtarget:tr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:E,center:E,cite:E,code:E,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:E,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:E,div:E,dl:E,dt:E,em:E,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:E,figure:E,footer:E,form:{attrs:{action:null,name:null,"accept-charset":Mo,autocomplete:["on","off"],enctype:Xo,method:Zo,novalidate:["novalidate"],target:tr}},h1:E,h2:E,h3:E,h4:E,h5:E,h6:E,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:E,hgroup:E,hr:E,html:{attrs:{manifest:null}},i:E,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Xo,formmethod:Zo,formnovalidate:["novalidate"],formtarget:tr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:E,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:E,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:E,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Mo,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:E,noscript:E,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:E,param:{attrs:{name:null,value:null}},pre:E,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:E,rt:E,ruby:E,samp:E,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Mo}},section:E,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:E,source:{attrs:{src:null,type:null,media:null}},span:E,strong:E,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:E,summary:E,sup:E,table:E,tbody:E,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:E,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:E,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:E,time:{attrs:{datetime:null}},title:E,tr:E,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:E,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:E},Eg={accesskey:null,class:null,contenteditable:ct,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:ct,autocorrect:ct,autocapitalize:ct,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":ct,"aria-autocomplete":["inline","list","both","none"],"aria-busy":ct,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":ct,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":ct,"aria-hidden":ct,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":ct,"aria-multiselectable":ct,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":ct,"aria-relevant":null,"aria-required":ct,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Lg="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(n=>"on"+n);for(let n of Lg)Eg[n]=null;class dl{constructor(e,t){this.tags={...K$,...e},this.globalAttrs={...Eg,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}dl.default=new dl;function Hi(n,e,t=n.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?n.sliceString(r.from,Math.min(r.to,t)):""}function En(n,e=!1){for(;n;n=n.parent)if(n.name=="Element")if(e)e=!1;else return n;return null}function _g(n,e,t){let i=t.tags[Hi(n,En(e))];return(i==null?void 0:i.children)||t.allTags}function Xc(n,e){let t=[];for(let i=En(e);i&&!i.type.isTop;i=En(i.parent)){let r=Hi(n,i);if(r&&i.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=i.firstChild.to)&&t.push(r)}return t}const zg=/^[:\-\.\w\u00b7-\uffff]*$/;function Xf(n,e,t,i,r){let s=/\s*>/.test(n.sliceDoc(r,r+5))?"":">",l=En(t,t.name=="StartTag"||t.name=="TagName");return{from:i,to:r,options:_g(n.doc,l,e).map(o=>({label:o,type:"type"})).concat(Xc(n.doc,t).map((o,a)=>({label:"/"+o,apply:"/"+o+s,type:"type",boost:99-a}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function jf(n,e,t,i){let r=/\s*>/.test(n.sliceDoc(i,i+5))?"":">";return{from:t,to:i,options:Xc(n.doc,e).map((s,l)=>({label:s,apply:s+r,type:"type",boost:99-l})),validFor:zg}}function J$(n,e,t,i){let r=[],s=0;for(let l of _g(n.doc,t,e))r.push({label:"<"+l,type:"type"});for(let l of Xc(n.doc,t))r.push({label:"</"+l+">",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function eP(n,e,t,i,r){let s=En(t),l=s?e.tags[Hi(n.doc,s)]:null,o=l&&l.attrs?Object.keys(l.attrs):[],a=l&&l.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:i,to:r,options:a.map(c=>({label:c,type:"property"})),validFor:zg}}function tP(n,e,t,i,r){var s;let l=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),o=[],a;if(l){let c=n.sliceDoc(l.from,l.to),h=e.globalAttrs[c];if(!h){let u=En(t),f=u?e.tags[Hi(n.doc,u)]:null;h=(f==null?void 0:f.attrs)&&f.attrs[c]}if(h){let u=n.sliceDoc(i,r).toLowerCase(),f='"',d='"';/^['"]/.test(u)?(a=u[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=n.sliceDoc(r,r+1)==u[0]?"":u[0],u=u.slice(1),i++):a=/^[^\s<>='"]*$/;for(let p of h)o.push({label:p,apply:f+p+d,type:"constant"})}}return{from:i,to:r,options:o,validFor:a}}function iP(n,e){let{state:t,pos:i}=e,r=xe(t).resolveInner(i,-1),s=r.resolve(i);for(let l=i,o;s==r&&(o=r.childBefore(l));){let a=o.lastChild;if(!a||!a.type.isError||a.from<a.to)break;s=r=o,l=a.from}return r.name=="TagName"?r.parent&&/CloseTag$/.test(r.parent.name)?jf(t,r,r.from,i):Xf(t,n,r,r.from,i):r.name=="StartTag"||r.name=="IncompleteTag"?Xf(t,n,r,i,i):r.name=="StartCloseTag"||r.name=="IncompleteCloseTag"?jf(t,r,i,i):r.name=="OpenTag"||r.name=="SelfClosingTag"||r.name=="AttributeName"?eP(t,n,r,r.name=="AttributeName"?r.from:i,i):r.name=="Is"||r.name=="AttributeValue"||r.name=="UnquotedAttributeValue"?tP(t,n,r,r.name=="Is"?i:r.from,i):e.explicit&&(s.name=="Element"||s.name=="Text"||s.name=="Document")?J$(t,n,r,i):null}function nP(n){let{extraTags:e,extraGlobalAttributes:t}=n,i=t||e?new dl(e,t):dl.default;return r=>iP(i,r)}const rP=Ut.parser.configure({top:"SingleExpression"}),Dg=[{tag:"script",attrs:n=>n.type=="text/typescript"||n.lang=="ts",parser:Rg.parser},{tag:"script",attrs:n=>n.type=="text/babel"||n.type=="text/jsx",parser:Mg.parser},{tag:"script",attrs:n=>n.type=="text/typescript-jsx",parser:Zg.parser},{tag:"script",attrs(n){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(n.type)},parser:rP},{tag:"script",attrs(n){return!n.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(n.type)},parser:Ut.parser},{tag:"style",attrs(n){return(!n.lang||n.lang=="css")&&(!n.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(n.type))},parser:fl.parser}],Wg=[{name:"style",parser:fl.parser.configure({top:"Styles"})}].concat(Lg.map(n=>({name:n,parser:Ut.parser}))),qg=Mn.define({name:"html",parser:Cv.configure({props:[Al.add({Element(n){let e=/^(\s*)(<\/)?/.exec(n.textAfter);return n.node.to<=n.pos+e[0].length?n.continue():n.lineIndent(n.node.from)+(e[2]?0:n.unit)},"OpenTag CloseTag SelfClosingTag"(n){return n.column(n.node.from)+n.unit},Document(n){if(n.pos+/\s*/.exec(n.textAfter)[0].length<n.node.to)return n.continue();let e=null,t;for(let i=n.node;;){let r=i.lastChild;if(!r||r.name!="Element"||r.to!=i.to)break;e=i=r}return e&&!((t=e.lastChild)&&(t.name=="CloseTag"||t.name=="SelfClosingTag"))?n.lineIndent(e.from)+n.unit:null}}),Rl.add({Element(n){let e=n.firstChild,t=n.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:n.to}}}),tO.add({"OpenTag CloseTag":n=>n.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),Xs=qg.configure({wrap:xg(Dg,Wg)});function sP(n={}){let e="",t;n.matchClosingTags===!1&&(e="noMatch"),n.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(n.nestedLanguages&&n.nestedLanguages.length||n.nestedAttributes&&n.nestedAttributes.length)&&(t=xg((n.nestedLanguages||[]).concat(Dg),(n.nestedAttributes||[]).concat(Wg)));let i=t?qg.configure({wrap:t,dialect:e}):e?Xs.configure({dialect:e}):Xs;return new hc(i,[Xs.data.of({autocomplete:nP(n)}),n.autoCloseTags!==!1?oP:[],G$().support,u$().support])}const Ef=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" "));function lP(n,e,t){for(var i;;){if(((i=e.lastChild)===null||i===void 0?void 0:i.name)!="CloseTag")return!1;let r=e.parent;if(!r||Hi(n,r)!=t)return!0;e=r}}const oP=C.inputHandler.of((n,e,t,i,r)=>{if(n.composing||n.state.readOnly||e!=t||i!=">"&&i!="/"||!Xs.isActiveAt(n.state,e,-1))return!1;let s=r(),{state:l}=s,o=l.changeByRange(a=>{var c;let h=l.doc.sliceString(a.from-1,a.to)==i,{head:u}=a,f=xe(l).resolveInner(u,-1),d;if(h&&i==">"&&f.name=="EndTag"){let p=f.parent;if((d=Hi(l.doc,p.parent,u))&&!Ef.has(d)&&!lP(l.doc,p.parent,d)){let O=u+(l.doc.sliceString(u,u+1)===">"?1:0),m=`</${d}>`;return{range:a,changes:{from:u,to:O,insert:m}}}}else if(h&&i=="/"&&f.name=="IncompleteCloseTag"){let p=f.parent;if(f.from==u-2&&((c=p.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(d=Hi(l.doc,p,u))&&!Ef.has(d)){let O=u+(l.doc.sliceString(u,u+1)===">"?1:0),m=`${d}>`;return{range:v.cursor(u+m.length,-1),changes:{from:u,to:O,insert:m}}}}return{range:a}});return o.changes.empty?!1:(n.dispatch([s,l.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),aP=LQ({theme:"dark",settings:{background:"#0f172a",foreground:"#e2e8f0",caret:"#e2e8f0",selection:"rgba(45, 212, 191, 0.28)",selectionMatch:"rgba(45, 212, 191, 0.18)",lineHighlight:"transparent",gutterBackground:"#0b1220",gutterForeground:"#64748b",gutterActiveForeground:"#94a3b8",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace",fontSize:"13px"},styles:[{tag:b.comment,color:"#64748b",fontStyle:"italic"},{tag:b.meta,color:"#64748b"},{tag:b.keyword,color:"#c4b5fd"},{tag:[b.tagName,b.typeName],color:"#f472b6"},{tag:[b.propertyName,b.attributeName],color:"#7dd3fc"},{tag:[b.string,b.special(b.string)],color:"#86efac"},{tag:[b.number,b.bool,b.null],color:"#fcd34d"},{tag:[b.angleBracket,b.bracket],color:"#94a3b8"},{tag:[b.operator,b.punctuation],color:"#cbd5e1"},{tag:b.className,color:"#fbbf24"},{tag:b.invalid,color:"#fca5a5"}]}),cP=C.baseTheme({"&, &.cm-focused":{outline:"none",boxShadow:"none"},".cm-content, .cm-scroller, .cm-line":{outline:"none"},".cm-content":{padding:"16px 18px 28px"},".cm-gutters":{border:"none",paddingRight:"4px"},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:"transparent !important"},".cm-matchingBracket":{backgroundColor:"transparent",outline:"none"}});function hP({value:n,onChange:e,onBlur:t,disabled:i=!1,minHeight:r=220,noscroll:s=!1,ariaLabel:l}){const o=Q.useMemo(()=>[sP(),zn.of([jO]),cP,C.lineWrapping,C.editable.of(!i),C.domEventHandlers({blur:()=>(t==null||t(),!1)})],[i,t]);return g.jsx("div",{className:`te-source${s?"":" te-source--scroll"}`,style:{minHeight:r},children:g.jsx(og,{value:n,height:"100%",minHeight:`${r}px`,theme:aP,extensions:o,onChange:e,editable:!i,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!1,highlightActiveLineGutter:!1,bracketMatching:!0,closeBrackets:!0,autocompletion:!1,indentOnInput:!0},"aria-label":l,dir:"ltr"})})}function jc(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Ji=jc();function Yg(n){Ji=n}var Di={exec:()=>null};function on(n){let e=[];return t=>{let i=Math.max(0,Math.min(3,t-1)),r=e[i];return r||(r=n(i),e[i]=r),r}}function G(n,e=""){let t=typeof n=="string"?n:n.source,i={replace:(r,s)=>{let l=typeof s=="string"?s:s.source;return l=l.replace(We.caret,"$1"),t=t.replace(r,l),i},getRegex:()=>new RegExp(t,e)};return i}var uP=((n="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+n)}catch{return!1}})(),We={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:on(n=>new RegExp(`^ {0,${n}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:on(n=>new RegExp(`^ {0,${n}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:on(n=>new RegExp(`^ {0,${n}}(?:\`\`\`|~~~)`)),headingBeginRegex:on(n=>new RegExp(`^ {0,${n}}#`)),htmlBeginRegex:on(n=>new RegExp(`^ {0,${n}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:on(n=>new RegExp(`^ {0,${n}}>`))},fP=/^(?:[ \t]*(?:\n|$))+/,dP=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,pP=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Vr=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,OP=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ec=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Ig=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Vg=G(Ig).replace(/bull/g,Ec).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),gP=G(Ig).replace(/bull/g,Ec).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Lc=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,mP=/^[^\n]+/,_c=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,bP=G(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",_c).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),xP=G(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,Ec).getRegex(),_l="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",zc=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,yP=G("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",zc).replace("tag",_l).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Bg=n=>G(Lc).replace("hr",Vr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",n).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_l).getRegex(),SP=Bg(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),kP=Bg(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),wP=G(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",kP).getRegex(),Dc={blockquote:wP,code:dP,def:bP,fences:pP,heading:OP,hr:Vr,html:yP,lheading:Vg,list:xP,newline:fP,paragraph:SP,table:Di,text:mP},Lf=G("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Vr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_l).getRegex(),QP={...Dc,lheading:gP,table:Lf,paragraph:G(Lc).replace("hr",Vr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Lf).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_l).getRegex()},vP={...Dc,html:G(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",zc).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Di,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:G(Lc).replace("hr",Vr).replace("heading",` *#{1,6} *[^
|
|
31
|
-
]`).replace("lheading",
|
|
32
|
-
`),t=e.length-1;for(;t>=0&&
|
|
33
|
-
`)}function
|
|
30
|
+
}`,{label:"class",detail:"definition",type:"keyword"}),et('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),et('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],fP=Wg.concat([et("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),et("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),et("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Bf=new Fp,Ig=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function or(n){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,n),!0}}const dP=["FunctionDeclaration"],pP={FunctionDeclaration:or("function"),ClassDeclaration:or("class"),ClassExpression:()=>!0,EnumDeclaration:or("constant"),TypeAliasDeclaration:or("type"),NamespaceDeclaration:or("namespace"),VariableDefinition(n,e){n.matchContext(dP)||e(n,"variable")},TypeDefinition(n,e){e(n,"type")},__proto__:null};function qg(n,e){let t=Bf.get(e);if(t)return t;let i=[],r=!0;function s(l,o){let a=n.sliceString(l.from,l.to);i.push({label:a,type:o})}return e.cursor(re.IncludeAnonymous).iterate(l=>{if(r)r=!1;else if(l.name){let o=pP[l.name];if(o&&o(l,s)||Ig.has(l.name))return!1}else if(l.to-l.from>8192){for(let o of qg(n,l.node))i.push(o);return!1}}),Bf.set(e,i),i}const Vf=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Yg=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function OP(n){let e=ye(n.state).resolveInner(n.pos,-1);if(Yg.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Vf.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let r=e;r;r=r.parent)Ig.has(r.name)&&(i=i.concat(qg(n.state.doc,r)));return{options:i,from:t?e.from:n.pos,validFor:Vf}}const Ut=_n.define({name:"javascript",parser:uP.configure({props:[Xl.add({IfStatement:Xs({except:/^\s*({|else\b)/}),TryStatement:Xs({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:cS,SwitchBody:n=>{let e=n.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return n.baseIndent+(t?0:i?1:2)*n.unit},Block:aS({closing:"}"}),ArrowFunction:n=>n.baseIndent+n.unit,"TemplateString BlockComment":()=>null,"Statement Property":Xs({except:/^\s*{/}),JSXElement(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},JSXEscape(n){let e=/\s*\}/.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"JSXOpenTag JSXSelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),Ll.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":rO,BlockComment(n){return{from:n.from+2,to:n.to-2}},JSXElement(n){let e=n.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=n.lastChild;return{from:e.to,to:t.type.isError?n.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(n){var e;let t=(e=n.firstChild)===null||e===void 0?void 0:e.nextSibling,i=n.lastChild;return!t||t.type.isError?null:{from:t.to,to:i.type.isError?n.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Bg={test:n=>/^JSX/.test(n.name),facet:eO({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Vg=Ut.configure({dialect:"ts"},"typescript"),Ng=Ut.configure({dialect:"jsx",props:[bc.add(n=>n.isTop?[Bg]:void 0)]}),Gg=Ut.configure({dialect:"jsx ts",props:[bc.add(n=>n.isTop?[Bg]:void 0)]},"typescript");let Ug=n=>({label:n,type:"keyword"});const Fg="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Ug),gP=Fg.concat(["declare","implements","private","protected","public"].map(Ug));function mP(n={}){let e=n.jsx?n.typescript?Gg:Ng:n.typescript?Vg:Ut,t=n.typescript?fP.concat(gP):Wg.concat(Fg);return new xc(e,[Ut.data.of({autocomplete:Cw(Yg,og(t))}),Ut.data.of({autocomplete:OP}),n.jsx?kP:[]])}function bP(n){for(;;){if(n.name=="JSXOpenTag"||n.name=="JSXSelfClosingTag"||n.name=="JSXFragmentTag")return n;if(n.name=="JSXEscape"||!n.parent)return null;n=n.parent}}function Nf(n,e,t=n.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return n.sliceString(i.from,Math.min(i.to,t));return""}const xP=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),kP=A.inputHandler.of((n,e,t,i,r)=>{if((xP?n.composing:n.compositionStarted)||n.state.readOnly||e!=t||i!=">"&&i!="/"||!Ut.isActiveAt(n.state,e,-1))return!1;let s=r(),{state:l}=s,o=l.changeByRange(a=>{var c;let{head:h}=a,u=ye(l).resolveInner(h-1,-1),f;if(u.name=="JSXStartTag"&&(u=u.parent),!(l.doc.sliceString(h-1,h)!=i||u.name=="JSXAttributeValue"&&u.to>h)){if(i==">"&&u.name=="JSXFragmentTag")return{range:a,changes:{from:h,insert:"</>"}};if(i=="/"&&u.name=="JSXStartCloseTag"){let d=u.parent,p=d.parent;if(p&&d.from==h-2&&((f=Nf(l.doc,p.firstChild,h))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let O=`${f}>`;return{range:v.cursor(h+O.length,-1),changes:{from:h,insert:O}}}}else if(i==">"){let d=bP(u);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(l.doc.sliceString(h,h+2))&&(f=Nf(l.doc,d,h)))return{range:a,changes:{from:h,insert:`</${f}>`}}}}return{range:a}});return o.changes.empty?!1:(n.dispatch([s,l.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),ar=["_blank","_self","_top","_parent"],Eo=["ascii","utf-8","utf-16","latin1","latin1"],_o=["get","post","put","delete"],zo=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],ct=["true","false"],_={},yP={a:{attrs:{href:null,ping:null,type:null,media:null,target:ar,hreflang:null}},abbr:_,address:_,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:_,aside:_,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:_,base:{attrs:{href:null,target:ar}},bdi:_,bdo:_,blockquote:{attrs:{cite:null}},body:_,br:_,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:zo,formmethod:_o,formnovalidate:["novalidate"],formtarget:ar,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:_,center:_,cite:_,code:_,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:_,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:_,div:_,dl:_,dt:_,em:_,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:_,figure:_,footer:_,form:{attrs:{action:null,name:null,"accept-charset":Eo,autocomplete:["on","off"],enctype:zo,method:_o,novalidate:["novalidate"],target:ar}},h1:_,h2:_,h3:_,h4:_,h5:_,h6:_,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:_,hgroup:_,hr:_,html:{attrs:{manifest:null}},i:_,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:zo,formmethod:_o,formnovalidate:["novalidate"],formtarget:ar,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:_,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:_,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:_,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Eo,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:_,noscript:_,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:_,param:{attrs:{name:null,value:null}},pre:_,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:_,rt:_,ruby:_,samp:_,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Eo}},section:_,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:_,source:{attrs:{src:null,type:null,media:null}},span:_,strong:_,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:_,summary:_,sup:_,table:_,tbody:_,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:_,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:_,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:_,time:{attrs:{datetime:null}},title:_,tr:_,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:_,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:_},Hg={accesskey:null,class:null,contenteditable:ct,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:ct,autocorrect:ct,autocapitalize:ct,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":ct,"aria-autocomplete":["inline","list","both","none"],"aria-busy":ct,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":ct,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":ct,"aria-hidden":ct,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":ct,"aria-multiselectable":ct,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":ct,"aria-relevant":null,"aria-required":ct,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Kg="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(n=>"on"+n);for(let n of Kg)Hg[n]=null;class ml{constructor(e,t){this.tags={...yP,...e},this.globalAttrs={...Hg,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}ml.default=new ml;function Ki(n,e,t=n.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?n.sliceString(r.from,Math.min(r.to,t)):""}function In(n,e=!1){for(;n;n=n.parent)if(n.name=="Element")if(e)e=!1;else return n;return null}function Jg(n,e,t){let i=t.tags[Ki(n,In(e))];return(i==null?void 0:i.children)||t.allTags}function qc(n,e){let t=[];for(let i=In(e);i&&!i.type.isTop;i=In(i.parent)){let r=Ki(n,i);if(r&&i.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=i.firstChild.to)&&t.push(r)}return t}const em=/^[:\-\.\w\u00b7-\uffff]*$/;function Gf(n,e,t,i,r){let s=/\s*>/.test(n.sliceDoc(r,r+5))?"":">",l=In(t,t.name=="StartTag"||t.name=="TagName");return{from:i,to:r,options:Jg(n.doc,l,e).map(o=>({label:o,type:"type"})).concat(qc(n.doc,t).map((o,a)=>({label:"/"+o,apply:"/"+o+s,type:"type",boost:99-a}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Uf(n,e,t,i){let r=/\s*>/.test(n.sliceDoc(i,i+5))?"":">";return{from:t,to:i,options:qc(n.doc,e).map((s,l)=>({label:s,apply:s+r,type:"type",boost:99-l})),validFor:em}}function SP(n,e,t,i){let r=[],s=0;for(let l of Jg(n.doc,t,e))r.push({label:"<"+l,type:"type"});for(let l of qc(n.doc,t))r.push({label:"</"+l+">",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function wP(n,e,t,i,r){let s=In(t),l=s?e.tags[Ki(n.doc,s)]:null,o=l&&l.attrs?Object.keys(l.attrs):[],a=l&&l.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:i,to:r,options:a.map(c=>({label:c,type:"property"})),validFor:em}}function QP(n,e,t,i,r){var s;let l=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),o=[],a;if(l){let c=n.sliceDoc(l.from,l.to),h=e.globalAttrs[c];if(!h){let u=In(t),f=u?e.tags[Ki(n.doc,u)]:null;h=(f==null?void 0:f.attrs)&&f.attrs[c]}if(h){let u=n.sliceDoc(i,r).toLowerCase(),f='"',d='"';/^['"]/.test(u)?(a=u[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=n.sliceDoc(r,r+1)==u[0]?"":u[0],u=u.slice(1),i++):a=/^[^\s<>='"]*$/;for(let p of h)o.push({label:p,apply:f+p+d,type:"constant"})}}return{from:i,to:r,options:o,validFor:a}}function vP(n,e){let{state:t,pos:i}=e,r=ye(t).resolveInner(i,-1),s=r.resolve(i);for(let l=i,o;s==r&&(o=r.childBefore(l));){let a=o.lastChild;if(!a||!a.type.isError||a.from<a.to)break;s=r=o,l=a.from}return r.name=="TagName"?r.parent&&/CloseTag$/.test(r.parent.name)?Uf(t,r,r.from,i):Gf(t,n,r,r.from,i):r.name=="StartTag"||r.name=="IncompleteTag"?Gf(t,n,r,i,i):r.name=="StartCloseTag"||r.name=="IncompleteCloseTag"?Uf(t,r,i,i):r.name=="OpenTag"||r.name=="SelfClosingTag"||r.name=="AttributeName"?wP(t,n,r,r.name=="AttributeName"?r.from:i,i):r.name=="Is"||r.name=="AttributeValue"||r.name=="UnquotedAttributeValue"?QP(t,n,r,r.name=="Is"?i:r.from,i):e.explicit&&(s.name=="Element"||s.name=="Text"||s.name=="Document")?SP(t,n,r,i):null}function $P(n){let{extraTags:e,extraGlobalAttributes:t}=n,i=t||e?new ml(e,t):ml.default;return r=>vP(i,r)}const PP=Ut.parser.configure({top:"SingleExpression"}),tm=[{tag:"script",attrs:n=>n.type=="text/typescript"||n.lang=="ts",parser:Vg.parser},{tag:"script",attrs:n=>n.type=="text/babel"||n.type=="text/jsx",parser:Ng.parser},{tag:"script",attrs:n=>n.type=="text/typescript-jsx",parser:Gg.parser},{tag:"script",attrs(n){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(n.type)},parser:PP},{tag:"script",attrs(n){return!n.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(n.type)},parser:Ut.parser},{tag:"style",attrs(n){return(!n.lang||n.lang=="css")&&(!n.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(n.type))},parser:gl.parser}],im=[{name:"style",parser:gl.parser.configure({top:"Styles"})}].concat(Kg.map(n=>({name:n,parser:Ut.parser}))),nm=_n.define({name:"html",parser:Kv.configure({props:[Xl.add({Element(n){let e=/^(\s*)(<\/)?/.exec(n.textAfter);return n.node.to<=n.pos+e[0].length?n.continue():n.lineIndent(n.node.from)+(e[2]?0:n.unit)},"OpenTag CloseTag SelfClosingTag"(n){return n.column(n.node.from)+n.unit},Document(n){if(n.pos+/\s*/.exec(n.textAfter)[0].length<n.node.to)return n.continue();let e=null,t;for(let i=n.node;;){let r=i.lastChild;if(!r||r.name!="Element"||r.to!=i.to)break;e=i=r}return e&&!((t=e.lastChild)&&(t.name=="CloseTag"||t.name=="SelfClosingTag"))?n.lineIndent(e.from)+n.unit:null}}),Ll.add({Element(n){let e=n.firstChild,t=n.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:n.to}}}),gO.add({"OpenTag CloseTag":n=>n.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),_s=nm.configure({wrap:Xg(tm,im)});function TP(n={}){let e="",t;n.matchClosingTags===!1&&(e="noMatch"),n.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(n.nestedLanguages&&n.nestedLanguages.length||n.nestedAttributes&&n.nestedAttributes.length)&&(t=Xg((n.nestedLanguages||[]).concat(tm),(n.nestedAttributes||[]).concat(im)));let i=t?nm.configure({wrap:t,dialect:e}):e?_s.configure({dialect:e}):_s;return new xc(i,[_s.data.of({autocomplete:$P(n)}),n.autoCloseTags!==!1?AP:[],mP().support,X$().support])}const Ff=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" "));function CP(n,e,t){for(var i;;){if(((i=e.lastChild)===null||i===void 0?void 0:i.name)!="CloseTag")return!1;let r=e.parent;if(!r||Ki(n,r)!=t)return!0;e=r}}const AP=A.inputHandler.of((n,e,t,i,r)=>{if(n.composing||n.state.readOnly||e!=t||i!=">"&&i!="/"||!_s.isActiveAt(n.state,e,-1))return!1;let s=r(),{state:l}=s,o=l.changeByRange(a=>{var c;let h=l.doc.sliceString(a.from-1,a.to)==i,{head:u}=a,f=ye(l).resolveInner(u,-1),d;if(h&&i==">"&&f.name=="EndTag"){let p=f.parent;if((d=Ki(l.doc,p.parent,u))&&!Ff.has(d)&&!CP(l.doc,p.parent,d)){let O=u+(l.doc.sliceString(u,u+1)===">"?1:0),m=`</${d}>`;return{range:a,changes:{from:u,to:O,insert:m}}}}else if(h&&i=="/"&&f.name=="IncompleteCloseTag"){let p=f.parent;if(f.from==u-2&&((c=p.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(d=Ki(l.doc,p,u))&&!Ff.has(d)){let O=u+(l.doc.sliceString(u,u+1)===">"?1:0),m=`${d}>`;return{range:v.cursor(u+m.length,-1),changes:{from:u,to:O,insert:m}}}}return{range:a}});return o.changes.empty?!1:(n.dispatch([s,l.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),RP=lv({theme:"dark",settings:{background:"#0f172a",foreground:"#e2e8f0",caret:"#e2e8f0",selection:"rgba(45, 212, 191, 0.28)",selectionMatch:"rgba(45, 212, 191, 0.18)",lineHighlight:"transparent",gutterBackground:"#0b1220",gutterForeground:"#64748b",gutterActiveForeground:"#94a3b8",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace",fontSize:"13px"},styles:[{tag:b.comment,color:"#64748b",fontStyle:"italic"},{tag:b.meta,color:"#64748b"},{tag:b.keyword,color:"#c4b5fd"},{tag:[b.tagName,b.typeName],color:"#f472b6"},{tag:[b.propertyName,b.attributeName],color:"#7dd3fc"},{tag:[b.string,b.special(b.string)],color:"#86efac"},{tag:[b.number,b.bool,b.null],color:"#fcd34d"},{tag:[b.angleBracket,b.bracket],color:"#94a3b8"},{tag:[b.operator,b.punctuation],color:"#cbd5e1"},{tag:b.className,color:"#fbbf24"},{tag:b.invalid,color:"#fca5a5"}]}),MP=A.baseTheme({"&, &.cm-focused":{outline:"none",boxShadow:"none"},".cm-content, .cm-scroller, .cm-line":{outline:"none"},".cm-content":{padding:"16px 18px 28px"},".cm-gutters":{border:"none",paddingRight:"4px"},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:"transparent !important"},".cm-matchingBracket":{backgroundColor:"transparent",outline:"none"}});function ZP({value:n,onChange:e,onBlur:t,disabled:i=!1,minHeight:r=220,noscroll:s=!1,ariaLabel:l}){const o=Q.useMemo(()=>[TP(),Vn.of([FO]),MP,A.lineWrapping,A.editable.of(!i),A.domEventHandlers({blur:()=>(t==null||t(),!1)})],[i,t]);return g.jsx("div",{className:`te-source${s?"":" te-source--scroll"}`,style:{minHeight:r},children:g.jsx(Sg,{value:n,height:"100%",minHeight:`${r}px`,theme:RP,extensions:o,onChange:e,editable:!i,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!1,highlightActiveLineGutter:!1,bracketMatching:!0,closeBrackets:!0,autocompletion:!1,indentOnInput:!0},"aria-label":l,dir:"ltr"})})}function Yc(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var tn=Yc();function rm(n){tn=n}var Wi={exec:()=>null};function cn(n){let e=[];return t=>{let i=Math.max(0,Math.min(3,t-1)),r=e[i];return r||(r=n(i),e[i]=r),r}}function G(n,e=""){let t=typeof n=="string"?n:n.source,i={replace:(r,s)=>{let l=typeof s=="string"?s:s.source;return l=l.replace(Ie.caret,"$1"),t=t.replace(r,l),i},getRegex:()=>new RegExp(t,e)};return i}var XP=((n="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+n)}catch{return!1}})(),Ie={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:cn(n=>new RegExp(`^ {0,${n}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:cn(n=>new RegExp(`^ {0,${n}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:cn(n=>new RegExp(`^ {0,${n}}(?:\`\`\`|~~~)`)),headingBeginRegex:cn(n=>new RegExp(`^ {0,${n}}#`)),htmlBeginRegex:cn(n=>new RegExp(`^ {0,${n}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:cn(n=>new RegExp(`^ {0,${n}}>`))},LP=/^(?:[ \t]*(?:\n|$))+/,jP=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,EP=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ur=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,_P=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Bc=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,sm=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,lm=G(sm).replace(/bull/g,Bc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),zP=G(sm).replace(/bull/g,Bc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Vc=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,DP=/^[^\n]+/,Nc=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,WP=G(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Nc).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),IP=G(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,Bc).getRegex(),Il="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Gc=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,qP=G("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Gc).replace("tag",Il).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),om=n=>G(Vc).replace("hr",Ur).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",n).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Il).getRegex(),YP=om(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),BP=om(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),VP=G(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",BP).getRegex(),Uc={blockquote:VP,code:jP,def:WP,fences:EP,heading:_P,hr:Ur,html:qP,lheading:lm,list:IP,newline:LP,paragraph:YP,table:Wi,text:DP},Hf=G("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ur).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Il).getRegex(),NP={...Uc,lheading:zP,table:Hf,paragraph:G(Vc).replace("hr",Ur).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Hf).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Il).getRegex()},GP={...Uc,html:G(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Gc).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Wi,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:G(Vc).replace("hr",Ur).replace("heading",` *#{1,6} *[^
|
|
31
|
+
]`).replace("lheading",lm).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},UP=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,FP=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,am=/^( {2,}|\\)\n(?!\s*$)/,HP=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ci=/[\p{P}\p{S}]/u,Hn=/[\s\p{P}\p{S}]/u,Fr=/[^\s\p{P}\p{S}]/u,KP=G(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Hn).getRegex(),JP=/[\p{Pi}\p{Ps}"']/u,cm=/(?!~)[\p{P}\p{S}]/u,eT=/(?!~)[\s\p{P}\p{S}]/u,tT=/(?:[^\s\p{P}\p{S}]|~)/u,iT=G(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",XP?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),hm=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,nT=G(hm,"u").replace(/punct/g,ci).getRegex(),rT=G(hm,"u").replace(/punct/g,cm).getRegex(),sT=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,lT=G(sT,"u").replace(/openQuote/g,JP).replace(/punct/g,ci).getRegex(),um="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",oT=G(um,"gu").replace(/notPunctSpace/g,Fr).replace(/punctSpace/g,Hn).replace(/punct/g,ci).getRegex(),aT=G(um,"gu").replace(/notPunctSpace/g,tT).replace(/punctSpace/g,eT).replace(/punct/g,cm).getRegex(),cT="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",hT=G(cT,"gu").replace(/notPunctSpace/g,Fr).replace(/punctSpace/g,Hn).replace(/punct/g,ci).getRegex(),uT=G("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Fr).replace(/punctSpace/g,Hn).replace(/punct/g,ci).getRegex(),fT="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",dT=G(fT,"gu").replace(/notPunctSpace/g,Fr).replace(/punctSpace/g,Hn).replace(/punct/g,ci).getRegex(),pT=G(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,ci).getRegex(),OT="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",gT=G(OT,"gu").replace(/notPunctSpace/g,Fr).replace(/punctSpace/g,Hn).replace(/punct/g,ci).getRegex(),mT=G(/\\(punct)/,"gu").replace(/punct/g,ci).getRegex(),bT=G(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),xT=G(Gc).replace("(?:-->|$)","-->").getRegex(),kT=G("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",xT).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),bl=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,yT=G(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",bl).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),fm=G(/^!?\[(label)\]\[(ref)\]/).replace("label",bl).replace("ref",Nc).getRegex(),dm=G(/^!?\[(ref)\](?:\[\])?/).replace("ref",Nc).getRegex(),ST=G("reflink|nolink(?!\\()","g").replace("reflink",fm).replace("nolink",dm).getRegex(),Kf=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Fc={_backpedal:Wi,anyPunctuation:mT,autolink:bT,blockSkip:iT,br:am,code:FP,del:Wi,delLDelim:Wi,delRDelim:Wi,emStrongLDelim:nT,emStrongRDelimAst:oT,emStrongRDelimUnd:uT,escape:UP,link:yT,nolink:dm,punctuation:KP,reflink:fm,reflinkSearch:ST,tag:kT,text:HP,url:Wi},wT={...Fc,emStrongLDelim:lT,emStrongRDelimAst:hT,emStrongRDelimUnd:dT,link:G(/^!?\[(label)\]\((.*?)\)/).replace("label",bl).getRegex(),reflink:G(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",bl).getRegex()},Wa={...Fc,emStrongRDelimAst:aT,emStrongLDelim:rT,delLDelim:pT,delRDelim:gT,url:G(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Kf).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:G(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Kf).getRegex()},QT={...Wa,br:G(am).replace("{2,}","*").getRegex(),text:G(Wa.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Qs={normal:Uc,gfm:NP,pedantic:GP},cr={normal:Fc,gfm:Wa,breaks:QT,pedantic:wT},vT={"&":"&","<":"<",">":">",'"':""","'":"'"},Jf=n=>vT[n];function _t(n,e){if(e){if(Ie.escapeTest.test(n))return n.replace(Ie.escapeReplace,Jf)}else if(Ie.escapeTestNoEncode.test(n))return n.replace(Ie.escapeReplaceNoEncode,Jf);return n}function ed(n){try{n=encodeURI(n).replace(Ie.percentDecode,"%")}catch{return null}return n}function td(n,e){var s;let t=n.replace(Ie.findPipe,(l,o,a)=>{let c=!1,h=o;for(;--h>=0&&a[h]==="\\";)c=!c;return c?"|":" |"}),i=t.split(Ie.splitPipe),r=0;if(i[0].trim()||i.shift(),i.length>0&&!((s=i.at(-1))!=null&&s.trim())&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;r<i.length;r++)i[r]=i[r].trim().replace(Ie.slashPipe,"|");return i}function di(n,e,t){let i=n.length;if(i===0)return"";let r=0;for(;r<i&&n.charAt(i-r-1)===e;)r++;return n.slice(0,i-r)}function id(n){let e=n.split(`
|
|
32
|
+
`),t=e.length-1;for(;t>=0&&Ie.blankLine.test(e[t]);)t--;return e.length-t<=2?n:e.slice(0,t+1).join(`
|
|
33
|
+
`)}function $T(n,e){if(n.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<n.length;i++)if(n[i]==="\\")i++;else if(n[i]===e[0])t++;else if(n[i]===e[1]&&(t--,t<0))return i;return t>0?-2:-1}function PT(n,e=0){let t=e,i="";for(let r of n)if(r===" "){let s=4-t%4;i+=" ".repeat(s),t+=s}else i+=r,t++;return i}function nd(n,e,t,i,r){let s=e.href,l=e.title||null,o=n[1].replace(r.other.outputLinkReplace,"$1"),a=n[0].charAt(0)==="!";i.state.inLink=!0;let c=i.state.linkEmitted,h=i.state.inRawBlock;i.state.linkEmitted=!1;let u=i.inlineTokens(o),f=i.state.linkEmitted;if(i.state.linkEmitted=c,i.state.inLink=!1,!a){if(f){i.state.inRawBlock=h;return}i.state.linkEmitted=!0}return{type:a?"image":"link",raw:t,href:s,title:l,text:o,tokens:u}}function TT(n,e,t){let i=n.match(t.other.indentCodeCompensation);if(i===null)return e;let r=i[1];return e.split(`
|
|
34
34
|
`).map(s=>{let l=s.match(t.other.beginningSpace);if(l===null)return s;let[o]=l;return o.length>=r.length?s.slice(r.length):s}).join(`
|
|
35
|
-
`)}var
|
|
35
|
+
`)}var xl=class{constructor(n){oe(this,"options");oe(this,"rules");oe(this,"lexer");this.options=n||tn}space(n){let e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(n){let e=this.rules.block.code.exec(n);if(e){let t=this.options.pedantic?e[0]:id(e[0]),i=t.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t,codeBlockStyle:"indented",text:i}}}fences(n){let e=this.rules.block.fences.exec(n);if(e){let t=e[0],i=TT(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(n){let e=this.rules.block.heading.exec(n);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=di(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:di(e[0],`
|
|
36
36
|
`),depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(n){let e=this.rules.block.hr.exec(n);if(e)return{type:"hr",raw:di(e[0],`
|
|
37
37
|
`)}}blockquote(n){let e=this.rules.block.blockquote.exec(n);if(e){let t=di(e[0],`
|
|
38
38
|
`).split(`
|
|
@@ -46,20 +46,20 @@ ${h}`:h;let u=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
46
46
|
${p}`,r=r.substring(0,r.length-d.text.length)+m.text;break}else if((f==null?void 0:f.type)==="list"){let d=f,p=d.raw+`
|
|
47
47
|
`+t.join(`
|
|
48
48
|
`),O=this.list(p);s[s.length-1]=O,i=i.substring(0,i.length-f.raw.length)+O.raw,r=r.substring(0,r.length-d.raw.length)+O.raw,t=p.substring(s.at(-1).raw.length).split(`
|
|
49
|
-
`);continue}}return{type:"blockquote",raw:i,tokens:s,text:r}}}list(n){let e=this.rules.block.list.exec(n);if(e){let t=e[1].trim(),i=t.length>1,r={type:"list",raw:"",ordered:i,start:i?+t.slice(0,-1):"",loose:!1,items:[]};t=i?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=i?t:"[*+-]");let s=this.rules.other.listItemRegex(t),l=!1;for(;n;){let a=!1,c="",h="";if(!(e=s.exec(n))||this.rules.block.hr.test(n))break;c=e[0],n=n.substring(c.length);let u=
|
|
49
|
+
`);continue}}return{type:"blockquote",raw:i,tokens:s,text:r}}}list(n){let e=this.rules.block.list.exec(n);if(e){let t=e[1].trim(),i=t.length>1,r={type:"list",raw:"",ordered:i,start:i?+t.slice(0,-1):"",loose:!1,items:[]};t=i?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=i?t:"[*+-]");let s=this.rules.other.listItemRegex(t),l=!1;for(;n;){let a=!1,c="",h="";if(!(e=s.exec(n))||this.rules.block.hr.test(n))break;c=e[0],n=n.substring(c.length);let u=PT(e[2].split(`
|
|
50
50
|
`,1)[0],e[1].length),f=n.split(`
|
|
51
51
|
`,1)[0],d=!u.trim(),p=0;if(this.options.pedantic?(p=2,h=u.trimStart()):d?p=e[1].length+1:(p=u.search(this.rules.other.nonSpaceChar),p=p>4?1:p,h=u.slice(p),p+=e[1].length),d&&this.rules.other.blankLine.test(f)&&(c+=f+`
|
|
52
|
-
`,n=n.substring(f.length+1),a=!0),!a){let O=this.rules.other.nextBulletRegex(p),m=this.rules.other.hrRegex(p),
|
|
53
|
-
`,1)[0],P;if(f=
|
|
54
|
-
`+P.slice(p);else{if(d||u.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||
|
|
55
|
-
`+f}d=!f.trim(),c+=
|
|
56
|
-
`,n=n.substring(
|
|
57
|
-
`),href:i,title:r}}}table(n){var l;let e=this.rules.block.table.exec(n);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=
|
|
52
|
+
`,n=n.substring(f.length+1),a=!0),!a){let O=this.rules.other.nextBulletRegex(p),m=this.rules.other.hrRegex(p),x=this.rules.other.fencesBeginRegex(p),S=this.rules.other.headingBeginRegex(p),w=this.rules.other.htmlBeginRegex(p),T=this.rules.other.blockquoteBeginRegex(p);for(;n;){let k=n.split(`
|
|
53
|
+
`,1)[0],P;if(f=k,this.options.pedantic?(f=f.replace(this.rules.other.listReplaceNesting," "),P=f):P=f.replace(this.rules.other.tabCharGlobal," "),x.test(f)||S.test(f)||w.test(f)||T.test(f)||O.test(f)||m.test(f))break;if(P.search(this.rules.other.nonSpaceChar)>=p||!f.trim())h+=`
|
|
54
|
+
`+P.slice(p);else{if(d||u.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||x.test(u)||S.test(u)||m.test(u))break;h+=`
|
|
55
|
+
`+f}d=!f.trim(),c+=k+`
|
|
56
|
+
`,n=n.substring(k.length+1),u=P.slice(p)}}r.loose||(l?r.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(l=!0)),r.items.push({type:"list_item",raw:c,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),r.raw+=c}let o=r.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;r.raw=r.raw.trimEnd();for(let a of r.items)if(this.lexer.state.top=!1,a.tokens=this.lexer.blockTokens(a.text,[]),!r.loose){let c=a.tokens.filter(u=>u.type==="space"),h=c.length>0&&c.some(u=>this.rules.other.anyLine.test(u.raw));r.loose=h}for(let a of r.items){let c=a.tokens[0];if(a.task&&((c==null?void 0:c.type)==="text"||(c==null?void 0:c.type)==="paragraph")){a.text=a.text.replace(this.rules.other.listReplaceTask,""),c.raw=c.raw.replace(this.rules.other.listReplaceTask,""),c.text=c.text.replace(this.rules.other.listReplaceTask,"");for(let u=this.lexer.inlineQueue.length-1;u>=0;u--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[u].src)){this.lexer.inlineQueue[u].src=this.lexer.inlineQueue[u].src.replace(this.rules.other.listReplaceTask,"");break}let h=this.rules.other.listTaskCheckbox.exec(a.raw);if(h){let u={type:"checkbox",raw:h[0]+" ",checked:h[0]!=="[ ]"};a.checked=u.checked,r.loose?a.tokens[0]&&["paragraph","text"].includes(a.tokens[0].type)&&"tokens"in a.tokens[0]&&a.tokens[0].tokens?(a.tokens[0].raw=u.raw+a.tokens[0].raw,a.tokens[0].text=u.raw+a.tokens[0].text,a.tokens[0].tokens.unshift(u)):a.tokens.unshift({type:"paragraph",raw:u.raw,text:u.raw,tokens:[u]}):a.tokens.unshift(u)}}else a.task&&(a.task=!1)}if(r.loose)for(let a of r.items){a.loose=!0;for(let c of a.tokens)c.type==="text"&&(c.type="paragraph")}return r}}html(n){let e=this.rules.block.html.exec(n);if(e){let t=id(e[0]);return{type:"html",block:!0,raw:t,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:t}}}def(n){let e=this.rules.block.def.exec(n);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:di(e[0],`
|
|
57
|
+
`),href:i,title:r}}}table(n){var l;let e=this.rules.block.table.exec(n);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=td(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),r=(l=e[3])!=null&&l.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
58
58
|
`):[],s={type:"table",raw:di(e[0],`
|
|
59
|
-
`),header:[],align:[],rows:[]};if(t.length===i.length){for(let o of i)this.rules.other.tableAlignRight.test(o)?s.align.push("right"):this.rules.other.tableAlignCenter.test(o)?s.align.push("center"):this.rules.other.tableAlignLeft.test(o)?s.align.push("left"):s.align.push(null);for(let o=0;o<t.length;o++)s.header.push({text:t[o],tokens:this.lexer.inline(t[o]),header:!0,align:s.align[o]});for(let o of r)s.rows.push(
|
|
59
|
+
`),header:[],align:[],rows:[]};if(t.length===i.length){for(let o of i)this.rules.other.tableAlignRight.test(o)?s.align.push("right"):this.rules.other.tableAlignCenter.test(o)?s.align.push("center"):this.rules.other.tableAlignLeft.test(o)?s.align.push("left"):s.align.push(null);for(let o=0;o<t.length;o++)s.header.push({text:t[o],tokens:this.lexer.inline(t[o]),header:!0,align:s.align[o]});for(let o of r)s.rows.push(td(o,s.header.length).map((a,c)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:s.align[c]})));return s}}lheading(n){let e=this.rules.block.lheading.exec(n);if(e){let t=e[1].trim();return{type:"heading",raw:di(e[0],`
|
|
60
60
|
`),depth:e[2].charAt(0)==="="?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(n){let e=this.rules.block.paragraph.exec(n);if(e){let t=e[1].charAt(e[1].length-1)===`
|
|
61
|
-
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(n){let e=this.rules.block.text.exec(n);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(n){let e=this.rules.inline.escape.exec(n);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(n){let e=this.rules.inline.tag.exec(n);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){let e=this.rules.inline.link.exec(n);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=di(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s
|
|
62
|
-
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){var s,l,o;this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(
|
|
61
|
+
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(n){let e=this.rules.block.text.exec(n);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(n){let e=this.rules.inline.escape.exec(n);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(n){let e=this.rules.inline.tag.exec(n);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){let e=this.rules.inline.link.exec(n);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=di(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=$T(e[2],"()");if(s===-2)return;if(s>-1){let l=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let i=e[2],r="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],r=s[3])}else r=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?i=i.slice(1):i=i.slice(1,-1)),nd(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(n,e){let t;if((t=this.rules.inline.reflink.exec(n))||(t=this.rules.inline.nolink.exec(n))){let i=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),r=e[i.toLowerCase()];if(!r){let s=t[0].charAt(0);return{type:"text",raw:s,text:s}}return nd(t,r,t[0],this.lexer,this.rules)}}emStrong(n,e,t=""){let i=this.rules.inline.emStrongLDelim.exec(n);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!t||this.rules.inline.punctuation.exec(t))){let r=[...i[0]].length-1,s,l,o=r,a=0,c=i[0][0],h=t===c,u=c==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*n.length+r);(i=u.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(l=[...s].length,i[3]||i[4]){o+=l;continue}else if(i[5]||i[6]){if(r%3&&!((r+l)%3)){a+=l;continue}if(h)break}if(o-=l,o>0)continue;l=Math.min(l,l+o+a);let f=[...i[0]][0].length,d=n.slice(0,r+i.index+f+l);if(Math.min(r,l)%2){let O=d.slice(1,-1);return{type:"em",raw:d,text:O,tokens:this.lexer.inlineTokens(O)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(n){let e=this.rules.inline.code.exec(n);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(t),r=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&r&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(n){let e=this.rules.inline.br.exec(n);if(e)return{type:"br",raw:e[0]}}del(n,e,t=""){let i=this.rules.inline.delLDelim.exec(n);if(i&&(!i[1]||!t||this.rules.inline.punctuation.exec(t))){let r=[...i[0]].length-1,s,l,o=r,a=this.rules.inline.delRDelim;for(a.lastIndex=0,e=e.slice(-1*n.length+r);(i=a.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(l=[...s].length,l!==r))continue;if(i[3]||i[4]){o+=l;continue}if(o-=l,o>0)continue;l=Math.min(l,l+o);let c=[...i[0]][0].length,h=n.slice(0,r+i.index+c+l),u=h.slice(r,-r);return{type:"del",raw:h,text:u,tokens:this.lexer.inlineTokens(u)}}}}autolink(n){let e=this.rules.inline.autolink.exec(n);if(e){let t,i;return e[2]==="@"?(t=e[1],i="mailto:"+t):(t=e[1],i=t),{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}url(n){var t;let e;if(e=this.rules.inline.url.exec(n)){let i,r;if(e[2]==="@")i=e[0],r="mailto:"+i;else{let s;do s=e[0],e[0]=((t=this.rules.inline._backpedal.exec(e[0]))==null?void 0:t[0])??"";while(s!==e[0]);i=e[0],e[1]==="www."?r="http://"+e[0]:r=e[0]}return{type:"link",raw:e[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(n){let e=this.rules.inline.text.exec(n);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},St=class Ia{constructor(e){oe(this,"tokens");oe(this,"options");oe(this,"state");oe(this,"inlineQueue");oe(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||tn,this.options.tokenizer=this.options.tokenizer||new xl,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:Ie,block:Qs.normal,inline:cr.normal};this.options.pedantic?(t.block=Qs.pedantic,t.inline=cr.pedantic):this.options.gfm&&(t.block=Qs.gfm,this.options.breaks?t.inline=cr.breaks:t.inline=cr.gfm),this.tokenizer.rules=t}static get rules(){return{block:Qs,inline:cr}}static lex(e,t){return new Ia(t).lex(e)}static lexInline(e,t){return new Ia(t).inlineTokens(e)}lex(e){e=e.replace(Ie.carriageReturn,`
|
|
62
|
+
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){var s,l,o;this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(Ie.tabCharGlobal," ").replace(Ie.spaceLine,""));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let a;if((l=(s=this.options.extensions)==null?void 0:s.block)!=null&&l.some(h=>(a=h.call({lexer:this},e,t))?(e=e.substring(a.raw.length),t.push(a),!0):!1))continue;if(a=this.tokenizer.space(e)){e=e.substring(a.raw.length);let h=t.at(-1);a.raw.length===1&&h!==void 0?h.raw+=`
|
|
63
63
|
`:t.push(a);continue}if(a=this.tokenizer.code(e)){e=e.substring(a.raw.length);let h=t.at(-1);(h==null?void 0:h.type)==="paragraph"||(h==null?void 0:h.type)==="text"?(h.raw+=(h.raw.endsWith(`
|
|
64
64
|
`)?"":`
|
|
65
65
|
`)+a.raw,h.text+=`
|
|
@@ -72,7 +72,7 @@ ${p}`,r=r.substring(0,r.length-d.text.length)+m.text;break}else if((f==null?void
|
|
|
72
72
|
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=h.text):t.push(a),i=c.length!==e.length,e=e.substring(a.raw.length);continue}if(a=this.tokenizer.text(e)){e=e.substring(a.raw.length);let h=t.at(-1);(h==null?void 0:h.type)==="text"?(h.raw+=(h.raw.endsWith(`
|
|
73
73
|
`)?"":`
|
|
74
74
|
`)+a.raw,h.text+=`
|
|
75
|
-
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=h.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes("["))return!1;let t=this.tokenizer.rules.inline.link;for(let i of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(i[0])&&e.charAt(i.index-1)!=="!")return!0;for(let i of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let r=i[0],s=r.lastIndexOf("[");if(!(r.charAt(0)==="!"||!Object.hasOwn(this.tokens.links,r.slice(s+1,-1)))&&!(s>1&&this.linkInText(r.slice(1,s-1))))return!0}return!1}inlineTokens(e,t=[]){var o,a,c,h,u;this.tokenizer.lexer=this;let i=e;if(this.tokens.links&&e.includes("[")){let f=this.tokenizer.rules.inline.reflinkSearch,d=p=>{let O=p.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,p.slice(O+1,-1)))return p;if(O>1&&p.charAt(0)!=="!"){let m=p.slice(1,O-1);if(this.linkInText(m))return"["+m.replace(f,d)+"]["+"a".repeat(p.length-O-2)+"]"}return"["+"a".repeat(p.length-2)+"]"};i=i.replace(f,d)}i=i.replace(this.tokenizer.rules.inline.anyPunctuation,f=>"+".repeat(f.length)),i=i.replace(this.tokenizer.rules.inline.blockSkip,(f,d,p)=>{let O=p?p.length:0;return f.slice(0,O)+"["+"a".repeat(f.length-O-2)+"]"}),i=((a=(o=this.options.hooks)==null?void 0:o.emStrongMask)==null?void 0:a.call({lexer:this},i))??i;let r=!1,s="",l=1/0;for(;e;){if(e.length<l)l=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(s=""),r=!1;let f;if((h=(c=this.options.extensions)==null?void 0:c.inline)!=null&&h.some(p=>(f=p.call({lexer:this},e,t))?(e=e.substring(f.raw.length),t.push(f),!0):!1))continue;if(f=this.tokenizer.escape(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.tag(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.link(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(f.raw.length);let p=t.at(-1);f.type==="text"&&(p==null?void 0:p.type)==="text"?(p.raw+=f.raw,p.text+=f.text):t.push(f);continue}if(f=this.tokenizer.emStrong(e,i,s)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.codespan(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.br(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.del(e,i,s)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.autolink(e)){e=e.substring(f.raw.length),t.push(f);continue}if(!this.state.inLink&&(f=this.tokenizer.url(e))){e=e.substring(f.raw.length),t.push(f);continue}let d=e;if((u=this.options.extensions)!=null&&u.startInline){let p=1/0,O=e.slice(1),m;this.options.extensions.startInline.forEach(
|
|
75
|
+
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=h.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes("["))return!1;let t=this.tokenizer.rules.inline.link;for(let i of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(i[0])&&e.charAt(i.index-1)!=="!")return!0;for(let i of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let r=i[0],s=r.lastIndexOf("[");if(!(r.charAt(0)==="!"||!Object.hasOwn(this.tokens.links,r.slice(s+1,-1)))&&!(s>1&&this.linkInText(r.slice(1,s-1))))return!0}return!1}inlineTokens(e,t=[]){var o,a,c,h,u;this.tokenizer.lexer=this;let i=e;if(this.tokens.links&&e.includes("[")){let f=this.tokenizer.rules.inline.reflinkSearch,d=p=>{let O=p.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,p.slice(O+1,-1)))return p;if(O>1&&p.charAt(0)!=="!"){let m=p.slice(1,O-1);if(this.linkInText(m))return"["+m.replace(f,d)+"]["+"a".repeat(p.length-O-2)+"]"}return"["+"a".repeat(p.length-2)+"]"};i=i.replace(f,d)}i=i.replace(this.tokenizer.rules.inline.anyPunctuation,f=>"+".repeat(f.length)),i=i.replace(this.tokenizer.rules.inline.blockSkip,(f,d,p)=>{let O=p?p.length:0;return f.slice(0,O)+"["+"a".repeat(f.length-O-2)+"]"}),i=((a=(o=this.options.hooks)==null?void 0:o.emStrongMask)==null?void 0:a.call({lexer:this},i))??i;let r=!1,s="",l=1/0;for(;e;){if(e.length<l)l=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(s=""),r=!1;let f;if((h=(c=this.options.extensions)==null?void 0:c.inline)!=null&&h.some(p=>(f=p.call({lexer:this},e,t))?(e=e.substring(f.raw.length),t.push(f),!0):!1))continue;if(f=this.tokenizer.escape(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.tag(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.link(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(f.raw.length);let p=t.at(-1);f.type==="text"&&(p==null?void 0:p.type)==="text"?(p.raw+=f.raw,p.text+=f.text):t.push(f);continue}if(f=this.tokenizer.emStrong(e,i,s)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.codespan(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.br(e)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.del(e,i,s)){e=e.substring(f.raw.length),t.push(f);continue}if(f=this.tokenizer.autolink(e)){e=e.substring(f.raw.length),t.push(f);continue}if(!this.state.inLink&&(f=this.tokenizer.url(e))){e=e.substring(f.raw.length),t.push(f);continue}let d=e;if((u=this.options.extensions)!=null&&u.startInline){let p=1/0,O=e.slice(1),m;this.options.extensions.startInline.forEach(x=>{m=x.call({lexer:this},O),typeof m=="number"&&m>=0&&(p=Math.min(p,m))}),p<1/0&&p>=0&&(d=e.substring(0,p+1))}if(f=this.tokenizer.inlineText(d)){e=e.substring(f.raw.length),f.raw.slice(-1)!=="_"&&(s=f.raw.slice(-1)),r=!0;let p=t.at(-1);(p==null?void 0:p.type)==="text"?(p.raw+=f.raw,p.text+=f.text):t.push(f);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}},kl=class{constructor(n){oe(this,"options");oe(this,"parser");this.options=n||tn}space(n){return""}code({text:n,lang:e,escaped:t}){var s;let i=(s=(e||"").match(Ie.notSpaceStart))==null?void 0:s[0],r=n.replace(Ie.endingNewline,"")+`
|
|
76
76
|
`;return i?'<pre><code class="language-'+_t(i)+'">'+(t?r:_t(r,!0))+`</code></pre>
|
|
77
77
|
`:"<pre><code>"+(t?r:_t(r,!0))+`</code></pre>
|
|
78
78
|
`}blockquote({tokens:n}){return`<blockquote>
|
|
@@ -90,7 +90,7 @@ ${this.parser.parse(n)}</blockquote>
|
|
|
90
90
|
`}tablerow({text:n}){return`<tr>
|
|
91
91
|
${n}</tr>
|
|
92
92
|
`}tablecell(n){let e=this.parser.parseInline(n.tokens),t=n.header?"th":"td";return(n.align?`<${t} align="${n.align}">`:`<${t}>`)+e+`</${t}>
|
|
93
|
-
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${_t(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:e,tokens:t}){let i=this.parser.parseInline(t),r=
|
|
94
|
-
Please report this to https://github.com/markedjs/marked.`,n){let i="<p>An error occurred:</p><pre>"+_t(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Ki=new lT;function re(n,e){return Ki.parse(n,e)}re.options=re.setOptions=function(n){return Ki.setOptions(n),re.defaults=Ki.defaults,Yg(re.defaults),re};re.getDefaults=jc;re.defaults=Ji;function oT(...n){return Ki.use(...n),re.defaults=Ki.defaults,Yg(re.defaults),re}re.use=oT;re.walkTokens=function(n,e){return Ki.walkTokens(n,e)};re.parseInline=Ki.parseInline;re.Parser=wt;re.parser=wt.parse;re.Renderer=gl;re.TextRenderer=qc;re.Lexer=kt;re.lexer=kt.lex;re.Tokenizer=Ol;re.Hooks=or;re.parse=re;re.options;re.setOptions;re.walkTokens;re.parseInline;wt.parse;kt.lex;re.setOptions({gfm:!0,breaks:!0});function aT(n){const e=re.parse(String(n||"").trim(),{async:!1});return Je(e)}const cT="1.2.0",hT="https://www.npmjs.com/package/teem-editor";function pi(n){const e=(n||"").trim();return!e||e==="<br>"||e==="<div><br></div>"?"<p><br></p>":e}function jo(n){if(typeof document<"u"){const e=document.createElement("div");return e.innerHTML=n,e.querySelectorAll(".te-figure__alt-btn, .te-figure__resize-handle").forEach(t=>t.remove()),e.querySelectorAll(".is-selected").forEach(t=>t.classList.remove("is-selected")),e.querySelectorAll('[class=""]').forEach(t=>t.removeAttribute("class")),e.innerHTML}return n.replace(/<button[^>]*class="[^"]*te-figure__alt-btn[^"]*"[^>]*>.*?<\/button>/gi,"").replace(/<span[^>]*class="[^"]*te-figure__resize-handle[^"]*"[^>]*>.*?<\/span>/gi,"").replace(/\s*is-selected/g,"").replace(/\sclass=""/g,"").replace(/\sclass=''/g,"")}const Jg=Q.forwardRef(function({value:e,defaultValue:t="<p><br></p>",onChange:i,placeholder:r,language:s="en",dir:l,className:o="",style:a,minHeight:c=220,noscroll:h=!1,disabled:u=!1,onUpload:f,uploadOptions:d,toolbar:p=!0},O){const m=ml(s),y=_a(m),k=l||If(m),w=r??y.placeholder,T=Q.useRef(null),x=Q.useRef(null),P=Q.useRef(Hf()),$=Q.useRef(null),X=Q.useRef(""),Y=Q.useRef(!1),D=Q.useRef(null),L=Q.useRef(y);L.current=y;const[z,B]=Q.useState(()=>({bold:!1,italic:!1,strikeThrough:!1,unorderedList:!1,orderedList:!1,justifyRight:!1,justifyCenter:!1,justifyLeft:!1,format:"p",hasSelectedImage:!1,link:!1,cta:!1})),[I,F]=Q.useState(!1),[de,Qe]=Q.useState(!1),[ve,oe]=Q.useState(!1),[$e,ye]=Q.useState(!1),[Ce,ze]=Q.useState({url:"",text:""}),[K,Ie]=Q.useState(!1),[Rt,Mt]=Q.useState(!1),[Ri,lt]=Q.useState({url:"",text:"",classes:""}),Kt=Q.useRef(null),[Mi,Vn]=Q.useState(null),Jt=Q.useRef(null),Zt=Q.useRef(null),Ve=Q.useRef(!1),Be=Q.useRef(null),[ei,en]=Q.useState(!1),[em,Yc]=Q.useState(!1),[tm,im]=Q.useState(""),[nm,Zi]=Q.useState(!0),[pe,Ic]=Q.useState(!1),[hi,zl]=Q.useState(""),[rm,Vc]=Q.useState(!1),[tn,Bc]=Q.useState(!1),[Dl,Nc]=Q.useState(null),Wl=Q.useRef(null),nn=Q.useCallback(()=>{Wl.current=null,Nc(null)},[]),St=Q.useCallback(()=>{F(P.current.canUndo()),Qe(P.current.canRedo())},[]),Ae=Q.useCallback((S,{recordHistory:A=!0}={})=>{const j=Je(jo(pi(S)));X.current=j,Zi(Oi(j)),A&&(P.current.push(j),St()),i==null||i(j)},[i,St]),Se=Q.useCallback(()=>{var S;return((S=x.current)==null?void 0:S.innerHTML)||""},[]),Gc=Q.useCallback((S,{recordHistory:A=!1}={})=>{if(!x.current)return;const j=Je(pi(S));x.current.innerHTML=j,X.current=j,Zi(Oi(j)),D.current=null,A&&(P.current.push(j),St())},[St]);Q.useEffect(()=>{const S=Je(pi(e??t));x.current&&(x.current.innerHTML=S),X.current=S,P.current.reset(S),Zi(Oi(S)),St()},[]),Q.useEffect(()=>{if(e===void 0||!x.current)return;const S=Je(pi(e));if(S!==X.current){const A=Nn(x.current);x.current.innerHTML=S,X.current=S,Zi(Oi(S)),D.current=null,zt(A)}},[e]);const ie=Q.useCallback(()=>{x.current&&B(B0(x.current))},[]);Q.useEffect(()=>{const S=()=>{if(!x.current)return;const A=window.getSelection();!A||A.rangeCount===0||x.current.contains(A.anchorNode)&&ie()};return document.addEventListener("selectionchange",S),()=>document.removeEventListener("selectionchange",S)},[ie]);const dt=Q.useCallback(()=>{const S=Nn(x.current);S&&($.current=S)},[]),ui=Q.useCallback(S=>{const A=Nn(x.current);A&&($.current=A),zt($.current),S(),Ae(Se()),ie()},[Ae,Se,ie]),Nr=Q.useCallback((S,A)=>{u||ui(()=>{S==="rtl"||S==="ltr"?L0(x.current,S):lh(x.current,S,A,{selectedImage:D.current})})},[u,ui]),sm=Q.useCallback(S=>{u||ui(()=>{lh(x.current,"formatBlock",S)})},[u,ui]),ql=Q.useCallback(()=>{const S=P.current.undo();S==null||!x.current||(x.current.innerHTML=S,X.current=S,Zi(Oi(S)),D.current=null,St(),i==null||i(S),ie())},[i,ie,St]),Yl=Q.useCallback(()=>{const S=P.current.redo();S==null||!x.current||(x.current.innerHTML=S,X.current=S,Zi(Oi(S)),D.current=null,St(),i==null||i(S),ie())},[i,ie,St]),Uc=Q.useCallback(()=>{Y.current||(Ae(Se()),ie())},[Ae,Se,ie]),lm=Q.useCallback(S=>{var ne,Oe;S.preventDefault();const A=((ne=S.clipboardData)==null?void 0:ne.getData("text/plain"))||"",j=(Oe=S.clipboardData)==null?void 0:Oe.getData("text/html");if(j){const ke=Je(j);document.execCommand("insertHTML",!1,ke)}else document.execCommand("insertText",!1,A);Ae(Se())},[Ae,Se]),om=Q.useCallback(S=>{var j;const A=S.metaKey||S.ctrlKey;A&&S.key.toLowerCase()==="z"&&!S.shiftKey?(S.preventDefault(),ql()):A&&(S.key.toLowerCase()==="y"||S.key.toLowerCase()==="z"&&S.shiftKey)?(S.preventDefault(),Yl()):A&&S.key.toLowerCase()==="b"?(S.preventDefault(),Nr("bold")):A&&S.key.toLowerCase()==="i"?(S.preventDefault(),Nr("italic")):S.key==="Escape"&&D.current?(ar(x.current),D.current=null,ie()):S.key==="Escape"&&tn?Bc(!1):(S.key==="Delete"||S.key==="Backspace")&&(D.current||(j=x.current)!=null&&j.querySelector(".te-figure.is-selected"))&&(S.preventDefault(),j0(x.current)&&(D.current=null,Ae(Se()),ie()))},[Ae,Nr,Yl,ql,Se,ie,tn]),Gr=Q.useCallback(S=>{S&&(D.current=S,im(S.getAttribute("alt")||""),Yc(!0))},[]),pt=Q.useCallback(()=>{Be.current&&(clearTimeout(Be.current),Be.current=null),Ve.current=!1,Jt.current=null,Vn(null)},[]),rn=Q.useCallback(()=>{Be.current&&(clearTimeout(Be.current),Be.current=null)},[]),Xi=Q.useCallback(()=>{rn(),Be.current=window.setTimeout(()=>{Ve.current||(Jt.current=null,Vn(null))},160)},[rn]),Ur=Q.useCallback(S=>{var ln;const A=(ln=T.current)==null?void 0:ln.querySelector(".te-editor-shell");if(!A)return;const j=S.getAttribute("href")||"";if(!j){pt();return}Jt.current=S;const ne=A.getBoundingClientRect(),Oe=S.getBoundingClientRect(),ke=8,Ke=132;let ji=Oe.left-ne.left+Oe.width/2-Ke/2;ji=Math.max(ke,Math.min(ne.width-Ke-ke,ji)),Vn({url:j,top:Oe.bottom-ne.top+6,left:ji})},[pt]),am=Q.useCallback(()=>{Ve.current=!0,rn()},[rn]),cm=Q.useCallback(()=>{Ve.current=!1,Xi()},[Xi]),Fr=Q.useCallback(S=>{S&&(Zt.current=S,ye(!0),ze({url:S.getAttribute("href")||"",text:S.textContent||""}),pt(),oe(!0))},[pt]),sn=Q.useCallback(S=>{S&&(Kt.current=S,Mt(!0),lt({url:S.getAttribute("href")||"",text:S.textContent||"",classes:S.getAttribute("class")||""}),pt(),Ie(!0))},[pt]),hm=Q.useCallback(()=>{const S=Jt.current;if(S){if(nd(S)){sn(S);return}Fr(S)}},[Fr,sn]),um=Q.useCallback(()=>{const S=Jt.current;!S||!x.current||(x0(x.current,S),Ae(Se()),ie(),pt())},[Ae,Se,ie,pt]),Fc=Q.useCallback(()=>{oe(!1),ye(!1),Zt.current=null},[]),Hc=Q.useCallback(()=>{Ie(!1),Mt(!1),Kt.current=null},[]),Il=Q.useCallback(()=>en(!1),[]),fm=Q.useCallback(()=>Yc(!1),[]),dm=Q.useCallback(()=>Vc(!1),[]),pm=Q.useCallback(S=>{var ne;if(pe||u||ve||K)return;const A=S.target;if(!(A instanceof Element)){Xi();return}if(A.closest(".te-link-popover"))return;const j=A.closest("a[href]");if(!j||!((ne=x.current)!=null&&ne.contains(j))){Xi();return}rn(),Jt.current!==j&&Ur(j)},[pe,u,ve,K,Xi,rn,Ur]),Om=Q.useCallback(()=>{Xi()},[Xi]),gm=Q.useCallback(()=>{nn();const S=Jt.current;S&&Ur(S)},[nn,Ur]),mm=Q.useCallback(S=>{var eh,th;if(pe||u)return;const A=S.target;if(!(A instanceof Element))return;const j=A.closest("th, td");if(!j||!((eh=x.current)!=null&&eh.contains(j)))return;S.preventDefault(),S.stopPropagation(),pt();const ne=(th=T.current)==null?void 0:th.querySelector(".te-editor-shell");if(!ne)return;const Oe=ne.getBoundingClientRect(),ke=8,Ke=220,Bn=320;let ji=S.clientX-Oe.left,ln=S.clientY-Oe.top;ji=Math.max(ke,Math.min(Oe.width-Ke-ke,ji)),ln=Math.max(ke,Math.min(Oe.height-Bn-ke,ln)),Wl.current=j,Nc({top:ln,left:ji})},[pe,u,pt]),bm=Q.useCallback(S=>{var j;const A=Wl.current;if(!A||!((j=x.current)!=null&&j.contains(A))){nn();return}I0(x.current,S,A)&&(Ae(Se(),{recordHistory:!0}),ie()),nn()},[nn,Ae,Se,ie]),Kc=Q.useCallback(async S=>{!S||!x.current||(await Z0(S),Gn(S,x.current,L.current),D.current=S,Ae(Se()),ie())},[Ae,Se,ie]),Jc=Q.useCallback(S=>{const A=S.target;if(!(A instanceof Element)||!x.current)return;if(A.closest(".te-figure__resize-handle")){S.preventDefault(),S.stopPropagation();const ke=A.closest(".te-figure"),Ke=ke==null?void 0:ke.querySelector("img");Ke&&x.current&&X0(Ke,S,{editor:x.current,onComplete:()=>{var Bn;Ae(Se()),Ke.isConnected&&((Bn=x.current)!=null&&Bn.contains(Ke))&&(Gn(Ke,x.current,L.current),D.current=Ke),ie()}});return}if(A.closest(".te-figure__alt-btn")){S.preventDefault(),S.stopPropagation();const ke=A.closest(".te-figure"),Ke=ke==null?void 0:ke.querySelector("img");Ke&&Gr(Ke);return}const j=A.closest("img"),ne=A.closest(".te-figure");if(j&&x.current.contains(j)){S.preventDefault(),Gn(j,x.current,L.current),D.current=j,$.current=Nn(x.current),ie();return}if(ne&&x.current.contains(ne)){const ke=ne.querySelector("img");if(ke){S.preventDefault(),Gn(ke,x.current,L.current),D.current=ke,$.current=Nn(x.current),ie();return}}D.current&&(ar(x.current),D.current=null,ie());const Oe=A.closest("a[href]");Oe&&x.current.contains(Oe)&&S.preventDefault()},[Ae,Gr,Se,ie]),xm=Jc,ym=Q.useCallback(S=>{const A=S.target;if(!(A instanceof Element)||!x.current)return;const j=A.closest("img"),ne=A.closest(".te-figure"),Oe=j||(ne==null?void 0:ne.querySelector("img"));Oe&&x.current.contains(Oe)&&(S.preventDefault(),Gn(Oe,x.current,L.current),Gr(Oe))},[Gr]),Sm=Q.useCallback(()=>{dt();const S=x.current;if(!S)return;zt($.current);const A=Es(S,$.current);if(A){sn(A.element);return}Mt(!1),Kt.current=null,lt({url:"",text:rh($.current),classes:""}),Ie(!0)},[dt,sn]),km=Q.useCallback(()=>{dt();const S=x.current;if(!S)return;zt($.current);const A=Es(S,$.current);if(A){sn(A.element);return}const j=za(S,$.current);if(j){Fr(j.element);return}ye(!1),Zt.current=null,ze({url:"",text:rh($.current)}),oe(!0)},[dt,sn,Fr]),wm=Q.useCallback(()=>{dt(),en(!0)},[dt]),Qm=Q.useCallback(()=>{dt(),Vc(!0)},[dt]),vm=Q.useCallback(S=>{const A=aT(S);if(A){if(pe){const j=hi.trim()?`${hi}
|
|
95
|
-
${
|
|
93
|
+
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${_t(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:e,tokens:t}){let i=this.parser.parseInline(t),r=ed(n);if(r===null)return i;n=r;let s='<a href="'+n+'"';return e&&(s+=' title="'+_t(e)+'"'),s+=">"+i+"</a>",s}image({href:n,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let r=ed(n);if(r===null)return _t(t);n=r;let s=`<img src="${n}" alt="${_t(t)}"`;return e&&(s+=` title="${_t(e)}"`),s+=">",s}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:_t(n.text)}},Hc=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}checkbox({raw:n}){return n}},wt=class qa{constructor(e){oe(this,"options");oe(this,"renderer");oe(this,"textRenderer");this.options=e||tn,this.options.renderer=this.options.renderer||new kl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Hc}static parse(e,t){return new qa(t).parse(e)}static parseInline(e,t){return new qa(t).parseInline(e)}parse(e){var i,r;this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){let l=e[s];if((r=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&r[l.type]){let a=l,c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(a.type)){t+=c||"";continue}}let o=l;switch(o.type){case"space":{t+=this.renderer.space(o);break}case"hr":{t+=this.renderer.hr(o);break}case"heading":{t+=this.renderer.heading(o);break}case"code":{t+=this.renderer.code(o);break}case"table":{t+=this.renderer.table(o);break}case"blockquote":{t+=this.renderer.blockquote(o);break}case"list":{t+=this.renderer.list(o);break}case"checkbox":{t+=this.renderer.checkbox(o);break}case"html":{t+=this.renderer.html(o);break}case"def":{t+=this.renderer.def(o);break}case"paragraph":{t+=this.renderer.paragraph(o);break}case"text":{t+=this.renderer.text(o);break}default:{let a='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return t}parseInline(e,t=this.renderer){var r,s;this.renderer.parser=this;let i="";for(let l=0;l<e.length;l++){let o=e[l];if((s=(r=this.options.extensions)==null?void 0:r.renderers)!=null&&s[o.type]){let c=this.options.extensions.renderers[o.type].call({parser:this},o);if(c!==!1||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(o.type)){i+=c||"";continue}}let a=o;switch(a.type){case"escape":{i+=t.text(a);break}case"html":{i+=t.html(a);break}case"link":{i+=t.link(a);break}case"image":{i+=t.image(a);break}case"checkbox":{i+=t.checkbox(a);break}case"strong":{i+=t.strong(a);break}case"em":{i+=t.em(a);break}case"codespan":{i+=t.codespan(a);break}case"br":{i+=t.br(a);break}case"del":{i+=t.del(a);break}case"text":{i+=t.text(a);break}default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return i}},vs,pr=(vs=class{constructor(n){oe(this,"options");oe(this,"block");this.options=n||tn}preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}emStrongMask(n){return n}provideLexer(n=this.block){return n?St.lex:St.lexInline}provideParser(n=this.block){return n?wt.parse:wt.parseInline}},oe(vs,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),oe(vs,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),vs),CT=class{constructor(...n){oe(this,"defaults",Yc());oe(this,"options",this.setOptions);oe(this,"parse",this.parseMarkdown(!0));oe(this,"parseInline",this.parseMarkdown(!1));oe(this,"Parser",wt);oe(this,"Renderer",kl);oe(this,"TextRenderer",Hc);oe(this,"Lexer",St);oe(this,"Tokenizer",xl);oe(this,"Hooks",pr);this.use(...n)}walkTokens(n,e){var i,r;let t=[];for(let s of n)switch(t=t.concat(e.call(this,s)),s.type){case"table":{let l=s;for(let o of l.header)t=t.concat(this.walkTokens(o.tokens,e));for(let o of l.rows)for(let a of o)t=t.concat(this.walkTokens(a.tokens,e));break}case"list":{let l=s;t=t.concat(this.walkTokens(l.items,e));break}default:{let l=s;(r=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&r[l.type]?this.defaults.extensions.childTokens[l.type].forEach(o=>{let a=l[o].flat(1/0);t=t.concat(this.walkTokens(a,e))}):l.tokens&&(t=t.concat(this.walkTokens(l.tokens,e)))}}return t}use(...n){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(t=>{let i={...t};if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){let s=e.renderers[r.name];s?e.renderers[r.name]=function(...l){let o=r.renderer.apply(this,l);return o===!1&&(o=s.apply(this,l)),o}:e.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[r.level];s?s.unshift(r.tokenizer):e[r.level]=[r.tokenizer],r.start&&(r.level==="block"?e.startBlock?e.startBlock.push(r.start):e.startBlock=[r.start]:r.level==="inline"&&(e.startInline?e.startInline.push(r.start):e.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(e.childTokens[r.name]=r.childTokens)}),i.extensions=e),t.renderer){let r=this.defaults.renderer||new kl(this.defaults);for(let s in t.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let l=s,o=t.renderer[l],a=r[l];r[l]=(...c)=>{let h=o.apply(r,c);return h===!1&&(h=a.apply(r,c)),h||""}}i.renderer=r}if(t.tokenizer){let r=this.defaults.tokenizer||new xl(this.defaults);for(let s in t.tokenizer){if(!(s in r))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let l=s,o=t.tokenizer[l],a=r[l];r[l]=(...c)=>{let h=o.apply(r,c);return h===!1&&(h=a.apply(r,c)),h}}i.tokenizer=r}if(t.hooks){let r=this.defaults.hooks||new pr;for(let s in t.hooks){if(!(s in r))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let l=s,o=t.hooks[l],a=r[l];pr.passThroughHooks.has(s)?r[l]=c=>{if(this.defaults.async&&pr.passThroughHooksRespectAsync.has(s))return(async()=>{let u=await o.call(r,c);return a.call(r,u)})();let h=o.call(r,c);return a.call(r,h)}:r[l]=(...c)=>{if(this.defaults.async)return(async()=>{let u=await o.apply(r,c);return u===!1&&(u=await a.apply(r,c)),u})();let h=o.apply(r,c);return h===!1&&(h=a.apply(r,c)),h}}i.hooks=r}if(t.walkTokens){let r=this.defaults.walkTokens,s=t.walkTokens;i.walkTokens=function(l){let o=[];return o.push(s.call(this,l)),r&&(o=o.concat(r.call(this,l))),o}}this.defaults={...this.defaults,...i}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,e){return St.lex(n,e??this.defaults)}parser(n,e){return wt.parse(n,e??this.defaults)}parseMarkdown(n){return(e,t)=>{let i={...t},r={...this.defaults,...i},s=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(r.hooks&&(r.hooks.options=r,r.hooks.block=n),r.async)return(async()=>{let l=r.hooks?await r.hooks.preprocess(e):e,o=await(r.hooks?await r.hooks.provideLexer(n):n?St.lex:St.lexInline)(l,r),a=r.hooks?await r.hooks.processAllTokens(o):o;r.walkTokens&&await Promise.all(this.walkTokens(a,r.walkTokens));let c=await(r.hooks?await r.hooks.provideParser(n):n?wt.parse:wt.parseInline)(a,r);return r.hooks?await r.hooks.postprocess(c):c})().catch(s);try{r.hooks&&(e=r.hooks.preprocess(e));let l=(r.hooks?r.hooks.provideLexer(n):n?St.lex:St.lexInline)(e,r);r.hooks&&(l=r.hooks.processAllTokens(l)),r.walkTokens&&this.walkTokens(l,r.walkTokens);let o=(r.hooks?r.hooks.provideParser(n):n?wt.parse:wt.parseInline)(l,r);return r.hooks&&(o=r.hooks.postprocess(o)),o}catch(l){return s(l)}}}onError(n,e){return t=>{if(t.message+=`
|
|
94
|
+
Please report this to https://github.com/markedjs/marked.`,n){let i="<p>An error occurred:</p><pre>"+_t(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Ji=new CT;function le(n,e){return Ji.parse(n,e)}le.options=le.setOptions=function(n){return Ji.setOptions(n),le.defaults=Ji.defaults,rm(le.defaults),le};le.getDefaults=Yc;le.defaults=tn;function AT(...n){return Ji.use(...n),le.defaults=Ji.defaults,rm(le.defaults),le}le.use=AT;le.walkTokens=function(n,e){return Ji.walkTokens(n,e)};le.parseInline=Ji.parseInline;le.Parser=wt;le.parser=wt.parse;le.Renderer=kl;le.TextRenderer=Hc;le.Lexer=St;le.lexer=St.lex;le.Tokenizer=xl;le.Hooks=pr;le.parse=le;le.options;le.setOptions;le.walkTokens;le.parseInline;wt.parse;St.lex;le.setOptions({gfm:!0,breaks:!0});function RT(n){const e=le.parse(String(n||"").trim(),{async:!1});return Je(e)}const MT="1.3.0",ZT="https://www.npmjs.com/package/teem-editor";function pi(n){const e=(n||"").trim();return!e||e==="<br>"||e==="<div><br></div>"?"<p><br></p>":e}async function Do(n){return!n||n.mode==="none"?{mode:"none",href:""}:n.mode==="lightbox"||n.mode==="file"?{mode:n.mode,href:""}:n.mode==="url"?{mode:"url",href:n.href}:{mode:"none",href:""}}function Wo(n){if(typeof document<"u"){const e=document.createElement("div");return e.innerHTML=n,e.querySelectorAll(".te-figure__alt-btn, .te-figure__link-btn, .te-figure__resize-handle").forEach(t=>t.remove()),e.querySelectorAll(".is-selected").forEach(t=>t.classList.remove("is-selected")),e.querySelectorAll('[class=""]').forEach(t=>t.removeAttribute("class")),e.innerHTML}return n.replace(/<button[^>]*class="[^"]*te-figure__alt-btn[^"]*"[^>]*>.*?<\/button>/gi,"").replace(/<button[^>]*class="[^"]*te-figure__link-btn[^"]*"[^>]*>.*?<\/button>/gi,"").replace(/<span[^>]*class="[^"]*te-figure__resize-handle[^"]*"[^>]*>.*?<\/span>/gi,"").replace(/\s*is-selected/g,"").replace(/\sclass=""/g,"").replace(/\sclass=''/g,"")}const pm=Q.forwardRef(function({value:e,defaultValue:t="<p><br></p>",onChange:i,placeholder:r,language:s="en",dir:l,className:o="",style:a,minHeight:c=220,noscroll:h=!1,disabled:u=!1,onUpload:f,uploadOptions:d,toolbar:p=!0},O){const m=yl(s),x=Ba(m),S=l||rd(m),w=r??x.placeholder,T=Q.useRef(null),k=Q.useRef(null),P=Q.useRef(hd()),$=Q.useRef(null),Z=Q.useRef(""),W=Q.useRef(!1),D=Q.useRef(null),j=Q.useRef(x);j.current=x;const[E,V]=Q.useState(()=>({bold:!1,italic:!1,strikeThrough:!1,unorderedList:!1,orderedList:!1,justifyRight:!1,justifyCenter:!1,justifyLeft:!1,format:"p",hasSelectedImage:!1,link:!1,cta:!1})),[Y,F]=Q.useState(!1),[Oe,Qe]=Q.useState(!1),[ve,ce]=Q.useState(!1),[$e,Se]=Q.useState(!1),[Ae,De]=Q.useState({url:"",text:""}),[J,Be]=Q.useState(!1),[Rt,Mt]=Q.useState(!1),[Ri,lt]=Q.useState({url:"",text:"",classes:""}),Kt=Q.useRef(null),[Mi,Kn]=Q.useState(null),Jt=Q.useRef(null),Zt=Q.useRef(null),Ve=Q.useRef(!1),Ne=Q.useRef(null),[ei,nn]=Q.useState(!1),[Om,Kc]=Q.useState(!1),[gm,mm]=Q.useState(""),[bm,Jc]=Q.useState(!1),[eh,xm]=Q.useState({mode:"none",href:""}),[th,ql]=Q.useState(null),[km,Zi]=Q.useState(!0),[ge,ih]=Q.useState(!1),[hi,Yl]=Q.useState(""),[ym,nh]=Q.useState(!1),[rn,rh]=Q.useState(!1),[Bl,sh]=Q.useState(null),Vl=Q.useRef(null),sn=Q.useCallback(()=>{Vl.current=null,sh(null)},[]),yt=Q.useCallback(()=>{F(P.current.canUndo()),Qe(P.current.canRedo())},[]),Te=Q.useCallback((y,{recordHistory:C=!0}={})=>{const L=Je(Wo(pi(y)));Z.current=L,Zi(Oi(L)),C&&(P.current.push(L),yt()),i==null||i(L)},[i,yt]),me=Q.useCallback(()=>{var y;return((y=k.current)==null?void 0:y.innerHTML)||""},[]),lh=Q.useCallback((y,{recordHistory:C=!1}={})=>{if(!k.current)return;const L=Je(pi(y));k.current.innerHTML=L,Z.current=L,Zi(Oi(L)),D.current=null,C&&(P.current.push(L),yt())},[yt]);Q.useEffect(()=>{const y=Je(pi(e??t));k.current&&(k.current.innerHTML=y),Z.current=y,P.current.reset(y),Zi(Oi(y)),yt()},[]),Q.useEffect(()=>{if(e===void 0||!k.current)return;const y=Je(pi(e));if(y!==Z.current){const C=er(k.current);k.current.innerHTML=y,Z.current=y,Zi(Oi(y)),D.current=null,zt(C)}},[e]);const ie=Q.useCallback(()=>{k.current&&V(Ob(k.current))},[]);Q.useEffect(()=>{const y=()=>{if(!k.current)return;const C=window.getSelection();!C||C.rangeCount===0||k.current.contains(C.anchorNode)&&ie()};return document.addEventListener("selectionchange",y),()=>document.removeEventListener("selectionchange",y)},[ie]);const dt=Q.useCallback(()=>{const y=er(k.current);y&&($.current=y)},[]),ui=Q.useCallback(y=>{const C=er(k.current);C&&($.current=C),zt($.current),y(),Te(me()),ie()},[Te,me,ie]),Hr=Q.useCallback((y,C)=>{u||ui(()=>{y==="rtl"||y==="ltr"?lb(k.current,y):kh(k.current,y,C,{selectedImage:D.current})})},[u,ui]),Sm=Q.useCallback(y=>{u||ui(()=>{kh(k.current,"formatBlock",y)})},[u,ui]),Nl=Q.useCallback(()=>{const y=P.current.undo();y==null||!k.current||(k.current.innerHTML=y,Z.current=y,Zi(Oi(y)),D.current=null,yt(),i==null||i(y),ie())},[i,ie,yt]),Gl=Q.useCallback(()=>{const y=P.current.redo();y==null||!k.current||(k.current.innerHTML=y,Z.current=y,Zi(Oi(y)),D.current=null,yt(),i==null||i(y),ie())},[i,ie,yt]),oh=Q.useCallback(()=>{W.current||(Te(me()),ie())},[Te,me,ie]),wm=Q.useCallback(y=>{var H,se;y.preventDefault();const C=((H=y.clipboardData)==null?void 0:H.getData("text/plain"))||"",L=(se=y.clipboardData)==null?void 0:se.getData("text/html");if(L){const ne=Je(L);document.execCommand("insertHTML",!1,ne)}else document.execCommand("insertText",!1,C);Te(me())},[Te,me]),Qm=Q.useCallback(y=>{var L;const C=y.metaKey||y.ctrlKey;C&&y.key.toLowerCase()==="z"&&!y.shiftKey?(y.preventDefault(),Nl()):C&&(y.key.toLowerCase()==="y"||y.key.toLowerCase()==="z"&&y.shiftKey)?(y.preventDefault(),Gl()):C&&y.key.toLowerCase()==="b"?(y.preventDefault(),Hr("bold")):C&&y.key.toLowerCase()==="i"?(y.preventDefault(),Hr("italic")):y.key==="Escape"&&D.current?(Or(k.current),D.current=null,ie()):y.key==="Escape"&&rn?rh(!1):(y.key==="Delete"||y.key==="Backspace")&&(D.current||(L=k.current)!=null&&L.querySelector(".te-figure.is-selected"))&&(y.preventDefault(),nb(k.current)&&(D.current=null,Te(me()),ie()))},[Te,Hr,Gl,Nl,me,ie,rn]),Kr=Q.useCallback(y=>{y&&(D.current=y,mm(y.getAttribute("alt")||""),Kc(!0))},[]),ah=Q.useCallback(y=>{if(!y)return;D.current=y;const C=zs(y);xm({mode:C.mode,href:C.href}),Jc(!0)},[]),vm=Q.useCallback(()=>Jc(!1),[]),pt=Q.useCallback(()=>{Ne.current&&(clearTimeout(Ne.current),Ne.current=null),Ve.current=!1,Jt.current=null,Kn(null)},[]),ln=Q.useCallback(()=>{Ne.current&&(clearTimeout(Ne.current),Ne.current=null)},[]),Xi=Q.useCallback(()=>{ln(),Ne.current=window.setTimeout(()=>{Ve.current||(Jt.current=null,Kn(null))},160)},[ln]),Jr=Q.useCallback(y=>{var an;const C=(an=T.current)==null?void 0:an.querySelector(".te-editor-shell");if(!C)return;const L=y.getAttribute("href")||"";if(!L){pt();return}Jt.current=y;const H=C.getBoundingClientRect(),se=y.getBoundingClientRect(),ne=8,Ze=132;let Li=se.left-H.left+se.width/2-Ze/2;Li=Math.max(ne,Math.min(H.width-Ze-ne,Li)),Kn({url:L,top:se.bottom-H.top+6,left:Li})},[pt]),$m=Q.useCallback(()=>{Ve.current=!0,ln()},[ln]),Pm=Q.useCallback(()=>{Ve.current=!1,Xi()},[Xi]),es=Q.useCallback(y=>{y&&(Zt.current=y,Se(!0),De({url:y.getAttribute("href")||"",text:y.textContent||""}),pt(),ce(!0))},[pt]),on=Q.useCallback(y=>{y&&(Kt.current=y,Mt(!0),lt({url:y.getAttribute("href")||"",text:y.textContent||"",classes:y.getAttribute("class")||""}),pt(),Be(!0))},[pt]),Tm=Q.useCallback(()=>{const y=Jt.current;if(y){if(bd(y)){on(y);return}es(y)}},[es,on]),Cm=Q.useCallback(()=>{const y=Jt.current;!y||!k.current||(W0(k.current,y),Te(me()),ie(),pt())},[Te,me,ie,pt]),ch=Q.useCallback(()=>{ce(!1),Se(!1),Zt.current=null},[]),hh=Q.useCallback(()=>{Be(!1),Mt(!1),Kt.current=null},[]),Ul=Q.useCallback(()=>nn(!1),[]),Am=Q.useCallback(()=>Kc(!1),[]),Rm=Q.useCallback(()=>nh(!1),[]),Mm=Q.useCallback(y=>{var H;if(ge||u||ve||J)return;const C=y.target;if(!(C instanceof Element)){Xi();return}if(C.closest(".te-link-popover"))return;const L=C.closest("a[href]");if(!L||!((H=k.current)!=null&&H.contains(L))||L.classList.contains("te-figure__link")){Xi();return}ln(),Jt.current!==L&&Jr(L)},[ge,u,ve,J,Xi,ln,Jr]),Zm=Q.useCallback(()=>{Xi()},[Xi]),Xm=Q.useCallback(()=>{sn();const y=Jt.current;y&&Jr(y)},[sn,Jr]),Lm=Q.useCallback(y=>{var dh,ph;if(ge||u)return;const C=y.target;if(!(C instanceof Element))return;const L=C.closest("th, td");if(!L||!((dh=k.current)!=null&&dh.contains(L)))return;y.preventDefault(),y.stopPropagation(),pt();const H=(ph=T.current)==null?void 0:ph.querySelector(".te-editor-shell");if(!H)return;const se=H.getBoundingClientRect(),ne=8,Ze=220,Jn=320;let Li=y.clientX-se.left,an=y.clientY-se.top;Li=Math.max(ne,Math.min(se.width-Ze-ne,Li)),an=Math.max(ne,Math.min(se.height-Jn-ne,an)),Vl.current=L,sh({top:an,left:Li})},[ge,u,pt]),jm=Q.useCallback(y=>{var L;const C=Vl.current;if(!C||!((L=k.current)!=null&&L.contains(C))){sn();return}db(k.current,y,C)&&(Te(me(),{recordHistory:!0}),ie()),sn()},[sn,Te,me,ie]),uh=Q.useCallback(async y=>{!y||!k.current||(await tb(y),tr(y,k.current,j.current),D.current=y,Te(me()),ie())},[Te,me,ie]),fh=Q.useCallback(y=>{const C=y.target;if(!(C instanceof Element)||!k.current)return;if(C.closest(".te-figure__resize-handle")){y.preventDefault(),y.stopPropagation();const ne=C.closest(".te-figure"),Ze=ne==null?void 0:ne.querySelector("img");Ze&&k.current&&ib(Ze,y,{editor:k.current,onComplete:()=>{var Jn;Te(me()),Ze.isConnected&&((Jn=k.current)!=null&&Jn.contains(Ze))&&(tr(Ze,k.current,j.current),D.current=Ze),ie()}});return}if(C.closest(".te-figure__link-btn")){y.preventDefault(),y.stopPropagation();const ne=C.closest(".te-figure"),Ze=ne==null?void 0:ne.querySelector("img");Ze&&ah(Ze);return}if(C.closest(".te-figure__alt-btn")){y.preventDefault(),y.stopPropagation();const ne=C.closest(".te-figure"),Ze=ne==null?void 0:ne.querySelector("img");Ze&&Kr(Ze);return}const L=C.closest("img"),H=C.closest(".te-figure");if(L&&k.current.contains(L)){y.preventDefault(),tr(L,k.current,j.current),D.current=L,$.current=er(k.current),ie();return}if(H&&k.current.contains(H)){const ne=H.querySelector("img");if(ne){y.preventDefault(),tr(ne,k.current,j.current),D.current=ne,$.current=er(k.current),ie();return}}D.current&&(Or(k.current),D.current=null,ie());const se=C.closest("a[href]");se&&k.current.contains(se)&&y.preventDefault()},[Te,Kr,ah,me,ie]),Em=fh,_m=Q.useCallback(y=>{const C=y.target;if(!(C instanceof Element)||!k.current)return;const L=C.closest("img"),H=C.closest(".te-figure"),se=L||(H==null?void 0:H.querySelector("img"));if(se&&k.current.contains(se)){y.preventDefault();const ne=zs(se);if(ne.mode===An){ql(ne.href||se.getAttribute("src")||se.src);return}tr(se,k.current,j.current),Kr(se)}},[Kr]),zm=Q.useCallback(()=>{dt();const y=k.current;if(!y)return;zt($.current);const C=Ds(y,$.current);if(C){on(C.element);return}Mt(!1),Kt.current=null,lt({url:"",text:mh($.current),classes:""}),Be(!0)},[dt,on]),Dm=Q.useCallback(()=>{dt();const y=k.current;if(!y)return;zt($.current);const C=Ds(y,$.current);if(C){on(C.element);return}const L=Na(y,$.current);if(L){es(L.element);return}Se(!1),Zt.current=null,De({url:"",text:mh($.current)}),ce(!0)},[dt,on,es]),Wm=Q.useCallback(()=>{dt(),nn(!0)},[dt]),Im=Q.useCallback(()=>{dt(),nh(!0)},[dt]),qm=Q.useCallback(y=>{const C=RT(y);if(C){if(ge){const L=hi.trim()?`${hi}
|
|
95
|
+
${C}`:C;Yl(L),Z.current=Je(pi(L)),i==null||i(Z.current);return}ui(()=>{document.execCommand("insertHTML",!1,C)})}},[ge,hi,ui,i]),Ym=Q.useCallback(()=>{if(u)return;if(!ge){pt(),Or(k.current),D.current=null;const C=Je(Wo(me()));Yl(C),ih(!0);return}const y=Je(pi(hi));k.current&&(k.current.innerHTML=y),Z.current=y,Zi(Oi(y)),P.current.push(y),yt(),i==null||i(y),ih(!1),ie()},[u,ge,hi,me,i,yt,ie,pt]),Bm=Q.useCallback(y=>{Yl(y)},[]),Vm=Q.useCallback(()=>{const y=Je(pi(hi));Z.current=y,i==null||i(y)},[hi,i]),Nm=Q.useCallback(()=>{rh(y=>!y)},[]);return Q.useEffect(()=>{if(!rn)return;const y=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=y}},[rn]),Q.useImperativeHandle(O,()=>({focus:()=>{var y;return(y=k.current)==null?void 0:y.focus()},getHTML:()=>Je(Wo(me())),setHTML:y=>{lh(y,{recordHistory:!0}),i==null||i(Je(pi(y)))},clear:()=>{lh("<p><br></p>",{recordHistory:!0}),i==null||i(Je("<p><br></p>"))},getEditorElement:()=>k.current})),g.jsxs("div",{ref:T,className:`te-root${u?" is-disabled":""}${ge?" is-source":""}${rn?" is-fullscreen":""}${h?" te-root--noscroll":""} te-root--${S} ${o}`.trim(),style:a,dir:S,lang:m,onMouseDown:y=>{var C,L;(L=(C=y.target).closest)!=null&&L.call(C,".te-toolbar")&&dt()},children:[p?g.jsx(o0,{t:x,states:E,canUndo:Y,canRedo:Oe,onCommand:Hr,onBlockChange:Sm,onOpenLink:Dm,onOpenCta:zm,onOpenImage:Wm,onUndo:Nl,onRedo:Gl,onRememberSelection:dt,sourceMode:ge,onToggleSource:Ym,onOpenMarkdown:Im,fullscreen:rn,onToggleFullscreen:Nm}):null,g.jsxs("div",{className:"te-editor-shell",children:[!ge&&km?g.jsx("div",{className:"te-placeholder",children:w}):null,g.jsx("div",{ref:k,className:"te-editor",contentEditable:!u&&!ge,role:"textbox","aria-multiline":"true","aria-label":x.editorLabel,"aria-placeholder":w,"aria-hidden":ge,suppressContentEditableWarning:!0,style:{minHeight:c,display:ge?"none":void 0},dir:S,onInput:oh,onPaste:wm,onKeyDown:Qm,onMouseDown:Em,onPointerDown:fh,onMouseMove:Mm,onMouseLeave:Zm,onScroll:Xm,onContextMenu:Lm,onDoubleClick:_m,onBlur:()=>{ge||Te(me(),{recordHistory:!0})},onCompositionStart:()=>{W.current=!0},onCompositionEnd:()=>{W.current=!1,oh()},onMouseUp:ie,onKeyUp:ie}),ge?g.jsx(ZP,{value:hi,onChange:Bm,onBlur:Vm,disabled:u,minHeight:c,noscroll:h,ariaLabel:x.sourceLabel}):null,Bl&&!ge?g.jsx(u0,{top:Bl.top,left:Bl.left,t:x,onAction:jm,onClose:sn}):null,Mi&&!ge&&!ve&&!J?g.jsx(f0,{url:Mi.url,top:Mi.top,left:Mi.left,t:x,onEdit:Tm,onUnlink:Cm,onMouseEnter:$m,onMouseLeave:Pm}):null,g.jsxs("a",{className:"te-credit",href:ZT,target:"_blank",rel:"noopener noreferrer",tabIndex:-1,onMouseDown:y=>y.preventDefault(),children:["powered by TeemEditor v.",MT]})]}),g.jsx(c0,{open:ve&&!ge,onClose:ch,initialUrl:Ae.url,initialText:Ae.text,isEdit:$e,t:x,onSubmit:({url:y,text:C})=>{ui(()=>{var H;const L=Zt.current;$e&&L&&((H=k.current)!=null&&H.contains(L))?D0(k.current,L,y,C,j.current):ob(k.current,y,C,j.current)}),ch()}}),g.jsx(a0,{open:J&&!ge,onClose:hh,initialUrl:Ri.url,initialText:Ri.text,initialClasses:Ri.classes,isEdit:Rt,t:x,onSubmit:({url:y,text:C,classes:L})=>{ui(()=>{var se;const H=Kt.current;Rt&&H&&((se=k.current)!=null&&se.contains(H))?ab(k.current,H,y,C,L,j.current):cb(k.current,y,C,L,j.current)}),hh()}}),g.jsx(d0,{open:ei&&!ge,onClose:Ul,t:x,onSubmitUrl:async({url:y,alt:C,link:L})=>{dt(),zt($.current);const H=await Do(L),se=vh(k.current,y,C,H,j.current);Ul(),await uh(se)},onSubmitFile:async({file:y,alt:C,link:L})=>{const H=await cd(y,{...d,onUpload:f,language:m,messages:j.current});dt(),zt($.current);const se=await Do(L),ne=vh(k.current,H,C,se,j.current);Ul(),await uh(ne)}}),g.jsx(p0,{open:bm&&!ge,onClose:vm,initialMode:eh.mode,initialUrl:eh.href,t:x,onSubmit:async y=>{var H;const C=D.current;if(!C||!((H=k.current)!=null&&H.contains(C)))return;const L=await Do(y);rb(C,L,j.current),Te(me()),ie()}}),g.jsx(O0,{open:Om&&!ge,initialAlt:gm,onClose:Am,t:x,onSubmit:({alt:y})=>{var L;const C=D.current;!C||!((L=k.current)!=null&&L.contains(C))||(sb(C,y,j.current),Te(me()),ie())}}),g.jsx(g0,{open:ym,onClose:Rm,t:x,onSubmit:qm}),th?g.jsx("div",{className:"te-lightbox-backdrop",role:"dialog","aria-modal":"true","aria-label":x.imageLinkLightbox,onMouseDown:()=>ql(null),children:g.jsxs("div",{className:"te-lightbox",onMouseDown:y=>y.stopPropagation(),children:[g.jsx("button",{type:"button",className:"te-lightbox__close",onClick:()=>ql(null),"aria-label":x.close,children:"×"}),g.jsx("img",{src:th,alt:""})]})}):null]})});exports.TeemEditor=pm;exports.createHistory=hd;exports.default=pm;exports.flattenStyleSpans=$n;exports.getBlockOptions=sd;exports.getDefaultDir=rd;exports.getMessages=Ba;exports.isSafeHref=en;exports.isSafeImageSrc=Va;exports.locales=Ya;exports.processImageUpload=cd;exports.resolveLanguage=yl;exports.sanitizeHtml=Je;exports.uploadDefaults=ld;exports.validateImageFile=ad;
|
|
96
96
|
//# sourceMappingURL=teem-editor.cjs.map
|