diff --git a/frontend-dist/Inter-Black.woff.a3efb88f6f.efe3f25b.woff b/frontend-dist/Inter-Black.woff.a3efb88f6f.efe3f25b.woff new file mode 100644 index 000000000..8fd1bd531 Binary files /dev/null and b/frontend-dist/Inter-Black.woff.a3efb88f6f.efe3f25b.woff differ diff --git a/frontend-dist/Inter-Black.woff2.a3efb88f6f.1f333c9f.woff2 b/frontend-dist/Inter-Black.woff2.a3efb88f6f.1f333c9f.woff2 new file mode 100644 index 000000000..c354e6390 Binary files /dev/null and b/frontend-dist/Inter-Black.woff2.a3efb88f6f.1f333c9f.woff2 differ diff --git a/frontend-dist/Inter-BlackItalic.woff.a3efb88f6f.f6e2e726.woff b/frontend-dist/Inter-BlackItalic.woff.a3efb88f6f.f6e2e726.woff new file mode 100644 index 000000000..be6a45bcf Binary files /dev/null and b/frontend-dist/Inter-BlackItalic.woff.a3efb88f6f.f6e2e726.woff differ diff --git a/frontend-dist/Inter-BlackItalic.woff2.a3efb88f6f.89710fff.woff2 b/frontend-dist/Inter-BlackItalic.woff2.a3efb88f6f.89710fff.woff2 new file mode 100644 index 000000000..8b2efe952 Binary files /dev/null and b/frontend-dist/Inter-BlackItalic.woff2.a3efb88f6f.89710fff.woff2 differ diff --git a/frontend-dist/Inter-Bold.woff.a3efb88f6f.d92ed350.woff b/frontend-dist/Inter-Bold.woff.a3efb88f6f.d92ed350.woff new file mode 100644 index 000000000..b5221b0e8 Binary files /dev/null and b/frontend-dist/Inter-Bold.woff.a3efb88f6f.d92ed350.woff differ diff --git a/frontend-dist/Inter-Bold.woff2.a3efb88f6f.e8bd971d.woff2 b/frontend-dist/Inter-Bold.woff2.a3efb88f6f.e8bd971d.woff2 new file mode 100644 index 000000000..619c3a741 Binary files /dev/null and b/frontend-dist/Inter-Bold.woff2.a3efb88f6f.e8bd971d.woff2 differ diff --git a/frontend-dist/Inter-BoldItalic.woff.a3efb88f6f.39f68e5f.woff b/frontend-dist/Inter-BoldItalic.woff.a3efb88f6f.39f68e5f.woff new file mode 100644 index 000000000..da912559e Binary files /dev/null and b/frontend-dist/Inter-BoldItalic.woff.a3efb88f6f.39f68e5f.woff differ diff --git a/frontend-dist/Inter-BoldItalic.woff2.a3efb88f6f.cd6e580e.woff2 b/frontend-dist/Inter-BoldItalic.woff2.a3efb88f6f.cd6e580e.woff2 new file mode 100644 index 000000000..4022cc8d9 Binary files /dev/null and b/frontend-dist/Inter-BoldItalic.woff2.a3efb88f6f.cd6e580e.woff2 differ diff --git a/frontend-dist/Inter-ExtraBold.woff.a3efb88f6f.cd51bf91.woff b/frontend-dist/Inter-ExtraBold.woff.a3efb88f6f.cd51bf91.woff new file mode 100644 index 000000000..7221d72ef Binary files /dev/null and b/frontend-dist/Inter-ExtraBold.woff.a3efb88f6f.cd51bf91.woff differ diff --git a/frontend-dist/Inter-ExtraBold.woff2.a3efb88f6f.ffc04ff0.woff2 b/frontend-dist/Inter-ExtraBold.woff2.a3efb88f6f.ffc04ff0.woff2 new file mode 100644 index 000000000..d3d23b43e Binary files /dev/null and b/frontend-dist/Inter-ExtraBold.woff2.a3efb88f6f.ffc04ff0.woff2 differ diff --git a/frontend-dist/Inter-ExtraBoldItalic.woff.a3efb88f6f.122106d3.woff b/frontend-dist/Inter-ExtraBoldItalic.woff.a3efb88f6f.122106d3.woff new file mode 100644 index 000000000..8520a3185 Binary files /dev/null and b/frontend-dist/Inter-ExtraBoldItalic.woff.a3efb88f6f.122106d3.woff differ diff --git a/frontend-dist/Inter-ExtraBoldItalic.woff2.a3efb88f6f.de4f3979.woff2 b/frontend-dist/Inter-ExtraBoldItalic.woff2.a3efb88f6f.de4f3979.woff2 new file mode 100644 index 000000000..863748b2e Binary files /dev/null and b/frontend-dist/Inter-ExtraBoldItalic.woff2.a3efb88f6f.de4f3979.woff2 differ diff --git a/frontend-dist/Inter-ExtraLight.woff.a3efb88f6f.018d6d24.woff b/frontend-dist/Inter-ExtraLight.woff.a3efb88f6f.018d6d24.woff new file mode 100644 index 000000000..559044109 Binary files /dev/null and b/frontend-dist/Inter-ExtraLight.woff.a3efb88f6f.018d6d24.woff differ diff --git a/frontend-dist/Inter-ExtraLight.woff2.a3efb88f6f.735b820a.woff2 b/frontend-dist/Inter-ExtraLight.woff2.a3efb88f6f.735b820a.woff2 new file mode 100644 index 000000000..7cb6e49fb Binary files /dev/null and b/frontend-dist/Inter-ExtraLight.woff2.a3efb88f6f.735b820a.woff2 differ diff --git a/frontend-dist/Inter-ExtraLightItalic.woff.a3efb88f6f.c051c5b4.woff b/frontend-dist/Inter-ExtraLightItalic.woff.a3efb88f6f.c051c5b4.woff new file mode 100644 index 000000000..0a9f00de8 Binary files /dev/null and b/frontend-dist/Inter-ExtraLightItalic.woff.a3efb88f6f.c051c5b4.woff differ diff --git a/frontend-dist/Inter-ExtraLightItalic.woff2.a3efb88f6f.75944d4e.woff2 b/frontend-dist/Inter-ExtraLightItalic.woff2.a3efb88f6f.75944d4e.woff2 new file mode 100644 index 000000000..e63644200 Binary files /dev/null and b/frontend-dist/Inter-ExtraLightItalic.woff2.a3efb88f6f.75944d4e.woff2 differ diff --git a/frontend-dist/Inter-Italic.woff.a3efb88f6f.d9effa31.woff b/frontend-dist/Inter-Italic.woff.a3efb88f6f.d9effa31.woff new file mode 100644 index 000000000..f2c424804 Binary files /dev/null and b/frontend-dist/Inter-Italic.woff.a3efb88f6f.d9effa31.woff differ diff --git a/frontend-dist/Inter-Italic.woff2.a3efb88f6f.85eee0c1.woff2 b/frontend-dist/Inter-Italic.woff2.a3efb88f6f.85eee0c1.woff2 new file mode 100644 index 000000000..b749909b0 Binary files /dev/null and b/frontend-dist/Inter-Italic.woff2.a3efb88f6f.85eee0c1.woff2 differ diff --git a/frontend-dist/Inter-Light.woff.a3efb88f6f.0cf765a1.woff b/frontend-dist/Inter-Light.woff.a3efb88f6f.0cf765a1.woff new file mode 100644 index 000000000..15672799e Binary files /dev/null and b/frontend-dist/Inter-Light.woff.a3efb88f6f.0cf765a1.woff differ diff --git a/frontend-dist/Inter-Light.woff2.a3efb88f6f.f86a8a97.woff2 b/frontend-dist/Inter-Light.woff2.a3efb88f6f.f86a8a97.woff2 new file mode 100644 index 000000000..ac2e1275e Binary files /dev/null and b/frontend-dist/Inter-Light.woff2.a3efb88f6f.f86a8a97.woff2 differ diff --git a/frontend-dist/Inter-LightItalic.woff.a3efb88f6f.6c91af65.woff b/frontend-dist/Inter-LightItalic.woff.a3efb88f6f.6c91af65.woff new file mode 100644 index 000000000..ebbb05b38 Binary files /dev/null and b/frontend-dist/Inter-LightItalic.woff.a3efb88f6f.6c91af65.woff differ diff --git a/frontend-dist/Inter-LightItalic.woff2.a3efb88f6f.cb22faff.woff2 b/frontend-dist/Inter-LightItalic.woff2.a3efb88f6f.cb22faff.woff2 new file mode 100644 index 000000000..d51474ca1 Binary files /dev/null and b/frontend-dist/Inter-LightItalic.woff2.a3efb88f6f.cb22faff.woff2 differ diff --git a/frontend-dist/Inter-Medium.woff.a3efb88f6f.cb391d89.woff b/frontend-dist/Inter-Medium.woff.a3efb88f6f.cb391d89.woff new file mode 100644 index 000000000..dac813a74 Binary files /dev/null and b/frontend-dist/Inter-Medium.woff.a3efb88f6f.cb391d89.woff differ diff --git a/frontend-dist/Inter-Medium.woff2.a3efb88f6f.4f0ea984.woff2 b/frontend-dist/Inter-Medium.woff2.a3efb88f6f.4f0ea984.woff2 new file mode 100644 index 000000000..ab9850258 Binary files /dev/null and b/frontend-dist/Inter-Medium.woff2.a3efb88f6f.4f0ea984.woff2 differ diff --git a/frontend-dist/Inter-MediumItalic.woff.a3efb88f6f.1f636c25.woff b/frontend-dist/Inter-MediumItalic.woff.a3efb88f6f.1f636c25.woff new file mode 100644 index 000000000..ae6e45fe3 Binary files /dev/null and b/frontend-dist/Inter-MediumItalic.woff.a3efb88f6f.1f636c25.woff differ diff --git a/frontend-dist/Inter-MediumItalic.woff2.a3efb88f6f.2b734b7a.woff2 b/frontend-dist/Inter-MediumItalic.woff2.a3efb88f6f.2b734b7a.woff2 new file mode 100644 index 000000000..ceb866e42 Binary files /dev/null and b/frontend-dist/Inter-MediumItalic.woff2.a3efb88f6f.2b734b7a.woff2 differ diff --git a/frontend-dist/Inter-Regular.woff.a3efb88f6f.d9325c13.woff b/frontend-dist/Inter-Regular.woff.a3efb88f6f.d9325c13.woff new file mode 100644 index 000000000..e3200e0b9 Binary files /dev/null and b/frontend-dist/Inter-Regular.woff.a3efb88f6f.d9325c13.woff differ diff --git a/frontend-dist/Inter-Regular.woff2.a3efb88f6f.c52a047f.woff2 b/frontend-dist/Inter-Regular.woff2.a3efb88f6f.c52a047f.woff2 new file mode 100644 index 000000000..28ae0b6ab Binary files /dev/null and b/frontend-dist/Inter-Regular.woff2.a3efb88f6f.c52a047f.woff2 differ diff --git a/frontend-dist/Inter-SemiBold.woff.a3efb88f6f.c6670c13.woff b/frontend-dist/Inter-SemiBold.woff.a3efb88f6f.c6670c13.woff new file mode 100644 index 000000000..295fbdfa9 Binary files /dev/null and b/frontend-dist/Inter-SemiBold.woff.a3efb88f6f.c6670c13.woff differ diff --git a/frontend-dist/Inter-SemiBold.woff2.a3efb88f6f.08366574.woff2 b/frontend-dist/Inter-SemiBold.woff2.a3efb88f6f.08366574.woff2 new file mode 100644 index 000000000..41ebbbb02 Binary files /dev/null and b/frontend-dist/Inter-SemiBold.woff2.a3efb88f6f.08366574.woff2 differ diff --git a/frontend-dist/Inter-SemiBoldItalic.woff.a3efb88f6f.13394743.woff b/frontend-dist/Inter-SemiBoldItalic.woff.a3efb88f6f.13394743.woff new file mode 100644 index 000000000..34d759f72 Binary files /dev/null and b/frontend-dist/Inter-SemiBoldItalic.woff.a3efb88f6f.13394743.woff differ diff --git a/frontend-dist/Inter-SemiBoldItalic.woff2.a3efb88f6f.5c7db07d.woff2 b/frontend-dist/Inter-SemiBoldItalic.woff2.a3efb88f6f.5c7db07d.woff2 new file mode 100644 index 000000000..4dd025adf Binary files /dev/null and b/frontend-dist/Inter-SemiBoldItalic.woff2.a3efb88f6f.5c7db07d.woff2 differ diff --git a/frontend-dist/Inter-Thin.woff.a3efb88f6f.832f7e9d.woff b/frontend-dist/Inter-Thin.woff.a3efb88f6f.832f7e9d.woff new file mode 100644 index 000000000..07ea92efb Binary files /dev/null and b/frontend-dist/Inter-Thin.woff.a3efb88f6f.832f7e9d.woff differ diff --git a/frontend-dist/Inter-Thin.woff2.a3efb88f6f.099a7dc1.woff2 b/frontend-dist/Inter-Thin.woff2.a3efb88f6f.099a7dc1.woff2 new file mode 100644 index 000000000..72707dcd3 Binary files /dev/null and b/frontend-dist/Inter-Thin.woff2.a3efb88f6f.099a7dc1.woff2 differ diff --git a/frontend-dist/Inter-ThinItalic.woff.a3efb88f6f.9a9e646f.woff b/frontend-dist/Inter-ThinItalic.woff.a3efb88f6f.9a9e646f.woff new file mode 100644 index 000000000..d35d6173c Binary files /dev/null and b/frontend-dist/Inter-ThinItalic.woff.a3efb88f6f.9a9e646f.woff differ diff --git a/frontend-dist/Inter-ThinItalic.woff2.a3efb88f6f.f5b32cfe.woff2 b/frontend-dist/Inter-ThinItalic.woff2.a3efb88f6f.f5b32cfe.woff2 new file mode 100644 index 000000000..884fe458c Binary files /dev/null and b/frontend-dist/Inter-ThinItalic.woff2.a3efb88f6f.f5b32cfe.woff2 differ diff --git a/frontend-dist/Inter-italic.var.woff2.a3efb88f6f.e62a3bb2.woff2 b/frontend-dist/Inter-italic.var.woff2.a3efb88f6f.e62a3bb2.woff2 new file mode 100644 index 000000000..b1d4bdc36 Binary files /dev/null and b/frontend-dist/Inter-italic.var.woff2.a3efb88f6f.e62a3bb2.woff2 differ diff --git a/frontend-dist/Inter-roman.var.woff2.a3efb88f6f.8120837c.woff2 b/frontend-dist/Inter-roman.var.woff2.a3efb88f6f.8120837c.woff2 new file mode 100644 index 000000000..f56c09796 Binary files /dev/null and b/frontend-dist/Inter-roman.var.woff2.a3efb88f6f.8120837c.woff2 differ diff --git a/frontend-dist/Inter.var.woff2.a3efb88f6f.ca82f9aa.woff2 b/frontend-dist/Inter.var.woff2.a3efb88f6f.ca82f9aa.woff2 new file mode 100644 index 000000000..0c4143192 Binary files /dev/null and b/frontend-dist/Inter.var.woff2.a3efb88f6f.ca82f9aa.woff2 differ diff --git a/frontend-dist/JuliaMono-Bold.24b57d33.woff2 b/frontend-dist/JuliaMono-Bold.24b57d33.woff2 new file mode 100644 index 000000000..212ccec35 Binary files /dev/null and b/frontend-dist/JuliaMono-Bold.24b57d33.woff2 differ diff --git a/frontend-dist/JuliaMono-BoldLatin.7ec5c608.woff2 b/frontend-dist/JuliaMono-BoldLatin.7ec5c608.woff2 new file mode 100644 index 000000000..1f8dde89e Binary files /dev/null and b/frontend-dist/JuliaMono-BoldLatin.7ec5c608.woff2 differ diff --git a/frontend-dist/JuliaMono-Regular.e0106c6f.woff2 b/frontend-dist/JuliaMono-Regular.e0106c6f.woff2 new file mode 100644 index 000000000..c2db12737 Binary files /dev/null and b/frontend-dist/JuliaMono-Regular.e0106c6f.woff2 differ diff --git a/frontend-dist/JuliaMono-RegularItalic.3159f647.woff2 b/frontend-dist/JuliaMono-RegularItalic.3159f647.woff2 new file mode 100644 index 000000000..987502fed Binary files /dev/null and b/frontend-dist/JuliaMono-RegularItalic.3159f647.woff2 differ diff --git a/frontend-dist/JuliaMono-RegularLatin.26c56b70.woff2 b/frontend-dist/JuliaMono-RegularLatin.26c56b70.woff2 new file mode 100644 index 000000000..f159a9285 Binary files /dev/null and b/frontend-dist/JuliaMono-RegularLatin.26c56b70.woff2 differ diff --git a/frontend-dist/Vollkorn-Black.0ebdfbf5.woff2 b/frontend-dist/Vollkorn-Black.0ebdfbf5.woff2 new file mode 100644 index 000000000..b51a37a40 Binary files /dev/null and b/frontend-dist/Vollkorn-Black.0ebdfbf5.woff2 differ diff --git a/frontend-dist/Vollkorn-BlackItalic.4095acfe.woff2 b/frontend-dist/Vollkorn-BlackItalic.4095acfe.woff2 new file mode 100644 index 000000000..bb2e060ce Binary files /dev/null and b/frontend-dist/Vollkorn-BlackItalic.4095acfe.woff2 differ diff --git a/frontend-dist/Vollkorn-Bold.6e1feb70.woff2 b/frontend-dist/Vollkorn-Bold.6e1feb70.woff2 new file mode 100644 index 000000000..cfb12e152 Binary files /dev/null and b/frontend-dist/Vollkorn-Bold.6e1feb70.woff2 differ diff --git a/frontend-dist/Vollkorn-BoldItalic.a48ab300.woff2 b/frontend-dist/Vollkorn-BoldItalic.a48ab300.woff2 new file mode 100644 index 000000000..23d7a6c84 Binary files /dev/null and b/frontend-dist/Vollkorn-BoldItalic.a48ab300.woff2 differ diff --git a/frontend-dist/Vollkorn-SemiBold.8072eb6c.woff2 b/frontend-dist/Vollkorn-SemiBold.8072eb6c.woff2 new file mode 100644 index 000000000..78b781055 Binary files /dev/null and b/frontend-dist/Vollkorn-SemiBold.8072eb6c.woff2 differ diff --git a/frontend-dist/Vollkorn-SemiBoldItalic.5c3cd265.woff2 b/frontend-dist/Vollkorn-SemiBoldItalic.5c3cd265.woff2 new file mode 100644 index 000000000..2162ab8ef Binary files /dev/null and b/frontend-dist/Vollkorn-SemiBoldItalic.5c3cd265.woff2 differ diff --git a/frontend-dist/add-outline.e3c93c35.svg b/frontend-dist/add-outline.e3c93c35.svg new file mode 100644 index 000000000..7c7fb1487 --- /dev/null +++ b/frontend-dist/add-outline.e3c93c35.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/alegreya-sans-cyrillic-400-italic.3566c50a.woff2 b/frontend-dist/alegreya-sans-cyrillic-400-italic.3566c50a.woff2 new file mode 100644 index 000000000..2ade9196b Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-400-italic.3566c50a.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-400-italic.7b502436.woff b/frontend-dist/alegreya-sans-cyrillic-400-italic.7b502436.woff new file mode 100644 index 000000000..de6a851ed Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-400-italic.7b502436.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-400-normal.7ad0b60c.woff2 b/frontend-dist/alegreya-sans-cyrillic-400-normal.7ad0b60c.woff2 new file mode 100644 index 000000000..8828ddb7b Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-400-normal.7ad0b60c.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-400-normal.b3abccdf.woff b/frontend-dist/alegreya-sans-cyrillic-400-normal.b3abccdf.woff new file mode 100644 index 000000000..546400ff9 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-400-normal.b3abccdf.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-500-italic.2b0c87f4.woff2 b/frontend-dist/alegreya-sans-cyrillic-500-italic.2b0c87f4.woff2 new file mode 100644 index 000000000..816ac2281 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-500-italic.2b0c87f4.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-500-italic.4e7fb286.woff b/frontend-dist/alegreya-sans-cyrillic-500-italic.4e7fb286.woff new file mode 100644 index 000000000..370880e5e Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-500-italic.4e7fb286.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-500-normal.6cecb852.woff b/frontend-dist/alegreya-sans-cyrillic-500-normal.6cecb852.woff new file mode 100644 index 000000000..74a86b84d Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-500-normal.6cecb852.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-500-normal.74695d4e.woff2 b/frontend-dist/alegreya-sans-cyrillic-500-normal.74695d4e.woff2 new file mode 100644 index 000000000..b7e18bb25 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-500-normal.74695d4e.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-700-italic.adee9304.woff b/frontend-dist/alegreya-sans-cyrillic-700-italic.adee9304.woff new file mode 100644 index 000000000..5de669adc Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-700-italic.adee9304.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-700-italic.d815e736.woff2 b/frontend-dist/alegreya-sans-cyrillic-700-italic.d815e736.woff2 new file mode 100644 index 000000000..0f2432ffb Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-700-italic.d815e736.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-700-normal.04091397.woff b/frontend-dist/alegreya-sans-cyrillic-700-normal.04091397.woff new file mode 100644 index 000000000..0ef54eab6 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-700-normal.04091397.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-700-normal.59783bb9.woff2 b/frontend-dist/alegreya-sans-cyrillic-700-normal.59783bb9.woff2 new file mode 100644 index 000000000..6c55f17dc Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-700-normal.59783bb9.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-400-italic.2084dbe9.woff b/frontend-dist/alegreya-sans-cyrillic-ext-400-italic.2084dbe9.woff new file mode 100644 index 000000000..6a108c5b2 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-400-italic.2084dbe9.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-400-italic.bd939e0f.woff2 b/frontend-dist/alegreya-sans-cyrillic-ext-400-italic.bd939e0f.woff2 new file mode 100644 index 000000000..161ff0621 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-400-italic.bd939e0f.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-400-normal.55e5afa4.woff2 b/frontend-dist/alegreya-sans-cyrillic-ext-400-normal.55e5afa4.woff2 new file mode 100644 index 000000000..e92349775 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-400-normal.55e5afa4.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-400-normal.e5ff22a5.woff b/frontend-dist/alegreya-sans-cyrillic-ext-400-normal.e5ff22a5.woff new file mode 100644 index 000000000..b8fe91e40 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-400-normal.e5ff22a5.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-500-italic.228ebc5f.woff2 b/frontend-dist/alegreya-sans-cyrillic-ext-500-italic.228ebc5f.woff2 new file mode 100644 index 000000000..a57171ddd Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-500-italic.228ebc5f.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-500-italic.e76d3c34.woff b/frontend-dist/alegreya-sans-cyrillic-ext-500-italic.e76d3c34.woff new file mode 100644 index 000000000..0805e0ace Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-500-italic.e76d3c34.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-500-normal.7a8f66ad.woff b/frontend-dist/alegreya-sans-cyrillic-ext-500-normal.7a8f66ad.woff new file mode 100644 index 000000000..81b508738 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-500-normal.7a8f66ad.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-500-normal.e6a10a6f.woff2 b/frontend-dist/alegreya-sans-cyrillic-ext-500-normal.e6a10a6f.woff2 new file mode 100644 index 000000000..07f70f216 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-500-normal.e6a10a6f.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-700-italic.027a1147.woff b/frontend-dist/alegreya-sans-cyrillic-ext-700-italic.027a1147.woff new file mode 100644 index 000000000..f81cfa1c6 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-700-italic.027a1147.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-700-italic.081c5a3b.woff2 b/frontend-dist/alegreya-sans-cyrillic-ext-700-italic.081c5a3b.woff2 new file mode 100644 index 000000000..19db51284 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-700-italic.081c5a3b.woff2 differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-700-normal.54d4ed38.woff b/frontend-dist/alegreya-sans-cyrillic-ext-700-normal.54d4ed38.woff new file mode 100644 index 000000000..1582e1147 Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-700-normal.54d4ed38.woff differ diff --git a/frontend-dist/alegreya-sans-cyrillic-ext-700-normal.d29cb5c7.woff2 b/frontend-dist/alegreya-sans-cyrillic-ext-700-normal.d29cb5c7.woff2 new file mode 100644 index 000000000..cdc68386b Binary files /dev/null and b/frontend-dist/alegreya-sans-cyrillic-ext-700-normal.d29cb5c7.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-400-italic.698a3225.woff2 b/frontend-dist/alegreya-sans-greek-400-italic.698a3225.woff2 new file mode 100644 index 000000000..cfd23bdaf Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-400-italic.698a3225.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-400-italic.a0d1d107.woff b/frontend-dist/alegreya-sans-greek-400-italic.a0d1d107.woff new file mode 100644 index 000000000..ed828fe03 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-400-italic.a0d1d107.woff differ diff --git a/frontend-dist/alegreya-sans-greek-400-normal.02c3b443.woff b/frontend-dist/alegreya-sans-greek-400-normal.02c3b443.woff new file mode 100644 index 000000000..ee05ba579 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-400-normal.02c3b443.woff differ diff --git a/frontend-dist/alegreya-sans-greek-400-normal.5c283724.woff2 b/frontend-dist/alegreya-sans-greek-400-normal.5c283724.woff2 new file mode 100644 index 000000000..8c82c32f9 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-400-normal.5c283724.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-500-italic.731402fe.woff2 b/frontend-dist/alegreya-sans-greek-500-italic.731402fe.woff2 new file mode 100644 index 000000000..d068a9429 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-500-italic.731402fe.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-500-italic.e7f1407d.woff b/frontend-dist/alegreya-sans-greek-500-italic.e7f1407d.woff new file mode 100644 index 000000000..ba00cdc2d Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-500-italic.e7f1407d.woff differ diff --git a/frontend-dist/alegreya-sans-greek-500-normal.4fe45dc3.woff2 b/frontend-dist/alegreya-sans-greek-500-normal.4fe45dc3.woff2 new file mode 100644 index 000000000..f640d0e95 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-500-normal.4fe45dc3.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-500-normal.6e74adef.woff b/frontend-dist/alegreya-sans-greek-500-normal.6e74adef.woff new file mode 100644 index 000000000..bd18e1dbd Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-500-normal.6e74adef.woff differ diff --git a/frontend-dist/alegreya-sans-greek-700-italic.054fd57c.woff b/frontend-dist/alegreya-sans-greek-700-italic.054fd57c.woff new file mode 100644 index 000000000..57ae8534a Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-700-italic.054fd57c.woff differ diff --git a/frontend-dist/alegreya-sans-greek-700-italic.7966e94d.woff2 b/frontend-dist/alegreya-sans-greek-700-italic.7966e94d.woff2 new file mode 100644 index 000000000..b7506623c Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-700-italic.7966e94d.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-700-normal.8306abb5.woff b/frontend-dist/alegreya-sans-greek-700-normal.8306abb5.woff new file mode 100644 index 000000000..c3379d11f Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-700-normal.8306abb5.woff differ diff --git a/frontend-dist/alegreya-sans-greek-700-normal.ad68df15.woff2 b/frontend-dist/alegreya-sans-greek-700-normal.ad68df15.woff2 new file mode 100644 index 000000000..289d51a17 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-700-normal.ad68df15.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-ext-400-italic.61223683.woff b/frontend-dist/alegreya-sans-greek-ext-400-italic.61223683.woff new file mode 100644 index 000000000..0d79fa43a Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-400-italic.61223683.woff differ diff --git a/frontend-dist/alegreya-sans-greek-ext-400-italic.ae95a328.woff2 b/frontend-dist/alegreya-sans-greek-ext-400-italic.ae95a328.woff2 new file mode 100644 index 000000000..03c7b8442 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-400-italic.ae95a328.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-ext-400-normal.532e031f.woff2 b/frontend-dist/alegreya-sans-greek-ext-400-normal.532e031f.woff2 new file mode 100644 index 000000000..8d5795ee5 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-400-normal.532e031f.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-ext-400-normal.649d7068.woff b/frontend-dist/alegreya-sans-greek-ext-400-normal.649d7068.woff new file mode 100644 index 000000000..ad6f5eaa8 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-400-normal.649d7068.woff differ diff --git a/frontend-dist/alegreya-sans-greek-ext-500-italic.d86fb2ec.woff b/frontend-dist/alegreya-sans-greek-ext-500-italic.d86fb2ec.woff new file mode 100644 index 000000000..0457c379c Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-500-italic.d86fb2ec.woff differ diff --git a/frontend-dist/alegreya-sans-greek-ext-500-italic.e29cbb20.woff2 b/frontend-dist/alegreya-sans-greek-ext-500-italic.e29cbb20.woff2 new file mode 100644 index 000000000..0404ea83b Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-500-italic.e29cbb20.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-ext-500-normal.7e2f002e.woff2 b/frontend-dist/alegreya-sans-greek-ext-500-normal.7e2f002e.woff2 new file mode 100644 index 000000000..0e33cf61b Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-500-normal.7e2f002e.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-ext-500-normal.e5a8f936.woff b/frontend-dist/alegreya-sans-greek-ext-500-normal.e5a8f936.woff new file mode 100644 index 000000000..fb63a19d7 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-500-normal.e5a8f936.woff differ diff --git a/frontend-dist/alegreya-sans-greek-ext-700-italic.4e669d1d.woff2 b/frontend-dist/alegreya-sans-greek-ext-700-italic.4e669d1d.woff2 new file mode 100644 index 000000000..d38a9dfdc Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-700-italic.4e669d1d.woff2 differ diff --git a/frontend-dist/alegreya-sans-greek-ext-700-italic.f9328bc7.woff b/frontend-dist/alegreya-sans-greek-ext-700-italic.f9328bc7.woff new file mode 100644 index 000000000..af859f8b1 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-700-italic.f9328bc7.woff differ diff --git a/frontend-dist/alegreya-sans-greek-ext-700-normal.951af0e4.woff b/frontend-dist/alegreya-sans-greek-ext-700-normal.951af0e4.woff new file mode 100644 index 000000000..eae4e029a Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-700-normal.951af0e4.woff differ diff --git a/frontend-dist/alegreya-sans-greek-ext-700-normal.d6a165c3.woff2 b/frontend-dist/alegreya-sans-greek-ext-700-normal.d6a165c3.woff2 new file mode 100644 index 000000000..e514cd7f5 Binary files /dev/null and b/frontend-dist/alegreya-sans-greek-ext-700-normal.d6a165c3.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-400-italic.0d0d3a15.woff2 b/frontend-dist/alegreya-sans-latin-400-italic.0d0d3a15.woff2 new file mode 100644 index 000000000..57e161637 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-400-italic.0d0d3a15.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-400-italic.41a16bae.woff b/frontend-dist/alegreya-sans-latin-400-italic.41a16bae.woff new file mode 100644 index 000000000..15b76343c Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-400-italic.41a16bae.woff differ diff --git a/frontend-dist/alegreya-sans-latin-400-normal.c3cfb12f.woff2 b/frontend-dist/alegreya-sans-latin-400-normal.c3cfb12f.woff2 new file mode 100644 index 000000000..c005bcecc Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-400-normal.c3cfb12f.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-400-normal.d6a3a798.woff b/frontend-dist/alegreya-sans-latin-400-normal.d6a3a798.woff new file mode 100644 index 000000000..fcb2af16b Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-400-normal.d6a3a798.woff differ diff --git a/frontend-dist/alegreya-sans-latin-500-italic.154b3d65.woff b/frontend-dist/alegreya-sans-latin-500-italic.154b3d65.woff new file mode 100644 index 000000000..c823ae556 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-500-italic.154b3d65.woff differ diff --git a/frontend-dist/alegreya-sans-latin-500-italic.b258979c.woff2 b/frontend-dist/alegreya-sans-latin-500-italic.b258979c.woff2 new file mode 100644 index 000000000..466aa33d2 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-500-italic.b258979c.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-500-normal.265ecb58.woff b/frontend-dist/alegreya-sans-latin-500-normal.265ecb58.woff new file mode 100644 index 000000000..73a60c8d5 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-500-normal.265ecb58.woff differ diff --git a/frontend-dist/alegreya-sans-latin-500-normal.5c1a4322.woff2 b/frontend-dist/alegreya-sans-latin-500-normal.5c1a4322.woff2 new file mode 100644 index 000000000..e736abe6b Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-500-normal.5c1a4322.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-700-italic.828e096b.woff b/frontend-dist/alegreya-sans-latin-700-italic.828e096b.woff new file mode 100644 index 000000000..3c78ab7c5 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-700-italic.828e096b.woff differ diff --git a/frontend-dist/alegreya-sans-latin-700-italic.9e7bf2ae.woff2 b/frontend-dist/alegreya-sans-latin-700-italic.9e7bf2ae.woff2 new file mode 100644 index 000000000..e5971a12c Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-700-italic.9e7bf2ae.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-700-normal.2aecb91e.woff2 b/frontend-dist/alegreya-sans-latin-700-normal.2aecb91e.woff2 new file mode 100644 index 000000000..1bec6886b Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-700-normal.2aecb91e.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-700-normal.4a09eb35.woff b/frontend-dist/alegreya-sans-latin-700-normal.4a09eb35.woff new file mode 100644 index 000000000..7589fc074 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-700-normal.4a09eb35.woff differ diff --git a/frontend-dist/alegreya-sans-latin-ext-400-italic.34775b0f.woff2 b/frontend-dist/alegreya-sans-latin-ext-400-italic.34775b0f.woff2 new file mode 100644 index 000000000..262589f7c Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-400-italic.34775b0f.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-ext-400-italic.8e9f5937.woff b/frontend-dist/alegreya-sans-latin-ext-400-italic.8e9f5937.woff new file mode 100644 index 000000000..d2afd1a56 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-400-italic.8e9f5937.woff differ diff --git a/frontend-dist/alegreya-sans-latin-ext-400-normal.065f6826.woff b/frontend-dist/alegreya-sans-latin-ext-400-normal.065f6826.woff new file mode 100644 index 000000000..e2eaf8422 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-400-normal.065f6826.woff differ diff --git a/frontend-dist/alegreya-sans-latin-ext-400-normal.b71a801c.woff2 b/frontend-dist/alegreya-sans-latin-ext-400-normal.b71a801c.woff2 new file mode 100644 index 000000000..0ffce608e Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-400-normal.b71a801c.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-ext-500-italic.0e057840.woff b/frontend-dist/alegreya-sans-latin-ext-500-italic.0e057840.woff new file mode 100644 index 000000000..6de338021 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-500-italic.0e057840.woff differ diff --git a/frontend-dist/alegreya-sans-latin-ext-500-italic.bb5065e8.woff2 b/frontend-dist/alegreya-sans-latin-ext-500-italic.bb5065e8.woff2 new file mode 100644 index 000000000..73ddc49d5 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-500-italic.bb5065e8.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-ext-500-normal.c8c38132.woff b/frontend-dist/alegreya-sans-latin-ext-500-normal.c8c38132.woff new file mode 100644 index 000000000..ffaf3a5a1 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-500-normal.c8c38132.woff differ diff --git a/frontend-dist/alegreya-sans-latin-ext-500-normal.dc4a0b57.woff2 b/frontend-dist/alegreya-sans-latin-ext-500-normal.dc4a0b57.woff2 new file mode 100644 index 000000000..3e4f6f490 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-500-normal.dc4a0b57.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-ext-700-italic.b9a04ae4.woff2 b/frontend-dist/alegreya-sans-latin-ext-700-italic.b9a04ae4.woff2 new file mode 100644 index 000000000..5609ea2cf Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-700-italic.b9a04ae4.woff2 differ diff --git a/frontend-dist/alegreya-sans-latin-ext-700-italic.f6294451.woff b/frontend-dist/alegreya-sans-latin-ext-700-italic.f6294451.woff new file mode 100644 index 000000000..205dba1c9 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-700-italic.f6294451.woff differ diff --git a/frontend-dist/alegreya-sans-latin-ext-700-normal.136a6e5c.woff b/frontend-dist/alegreya-sans-latin-ext-700-normal.136a6e5c.woff new file mode 100644 index 000000000..d31d4b41b Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-700-normal.136a6e5c.woff differ diff --git a/frontend-dist/alegreya-sans-latin-ext-700-normal.cf32efba.woff2 b/frontend-dist/alegreya-sans-latin-ext-700-normal.cf32efba.woff2 new file mode 100644 index 000000000..feeb6d862 Binary files /dev/null and b/frontend-dist/alegreya-sans-latin-ext-700-normal.cf32efba.woff2 differ diff --git a/frontend-dist/alegreya-sans-vietnamese-400-italic.0b633f42.woff2 b/frontend-dist/alegreya-sans-vietnamese-400-italic.0b633f42.woff2 new file mode 100644 index 000000000..db439b66a Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-400-italic.0b633f42.woff2 differ diff --git a/frontend-dist/alegreya-sans-vietnamese-400-italic.abc8a91e.woff b/frontend-dist/alegreya-sans-vietnamese-400-italic.abc8a91e.woff new file mode 100644 index 000000000..c3dcb80c4 Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-400-italic.abc8a91e.woff differ diff --git a/frontend-dist/alegreya-sans-vietnamese-400-normal.32e0786f.woff b/frontend-dist/alegreya-sans-vietnamese-400-normal.32e0786f.woff new file mode 100644 index 000000000..ceb356352 Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-400-normal.32e0786f.woff differ diff --git a/frontend-dist/alegreya-sans-vietnamese-400-normal.a906a7f6.woff2 b/frontend-dist/alegreya-sans-vietnamese-400-normal.a906a7f6.woff2 new file mode 100644 index 000000000..1f5072a3e Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-400-normal.a906a7f6.woff2 differ diff --git a/frontend-dist/alegreya-sans-vietnamese-500-italic.0a710f4c.woff b/frontend-dist/alegreya-sans-vietnamese-500-italic.0a710f4c.woff new file mode 100644 index 000000000..63cf41ccf Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-500-italic.0a710f4c.woff differ diff --git a/frontend-dist/alegreya-sans-vietnamese-500-italic.d02b2baa.woff2 b/frontend-dist/alegreya-sans-vietnamese-500-italic.d02b2baa.woff2 new file mode 100644 index 000000000..c0f43eb54 Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-500-italic.d02b2baa.woff2 differ diff --git a/frontend-dist/alegreya-sans-vietnamese-500-normal.5ed8053c.woff b/frontend-dist/alegreya-sans-vietnamese-500-normal.5ed8053c.woff new file mode 100644 index 000000000..0121df69b Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-500-normal.5ed8053c.woff differ diff --git a/frontend-dist/alegreya-sans-vietnamese-500-normal.6639e3ea.woff2 b/frontend-dist/alegreya-sans-vietnamese-500-normal.6639e3ea.woff2 new file mode 100644 index 000000000..3a0e53ef8 Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-500-normal.6639e3ea.woff2 differ diff --git a/frontend-dist/alegreya-sans-vietnamese-700-italic.59db40f9.woff2 b/frontend-dist/alegreya-sans-vietnamese-700-italic.59db40f9.woff2 new file mode 100644 index 000000000..09f9cd99a Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-700-italic.59db40f9.woff2 differ diff --git a/frontend-dist/alegreya-sans-vietnamese-700-italic.c83635d5.woff b/frontend-dist/alegreya-sans-vietnamese-700-italic.c83635d5.woff new file mode 100644 index 000000000..6b97c0c41 Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-700-italic.c83635d5.woff differ diff --git a/frontend-dist/alegreya-sans-vietnamese-700-normal.066a5a17.woff b/frontend-dist/alegreya-sans-vietnamese-700-normal.066a5a17.woff new file mode 100644 index 000000000..c6dd4b864 Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-700-normal.066a5a17.woff differ diff --git a/frontend-dist/alegreya-sans-vietnamese-700-normal.1aa83a58.woff2 b/frontend-dist/alegreya-sans-vietnamese-700-normal.1aa83a58.woff2 new file mode 100644 index 000000000..1de6750ec Binary files /dev/null and b/frontend-dist/alegreya-sans-vietnamese-700-normal.1aa83a58.woff2 differ diff --git a/frontend-dist/arrow-back-outline.9ae1bed8.svg b/frontend-dist/arrow-back-outline.9ae1bed8.svg new file mode 100644 index 000000000..8fc34ff6e --- /dev/null +++ b/frontend-dist/arrow-back-outline.9ae1bed8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/arrow-forward-outline.f5f68f5c.svg b/frontend-dist/arrow-forward-outline.f5f68f5c.svg new file mode 100644 index 000000000..32a9f4f30 --- /dev/null +++ b/frontend-dist/arrow-forward-outline.f5f68f5c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/arrow-redo-circle-outline.dfa899f4.svg b/frontend-dist/arrow-redo-circle-outline.dfa899f4.svg new file mode 100644 index 000000000..d0d9e1124 --- /dev/null +++ b/frontend-dist/arrow-redo-circle-outline.dfa899f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/arrow-undo-outline.d8c99108.svg b/frontend-dist/arrow-undo-outline.d8c99108.svg new file mode 100644 index 000000000..a5d529e72 --- /dev/null +++ b/frontend-dist/arrow-undo-outline.d8c99108.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/arrow-up-circle-outline.3f146ffe.svg b/frontend-dist/arrow-up-circle-outline.3f146ffe.svg new file mode 100644 index 000000000..ba46f260f --- /dev/null +++ b/frontend-dist/arrow-up-circle-outline.3f146ffe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/ban-outline.c97da9b4.svg b/frontend-dist/ban-outline.c97da9b4.svg new file mode 100644 index 000000000..c52ff6227 --- /dev/null +++ b/frontend-dist/ban-outline.c97da9b4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/caret-down-outline.4253a2fe.svg b/frontend-dist/caret-down-outline.4253a2fe.svg new file mode 100644 index 000000000..c4c15b472 --- /dev/null +++ b/frontend-dist/caret-down-outline.4253a2fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/caret-forward-circle-outline.d0bf2b34.svg b/frontend-dist/caret-forward-circle-outline.d0bf2b34.svg new file mode 100644 index 000000000..093c8e4ca --- /dev/null +++ b/frontend-dist/caret-forward-circle-outline.d0bf2b34.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/caret-forward-outline.348a84b6.svg b/frontend-dist/caret-forward-outline.348a84b6.svg new file mode 100644 index 000000000..888285c95 --- /dev/null +++ b/frontend-dist/caret-forward-outline.348a84b6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/chatbox-ellipses-outline.4334a3a4.svg b/frontend-dist/chatbox-ellipses-outline.4334a3a4.svg new file mode 100644 index 000000000..4e04a5854 --- /dev/null +++ b/frontend-dist/chatbox-ellipses-outline.4334a3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/checkmark-outline.4fb8c646.svg b/frontend-dist/checkmark-outline.4fb8c646.svg new file mode 100644 index 000000000..f62dcf921 --- /dev/null +++ b/frontend-dist/checkmark-outline.4fb8c646.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/chevron-down-outline.1efaf1cc.svg b/frontend-dist/chevron-down-outline.1efaf1cc.svg new file mode 100644 index 000000000..e7a50cd11 --- /dev/null +++ b/frontend-dist/chevron-down-outline.1efaf1cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/chevron-forward-circle-outline.babf2a99.svg b/frontend-dist/chevron-forward-circle-outline.babf2a99.svg new file mode 100644 index 000000000..9e63a3c04 --- /dev/null +++ b/frontend-dist/chevron-forward-circle-outline.babf2a99.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/close-circle-outline.4baeedb9.svg b/frontend-dist/close-circle-outline.4baeedb9.svg new file mode 100644 index 000000000..588e2d4c8 --- /dev/null +++ b/frontend-dist/close-circle-outline.4baeedb9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/close-circle.d0f6eac6.svg b/frontend-dist/close-circle.d0f6eac6.svg new file mode 100644 index 000000000..cce96081a --- /dev/null +++ b/frontend-dist/close-circle.d0f6eac6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/close-outline.9c22a232.svg b/frontend-dist/close-outline.9c22a232.svg new file mode 100644 index 000000000..17d07818e --- /dev/null +++ b/frontend-dist/close-outline.9c22a232.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/cloud-download-outline.8c1ff9bb.svg b/frontend-dist/cloud-download-outline.8c1ff9bb.svg new file mode 100644 index 000000000..939a8c238 --- /dev/null +++ b/frontend-dist/cloud-download-outline.8c1ff9bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/cloud-offline-outline.ac2eade9.svg b/frontend-dist/cloud-offline-outline.ac2eade9.svg new file mode 100644 index 000000000..426ff3b0d --- /dev/null +++ b/frontend-dist/cloud-offline-outline.ac2eade9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/copy-outline.0f561529.svg b/frontend-dist/copy-outline.0f561529.svg new file mode 100644 index 000000000..01e29db63 --- /dev/null +++ b/frontend-dist/copy-outline.0f561529.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/document-lock-outline.69d176a4.svg b/frontend-dist/document-lock-outline.69d176a4.svg new file mode 100644 index 000000000..b602b075c --- /dev/null +++ b/frontend-dist/document-lock-outline.69d176a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/document-text-outline.8d1e2333.svg b/frontend-dist/document-text-outline.8d1e2333.svg new file mode 100644 index 000000000..dacd264f4 --- /dev/null +++ b/frontend-dist/document-text-outline.8d1e2333.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/download-outline.523a74d8.svg b/frontend-dist/download-outline.523a74d8.svg new file mode 100644 index 000000000..8f0e68054 --- /dev/null +++ b/frontend-dist/download-outline.523a74d8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/easel-outline.9b064e1f.svg b/frontend-dist/easel-outline.9b064e1f.svg new file mode 100644 index 000000000..cb8186f59 --- /dev/null +++ b/frontend-dist/easel-outline.9b064e1f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend-dist/editor.11569726.js b/frontend-dist/editor.11569726.js new file mode 100644 index 000000000..8e03b6d24 --- /dev/null +++ b/frontend-dist/editor.11569726.js @@ -0,0 +1 @@ +window.addEventListener("DOMContentLoaded",function(){!function(){try{return!!String.prototype.replaceAll}catch(t){return!1}}()&&(document.body.innerHTML="

You need a shiny new browser to use Pluto!

The latest versions of Firefox and Chrome will work best.

")}); \ No newline at end of file diff --git a/frontend-dist/editor.2cab3f5e.css b/frontend-dist/editor.2cab3f5e.css new file mode 100644 index 000000000..c00e62cd2 --- /dev/null +++ b/frontend-dist/editor.2cab3f5e.css @@ -0,0 +1 @@ +dialog{color:#000;background:#fff;border:solid;width:fit-content;height:fit-content;margin:auto;padding:1em;display:block;position:absolute;left:0;right:0}dialog:not([open]){display:none}dialog+.backdrop{background:#0000001a;position:fixed;inset:0}._dialog_overlay{position:fixed;inset:0}dialog.fixed{position:fixed;top:50%;transform:translateY(-50%)}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(roboto-mono-cyrillic-ext-500-normal.d362a132.woff2)format("woff2"),url(roboto-mono-all-500-normal.cc559149.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(roboto-mono-cyrillic-500-normal.8ed3add8.woff2)format("woff2"),url(roboto-mono-all-500-normal.cc559149.woff)format("woff");unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(roboto-mono-greek-500-normal.dd57b097.woff2)format("woff2"),url(roboto-mono-all-500-normal.cc559149.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(roboto-mono-vietnamese-500-normal.1320bb60.woff2)format("woff2"),url(roboto-mono-all-500-normal.cc559149.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(roboto-mono-latin-ext-500-normal.415f7d14.woff2)format("woff2"),url(roboto-mono-all-500-normal.cc559149.woff)format("woff");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(roboto-mono-latin-500-normal.98ad1d4e.woff2)format("woff2"),url(roboto-mono-all-500-normal.cc559149.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(roboto-mono-cyrillic-ext-700-normal.5c7aabac.woff2)format("woff2"),url(roboto-mono-all-700-normal.393c796d.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(roboto-mono-cyrillic-700-normal.5e6410cf.woff2)format("woff2"),url(roboto-mono-all-700-normal.393c796d.woff)format("woff");unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(roboto-mono-greek-700-normal.b101f80c.woff2)format("woff2"),url(roboto-mono-all-700-normal.393c796d.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(roboto-mono-vietnamese-700-normal.edb1435b.woff2)format("woff2"),url(roboto-mono-all-700-normal.393c796d.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(roboto-mono-latin-ext-700-normal.c497b002.woff2)format("woff2"),url(roboto-mono-all-700-normal.393c796d.woff)format("woff");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:700;src:url(roboto-mono-latin-700-normal.447ac127.woff2)format("woff2"),url(roboto-mono-all-700-normal.393c796d.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-cyrillic-ext-400-normal.55e5afa4.woff2)format("woff2"),url(alegreya-sans-cyrillic-ext-400-normal.e5ff22a5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-cyrillic-400-normal.7ad0b60c.woff2)format("woff2"),url(alegreya-sans-cyrillic-400-normal.b3abccdf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-greek-ext-400-normal.532e031f.woff2)format("woff2"),url(alegreya-sans-greek-ext-400-normal.649d7068.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-greek-400-normal.5c283724.woff2)format("woff2"),url(alegreya-sans-greek-400-normal.02c3b443.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-vietnamese-400-normal.a906a7f6.woff2)format("woff2"),url(alegreya-sans-vietnamese-400-normal.32e0786f.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-latin-ext-400-normal.b71a801c.woff2)format("woff2"),url(alegreya-sans-latin-ext-400-normal.065f6826.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-latin-400-normal.c3cfb12f.woff2)format("woff2"),url(alegreya-sans-latin-400-normal.d6a3a798.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-cyrillic-ext-500-normal.e6a10a6f.woff2)format("woff2"),url(alegreya-sans-cyrillic-ext-500-normal.7a8f66ad.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-cyrillic-500-normal.74695d4e.woff2)format("woff2"),url(alegreya-sans-cyrillic-500-normal.6cecb852.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-greek-ext-500-normal.7e2f002e.woff2)format("woff2"),url(alegreya-sans-greek-ext-500-normal.e5a8f936.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-greek-500-normal.4fe45dc3.woff2)format("woff2"),url(alegreya-sans-greek-500-normal.6e74adef.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-vietnamese-500-normal.6639e3ea.woff2)format("woff2"),url(alegreya-sans-vietnamese-500-normal.5ed8053c.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-latin-ext-500-normal.dc4a0b57.woff2)format("woff2"),url(alegreya-sans-latin-ext-500-normal.c8c38132.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-latin-500-normal.5c1a4322.woff2)format("woff2"),url(alegreya-sans-latin-500-normal.265ecb58.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-cyrillic-ext-700-normal.d29cb5c7.woff2)format("woff2"),url(alegreya-sans-cyrillic-ext-700-normal.54d4ed38.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-cyrillic-700-normal.59783bb9.woff2)format("woff2"),url(alegreya-sans-cyrillic-700-normal.04091397.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-greek-ext-700-normal.d6a165c3.woff2)format("woff2"),url(alegreya-sans-greek-ext-700-normal.951af0e4.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-greek-700-normal.ad68df15.woff2)format("woff2"),url(alegreya-sans-greek-700-normal.8306abb5.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-vietnamese-700-normal.1aa83a58.woff2)format("woff2"),url(alegreya-sans-vietnamese-700-normal.066a5a17.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-latin-ext-700-normal.cf32efba.woff2)format("woff2"),url(alegreya-sans-latin-ext-700-normal.136a6e5c.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-latin-700-normal.2aecb91e.woff2)format("woff2"),url(alegreya-sans-latin-700-normal.4a09eb35.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-cyrillic-ext-400-italic.bd939e0f.woff2)format("woff2"),url(alegreya-sans-cyrillic-ext-400-italic.2084dbe9.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-cyrillic-400-italic.3566c50a.woff2)format("woff2"),url(alegreya-sans-cyrillic-400-italic.7b502436.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-greek-ext-400-italic.ae95a328.woff2)format("woff2"),url(alegreya-sans-greek-ext-400-italic.61223683.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-greek-400-italic.698a3225.woff2)format("woff2"),url(alegreya-sans-greek-400-italic.a0d1d107.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-vietnamese-400-italic.0b633f42.woff2)format("woff2"),url(alegreya-sans-vietnamese-400-italic.abc8a91e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-latin-ext-400-italic.34775b0f.woff2)format("woff2"),url(alegreya-sans-latin-ext-400-italic.8e9f5937.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:400;src:url(alegreya-sans-latin-400-italic.0d0d3a15.woff2)format("woff2"),url(alegreya-sans-latin-400-italic.41a16bae.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-cyrillic-ext-500-italic.228ebc5f.woff2)format("woff2"),url(alegreya-sans-cyrillic-ext-500-italic.e76d3c34.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-cyrillic-500-italic.2b0c87f4.woff2)format("woff2"),url(alegreya-sans-cyrillic-500-italic.4e7fb286.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-greek-ext-500-italic.e29cbb20.woff2)format("woff2"),url(alegreya-sans-greek-ext-500-italic.d86fb2ec.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-greek-500-italic.731402fe.woff2)format("woff2"),url(alegreya-sans-greek-500-italic.e7f1407d.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-vietnamese-500-italic.d02b2baa.woff2)format("woff2"),url(alegreya-sans-vietnamese-500-italic.0a710f4c.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-latin-ext-500-italic.bb5065e8.woff2)format("woff2"),url(alegreya-sans-latin-ext-500-italic.0e057840.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:500;src:url(alegreya-sans-latin-500-italic.b258979c.woff2)format("woff2"),url(alegreya-sans-latin-500-italic.154b3d65.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-cyrillic-ext-700-italic.081c5a3b.woff2)format("woff2"),url(alegreya-sans-cyrillic-ext-700-italic.027a1147.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-cyrillic-700-italic.d815e736.woff2)format("woff2"),url(alegreya-sans-cyrillic-700-italic.adee9304.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-greek-ext-700-italic.4e669d1d.woff2)format("woff2"),url(alegreya-sans-greek-ext-700-italic.f9328bc7.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-greek-700-italic.7966e94d.woff2)format("woff2"),url(alegreya-sans-greek-700-italic.054fd57c.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-vietnamese-700-italic.59db40f9.woff2)format("woff2"),url(alegreya-sans-vietnamese-700-italic.c83635d5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-latin-ext-700-italic.b9a04ae4.woff2)format("woff2"),url(alegreya-sans-latin-ext-700-italic.f6294451.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;size-adjust:119%;font-weight:700;src:url(alegreya-sans-latin-700-italic.9e7bf2ae.woff2)format("woff2"),url(alegreya-sans-latin-700-italic.828e096b.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(lato-latin-ext-400-normal.e1ce8ad3.woff2)format("woff2"),url(lato-all-400-normal.a1a68bdf.woff)format("woff");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(lato-latin-400-normal.77db3602.woff2)format("woff2"),url(lato-all-400-normal.a1a68bdf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:italic;font-display:swap;font-weight:400;src:url(lato-latin-ext-400-italic.336aaf51.woff2)format("woff2"),url(lato-all-400-italic.c29c8c6c.woff)format("woff");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:italic;font-display:swap;font-weight:400;src:url(lato-latin-400-italic.6edbc86c.woff2)format("woff2"),url(lato-all-400-italic.c29c8c6c.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--pluto-cell-spacing:17px;--pluto-operator-ligatures:none;--julia-mono-font-stack:JuliaMono,Menlo,"Roboto Mono","Lucida Sans Typewriter","Source Code Pro",monospace;--sans-serif-font-stack:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--lato-ui-font-stack:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Cantarell,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",system-ui,sans-serif;--roboto-mono-font-stack:"Roboto Mono","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",monospace;--system-ui-font-stack:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Cantarell,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",system-ui,sans-serif;color-scheme:light dark}html{font-size:16px}*{box-sizing:border-box}body{overflow-anchor:none;background-color:var(--main-bg-color);min-height:100vh;margin:0;position:relative;overflow-x:hidden}pluto-editor{flex-direction:column;flex:auto;align-items:center;min-width:0;display:flex}main{flex:1;width:100%;max-width:731px;padding:0 6px 4rem 25px}body:not(.disable_ui) main{padding-bottom:16rem}body:not(.disable_ui){overscroll-behavior:contain}pluto-editor main{align-self:flex-end;margin-right:max(max(0px,50% - 365.5px),min(100% - 731px,500px))}pluto-notebook{background:var(--main-bg-color);display:block}pluto-output{color:var(--pluto-output-color);font-family:Alegreya Sans,Trebuchet MS,sans-serif;font-size:14.5px;font-weight:400}pluto-output h1,pluto-output h2,pluto-output h3,pluto-output h4,pluto-output h5,pluto-output h6{font-feature-settings:"lnum","pnum";color:var(--pluto-output-h-color);margin-block:1rem 0;font-family:Vollkorn,Palatino,Georgia,serif;font-weight:600;line-height:1.25em}pluto-output h1,pluto-output h2{margin-block-start:2rem;font-weight:700}pluto-output h1:first-child,pluto-output h2:first-child{margin-block-start:calc(2rem - var(--pluto-cell-spacing))}pluto-output h1{border-bottom:3px solid var(--rule-color);margin-bottom:.5rem;font-size:2.2rem}pluto-output h2{border-bottom:2px dotted var(--rule-color);margin-bottom:.5rem;font-size:1.8rem}pluto-output h1:empty,pluto-output h2:empty{border-bottom:none}pluto-output h3{font-size:1.6rem}pluto-output h4{font-size:1.4rem}pluto-output h5{font-size:1.2rem}pluto-output h6{font-size:1rem}pluto-output h3:first-child,pluto-output h4:first-child,pluto-output h5:first-child,pluto-output h6:first-child{margin-block-start:0}pluto-output br,pluto-output p{word-spacing:.053em;margin-block-start:0;margin-block-end:var(--pluto-cell-spacing);line-height:1.6em}pluto-output br{margin-block-end:0}pluto-output p:first-child{margin-block-start:0}b,strong{font-weight:bolder}pluto-output li p+ul,pluto-output li p+ol{margin-block-start:calc(var(--pluto-cell-spacing)*-1)}pluto-output p:last-child{margin-block-end:0}pluto-output img,pluto-output video{max-width:100%}a{color:var(--black);text-decoration-thickness:2px;-webkit-text-decoration-color:var(--a-underline);-webkit-text-decoration-color:var(--a-underline);text-decoration-color:var(--a-underline)}a:hover{-webkit-text-decoration-color:var(--black);-webkit-text-decoration-color:var(--black);text-decoration-color:var(--black)}.cm-cursor{border-left:1.2px solid var(--cursor-color)!important}pluto-output code{font-family:var(--julia-mono-font-stack);font-variant-ligatures:none;font-size:.9em}pluto-output code .cm-editor .cm-line{font-family:var(--julia-mono-font-stack)}pluto-output pre>code{font-size:inherit}pluto-output.rich_output code{background-color:var(--pluto-output-bg-color);border-radius:8px;padding:.18em}pluto-output.rich_output pre>code{background-color:#0000;padding:0}pluto-log-dot pre,pluto-output pre{white-space:pre-wrap;word-break:break-all;tab-size:4;font-family:var(--julia-mono-font-stack);font-variant-ligatures:none;margin:0;font-size:.8rem;display:inline-block}pluto-display pre{white-space:pre;word-break:normal}pluto-output hr{border:none;border-top:3px solid var(--rule-color);margin-left:0;margin-right:0}pluto-output blockquote{margin-left:1rem;margin-right:1rem}pluto-output.rich_output pre:not(.no-block),pluto-output blockquote{background-color:var(--blockquote-bg);color:var(--blockquote-color);border-radius:15px;margin-block-start:0;margin-block-end:var(--pluto-cell-spacing);padding:15px;display:block}pluto-output.rich_output pre:not(.no-block):last-child,pluto-output blockquote:last-child{margin-block-end:0}pluto-output div.admonition{border-radius:8px;margin-block:1em}pluto-output div.admonition .admonition-title{font-feature-settings:"lnum","pnum";color:var(--admonition-title-color);margin-block-end:0;padding-left:.3em;font-family:Vollkorn,Palatino,sans-serif;font-size:1.3em;font-weight:600}pluto-output div.admonition .admonition-title~*{margin-block:.5em;transition:filter .1s linear}pluto-output div.admonition{background:var(--jl-message-color);border:5px solid var(--jl-message-accent-color);padding-left:.5rem;padding-right:.5rem}pluto-output div.admonition .admonition-title{background:var(--jl-message-accent-color);margin:-1px;margin-left:-.55rem;margin-right:-.55rem}pluto-output div.admonition.note,pluto-output div.admonition.info,pluto-output div.admonition.hint{background:var(--jl-info-color);border:5px solid var(--jl-info-accent-color)}pluto-output div.admonition.note>.admonition-title,pluto-output div.admonition.info>.admonition-title,pluto-output div.admonition.hint>.admonition-title{background:var(--jl-info-accent-color)}pluto-output div.admonition.warning{background:var(--jl-warn-color);border:5px solid var(--jl-warn-accent-color)}pluto-output div.admonition.warning>.admonition-title{background:var(--jl-warn-accent-color)}pluto-output div.admonition.danger{background:var(--jl-danger-color);border:5px solid var(--jl-danger-accent-color)}pluto-output div.admonition.danger>.admonition-title{background:var(--jl-danger-accent-color)}pluto-output div.admonition.hint>.admonition-title~*{filter:blur(.25em)}pluto-output div.admonition.hint:hover>.admonition-title~*,pluto-output div.admonition.hint:focus-within>.admonition-title~*{filter:blur()}pluto-output div.footnote{margin-block:1em}pluto-output div.footnote p.footnote-title:before{content:"["}pluto-output div.footnote p.footnote-title:after{content:"]: "}pluto-output a.footnote,pluto-output div.footnote p.footnote-title{font-family:var(--roboto-mono-font-stack);letter-spacing:-.05em;margin-block-end:0;font-size:.75rem;font-weight:700}pluto-output div.footnote p.footnote-title~*{border-left:5px solid var(--footnote-border-color);padding-left:.4em;padding-bottom:var(--pluto-cell-spacing);margin-left:.1em;margin-block-end:0}pluto-output div.footnote p:last-child{padding-bottom:0}pluto-output.scroll_y{max-height:502px;overflow:auto}pluto-output table{border-collapse:collapse;border:2px solid var(--table-border-color);border-left:none;border-right:none;margin:0 auto;margin-block-start:var(--pluto-cell-spacing);margin-block-end:var(--pluto-cell-spacing)}pluto-output table>thead{border-bottom:1px solid var(--table-border-color)}pluto-output table>tbody td{font-family:var(--julia-mono-font-stack);font-variant-ligatures:none;font-size:.75rem}pluto-output table>tbody td code{font-size:.75rem}pluto-output table td,pluto-output table th{padding:.2rem .5rem}pluto-output table>tbody tr:hover{background-color:var(--table-bg-hover-color)}pluto-output table pre{white-space:pre}pluto-output kbd,kbd{letter-spacing:-.7px;border:1px solid var(--kbd-border-color);border-radius:3px;padding:0 5px;font-family:Space Mono,monospace;font-size:.7rem}pluto-output mjx-assistive-mml{height:1px}.raw-html-wrapper>div.markdown{overflow:hidden}pluto-output details{border:1px solid var(--rule-color);border-radius:4px;margin-block-start:0;margin-block-end:var(--pluto-cell-spacing);padding:.5em .5em 0}pluto-output details:first-child{margin-block-start:0}pluto-output details:last-child{margin-block-end:0}pluto-output details summary{cursor:pointer;font-family:var(--system-ui-font-stack);background-clip:padding-box;border-radius:3px;margin:-.5em -.5em 0;padding:.5em;font-weight:700;transition:color .25s ease-in-out,background-color .25s ease-in-out}pluto-output details summary:hover{color:var(--blockquote-color);background-color:var(--blockquote-bg)}pluto-output details[open]{padding:.5em}pluto-output details[open] summary{border-bottom:1px solid var(--rule-color);border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:.5em}header#pluto-nav{z-index:60;background-color:var(--header-bg-color);border-bottom:solid 1px var(--header-border-color);width:100%;min-height:60px;font-family:var(--roboto-mono-font-stack);font-size:.8rem;font-weight:400;transition:background-color .5s ease-in-out,transform .25s cubic-bezier(.18,.89,.49,1.13);transform:translateY(0)}header#pluto-nav.show_export{position:sticky;top:0;transform:translateY(130px)}dialog#export{background:var(--export-bg-color);width:100%;height:130px;color:var(--export-color);border:none;max-width:none;max-height:none;margin:0;padding:0;display:block;position:absolute;top:0;overflow:visible;transform:translateY(calc(-100% - 1px))}dialog#export:before{content:"";background:inherit;height:100px;position:absolute;bottom:100%;left:0;right:0}dialog#export div#container{flex-direction:row;max-width:1000px;margin:0 auto;padding-right:10em;display:flex;position:relative}header dialog#export div#container{overflow-x:hidden}header.show_export dialog#export div#container{overflow-x:auto}a.export_card{background:var(--export-card-bg-color);width:169px;height:90px;color:var(--export-card-title-color);box-shadow:0px 2px 10px var(--export-card-shadow-color);border:5px solid #0000;border-radius:8px;flex:none;margin:20px 5px;text-decoration:none}div.export_title{text-orientation:sideways-right;writing-mode:vertical-lr;border-radius:8px;flex:none;height:90px;margin-top:10px;font-size:1rem;font-weight:700;transform:rotate(180deg)}a.export_card header{font-feature-settings:"lnum","pnum";margin-block:0;font-family:Vollkorn,Palatino,sans-serif;font-size:17px}a.export_card section{color:var(--export-card-text-color);padding:3px;font-weight:500}dialog#export .export_small_btns{background:var(--export-bg-color);border-radius:.9em;flex-direction:row;padding:.9em;display:flex;position:absolute;top:0;right:.8em}body.static_preview button.toggle_export{display:none}nav#at_the_top h1{color:var(--nav-h1-text-color);letter-spacing:2px}nav#at_the_top{z-index:100;flex-flow:wrap;max-width:1000px;min-height:60px;margin:0 auto;padding-left:20px;padding-right:20px;display:flex}nav#at_the_top>*{flex:none;align-self:center;margin:10px 0}nav#at_the_top>.flex_grow_1{flex-grow:1}nav#at_the_top>.flex_grow_2{flex-grow:2}nav#at_the_top h1{border-bottom:none;font-size:1.8rem;font-weight:700;display:inline}nav#at_the_top img#logo-small,nav#at_the_top img#logo-big{height:39px;filter:var(--image-filters);margin-bottom:-8px}nav#at_the_top img#logo-small{display:none}@media (width<=800px){nav#at_the_top img#logo-small{display:unset}nav#at_the_top img#logo-big{display:none}}nav#at_the_top>pluto-filepicker,nav#at_the_top>div.desktop_picker{flex-direction:row;flex-grow:1;width:210px;display:flex}nav#at_the_top>pluto-filepicker .cm-editor,nav#at_the_top>div.desktop_picker span{letter-spacing:1px;min-width:10rem;height:calc(1rem + 12px);color:var(--nav-filepicker-color);border:2px solid var(--footer-input-border-color);background:0 0;border-right:none;border-radius:3px 0 0 3px;font-family:inherit;font-size:.8rem;font-style:normal;font-weight:500;display:inline-block}pluto-filepicker .cm-scroller{scrollbar-width:none}pluto-filepicker .cm-scroller::-webkit-scrollbar{display:none}pluto-filepicker button,div.desktop_picker button{cursor:pointer;height:auto}pluto-filepicker button:disabled{cursor:not-allowed}div.desktop_picker span{white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;cursor:pointer;padding:0 5px;line-height:1.8;overflow-x:hidden}button.start_stop_recording,button.toggle_export,.export_small_btns button{cursor:pointer;opacity:.5;background:0 0;border:none}button.start_stop_recording span,button.toggle_export span,.export_small_btns button span{background-size:25px 25px;width:25px;height:25px;display:block;content:" "!important}nav#at_the_top button.start_stop_recording span{background-image:url(radio-button-on-outline.778acac1.svg)}nav#at_the_top button.start_stop_recording.stop span{background-image:url(stop-circle-outline.6623356d.svg)}nav#at_the_top button.toggle_export span{filter:var(--image-filters);background-image:url(share-outline.50164ded.svg)}dialog#export button.toggle_export span{filter:invert();background-image:url(close-outline.9c22a232.svg)}dialog#export button.toggle_frontmatter_edit span{filter:invert();background-image:url(newspaper-outline.e481c39c.svg)}dialog#export button.toggle_presentation span{filter:invert();background-image:url(easel-outline.9b064e1f.svg)}nav#at_the_top:after{align-self:center;margin-left:auto}.cm-tooltip-autocomplete li.file.new:before{content:"👉";color:#000}.cm-tooltip-autocomplete li.file:before{content:"📄";color:#000}.cm-tooltip-autocomplete li.dir:before{content:"📁";color:#000}@media (any-pointer:fine){nav#at_the_top>pluto-filepicker .cm-editor,nav#at_the_top>div.desktop_picker span{border:2px solid #0000;border-right:none;transition:border .15s ease-in-out}nav#at_the_top>pluto-filepicker button,nav#at_the_top>div.desktop_picker button{opacity:0;transition:opacity .15s ease-in-out}header:hover>nav#at_the_top>pluto-filepicker .cm-editor,header:focus-within>nav#at_the_top>pluto-filepicker .cm-editor,header:hover>nav#at_the_top>div.desktop_picker span,header:focus-within>nav#at_the_top>div.desktop_picker span{border:2px solid var(--footer-input-border-color);border-right:none}header:hover>nav#at_the_top>pluto-filepicker button,header:focus-within>nav#at_the_top>pluto-filepicker button,header:hover>nav#at_the_top>div.desktop_picker button,header:focus-within>nav#at_the_top>div.desktop_picker button{opacity:1}}body.binder header#pluto-nav>nav#at_the_top>pluto-filepicker>*{display:none}body.binder header#pluto-nav>nav#at_the_top>pluto-filepicker>a{font-size:16px;font-family:var(--julia-mono-font-stack);opacity:.8;text-decoration:none;display:block}body.nbpkg_restart_recommended header#pluto-nav,body.nbpkg_restart_required header#pluto-nav,body.binder.loading header#pluto-nav,body.process_waiting_for_permission header#pluto-nav,body.process_dead header#pluto-nav,body.disconnected header#pluto-nav{-webkit-backdrop-filter:blur(10px);position:sticky;top:0}body.nbpkg_restart_recommended header#pluto-nav{background-color:var(--restart-recc-header-color)}body.nbpkg_restart_required header#pluto-nav{background-color:var(--restart-req-header-color)}body.process_dead header#pluto-nav{background-color:var(--dead-process-header-color)}body.process_waiting_for_permission header#pluto-nav{background-color:var(--restart-recc-header-color)}body.loading header#pluto-nav{background-color:var(--loading-header-color)}body.disconnected header#pluto-nav{background-color:var(--disconnected-header-color)}body.binder.loading header#pluto-nav{background-color:var(--binder-loading-header-color)}nav#at_the_top>#process_status{background:var(--nav-process-status-bg-color);color:var(--nav-process-status-color);z-index:10;border-radius:10px;margin:5px 5px 5px 1em;padding:5px 10px;font-size:1rem;font-weight:500}nav#at_the_top>#process_status:empty{display:none}.statefile-fetch-progress{--w:min(80vw,300px);left:calc(50vw - .5*var(--w));z-index:300000;width:var(--w);position:fixed;top:0}loading-bar{background:linear-gradient(90deg,var(--loading-grad-color-1),var(--loading-grad-color-2),var(--loading-grad-color-1));opacity:0;z-index:12000;background-size:100vw 100%;width:10vw;height:6px;transition:width 2s cubic-bezier(.14,.71,0,.99),opacity .2s linear;animation:2s ease-in-out infinite move-background;display:block;position:fixed;top:0;left:0}loading-bar.slow{transition:width 10s cubic-bezier(.14,.71,0,.99),opacity .5s linear}@media (prefers-reduced-motion){loading-bar{transition:none}}body.binder.loading #binder_spinners{opacity:.25}@keyframes move-background{0%{background-position-x:0}to{background-position-x:100vw}}.outline-frame{z-index:1500;pointer-events:none;box-sizing:border-box;width:100vw;height:100vh;position:fixed;top:0;left:0}body.process_waiting_for_permission .outline-frame.safe-preview{border-bottom:12px solid var(--restart-recc-header-color)}body.recording_waiting_to_start .outline-frame.recording{border:12px solid #be6f6fba}body.is_recording .outline-frame.recording{border:12px solid #dc3535ba}.outline-frame.playback{opacity:1;border:12px solid #357ddcba;transition:top .3s ease-in-out,opacity .3s ease-in-out;position:absolute;box-shadow:inset 0 0 20px 20px #919bff2b}body.recording_waiting_to_start header#pluto-nav,body.is_recording header#pluto-nav{display:none}.outline-frame-actions-container{z-index:1501;flex-flow:wrap;display:flex;position:fixed;top:3px}.outline-frame-actions-container.safe-preview{top:auto;bottom:4px}.outline-frame-actions-container>.overlay-button{border-color:#e86f6c;margin:0 3px}.outline-frame-actions-container>.overlay-button.record-no-audio{border-color:#dcc6c6}.outline-frame-actions-container>.overlay-button.playback{border-color:#c6c6dc}span.pluto-icon.stop-recording-icon:after{background-image:url(stop-circle-outline.6623356d.svg)}span.pluto-icon.microphone-icon:after{background-image:url(mic-outline.e10eafe2.svg)}span.pluto-icon.info-icon:after{background-image:url(information-circle-outline.008b2bb9.svg)}span.pluto-icon.offline-icon:after{background-image:url(cloud-offline-outline.ac2eade9.svg)}span.pluto-icon.mute-icon:after{background-image:url(mic-off-outline.251c22b7.svg)}span.pluto-icon.follow-recording-icon:after{background-image:url(arrow-undo-outline.d8c99108.svg)}div.recording-playback{z-index:1501;width:min(500px,90vw);position:fixed;bottom:16px}div.recording-playback audio{width:100%}.safe-preview-info{color:var(--black);font-family:var(--system-ui-font-stack);background:var(--white);border:3px solid var(--restart-recc-accent-color);border-radius:.8em;padding:.3em .8em;font-weight:700}.safe-preview-info>span{display:flex}.safe-preview-info button{cursor:pointer;background:0 0;border:none}.safe-preview-output{color:var(--helpbox-header-color);font-family:var(--system-ui-font-stack);opacity:.5;background:var(--restart-recc-header-color);border-radius:.4em;align-items:baseline;gap:.3em;margin:.7em 0;padding:.2em .4em;font-size:.8rem;font-weight:700;display:inline-flex}.raw-html-wrapper.preamble{width:100%}main>preamble{z-index:200;pointer-events:none;height:20px;margin-top:5px;padding-right:5px;display:flex;position:sticky;top:5px}.overlay-button{background:var(--overlay-button-bg);color:var(--overlay-button-color);border:3px solid var(--overlay-button-border);height:35px;font-family:var(--roboto-mono-font-stack);pointer-events:all;white-space:nowrap;border-radius:12px;padding:5px 8px;font-size:.75rem}.overlay-button button:not(.asdfdsf){color:var(--overlay-button-color)}main>preamble #saveall-container{margin-left:auto}pluto-editor.fullscreen main>preamble #saveall-container{transform:translate(max(0px,100vw - 725px))}@media screen and (width>=1231px){pluto-editor.fullscreen main>preamble #saveall-container{transform:translate(500px)}}main>preamble #saveall-container.ask_to_save{border-color:var(--overlay-button-border-save)}main>preamble #saveall-container.saving,main>preamble #saveall-container.saved{border-color:#0000}main>preamble #saveall-container.saving>span,main>preamble #saveall-container.saved>span{opacity:.5}span.pluto-icon:after{content:"";height:1.3em;filter:var(--image-filters);background-image:url(sync-circle-outline.65b15d76.svg);background-position:right 1px;background-repeat:no-repeat;background-size:1.3em;margin-bottom:-.3em;padding-right:1.5em;display:inline-block;transform:translateY(-.1em)}main>preamble span.saved-icon:after,.overlay-button span.saved-icon:after{filter:var(--image-filters);background-image:url(checkmark-outline.4fb8c646.svg)}#saveall-container .only-on-hover{display:none}#saveall-container:hover .only-on-hover{display:inline}pluto-cell{min-height:25px;margin-top:var(--pluto-cell-spacing);display:block;position:relative}pluto-output{background-color:var(--pluto-output-bg-color);align-items:baseline;padding-left:10px;padding-right:10px;display:block;overflow-x:auto}.scroll_y{max-height:80vh;overflow-y:auto}pluto-output:focus{outline:none}pluto-output:not(.rich_output){flex-wrap:wrap;padding-top:3px;padding-bottom:3px;display:flex}pluto-output>assignee{font-family:var(--julia-mono-font-stack);font-variant-ligatures:none;font-size:.75rem}pluto-output>assignee:after{content:" = ";opacity:.6}pluto-output>assignee:empty,.errored pluto-output>assignee{display:none}pluto-output>div{flex-shrink:0;overflow-y:hidden}pluto-output div.raw-html-wrapper{display:contents}pluto-output:not(.rich_output)>div>pre{display:flex}.bonds_disabled:where(.offer_binder,.offer_local) bond{opacity:.6;filter:grayscale()}pluto-display,pluto-display>div{display:contents}.isolated-cell>pluto-output{padding:0}.hidden-cell{display:none}pluto-cell.depends_on_disabled_cells>pluto-output,pluto-cell.running_disabled>pluto-output,pluto-cell.depends_on_disabled_cells>pluto-trafficlight,pluto-cell.running_disabled>pluto-trafficlight,pluto-cell.depends_on_disabled_cells>pluto-input .cm-editor,pluto-cell.running_disabled>pluto-input .cm-editor,pluto-cell.depends_on_disabled_cells>pluto-logs-container,pluto-cell.running_disabled>pluto-logs-container{opacity:.3}pluto-cell.running_disabled>pluto-input .cm-editor,pluto-cell.running_disabled>pluto-output{background-color:var(--disabled-cell-bg-color)}pluto-cell.skip_as_script .skip_as_script_marker,pluto-cell.depends_on_skipped_cells .depends_on_skipped_marker{cursor:help;z-index:20;background-color:var(--skip-as-script-background-color);border-radius:0 4px 4px 0;width:4px;display:block;position:absolute;top:0;bottom:0;right:-3px}pluto-cell.depends_on_skipped_cells .depends_on_skipped_marker{background-color:var(--depends-on-skip-as-script-background-color)}pluto-cell.skip_as_script pluto-input .cm-editor,pluto-cell.depends_on_skipped_cells pluto-input .cm-editor{border-bottom-right-radius:0}pluto-cell.selected{background:var(--selected-cell-bg-color);border-radius:0 3px 3px 0}pluto-cell.selected>pluto-input>div.cm-editor,pluto-cell.selected>pluto-output{opacity:.7}main{cursor:vertical-text}pluto-cell{cursor:auto}pluto-output>div{scrollbar-width:thin;scrollbar-color:transparent transparent}pluto-cell:hover>pluto-output>div{scrollbar-color:var(--hover-scrollbar-color-1)var(--hover-scrollbar-color-2)}pluto-output>div::-webkit-scrollbar{background:0 0;height:6px}pluto-output>div::-webkit-scrollbar-thumb{background:0 0}pluto-cell:hover>pluto-output>div::-webkit-scrollbar{background:var(--hover-scrollbar-color-2)}pluto-cell:hover>pluto-output>div::-webkit-scrollbar-thumb{background:var(--hover-scrollbar-color-1)}pluto-input .cm-editor{z-index:20;border:1px solid var(--normal-cell-color);border-left:none;border-bottom-right-radius:4px;min-height:25px;scroll-margin-block:20vh}pluto-input:focus-within .cm-editor{z-index:21}pluto-input .cm-editor .cm-line{transition:background-color .15s ease-in-out}pluto-input .cm-editor span.cm-highlighted-range,pluto-input .cm-editor .cm-line.cm-highlighted-line{background-color:var(--cm-highlighted);border-radius:3px}pluto-cell:not(.show_input)>pluto-input{display:none}pluto-cell.code_differs>pluto-input>.cm-editor{border:1px solid var(--code-differs-cell-color);border-left:none}button.floating_back_button,.overlay-button button,pluto-cell>button,pluto-input>button,pluto-runarea>button,pluto-shoulder>button,nav#slide_controls>button{opacity:.5;cursor:pointer;color:var(--ui-button-color);font-family:var(--roboto-mono-font-stack);z-index:30;background:0 0;border:none;margin:0;padding:1px;font-size:.75rem;position:absolute}.overlay-button button{position:relative}pluto-shoulder{--invisible-border:calc(.5*var(--pluto-cell-spacing));--shoulder-width:calc(28px + var(--invisible-border));--border-radius:calc(5px + var(--invisible-border));left:calc(0px - var(--shoulder-width));width:var(--shoulder-width);border-radius:var(--border-radius)0px 0px var(--border-radius);cursor:move;top:calc(0px - var(--invisible-border));bottom:calc(0px - var(--invisible-border));border:var(--invisible-border)solid #0000;border-right:none;flex-direction:row;justify-content:flex-end;align-items:flex-start;display:flex;position:absolute}pluto-editor.fullscreen pluto-shoulder{--shoulder-width:2000px}pluto-shoulder:hover{background:var(--shoulder-hover-bg-color);background-clip:padding-box}pluto-shoulder>button{flex:none;padding:4px 5px 4px 10px;position:sticky;top:0}pluto-cell:focus-within>pluto-shoulder>button{padding-right:9px}pluto-shoulder>button>span:after{filter:var(--image-filters);background-image:url(eye-outline.6e6e0f7c.svg)}pluto-cell.code_folded>pluto-shoulder>button>span:after{filter:var(--image-filters);background-image:url(eye-off-outline.a37e03db.svg)}pluto-trafficlight{--patternHeight:22.6274px;box-sizing:content-box;pointer-events:none;border-left-color:var(--normal-cell-color);background:var(--normal-cell-color);border-top-left-radius:4px;border-bottom-left-radius:4px;width:4px;margin-right:-1px;position:absolute;top:0;bottom:0;left:-4px;overflow:hidden}pluto-trafficlight:after{content:"";top:calc(0px - 10*var(--patternHeight));width:100%;height:calc(100% + 10*var(--patternHeight));opacity:0;position:absolute;left:0}pluto-cell.activate_animation pluto-trafficlight:after{animation:10s linear infinite scrollbackground}body:not(.___) pluto-cell.code_folded>pluto-trafficlight{background:0 0}@media screen and (any-pointer:fine){body:not(.disable_ui) pluto-cell:hover>pluto-trafficlight{background:var(--normal-cell-color)}}body:not(.___) pluto-cell:focus-within>pluto-trafficlight{background-clip:padding-box;background-color:var(--normal-cell-color);border-left-style:solid;border-left-width:4px;margin-left:-4px}body:not(.___) pluto-cell.selected>pluto-trafficlight{background:var(--selected-cell-color);border-left-color:var(--selected-cell-color);background-clip:padding-box}body:not(.___) pluto-cell.code_differs>pluto-trafficlight{background:var(--code-differs-cell-color);border-left-color:var(--code-differs-cell-color);background-clip:padding-box}body:not(.___) pluto-cell.errored>pluto-trafficlight{background:var(--error-cell-color);border-left-color:var(--error-cell-color);background-clip:padding-box}body:not(.___) pluto-cell.queued>pluto-trafficlight:after{background:repeating-linear-gradient(-45deg,#0000,#0000 8px,var(--normal-cell-color)8px,var(--normal-cell-color)16px);opacity:.99;background-clip:padding-box;background-size:4px var(--patternHeight);animation-duration:20s}body:not(.___) pluto-cell.running>pluto-trafficlight:after{background:repeating-linear-gradient(-45deg,var(--normal-cell-color),var(--normal-cell-color)8px,var(--dark-normal-cell-color)8px,var(--dark-normal-cell-color)16px);opacity:.99;background-clip:content-box;background-size:4px var(--patternHeight)}body:not(.___) pluto-cell.queued.errored>pluto-trafficlight:after,body:not(.___) pluto-cell.running.errored>pluto-trafficlight:after{background:repeating-linear-gradient(-45deg,var(--light-error-cell-color),var(--light-error-cell-color)8px,var(--bright-error-cell-color)8px,var(--bright-error-cell-color)16px);opacity:.99;background-clip:content-box;background-size:4px var(--patternHeight)}@keyframes scrollbackground{0%{transform:translate(0)}to{transform:translate(0,calc(10*var(--patternHeight)))}}pluto-cell>button>span,pluto-input>button>span{pointer-events:none}@media screen and (any-pointer:fine){pluto-cell>button,pluto-input>button,pluto-runarea>button,pluto-shoulder>button,pluto-cell>pluto-runarea{opacity:0;transition:opacity .25s ease-in-out}.export_small_btns button,button.toggle_export,button.start_stop_recording,pluto-cell:hover>button,pluto-cell:focus-within>button,pluto-cell:hover>pluto-input>button,pluto-cell:focus-within>pluto-input>button,pluto-cell>pluto-runarea>button,pluto-cell:hover>pluto-shoulder>button,pluto-cell:focus-within>pluto-shoulder>button{opacity:.6;transition:opacity .25s ease-in-out}.export_small_btns button:hover,button.toggle_export:hover,button.start_stop_recording:hover,.overlay-button button:hover,pluto-cell>button:hover,pluto-cell>pluto-input>button:hover,pluto-cell>pluto-runarea>button:hover,pluto-cell>pluto-shoulder>button:hover,pluto-cell:hover>pluto-runarea{opacity:1;transition:opacity 50ms ease-in-out}}@media screen and (pointer:coarse){pluto-cell>button.add_cell,pluto-input>button,pluto-shoulder>button{opacity:.25;transition:opacity .25s ease-in-out}pluto-cell:not(:first-of-type,:last-of-type)>button.add_cell{opacity:.125}pluto-cell:focus-within>button.add_cell,pluto-cell:focus-within>pluto-input>button,pluto-cell:focus-within>pluto-runarea,pluto-cell:focus-within>pluto-shoulder>button{opacity:.6;transition:opacity .25s ease-in-out}pluto-cell>pluto-input>button:focus-within,pluto-cell>button:focus-within,pluto-cell>pluto-input>button:focus-within pluto-cell>pluto-runarea>button:focus-within,pluto-cell>pluto-shoulder>button:focus-within,pluto-cell>pluto-runarea{opacity:1;transition:opacity 50ms ease-in-out}}pluto-cell>button>span:after,pluto-input>button>span:after,pluto-runarea>button>span:after,pluto-shoulder>button>span:after{background-size:17px 17px;width:17px;height:17px;display:block;content:" "!important}pluto-cell>button.add_cell{--hit-box-extend:20px;margin-left:calc(-1*var(--hit-box-extend));margin-right:calc(-1*var(--hit-box-extend));padding-left:var(--hit-box-extend);padding-right:var(--hit-box-extend);left:-12px}pluto-cell>button.add_cell.before{margin-top:calc(-19px - .5*(var(--pluto-cell-spacing) - 19px))!important}pluto-cell>button.add_cell.after{margin-bottom:calc(-20px - .5*(var(--pluto-cell-spacing) - 19px));bottom:1px}pluto-cell>button.add_cell>span:after{filter:var(--image-filters);background-image:url(add-outline.e3c93c35.svg)}pluto-input>.input_context_menu ul{border:1px solid var(--input-context-menu-border-color);background-color:var(--input-context-menu-bg-color);border-radius:6px;grid-template-columns:max-content;margin:0;padding:0;display:grid}pluto-input{display:block;position:relative}pluto-input>div.input_context_menu{z-index:1400;position:absolute;top:-8px;left:100%}@media screen and (width>=921px){pluto-input>div.input_context_menu{left:calc(100% - 3px)}}@media screen and (width<=920px){pluto-input>div.input_context_menu{right:0;left:unset;z-index:1401}}pluto-input>.input_context_menu li{flex-direction:column;align-items:stretch;margin-block-end:0;list-style:none;display:flex}pluto-input>.input_context_menu li button{letter-spacing:-.02em;color:var(--input-context-menu-li-color);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:flex-start;align-items:center;height:32px;margin-block-end:0;padding:8px;font-family:Roboto Mono,system-ui;font-size:.8rem;display:flex;position:relative}.input_context_menu li:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.input_context_menu li:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.input_context_menu li.coming_soon{color:var(--input-context-menu-soon-color)}.input_context_menu li.coming_soon:hover{cursor:not-allowed;background-color:var(--input-context-menu-hover-bg-color)}.input_context_menu li:hover{background-color:var(--input-context-menu-hover-bg-color);transition-property:background-color;transition-duration:.2s}.ctx_icon,.icon{--size:17px;width:var(--size);height:var(--size);background-size:var(--size)var(--size);margin-top:1px;margin-right:calc(var(--size)/3);background-position:50%}.ctx_icon{filter:var(--image-filters)}.ctx_icon.show_logs,.ctx_icon.hide_logs{background-image:url(document-text-outline.8d1e2333.svg)}.ctx_icon.enable_cell{background-image:url(caret-forward-circle-outline.d0bf2b34.svg)}.ctx_icon.disable_cell{background-image:url(ban-outline.c97da9b4.svg);background-repeat:no-repeat;background-size:15px}.ctx_icon.delete{background-image:url(close-circle-outline.4baeedb9.svg)}.ctx_icon.run_as_script{background-image:url(document-lock-outline.69d176a4.svg)}.ctx_icon.skip_as_script{background-image:url(document-text-outline.8d1e2333.svg)}.ctx_icon.copy_output{background-image:url(copy-outline.0f561529.svg)}pluto-input>button.input_context_menu{padding:5px;right:0}pluto-input>.input_context_menu.open{opacity:1}pluto-input>.input_context_menu span.icon:after{filter:var(--image-filters);background-image:url(ellipsis-horizontal-circle-outline.6279ed30.svg)}pluto-input>.preview_hidden_code_info{text-align:center;background:var(--jl-info-color);width:19ch;height:1.4rem;font-style:italic;font-family:var(--system-ui-font-stack);z-index:22;pointer-events:none;border-radius:.4rem;margin-left:auto;margin-right:auto;font-size:.9rem;display:none;position:absolute;bottom:-1.1rem;left:0;right:0}body:not(.process_waiting_for_permission) pluto-cell.code_folded pluto-input>.preview_hidden_code_info,pluto-cell.code_folded:focus-within pluto-input>.preview_hidden_code_info{display:block}pkg-status-mark{width:1em;height:1em;margin:0 .6em 0 .2em;display:inline-block}body.nbpkg_disabled pkg-status-mark:not(.disable_pkg){display:none}pkg-status-mark>button{cursor:context-menu;background:0 0;border:none;margin:0;padding:0;position:relative;top:-.2em}pkg-status-mark>button>span:after{opacity:.3;width:1.5em;height:1.5em;filter:var(--image-filters);background-image:url(time-outline.7c1877f0.svg);background-size:1.5em;display:inline-block;content:" "!important}pkg-status-mark.installed>button>span:after{filter:var(--image-filters);background-image:url(checkmark-outline.4fb8c646.svg)}pkg-status-mark.busy>button>span:after{filter:var(--image-filters);background-image:url(sync-outline.9a1bd27b.svg);animation:3s ease-in-out infinite loadspin}pkg-status-mark.not_found>button>span:after{opacity:.6;filter:var(--image-filters);background-image:url(cloud-offline-outline.ac2eade9.svg)}pkg-status-mark.will_be_installed>button>span:after{opacity:.6;filter:var(--image-filters);background-image:url(cloud-download-outline.8c1ff9bb.svg)}pkg-status-mark.disable_pkg>button>span:after{opacity:.6;filter:var(--image-filters);background-image:url(chatbox-ellipses-outline.4334a3a4.svg)}pluto-popup{z-index:1800;--max-size:251px;width:min(90vw,var(--max-size));overflow-wrap:break-word;font-family:var(--system-ui-font-stack);opacity:0;transform-origin:0;pointer-events:none;margin-top:-1rem;margin-left:.4rem;transition:transform .5s ease-in-out,opacity .1s ease-in-out;display:block;position:absolute;transform:scale(.2)}pluto-popup.visible{opacity:1;pointer-events:initial;transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(1)}pluto-popup.big{--max-size:25em}pluto-popup>*{background:var(--overlay-button-bg);border:3px solid var(--overlay-button-border);color:var(--black);border-radius:10px;max-width:100%;max-height:80vh;padding:8px;display:block;position:absolute;overflow-y:auto}pluto-popup>div>:first-child{margin-block-start:0}pluto-popup h1{font-size:1.6em}pluto-popup.warn>*{background:var(--pluto-logs-warn-color);border-color:var(--pluto-logs-warn-accent-color)}pluto-popup code.auto_disabled_variable{font-family:var(--julia-mono-font-stack);font-variant-ligatures:none;font-size:.8rem}pluto-popup>pkg-popup{background:var(--pkg-popup-bg);border:3px solid var(--pkg-popup-border-color)}pkg-popup.busy{border:3px solid #aa80bc}pkg-version{opacity:.5;font-family:Space Mono,monospace;font-size:.75rem}pkg-popup .pkg-buttons{float:right;flex-direction:row;height:1em;display:inline-flex}.ionicon{filter:var(--image-filters)}.package-name .ionicon{margin-bottom:-.1ch}a.stdout-info img,pkg-popup .pkg-buttons img{filter:var(--image-filters)}a.stdout-info,pkg-popup .pkg-buttons>*{box-sizing:content-box;background:var(--pkg-popup-buttons-bg-color);z-index:52;border-radius:10px;height:17px;margin-left:-4px;padding:4px;display:block}pkg-popup .toggle-terminal{right:20px}.pkg-time-estimate{background:var(--pluto-logs-warn-color);border-radius:.5em;margin:.5em 0;padding:.5em;font-size:.8em}pkg-terminal{cursor:text;background:var(--pkg-terminal-bg-color);color:#fff;border:3px solid var(--pkg-terminal-border-color);border-radius:6px;margin-top:6px;padding:3px;display:block}pkg-terminal>.scroller{width:100%;max-height:10rem;padding:4px;overflow-y:auto}body pkg-terminal:not(.asdf) pre:not(.asdf){white-space:pre-wrap;word-break:break-all;font-variant-ligatures:none;color:inherit;background:0 0;margin:0;font-family:Space Mono,monospace;font-size:.6rem}pkg-terminal .make-me-spin{transform-origin:50% 59%;animation:1s linear infinite identifier-spin;animation-delay:var(--animation-delay);display:inline-block}pkg-popup pkg-terminal{display:none}pkg-popup.showterminal pkg-terminal{display:block}@keyframes loadspin{0%{transform:rotate(0)}25%{transform:rotate(180deg)}50%{transform:rotate(180deg)}75%{transform:rotate(360deg)}to{transform:rotate(360deg)}}pluto-runarea{background-color:var(--pluto-runarea-bg-color);z-index:19;border-top:none;border-bottom-right-radius:5px;border-bottom-left-radius:5px;min-width:75px;height:17px;margin-right:3px;display:block;position:absolute;right:0}pluto-runarea>span{width:45px;font-family:var(--roboto-mono-font-stack);color:var(--pluto-runarea-span-color);text-align:center;font-size:.6em;font-style:italic;display:inline-block;position:absolute;top:1px;left:22px}pluto-runarea>button.runcell{top:-1px;left:1px}pluto-runarea>button.runcell>span:after{filter:var(--image-filters);background-image:url(caret-forward-circle-outline.d0bf2b34.svg)}pluto-runarea.interrupt>button.runcell>span:after{filter:var(--image-filters);background-image:url(stop-circle-outline.6623356d.svg)}pluto-runarea.jump>button.runcell>span:after{filter:var(--image-filters);background-image:url(arrow-redo-circle-outline.dfa899f4.svg)}pluto-runarea.save>button.runcell>span:after{filter:var(--image-filters);background-image:url(chevron-forward-circle-outline.babf2a99.svg)}pluto-cell:not(.show_input)>pluto-runarea{display:none}pluto-cell.code_folded.show_input>pluto-input:not(:focus-within){opacity:.4}pluto-cell:focus-within>pluto-runarea,pluto-cell.code_differs>pluto-runarea{opacity:1}pluto-cell.code_differs>pluto-runarea>button{animation-name:👀;animation-duration:4s;animation-iteration-count:infinite}@keyframes 👀{0%,80%,to{opacity:.5;transform:scale(1)}90%{opacity:1;transform:scale(1.2)}}dropruler{height:4px;margin-top:calc(-2px - .5*var(--pluto-cell-spacing));background:var(--dropruler-bg-color);display:none;position:absolute;left:0;right:0}#helpbox-wrapper{z-index:50;width:100%;height:0;display:none;position:sticky;bottom:0}@media (width>=500px){#helpbox-wrapper{display:block}}pluto-helpbox{background-color:var(--helpbox-bg-color);width:clamp(300px,100vw - 781px,450px);height:min(70vh,900px);color:var(--helpbox-text-color);box-shadow:0 0 11px 0px var(--helpbox-box-shadow-color);border-bottom:none;border-right:none;border-top-left-radius:9px;border-top-right-radius:9px;flex-direction:column;display:flex;position:absolute;bottom:0;right:20px}pluto-helpbox>section{flex-direction:column;height:100%;padding:10px;display:flex;overflow:auto}pluto-helpbox>header{background-color:var(--helpbox-header-bg-color);color:var(--helpbox-header-color);font-family:var(--system-ui-font-stack);font-variant-numeric:tabular-nums;--border-radius:.4em;border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);gap:.5em;padding:.6em;font-size:.9rem;font-weight:500;display:flex}pluto-helpbox>header>button.helpbox-tab-key>.tabicon{--size:1.1em;width:var(--size);height:var(--size);background-size:var(--size);margin-bottom:calc(-.15*var(--size));filter:var(--image-filters);margin-right:.6em;display:inline-block}pluto-helpbox>header>button.helpbox-docs>.tabicon{background-image:url(search.1ca5b3b3.svg)}pluto-helpbox>header>button.helpbox-process>.tabicon{background-image:url(pulse.27a877a7.svg)}pluto-helpbox>header>button.helpbox-tab-key:disabled>.tabicon{opacity:.5}pluto-helpbox .live-docs-searchbox{margin:1em;display:flex}pluto-helpbox .live-docs-searchbox input{background-color:inherit;color:inherit;border:none;border:3px solid var(--helpbox-search-border-color);background:var(--helpbox-search-bg-color);font-family:var(--julia-mono-font-stack);border-radius:.3em;flex-grow:1;margin:auto;padding:.5em;font-size:.9rem}pluto-helpbox .live-docs-searchbox.notfound input{color:var(--helpbox-notfound-search-color)}pluto-helpbox .live-docs-searchbox input:focus{outline:none}button.helpbox-tab-key{cursor:pointer;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;font-variant:inherit;border-radius:var(--border-radius);background:var(--helpbox-header-tab-bg-color);text-overflow:ellipsis;white-space:nowrap;border:none;padding:.5em .6em;overflow:hidden}button.helpbox-tab-key.helpbox-process{margin-right:auto}button.helpbox-process.busy{outline:6px solid var(--process-busy)}@media (prefers-reduced-motion:no-preference){button.helpbox-process.busy{animation:.8s ease-in infinite alternate outline-heartbeat}}@keyframes outline-heartbeat{0%{outline-offset:-1px;outline-width:3px}to{outline-offset:0px;outline-width:6px}}button.active.helpbox-tab-key{outline:3px solid #99afb9;animation:none}pluto-helpbox>header>button:is(.helpbox-close,.helpbox-popout){cursor:pointer;background:0 0;border:15px solid #0000;margin:-15px}pluto-helpbox>header>button:is(.helpbox-close,.helpbox-popout)>span{width:1em;height:1em;filter:var(--image-filters);background-image:url(chevron-down-outline.1efaf1cc.svg);background-size:1em 1em;display:block;content:" "!important}pluto-helpbox>header>button.helpbox-popout>span{background-image:url(open-outline.87533923.svg)}pluto-helpbox.hidden{height:initial;width:auto}pluto-helpbox.hidden>section{display:none}body>pluto-helpbox{width:auto;height:100vmax;position:static}body>pluto-helpbox>header>button:is(.helpbox-close,.helpbox-popout){display:none}.helpbox-docs{font-family:var(--lato-ui-font-stack);line-height:1.5}.helpbox-docs pre,.helpbox-docs code,.helpbox-docs .cm-line{font-family:var(--julia-mono-font-stack);font-variant-ligatures:none;font-size:.95em;line-height:initial}.helpbox-docs pre code{font-size:1em}.helpbox-docs pre code.hljs,.helpbox-docs code .cm-editor .cm-content{padding:0}.helpbox-docs img{max-width:100%}.helpbox-docs>section h1,.helpbox-docs>section h2,.helpbox-docs>section h3,.helpbox-docs>section h4,.helpbox-docs>section h5,.helpbox-docs>section h6{border-bottom:none;font-family:inherit;font-size:1rem}.helpbox-docs>section h1{overflow-wrap:anywhere;font-size:1.3rem}.helpbox-docs>section pre{-webkit-overflow-scrolling:touch;background:var(--code-section-bg-color);border:1px solid var(--code-section-border-color);white-space:pre;word-wrap:normal;border-radius:4px;padding:.7rem .5rem;overflow-x:auto}.helpbox-docs>section hr{border:none;border-top:3px solid var(--rule-color)}.pluto-docs-binding{background:var(--docs-binding-bg);color:var(--pluto-output-color);border-radius:1em;margin:.5em;padding:1em}.pluto-docs-binding>span{font-family:var(--julia-mono-font-stack);background:var(--pluto-output-bg-color);color:var(--black);border-radius:.4rem;margin-top:-1em;padding:.235rem;font-size:.9rem;font-weight:700;display:inline-block;transform:translate(-1.2em,-73%)}.pluto-docs-binding h1{font-size:1.4em}.pluto-docs-binding h2{font-size:1.3em}.pluto-docs-binding h3,.pluto-docs-binding h4,.pluto-docs-binding h5,.pluto-docs-binding h6{font-size:1.1em}pl-status{--status-color:var(--process-undefined);font-family:var(--system-ui-font-stack);--indent:.7rem;margin-left:var(--indent);border-left:3px solid #0000;border-radius:.2em;flex-direction:column;flex:none;margin-top:.4em;font-size:.9rem;display:flex;overflow:hidden}pl-status:before{background:pink;flex:1 2 auto;width:3px;height:10px;display:inline-block;inset:3px 0}pl-status.busy{--status-color:var(--process-busy)}pl-status.finished{--status-color:var(--process-finished)}pl-status.failed{--status-color:var(--process-failed)}pl-status.can_open{cursor:auto;border-color:#98989854}pl-status.can_open>div{cursor:pointer;border-top-left-radius:0;border-bottom-left-radius:0}pl-status.can_open.is_open{border-color:var(--status-color)}pl-status[data-depth="0"],pl-status[data-depth="1"]{margin-left:0}pl-status>div{background:var(--process-item-bg);border-radius:.4em;flex-direction:row;align-items:center;padding:.2em;display:flex}pl-status>div>.status-icon{content:"";background-color:var(--status-color);border-radius:50%;flex:none;width:1em;height:1em;margin:0 .5em;display:inline-block}pl-status.busy>div>.status-icon{border:3px solid #7ab881;border-color:#0000 #7ab881 #7ab881 #0000;animation:1.7s linear infinite identifier-spin}@keyframes identifier-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.subprogress-counter{opacity:.5;font-size:.8em}pl-status .status-time{opacity:.6;font-variant-numeric:tabular-nums;margin-left:auto;padding-left:.5em;padding-right:.5em;font-size:.7rem}.discrete-progress-bar{background:var(--process-item-bg);contain:strict;border-radius:4px;flex-direction:row;align-items:stretch;gap:2px;height:1em;padding:3px;display:flex}.discrete-progress-bar>div{background:var(--process-undefined);border-radius:2px;flex:auto}.discrete-progress-bar>div.done{background:var(--process-finished)}.discrete-progress-bar>div.busy{background:var(--process-busy)}.discrete-progress-bar>div.failed{background:var(--process-failed)}.discrete-progress-bar.mid{gap:1px}.discrete-progress-bar.big{gap:0}pl-status pkg-terminal{margin-left:var(--indent)}pluto-helpbox.helpbox-process>section{padding-bottom:3.6rem}.notify-when-done{font-family:var(--system-ui-font-stack);opacity:0;-webkit-user-select:none;user-select:none;justify-content:center;font-size:.8rem;font-weight:700;transition:opacity .2s;display:flex;position:absolute;bottom:.3em;left:0;right:0}.notify-when-done.visible{opacity:1}.notify-when-done.visible label{cursor:pointer}.notify-when-done label{background:var(--process-notify-bg);border-radius:1000px;align-items:center;padding:.3em .6em;display:flex;box-shadow:0 3px 5px #0000003b}.notify-when-done label:before{content:"";width:1em;height:1em;filter:var(--image-filters);background-image:url(notifications-outline.aa91b431.svg);background-size:contain;margin-bottom:-.2em;margin-right:.3em;display:inline-block}footer{width:100%;min-height:3.5rem;font-family:var(--roboto-mono-font-stack);background-color:var(--footer-bg-color);color:var(--footer-color);z-index:70;font-size:.75rem}footer form{opacity:1;flex-wrap:wrap;min-height:1.5rem;transition:opacity 5s;display:flex}footer form>*{flex:none}footer form>a,footer form>label{align-self:center}footer form>label,footer form>a{margin-right:1em}footer a{color:var(--footer-atag-color);opacity:.6;font-weight:700}@media (width<=650px){footer form>label{display:none}}footer input{border:2px solid var(--footer-input-border-color);background:var(--white);font-family:inherit;font-size:inherit;border-right:none;border-radius:3px 0 0 3px;margin:0;padding:3px}header#pluto-nav pluto-filepicker button,footer button{background:var(--footer-filepicker-focus-color);border:3px solid var(--footer-filepicker-focus-color);color:var(--footer-filepicker-button-color);border-radius:0 3px 3px 0;height:auto;margin:0;font-family:inherit;font-size:.75rem;font-weight:600}footer #info{text-align:right;flex-direction:row;justify-content:flex-end;align-items:center;max-width:9400px;margin:0 auto;padding:1rem;display:flex}nav#undo_delete{z-index:2000;font-family:var(--roboto-mono-font-stack);background-color:var(--white);color:var(--black);box-shadow:0px 0px 10px 2px var(--undo-delete-box-shadow-color);opacity:1;border-radius:3px;margin:.75rem;padding:.5rem;font-size:.75rem;transition:box-shadow .2s linear,margin-bottom .2s ease-out,opacity 50ms linear;display:block;position:fixed;bottom:0;left:0}nav#undo_delete.hidden{box-shadow:0px 0px 10px -5px var(--undo-delete-box-shadow-color);opacity:0;pointer-events:none;margin-bottom:0}@keyframes shadow-fadeout{0%{box-shadow:0px 0px 10px 2px var(--undo-delete-box-shadow-color);opacity:1}80%{opacity:1}to{opacity:0}}pluto-logs-container{z-index:25;max-height:50vh;margin-right:1.3rem;display:block;overflow:hidden auto}pluto-logs-container:not(:empty){background:var(--pluto-logs-bg-color);padding:6px}pluto-logs-container>header{font-family:var(--roboto-mono-font-stack);opacity:.6;padding:.2em .2em 0;font-size:1.3rem;font-weight:700}pluto-logs-container pluto-progress-bar-container{outline:3px solid var(--pluto-logs-progress-border);outline-offset:-2px;background:var(--pluto-logs-progress-bg);border-radius:6px;flex:0 200px;font-size:.7rem;overflow:hidden}pluto-logs-container pluto-progress-name{white-space:pre-wrap;font-family:var(--julia-mono-font-stack);font-variant-ligatures:none;padding:0 .4rem 0 .1rem;font-size:.8rem}pluto-logs-container pluto-progress-name:empty{padding:0}pluto-logs-container pluto-progress-bar{--c:var(--pluto-logs-progress-fill);background:linear-gradient(90deg,var(--c),var(--c));background-repeat:no-repeat;align-items:center;padding:.3em .6em;transition:background-size .5s cubic-bezier(.14,.71,0,.99),opacity .2s linear;display:grid}pluto-logs-container pluto-progress-bar.collapsed{height:0}pluto-logs{flex-direction:column;display:flex}pluto-logs:not(:first-child):not(:empty){margin-top:10px}pluto-log-dot{font-family:var(--roboto-mono-font-stack);flex-direction:column;flex-grow:1;min-width:18px;min-height:18px;padding:.6em .9em .6em .3em;font-size:.6rem;display:flex;position:relative}pluto-log-dot-positioner{--bg-color:var(--pluto-logs-info-color);--accent-color:var(--pluto-logs-info-accent-color);--icon-image:unset;background:var(--bg-color);background:linear-gradient(148deg,var(--bg-color),transparent);background-size:200% 100%;border-radius:6px;flex-direction:row;margin:2px;display:flex}pluto-log-dot>pre{color:var(--accent-color)}pluto-log-truncated{font-family:var(--system-ui-font-stack);opacity:.7;place-items:center;padding:.7em;font-style:italic;display:grid}pluto-log-icon:before{content:"";background-image:var(--icon-image);width:1em;height:1em;filter:var(--image-filters);background-size:1em;margin:.3em;display:inline-flex}pluto-log-dot-positioner.Info{--icon-image:url(information-circle-outline.008b2bb9.svg)}pluto-log-dot-positioner.Info pluto-log-icon:before{opacity:.4}pluto-log-dot-positioner.Warn{--bg-color:var(--pluto-logs-warn-color);--accent-color:var(--pluto-logs-warn-accent-color);--icon-image:url(warning-outline.d84ed9e8.svg)}pluto-log-dot-positioner.Error{--bg-color:var(--pluto-logs-danger-color);--accent-color:var(--pluto-logs-danger-accent-color);--icon-image:url(close-circle-outline.4baeedb9.svg)}pluto-log-dot-positioner.Debug{--bg-color:var(--pluto-logs-debug-color);--accent-color:var(--pluto-logs-debug-accent-color);--icon-image:url(information-circle-outline.008b2bb9.svg)}pluto-log-dot-positioner.Stdout{--icon-image:url(terminal-outline.79a23031.svg)}pluto-log-dot-positioner.Stdout pluto-log-icon:before{opacity:.4}pluto-log-dot.Progress{flex-direction:row;align-self:center;align-items:center;padding:0;display:flex}pluto-log-dot.Stdout{--inner:#71624b;--outer:#50483f;background:radial-gradient(var(--inner),var(--inner)20%,var(--outer));color:#c0ffab;text-shadow:1px 1px 2px #0000005e;border:6px solid #b7b7b7;border-radius:8px;min-width:18em}pluto-log-dot.Stdout:after,pluto-log-dot.Stdout:before{content:" ";pointer-events:none;display:block;position:absolute;inset:0}pluto-log-dot.Stdout:before{opacity:.3;background:linear-gradient(349deg,#000,#0000)}pluto-log-dot.Stdout:after{--crt-spacing:7px;background:linear-gradient(#534837,#0000,#1a1a1a);background-size:100% var(--crt-spacing);opacity:.2;background-repeat:repeat;animation:1s linear infinite paused scroll-crt}pluto-log-dot.Stdout pre:before{content:" ";float:right;width:24px}a.stdout-info{z-index:unset;pointer-events:initial;position:absolute;top:2px;right:2px}@keyframes scroll-crt{0%{background-position:0 0}to{background-position:0px var(--crt-spacing)}}@media (prefers-reduced-motion:no-preference){pluto-log-dot.Stdout:hover:after{animation-play-state:running}}@media (prefers-contrast:more){pluto-log-dot.Stdout:after{display:none!important}}pluto-log-dot jlerror{background:var(--main-bg-color);border-radius:.5rem;padding:.6rem;display:block}pluto-log-dot jltree,pluto-log-dot jlpair{font-size:.6rem}pluto-log-dot>img{max-width:100px}pluto-log-dot-kwarg{flex-flow:wrap;display:flex}pluto-log-dot-kwarg>*{flex:0 auto}pluto-log-dot-kwarg>pluto-key{color:var(--pluto-logs-key-color);margin-right:calc(1em - 30px)}pluto-log-dot-kwarg>pluto-key:after{content:": "}pluto-log-dot-kwarg>pluto-value{margin-left:30px;overflow-x:auto}body.presentation pluto-output h1,body.presentation pluto-output h2{margin-top:100vh}body.presentation pluto-notebook{padding-bottom:100vh}body.presentation #helpbox-wrapper{display:none!important}nav#slide_controls{display:none}body.presentation nav#slide_controls{z-index:100;display:flex;position:fixed;bottom:0;right:0}nav#slide_controls>button{padding:5px;position:static}button.floating_back_button>span:after,nav#slide_controls>button>span:after{background-size:30px 30px;width:30px;height:30px;display:block;content:" "!important}button.floating_back_button>span:after,nav#slide_controls>button.prev>span:after{filter:var(--image-filters);background-image:url(arrow-back-outline.9ae1bed8.svg)}nav#slide_controls>button.next>span:after{filter:var(--image-filters);background-image:url(arrow-forward-outline.f5f68f5c.svg)}button.floating_back_button{z-index:1000;display:flex;position:fixed;top:1em;left:1em}.cm-editor .cm-tooltip{border:1px solid var(--cm-color-editor-tooltip-border);border-radius:4px;box-shadow:3px 3px 4px #0003}.cm-tooltip-lint{z-index:100;font-family:JuliaMono;font-size:.75rem}.cm-tooltip-autocomplete{box-sizing:content-box;z-index:100;max-height:320px}.cm-tooltip.cm-completionInfo.cm-completionInfo-right:empty{display:none}.cm-editor .cm-tooltip.cm-tooltip-autocomplete>ul>li{border-radius:3px;height:16px;line-height:16px;overflow-y:hidden}pluto-input .cm-editor .cm-tooltip.cm-tooltip-autocomplete>ul>li{height:unset}.cm-editor .cm-tooltip.cm-tooltip-autocomplete>ul>li[aria-selected]{color:var(--cm-color-editor-li-aria-selected);background:var(--cm-color-editor-li-aria-selected-bg)}.cm-editor .cm-tooltip.cm-tooltip-autocomplete>ul>li[aria-selected] .cm-completionLabel{border-color:#0000}.cm-editor .cm-tooltip.cm-tooltip-autocomplete>ul>li .cm-completionDetail{float:right;font-size:.8em;font-family:var(--julia-mono-font-stack);margin-right:.5em;font-style:normal}.cm-editor .cm-tooltip.cm-tooltip-autocomplete li.c_notexported{color:var(--cm-color-editor-li-notexported)}.cm-editor .cm-completionIcon{opacity:1;width:1em;transform:translateY(-1.5px)}.cm-completionIcon:before{content:"⚫";color:#0000;opacity:1;margin-right:.5em;font-size:.75rem;font-family:var(--julia-mono-font-stack)!important}[data-pluto-variable]{font-weight:inherit}[data-pluto-variable],[data-pluto-variable]:hover,.cm-editor .cm-tooltip.cm-tooltip-autocomplete li.c_from_notebook .cm-completionLabel{text-decoration:underline;-webkit-text-decoration-color:var(--cm-color-clickable-underline);-webkit-text-decoration-color:var(--cm-color-clickable-underline);text-decoration-color:var(--cm-color-clickable-underline);text-decoration-skip-ink:none;font-weight:700;text-decoration-thickness:3px}body.disable_ui [data-pluto-variable],body.disable_ui [data-cell-variable]{cursor:pointer}body:not(.disable_ui) [data-ctrl-down=true][data-pluto-variable],body:not(.disable_ui) [data-ctrl-down=true][data-cell-variable]{cursor:pointer;text-decoration-color:#d177e6}body:not(.disable_ui) [data-ctrl-down=true][data-pluto-variable]:hover,body:not(.disable_ui) [data-ctrl-down=true][data-pluto-variable]:hover *{text-shadow:0 0 #af5bc3;color:#0000!important}[data-cell-variable]{text-decoration:none}[data-ctrl-down=true][data-cell-variable]:hover *{text-shadow:0 0 #af5bc3;color:#0000!important}.cm-tooltip.cm-tooltip-autocomplete{background:var(--autocomplete-menu-bg-color);margin-left:-1.5em;padding:0}pluto-input .cm-editor .cm-scroller{overflow-y:hidden}pluto-input .cm-editor .cm-content,pluto-input .cm-editor .cm-scroller,.cm-editor .cm-tooltip-autocomplete .cm-completionLabel{font-variant-ligatures:none;font-size:.8rem;font-family:var(--julia-mono-font-stack)!important}pluto-input .cm-editor .cm-content{padding:2px 0}.cm-editor .cm-scroller>.cm-selectionLayer .cm-selectionBackground{background:var(--cm-selection-background-blurred)}.cm-editor.cm-focused .cm-scroller>.cm-selectionLayer .cm-selectionBackground{background:var(--cm-selection-background)}.cm-editor{background:var(--code-background);color:var(--cm-color-editor-text)}.cm-editor.cm-focused:not(.__){outline:unset}.cm-editor .cm-gutter{min-width:31px;min-height:23px}.cm-editor .cm-gutters{background:0 0;border-right:1px solid #0000}pluto-cell.code_differs .cm-editor .cm-gutters{background-color:var(--cm-color-code-differs-gutters)}.cm-editor .cm-lineNumbers .cm-gutterElement{color:#0000}.cm-editor .cm-lineNumbers .cm-gutterElement:after{content:"⋅";color:var(--cm-color-line-numbers);pointer-events:none;font-size:.75rem;position:absolute;right:3px}.cm-editor .cm-lineNumbers .cm-gutterElement:hover{color:var(--cm-color-line-numbers)}.cm-editor .cm-lineNumbers .cm-gutterElement:hover:after{color:#0000}pluto-cell.errored .cm-editor .cm-lineNumbers .cm-gutterElement{color:var(--cm-color-line-numbers)}pluto-cell.errored .cm-editor .cm-lineNumbers .cm-gutterElement:after{color:#0000}@media print{.cm-editor .cm-lineNumbers .cm-gutterElement{color:var(--cm-color-line-numbers)!important}.cm-editor .cm-lineNumbers .cm-gutterElement:after{color:#0000!important}}.cm-completionIcon-c_Number:before{color:var(--cm-color-number)}.cm-completionIcon-c_String:before,.cm-completionIcon-completion_path:before,.cm-completionIcon-completion_dict:before{color:var(--cm-color-string)}.cm-completionIcon-completion_property:before{color:var(--cm-color-property)}.cm-completionIcon-completion_keyword:before{color:var(--cm-color-keyword)}li.completion_keyword_argument .cm-completionLabel{font-style:italic;font-weight:700}.cm-completionIcon-completion_keyword_argument:before{color:var(--cm-color-number)}.cm-completionIcon-c_Any:before,pluto-output>assignee,pluto-popup code.auto_disabled_variable{font-weight:700;color:var(--cm-color-var)!important}.cm-completionIcon-c_Function:before{color:var(--cm-color-function)}.cm-completionIcon-c_Macro:before{color:var(--cm-color-macro)}.cm-completionIcon-c_Array:before{color:var(--cm-color-bracket)}.cm-completionIcon-c_package:before,.cm-completionIcon-c_Module:before{color:var(--cm-color-link)}.cm-editor .cm-activeLine{background:unset}.cm-selectionMatch{text-shadow:0 0 8px #00000080;background:0 0!important}@media (prefers-color-scheme:dark){.cm-selectionMatch{text-shadow:0 0 8px #ffffff80;background:0 0!important}}.cm-editor .cm-matchingBracket,.cm-editor .cm-nonmatchingBracket{background-color:unset;color:unset}pluto-input:focus-within .cm-editor .cm-matchingBracket{background-color:var(--cm-color-matchingBracket-bg);border-radius:2px;font-weight:700;color:var(--cm-color-matchingBracket)!important}.cm-editor .cm-placeholder{color:var(--cm-color-placeholder-text);font-style:italic}.cm-completionMatchedText{-webkit-text-decoration:unset!important;-webkit-text-decoration:unset!important;text-decoration:unset!important}.awesome-wrapping-plugin-the-line{--correction:0px;margin-left:calc(var(--indented));text-indent:calc(-1*var(--indented))}.awesome-wrapping-plugin-the-line>*{text-indent:initial}.awesome-wrapping-plugin-the-tabs{white-space:pre;vertical-align:top;margin-left:-1px}pluto-cell.hooked_up{--pluto-cell-force-color:#00b9ff7a}pluto-cell.hooked_up pluto-trafficlight{background-color:var(--pluto-cell-force-color)!important}pluto-cell.hooked_up pluto-input .cm-editor{border-color:var(--pluto-cell-force-color);border-width:medium 2px 2px medium;border-top-style:none;border-top-color:currentColor;border-left-style:none;border-left-color:currentColor}pluto-cell.hooked_up>pluto-runarea{opacity:1;background-color:var(--pluto-cell-force-color)}pluto-cell.hooked_up pluto-runarea>span{color:#0000004f}pluto-cell.hooked_up pluto-output{border-top:2px solid;border-bottom:2px solid;border-right:2px solid;border-color:var(--pluto-cell-force-color);border-top-right-radius:4px}.fm-table{grid-template-columns:auto 1fr min-content;gap:.3em 1em;display:grid}.pluto-frontmatter{font-family:var(--system-ui-font-stack);width:min(31rem,90vw);color:var(--export-color);background:var(--export-bg-color);border-radius:1em;padding:1em 1.5em}.pluto-frontmatter .card-preview{background:var(--white);border-radius:1rem;margin:1rem 0;padding:1.2rem 1.1rem;box-shadow:inset 0 0 15px -4px #00000054}.pluto-frontmatter .card-preview>h2{color:var(--black);margin-block-start:0}.pluto-frontmatter button{cursor:pointer;background-color:var(--frontmatter-button-bg-color);border:2px solid var(--frontmatter-button-bg-color);border-radius:.5em;font-weight:500}.pluto-frontmatter button:hover{border-color:var(--frontmatter-input-border-color)}.pluto-frontmatter input{background-color:var(--frontmatter-input-bg-color);border:2px solid var(--frontmatter-input-border-color);border-radius:.5em;padding:.3em .5em}.pluto-frontmatter rbl-tag-input{color:var(--black)}.pluto-frontmatter label{font-weight:500}.pluto-frontmatter .deletefield{color:var(--export-color);background-color:#0000;border-width:0;align-self:stretch;margin-left:-1em}.pluto-frontmatter .addentry{grid-column:1/3;margin-top:.5em}.pluto-frontmatter fieldset{grid-column:1/4}.pluto-frontmatter .final{justify-content:flex-end;gap:.5em;margin-top:2rem;display:flex}.markdown-code-block-button{cursor:pointer;float:right;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:block;position:relative}.markdown-code-block-button:before{content:"";width:14px;height:14px;filter:var(--image-filters);background-image:url(copy-outline.0f561529.svg);display:block}.markdown-code-block-copied-code-button:before{background-image:url(checkmark-outline.4fb8c646.svg)} \ No newline at end of file diff --git a/frontend-dist/editor.2db9e182.js b/frontend-dist/editor.2db9e182.js new file mode 100644 index 000000000..3e9f01bbf --- /dev/null +++ b/frontend-dist/editor.2db9e182.js @@ -0,0 +1 @@ +var e,t;e=this,t=function(e){async function t(e){let t=await fetch(await e.url());if(!t.ok)throw Error(`Unable to load file: ${e.name}`);return t}class n{constructor(e,t){Object.defineProperties(this,{_url:{value:e},name:{value:t,enumerable:!0}})}async url(){return this._url}async blob(){return(await t(this)).blob()}async arrayBuffer(){return(await t(this)).arrayBuffer()}async text(){return(await t(this)).text()}async json(){return(await t(this)).json()}async stream(){return(await t(this)).body}async image(){let e=await this.url();return new Promise((t,n)=>{let r=new Image;new URL(e,document.baseURI).origin!==new URL(location).origin&&(r.crossOrigin="anonymous"),r.onload=()=>t(r),r.onerror=()=>n(Error(`Unable to load file: ${this.name}`)),r.src=e})}}function r(e){throw Error(`File not found: ${e}`)}let o=new Map,i=[],a=i.map,l=i.some,u=i.hasOwnProperty,s="https://cdn.jsdelivr.net/npm/",c=/^((?:@[^/@]+\/)?[^/@]+)(?:@([^/]+))?(?:\/(.*))?$/,f=/^\d+\.\d+\.\d+(-[\w-.+]+)?$/,d=/\.[^/]*$/,m=["unpkg","jsdelivr","browser","main"];class h extends Error{constructor(e){super(e)}}function v(e){let t=c.exec(e);return t&&{name:t[1],version:t[2],path:t[3]}}function w(e){let t=`${s}${e.name}${e.version?`@${e.version}`:""}/package.json`,n=o.get(t);return n||o.set(t,n=fetch(t).then(e=>{if(!e.ok)throw new h("unable to load package.json");return e.redirected&&!o.has(e.url)&&o.set(e.url,n),e.json()})),n}h.prototype.name=h.name;var p=b(async function(e,t){if(e.startsWith(s)&&(e=e.substring(s.length)),/^(\w+:)|\/\//i.test(e))return e;if(/^[.]{0,2}\//i.test(e))return new URL(e,null==t?location:t).href;if(!e.length||/^[\s._]/.test(e)||/\s$/.test(e))throw new h("illegal name");let n=v(e);if(!n)return`${s}${e}`;if(!n.version&&null!=t&&t.startsWith(s)){let e=await w(v(t.substring(s.length)));n.version=e.dependencies&&e.dependencies[n.name]||e.peerDependencies&&e.peerDependencies[n.name]}if(n.path&&!d.test(n.path)&&(n.path+=".js"),n.path&&n.version&&f.test(n.version))return`${s}${n.name}@${n.version}/${n.path}`;let r=await w(n);return`${s}${r.name}@${r.version}/${n.path||function(e){for(let t of m){let n=e[t];if("string"==typeof n)return d.test(n)?n:`${n}.js`}}(r)||"index.js"}`});function b(e){let t=new Map,n=o(null);function r(e){if("string"!=typeof e)return e;let n=t.get(e);return n||t.set(e,n=new Promise((t,n)=>{let r=document.createElement("script");r.onload=()=>{try{t(i.pop()(o(e)))}catch(e){n(new h("invalid module"))}r.remove()},r.onerror=()=>{n(new h("unable to load module")),r.remove()},r.async=!0,r.src=e,window.define=x,document.head.appendChild(r)})),n}function o(t){return n=>Promise.resolve(e(n,t)).then(r)}function l(e){return arguments.length>1?Promise.all(a.call(arguments,n)).then(g):n(e)}return l.alias=function(t){return b((n,r)=>n in t&&(r=null,"string"!=typeof(n=t[n]))?n:e(n,r))},l.resolve=e,l}function g(e){let t={};for(let n of e)for(let e in n)u.call(n,e)&&(null==n[e]?Object.defineProperty(t,e,{get:function(e,t){return()=>e[t]}(n,e)}):t[e]=n[e]);return t}function y(e){return"exports"==(e+="")||"module"===e}function x(e,t,n){let r=arguments.length;r<2?(n=e,t=[]):r<3&&(n=t,t="string"==typeof e?[]:e),i.push(l.call(t,y)?e=>{let r={},o={exports:r};return Promise.all(a.call(t,t=>"exports"==(t+="")?r:"module"===t?o:e(t))).then(e=>(n.apply(null,e),o.exports))}:e=>Promise.all(a.call(t,e)).then(e=>"function"==typeof n?n.apply(null,e):n))}function E(e){return function(){return e}}x.amd={};var P={math:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},j=0;function k(e){this.id=e,this.href=new URL(`#${e}`,location)+""}k.prototype.toString=function(){return"url("+this.href+")"};var L={canvas:function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,n},context2d:function(e,t,n){null==n&&(n=devicePixelRatio);var r=document.createElement("canvas");r.width=e*n,r.height=t*n,r.style.width=e+"px";var o=r.getContext("2d");return o.scale(n,n),o},download:function(e,t="untitled",n="Save"){let r=document.createElement("a"),o=r.appendChild(document.createElement("button"));async function i(){await new Promise(requestAnimationFrame),URL.revokeObjectURL(r.href),r.removeAttribute("href"),o.textContent=n,o.disabled=!1}return o.textContent=n,r.download=t,r.onclick=async t=>{if(o.disabled=!0,r.href)return i();o.textContent="Saving…";try{let t=await ("function"==typeof e?e():e);o.textContent="Download",r.href=URL.createObjectURL(t)}catch(e){o.textContent=n}if(t.eventPhase)return i();o.disabled=!1},r},element:function(e,t){var n,r=e+="",o=r.indexOf(":");o>=0&&"xmlns"!==(r=e.slice(0,o))&&(e=e.slice(o+1));var i=P.hasOwnProperty(r)?document.createElementNS(P[r],e):document.createElement(e);if(t)for(var a in t)o=(r=a).indexOf(":"),n=t[a],o>=0&&"xmlns"!==(r=a.slice(0,o))&&(a=a.slice(o+1)),P.hasOwnProperty(r)?i.setAttributeNS(P[r],a,n):i.setAttribute(a,n);return i},input:function(e){var t=document.createElement("input");return null!=e&&(t.type=e),t},range:function(e,t,n){1==arguments.length&&(t=e,e=null);var r=document.createElement("input");return r.min=e=null==e?0:+e,r.max=t=null==t?1:+t,r.step=null==n?"any":n=+n,r.type="range",r},select:function(e){var t=document.createElement("select");return Array.prototype.forEach.call(e,function(e){var n=document.createElement("option");n.value=n.textContent=e,t.appendChild(n)}),t},svg:function(e,t){var n=document.createElementNS("http://www.w3.org/2000/svg","svg");return n.setAttribute("viewBox",[0,0,e,t]),n.setAttribute("width",e),n.setAttribute("height",t),n},text:function(e){return document.createTextNode(e)},uid:function(e){return new k("O-"+(null==e?"":e+"-")+ ++j)}},$={buffer:function(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(){t(r.result)},r.onerror=n,r.readAsArrayBuffer(e)})},text:function(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(){t(r.result)},r.onerror=n,r.readAsText(e)})},url:function(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(){t(r.result)},r.onerror=n,r.readAsDataURL(e)})}};function A(){return this}function N(e,t){let n=!1;if("function"!=typeof t)throw Error("dispose is not a function");return{[Symbol.iterator]:A,next:()=>n?{done:!0}:(n=!0,{done:!1,value:e}),return:()=>(n=!0,t(e),{done:!0}),throw:()=>({done:n=!0})}}function O(e){let t,n,r=!1,o=e(function(e){return n?(n(e),n=null):r=!0,t=e});if(null!=o&&"function"!=typeof o)throw Error("function"==typeof o.then?"async initializers are not supported":"initializer returned something, but not a dispose function");return{[Symbol.iterator]:A,throw:()=>({done:!0}),return:()=>(null!=o&&o(),{done:!0}),next:function(){return{done:!1,value:r?(r=!1,Promise.resolve(t)):new Promise(e=>n=e)}}}}function C(e){switch(e.type){case"range":case"number":return e.valueAsNumber;case"date":return e.valueAsDate;case"checkbox":return e.checked;case"file":return e.multiple?e.files:e.files[0];case"select-multiple":return Array.from(e.selectedOptions,e=>e.value);default:return e.value}}var M={disposable:N,filter:function*(e,t){for(var n,r=-1;!(n=e.next()).done;)t(n.value,++r)&&(yield n.value)},input:function(e){return O(function(t){var n=function(e){switch(e.type){case"button":case"submit":case"checkbox":return"click";case"file":return"change";default:return"input"}}(e),r=C(e);function o(){t(C(e))}return e.addEventListener(n,o),void 0!==r&&t(r),function(){e.removeEventListener(n,o)}})},map:function*(e,t){for(var n,r=-1;!(n=e.next()).done;)yield t(n.value,++r)},observe:O,queue:function(e){let t;let n=[],r=e(function(e){return n.push(e),t&&(t(n.shift()),t=null),e});if(null!=r&&"function"!=typeof r)throw Error("function"==typeof r.then?"async initializers are not supported":"initializer returned something, but not a dispose function");return{[Symbol.iterator]:A,throw:()=>({done:!0}),return:()=>(null!=r&&r(),{done:!0}),next:function(){return{done:!1,value:n.length?Promise.resolve(n.shift()):new Promise(e=>t=e)}}}},range:function*(e,t,n){e=+e,t=+t,n=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+n;for(var r=-1,o=0|Math.max(0,Math.ceil((t-e)/n));++r{n.terminate(),URL.revokeObjectURL(t)})}};function R(e,t){return function(n){var r,o,i,a,l,u,s,c,f=n[0],d=[],m=null,h=-1;for(l=1,u=arguments.length;l";else if(Array.isArray(r)){for(s=0,c=r.length;s"),m.appendChild(o)):(m=null,f+=o);m=null}else f+=r;f+=n[l]}if(m=e(f),++h>0){for(i=Array(h),a=document.createTreeWalker(m,NodeFilter.SHOW_COMMENT,null,!1);a.nextNode();)o=a.currentNode,/^o:/.test(o.nodeValue)&&(i[+o.nodeValue.slice(2)]=o);for(l=0;lvoid(t=e))},value:{get:()=>e,set:n=>t(e=n)}}),void 0!==e&&t(e)}function*q(){for(;;)yield Date.now()}var D=new Map;function T(e,t){var n,r,o,i;return(n=D.get(e=+e))?n.then(E(t)):(n=Date.now())>=e?Promise.resolve(t):(r=n,o=e,i=new Promise(function(e){D.delete(o);var t=o-r;if(!(t>0))throw Error("invalid time");if(t>0x7fffffff)throw Error("too long to wait");setTimeout(e,t)}),D.set(o,i),i).then(E(t))}var W={delay:function(e,t){return new Promise(function(n){setTimeout(function(){n(t)},e)})},tick:function(e,t){return T(Math.ceil((Date.now()+1)/e)*e,t)},when:T};function _(e,t){if(/^(\w+:)|\/\//i.test(e))return e;if(/^[.]{0,2}\//i.test(e))return new URL(e,null==t?location:t).href;if(!e.length||/^[\s._]/.test(e)||/\s$/.test(e))throw Error("illegal name");return"https://unpkg.com/"+e}var z=R(function(e){var t=document.createElementNS("http://www.w3.org/2000/svg","g");return t.innerHTML=e.trim(),t},function(){return document.createElementNS("http://www.w3.org/2000/svg","g")}),B=String.raw;function H(e){return new Promise(function(t,n){var r=document.createElement("link");r.rel="stylesheet",r.href=e,r.onerror=n,r.onload=t,document.head.appendChild(r)})}function I(){return O(function(e){var t=e(document.body.clientWidth);function n(){var n=document.body.clientWidth;n!==t&&e(t=n)}return window.addEventListener("resize",n),function(){window.removeEventListener("resize",n)}})}var V=Object.assign(function(e){let t=null==e?p:b(e);Object.defineProperties(this,{DOM:{value:L,writable:!0,enumerable:!0},FileAttachment:{value:E(r),writable:!0,enumerable:!0},Files:{value:$,writable:!0,enumerable:!0},Generators:{value:M,writable:!0,enumerable:!0},html:{value:E(U),writable:!0,enumerable:!0},md:{value:function(){return t("marked@0.3.12/marked.min.js").then(function(e){return R(function(n){var r=document.createElement("div");r.innerHTML=e(n,{langPrefix:""}).trim();var o=r.querySelectorAll("pre code[class]");return o.length>0&&t(S+"highlight.min.js").then(function(e){o.forEach(function(n){function r(){e.highlightBlock(n),n.parentNode.classList.add("observablehq--md-pre")}e.getLanguage(n.className)?r():t(S+"async-languages/index.js").then(r=>{if(r.has(n.className))return t(S+"async-languages/"+r.get(n.className)).then(t=>{e.registerLanguage(n.className,t)})}).then(r,r)})}),r},function(){return document.createElement("div")})})},writable:!0,enumerable:!0},Mutable:{value:E(F),writable:!0,enumerable:!0},now:{value:q,writable:!0,enumerable:!0},Promises:{value:W,writable:!0,enumerable:!0},require:{value:E(t),writable:!0,enumerable:!0},resolve:{value:E(_),writable:!0,enumerable:!0},svg:{value:E(z),writable:!0,enumerable:!0},tex:{value:function(){return Promise.all([t("@observablehq/katex@0.11.1/dist/katex.min.js"),t.resolve("@observablehq/katex@0.11.1/dist/katex.min.css").then(H)]).then(function(e){var t=e[0],n=r();function r(e){return function(){var n=document.createElement("div");return t.render(B.apply(String,arguments),n,e),n.removeChild(n.firstChild)}}return n.options=r,n.block=r({displayMode:!0}),n})},writable:!0,enumerable:!0},width:{value:I,writable:!0,enumerable:!0}})},{resolve:p.resolve});e.FileAttachments=function(e){return t=>{let r=e(t+="");if(null==r)throw Error(`File not found: ${t}`);return new n(r,t)}},e.Library=V,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).observablehq=e.observablehq||{}); \ No newline at end of file diff --git a/frontend-dist/editor.46c98966.css b/frontend-dist/editor.46c98966.css new file mode 100644 index 000000000..e52ebc94b --- /dev/null +++ b/frontend-dist/editor.46c98966.css @@ -0,0 +1 @@ +main{cursor:auto;margin-top:20px}body header#pluto-nav,preamble>button,pluto-cell>button,pluto-input>button,pluto-shoulder,footer,pluto-runarea,jlerror .doclink,.dont-panic,#helpbox-wrapper{display:none!important}@media print{.pluto-frontmatter,.edit_or_run,.loading-bar,.floating_back_button,.outline-frame,.outline-frame-actions-container,pkg-status-mark,.MJX_ToolTip,.MJX_HoverRegion,.MJX_LiveRegion,nav#undo_delete{display:none!important}main{padding-bottom:0}pluto-input .cm-editor{border-left:1px solid var(--normal-cell-color);border-radius:4px!important}pluto-cell{break-inside:avoid}pluto-cell.code_folded:has(p){break-inside:auto}pluto-output>div>div.markdown>hr,pluto-output>div>div>hr{visibility:hidden;break-after:page;height:0;margin:0}pluto-output h1{break-before:page}pluto-cell:first-of-type pluto-output h1,pluto-output :is(.admonition,.pluto-docs-binding,blockquote) h1{break-before:avoid}pluto-output :is(h1,h2,h3,h4){break-after:avoid}}@page{widows:2} \ No newline at end of file diff --git a/frontend-dist/editor.50430296.js b/frontend-dist/editor.50430296.js new file mode 100644 index 000000000..765a4cd53 --- /dev/null +++ b/frontend-dist/editor.50430296.js @@ -0,0 +1,1484 @@ +let e,t,n,a;function r(e,t,n,a){Object.defineProperty(e,t,{get:n,set:a,enumerable:!0,configurable:!0})}var o,i=globalThis,l={},s={},c=i.parcelRequire94c2;null==c&&((c=function(e){if(e in l)return l[e].exports;if(e in s){var t=s[e];delete s[e];var n={id:e,exports:{}};return l[e]=n,t.call(n.exports,n,n.exports),n.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){s[e]=t},i.parcelRequire94c2=c);var u=c.register;u("7xJa8",function(e,t){function n(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a3?t.i-4:t.i:Array.isArray(e)?1:m(e)?2:h(e)?3:0}function c(e,t){return 2===s(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function u(e,t){return 2===s(e)?e.get(t):e[t]}function d(e,t,n){var a=s(e);2===a?e.set(t,n):3===a?(e.delete(t),e.add(n)):e[t]=n}function p(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function m(e){return K&&e instanceof Map}function h(e){return Z&&e instanceof Set}function g(e){return e.o||e.t}function f(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=et(e);delete t[Y];for(var n=ee(t),a=0;a1&&(e.set=e.add=e.clear=e.delete=b),Object.freeze(e),t&&l(e,function(e,t){return _(t,!0)},!0)),e}function b(){n(2)}function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function v(e){var t=en[e];return t||n(18,e),t}function w(e,t){en[e]||(en[e]=t)}function k(e,t){t&&(v("Patches"),e.u=[],e.s=[],e.v=t)}function E(e){$(e),e.p.forEach(S),e.p=null}function $(e){e===W&&(W=e.l)}function x(e){return W={p:[],l:W,h:e,m:!0,_:0}}function S(e){var t=e[Y];0===t.i||1===t.i?t.j():t.g=!0}function N(e,t){t._=t.p.length;var a=t.p[0],r=void 0!==e&&e!==a;return t.h.O||v("ES5").S(t,e,r),r?(a[Y].P&&(E(t),n(4)),o(e)&&(e=C(t,e),t.l||M(t,e)),t.u&&v("Patches").M(a[Y],e,t.u,t.s)):e=C(t,a,[]),E(t),t.u&&t.v(t.u,t.s),e!==Q?e:void 0}function C(e,t,n){if(y(t))return t;var a=t[Y];if(!a)return l(t,function(r,o){return A(e,a,t,r,o,n)},!0),t;if(a.A!==e)return t;if(!a.P)return M(e,a.t,!0),a.t;if(!a.I){a.I=!0,a.A._--;var r=4===a.i||5===a.i?a.o=f(a.k):a.o;l(3===a.i?new Set(r):r,function(t,o){return A(e,a,r,t,o,n)}),M(e,r,!1),n&&e.u&&v("Patches").R(a,n,e.u,e.s)}return a.o}function A(e,t,n,r,i,l){if(a(i)){var s=C(e,i,l&&t&&3!==t.i&&!c(t.D,r)?l.concat(r):void 0);if(d(n,r,s),!a(s))return;e.m=!1}if(o(i)&&!y(i)){if(!e.h.N&&e._<1)return;C(e,i),t&&t.A.l||M(e,i)}}function M(e,t,n){void 0===n&&(n=!1),e.h.N&&e.m&&_(t,n)}function O(e,t){var n=e[Y];return(n?g(n):e)[t]}function T(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var a=Object.getOwnPropertyDescriptor(n,t);if(a)return a;n=Object.getPrototypeOf(n)}}function D(e){e.P||(e.P=!0,e.l&&D(e.l))}function R(e){e.o||(e.o=f(e.t))}function L(e,t,n){var a,r,o,i,l,s,c,u=m(t)?v("MapSet").T(t,n):h(t)?v("MapSet").F(t,n):e.O?(o=r={i:(a=Array.isArray(t))?1:0,A:n?n.A:W,P:!1,I:!1,D:{},l:n,t:t,k:null,o:null,j:null,C:!1},i=ea,a&&(o=[r],i=er),s=(l=Proxy.revocable(o,i)).revoke,c=l.proxy,r.k=c,r.j=s,c):v("ES5").J(t,n);return(n?n.A:W).p.push(u),u}function I(e){return a(e)||n(22,e),function e(t){if(!o(t))return t;var n,a=t[Y],r=s(t);if(a){if(!a.P&&(a.i<4||!v("ES5").K(a)))return a.t;a.I=!0,n=P(t,r),a.I=!1}else n=P(t,r);return l(n,function(t,r){a&&u(a.t,t)===r||d(n,t,e(r))}),3===r?new Set(n):n}(e)}function P(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return f(e)}function j(){function e(e,t){var n=o[e];return n?n.enumerable=t:o[e]=n={configurable:!0,enumerable:t,get:function(){var t=this[Y];return ea.get(t,e)},set:function(t){var n=this[Y];ea.set(n,e,t)}},n}function t(e){for(var t=e.length-1;t>=0;t--){var a=e[t][Y];if(!a.P)switch(a.i){case 5:r(a)&&D(a);break;case 4:n(a)&&D(a)}}}function n(e){for(var t=e.t,n=e.k,a=ee(n),r=a.length-1;r>=0;r--){var o=a[r];if(o!==Y){var i=t[o];if(void 0===i&&!c(t,o))return!0;var l=n[o],s=l&&l[Y];if(s?s.t!==i:!p(l,i))return!0}}var u=!!t[Y];return a.length!==ee(t).length+(u?0:1)}function r(e){var t=e.k;if(t.length!==e.t.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);return!(!n||n.get)}var o={};w("ES5",{J:function(t,n){var a=Array.isArray(t),r=function(t,n){if(t){for(var a=Array(n.length),r=0;ra),r(e.exports,"isDraftable",()=>o),r(e.exports,"immerable",()=>X),r(e.exports,"original",()=>i),r(e.exports,"freeze",()=>_),r(e.exports,"nothing",()=>Q),r(e.exports,"current",()=>I),r(e.exports,"enableES5",()=>j),r(e.exports,"enablePatches",()=>B),r(e.exports,"enableMapSet",()=>U),r(e.exports,"enableAllPlugins",()=>F),r(e.exports,"castDraft",()=>z),r(e.exports,"castImmutable",()=>q),r(e.exports,"Immer",()=>eo),r(e.exports,"produce",()=>el),r(e.exports,"produceWithPatches",()=>es),r(e.exports,"setAutoFreeze",()=>ec),r(e.exports,"setUseProxies",()=>eu),r(e.exports,"applyPatches",()=>ed),r(e.exports,"createDraft",()=>ep),r(e.exports,"finishDraft",()=>em),r(e.exports,"default",()=>eh);var H,W,G="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),K="undefined"!=typeof Map,Z="undefined"!=typeof Set,V="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,Q=G?Symbol.for("immer-nothing"):((H={})["immer-nothing"]=!0,H),X=G?Symbol.for("immer-draftable"):"__$immer_draftable",Y=G?Symbol.for("immer-state"):"__$immer_state",J="undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator",ee="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,et=Object.getOwnPropertyDescriptors||function(e){var t={};return ee(e).forEach(function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)}),t},en={},ea={get:function(e,t){if(t===Y)return e;var n,a,r=g(e);if(!c(r,t))return(a=T(r,t))?"value"in a?a.value:null===(n=a.get)||void 0===n?void 0:n.call(e.k):void 0;var i=r[t];return e.I||!o(i)?i:i===O(e.t,t)?(R(e),e.o[t]=L(e.A.h,i,e)):i},has:function(e,t){return t in g(e)},ownKeys:function(e){return Reflect.ownKeys(g(e))},set:function(e,t,n){var a=T(g(e),t);if(null==a?void 0:a.set)return a.set.call(e.k,n),!0;if(!e.P){var r=O(g(e),t),o=null==r?void 0:r[Y];if(o&&o.t===n)return e.o[t]=n,e.D[t]=!1,!0;if(p(n,r)&&(void 0!==n||c(e.t,t)))return!0;R(e),D(e)}return e.o[t]=n,e.D[t]=!0,!0},deleteProperty:function(e,t){return void 0!==O(e.t,t)||t in e.t?(e.D[t]=!1,R(e),D(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=g(e),a=Reflect.getOwnPropertyDescriptor(n,t);return a?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:a.enumerable,value:n[t]}:a},defineProperty:function(){n(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){n(12)}},er={};l(ea,function(e,t){er[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),er.deleteProperty=function(e,t){return ea.deleteProperty.call(this,e[0],t)},er.set=function(e,t,n){return ea.set.call(this,e[0],t,n,e[0])};var eo=function(){function e(e){this.O=V,this.N=!0,"boolean"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),"boolean"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),this.produce=this.produce.bind(this),this.produceWithPatches=this.produceWithPatches.bind(this)}var t=e.prototype;return t.produce=function(e,t,a){if("function"==typeof e&&"function"!=typeof t){var r,i=t;t=e;var l=this;return function(e){var n=this;void 0===e&&(e=i);for(var a=arguments.length,r=Array(a>1?a-1:0),o=1;o1?n-1:0),o=1;o=0;n--){var n,r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}var o=v("Patches").$;return a(e)?o(e,t):this.produce(e,function(e){return o(e,t.slice(n+1))})},e}(),ei=new eo,el=ei.produce,es=ei.produceWithPatches.bind(ei),ec=ei.setAutoFreeze.bind(ei),eu=ei.setUseProxies.bind(ei),ed=ei.applyPatches.bind(ei),ep=ei.createDraft.bind(ei),em=ei.finishDraft.bind(ei),eh=el}),u("5nXoD",function(e,t){var n=c("g774k");e.exports=n("g8zEq").then(()=>c("8WRsO"))}),u("g774k",function(e,t){e.exports=function(e){return import(c("ko7kR").resolve(e))}}),u("cFvm7",function(e,t){var n=c("g774k");e.exports=Promise.all([n("g8zEq"),n("9IVCm")]).then(()=>c("4rxkr"))});var d=c("cNaMA");c("eS9BV");var d=c("cNaMA"),p=c("7xJa8"),m=p.default;(0,p.enablePatches)(),(0,p.setAutoFreeze)(!1);var p=c("7xJa8"),h=c("9Ta4i"),g=(c("4zMEb"),c("4zMEb"));let f=async e=>e(),_=null;const b=async()=>(null==_&&(_=f(async()=>{let[{initializeApp:e},t]=await Promise.all([c("5nXoD"),c("cFvm7")]),{getFirestore:n,addDoc:a,doc:r,collection:o}=t,i=e({apiKey:"AIzaSyC0DqEcaM8AZ6cvApXuNcNU2RgZZOj7F68",authDomain:"localhost",projectId:"pluto-feedback"}),l=n(i),s=o(l,"feedback"),u=async e=>{let t=await a(s,e);console.debug("Firestore doc created ",t.id,t)};return console.log("\uD83D\uDD25base loaded",{initializeApp:e,firestore_module:t,app:i,db:l,feedback_db:s,add_feedback:u}),u})),await _),y=async()=>{try{let e=document.querySelector("form#feedback");if(null==e)return;e.addEventListener("submit",t=>{let n=prompt("Would you like us to contact you?\n\nEmail: (leave blank to stay anonymous \uD83D\uDC40)");t.preventDefault(),f(async()=>{try{let a=String(new FormData(t.target).get("opinion"));if(a.length<4)return;let r=await b();await (0,g.timeout_promise)(r({feedback:a,timestamp:Date.now(),email:n||""}),5e3);let o="Submitted. Thank you for your feedback! \uD83D\uDC95";console.log(o),alert(o),e.querySelector("#opinion").value=""}catch(t){let e="Whoops, failed to send feedback \uD83D\uDE22\nWe would really like to hear from you! Please got to https://github.com/fonsp/Pluto.jl/issues to report this failure:\n\n";console.error(e),console.error(t),alert(e+t)}})}),e.addEventListener("focusin",()=>{b()})}catch(e){for(let t of(console.error("Something went wrong loading the feedback form:",e),document.querySelector("form#feedback").style.opacity=0,"Oh noooooooooooooooooo..."))document.querySelector("form#feedback input").value+=t,await new Promise(e=>setTimeout(e,200))}};function v(e){return e.replace(/\r\n/g,"\n").split(/# ╔═╡ \S+\n/).map(e=>e.trim()).filter(e=>""!==e)}const w="julia> ";function k(e){let t=e.replace(/\r\n/g,"\n").split(w),n=" ".repeat(prompt.length);return t.map(function(e){return(n+e).split("\n").filter(e=>e.startsWith(n)).map(e=>e.replace(n,"")).join("\n")}).map(e=>e.trim()).filter(e=>""!==e)}const E=e=>e.trim().startsWith(w)?k:e.match(/# ╔═╡ ........-....-....-....-............/g)?.length?v:null;var $=c("2ZZ1r"),d=c("cNaMA"),x=c("aN0pg"),d=c("cNaMA");let S=(0,d.createContext)(),N=(0,d.createContext)(null),C=(0,d.createContext)(null);class A extends Set{constructor(e){super(),this.callback=e}delete(e){let t=super.delete(e);return t&&0===this.size&&this.callback(),t}}var M=c("kjWx8");const O=()=>"visible"===document.visibilityState?Promise.resolve():new Promise(e=>{let t=()=>{O().then(e),document.removeEventListener("visibilitychange",t)};document.addEventListener("visibilitychange",t)}),T=({any_code_differs:e,last_update_time:t,last_hot_reload_time:n,connected:a})=>{let r=(0,d.useContext)(S),[o,i]=(0,d.useState)(""),[l,s]=(0,d.useState)(""),c=(0,d.useRef)(null),u=(0,d.useRef)(null);(0,d.useEffect)(()=>(clearTimeout(c?.current),e?i("ask_to_save"):Date.now()-t<1e3?(i("saved"),c.current=setTimeout(()=>{i("")},1e3)):i(""),()=>clearTimeout(c?.current)),[e]);let[p,m]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{a&&setTimeout(()=>m(!0),1e3)},[a]),(0,d.useEffect)(()=>{if(console.log("Hottt",n,p),p)return s("reloaded_from_file"),console.log("set state"),O().then(()=>{u.current=setTimeout(()=>{s(""),console.log("reset state")},8e3)}),()=>clearTimeout(u?.current)},[n]),(0,d.html)` + ${"ask_to_save"===o?(0,d.html)` +
+ +
+ `:"saved"===o||"saving"===o?(0,d.html)` +
+ Saved +
+ `:"reloaded_from_file"===l?(0,d.html)` +
+ File change detected, notebook updated +
+ `:null} +
`};var d=c("cNaMA"),h=c("9Ta4i"),d=(c("cNaMA"),c("cNaMA")),{entries:D,setPrototypeOf:R,isFrozen:L,getPrototypeOf:I,getOwnPropertyDescriptor:P}=Object,{freeze:j,seal:B,create:U}=Object,{apply:F,construct:z}="u">typeof Reflect&&Reflect;F||(F=function(e,t,n){return e.apply(t,n)}),j||(j=function(e){return e}),B||(B=function(e){return e}),z||(z=function(e,t){return new e(...t)});var q=ee(Array.prototype.forEach),H=ee(Array.prototype.pop),W=ee(Array.prototype.push),G=ee(String.prototype.toLowerCase),K=ee(String.prototype.toString),Z=ee(String.prototype.match),V=ee(String.prototype.replace),Q=ee(String.prototype.indexOf),X=ee(String.prototype.trim),Y=ee(RegExp.prototype.test),J=(o=TypeError,function(){for(var e=arguments.length,t=Array(e),n=0;n1?n-1:0),r=1;r/gm),e_=B(/\${[\w\W]*}/gm),eb=B(/^data-[\-\w.\u00B7-\uFFFF]/),ey=B(/^aria-[\-\w]+$/),ev=B(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ew=B(/^(?:\w+script|data):/i),ek=B(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),eE=B(/^html$/i),e$=Object.freeze({__proto__:null,MUSTACHE_EXPR:eg,ERB_EXPR:ef,TMPLIT_EXPR:e_,DATA_ATTR:eb,ARIA_ATTR:ey,IS_ALLOWED_URI:ev,IS_SCRIPT_OR_DATA:ew,ATTR_WHITESPACE:ek,DOCTYPE_NAME:eE}),ex=()=>typeof window>"u"?null:window,eS=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null,a="data-tt-policy-suffix";t&&t.hasAttribute(a)&&(n=t.getAttribute(a));let r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}},eN=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ex(),n=t=>e(t);if(n.version="3.0.3",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;let a=t.document,r=a.currentScript,{document:o}=t,{DocumentFragment:i,HTMLTemplateElement:l,Node:s,Element:c,NodeFilter:u,NamedNodeMap:d=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:p,DOMParser:m,trustedTypes:h}=t,g=c.prototype,f=ea(g,"cloneNode"),_=ea(g,"nextSibling"),b=ea(g,"childNodes"),y=ea(g,"parentNode");if("function"==typeof l){let e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let v,w="",{implementation:k,createNodeIterator:E,createDocumentFragment:$,getElementsByTagName:x}=o,{importNode:S}=a,N={};n.isSupported="function"==typeof D&&"function"==typeof y&&k&&void 0!==k.createHTMLDocument;let{MUSTACHE_EXPR:C,ERB_EXPR:A,TMPLIT_EXPR:M,DATA_ATTR:O,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:R,ATTR_WHITESPACE:L}=e$,{IS_ALLOWED_URI:I}=e$,P=null,B=et({},[...er,...eo,...ei,...es,...eu]),U=null,F=et({},[...ed,...ep,...em,...eh]),z=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,eg=null,ef=!0,e_=!0,eb=!1,ey=!0,ew=!1,ek=!1,eN=!1,eC=!1,eA=!1,eM=!1,eO=!1,eT=!0,eD=!1,eR=!0,eL=!1,eI={},eP=null,ej=et({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),eB=null,eU=et({},["audio","video","img","source","image","track"]),eF=null,ez=et({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),eq="http://www.w3.org/1998/Math/MathML",eH="http://www.w3.org/2000/svg",eW="http://www.w3.org/1999/xhtml",eG=eW,eK=!1,eZ=null,eV=et({},[eq,eH,eW],K),eQ,eX=["application/xhtml+xml","text/html"],eY,eJ=null,e0=o.createElement("form"),e1=function(e){return e instanceof RegExp||e instanceof Function},e2=function(e){if(!(eJ&&eJ===e)){if(e&&"object"==typeof e||(e={}),e=en(e),eY="application/xhtml+xml"===(eQ=eQ=-1===eX.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE)?K:G,P="ALLOWED_TAGS"in e?et({},e.ALLOWED_TAGS,eY):B,U="ALLOWED_ATTR"in e?et({},e.ALLOWED_ATTR,eY):F,eZ="ALLOWED_NAMESPACES"in e?et({},e.ALLOWED_NAMESPACES,K):eV,eF="ADD_URI_SAFE_ATTR"in e?et(en(ez),e.ADD_URI_SAFE_ATTR,eY):ez,eB="ADD_DATA_URI_TAGS"in e?et(en(eU),e.ADD_DATA_URI_TAGS,eY):eU,eP="FORBID_CONTENTS"in e?et({},e.FORBID_CONTENTS,eY):ej,ee="FORBID_TAGS"in e?et({},e.FORBID_TAGS,eY):{},eg="FORBID_ATTR"in e?et({},e.FORBID_ATTR,eY):{},eI="USE_PROFILES"in e&&e.USE_PROFILES,ef=!1!==e.ALLOW_ARIA_ATTR,e_=!1!==e.ALLOW_DATA_ATTR,eb=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ey=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,ew=e.SAFE_FOR_TEMPLATES||!1,ek=e.WHOLE_DOCUMENT||!1,eA=e.RETURN_DOM||!1,eM=e.RETURN_DOM_FRAGMENT||!1,eO=e.RETURN_TRUSTED_TYPE||!1,eC=e.FORCE_BODY||!1,eT=!1!==e.SANITIZE_DOM,eD=e.SANITIZE_NAMED_PROPS||!1,eR=!1!==e.KEEP_CONTENT,eL=e.IN_PLACE||!1,I=e.ALLOWED_URI_REGEXP||ev,eG=e.NAMESPACE||eW,z=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&e1(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(z.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&e1(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(z.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(z.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ew&&(e_=!1),eM&&(eA=!0),eI&&(P=et({},[...eu]),U=[],!0===eI.html&&(et(P,er),et(U,ed)),!0===eI.svg&&(et(P,eo),et(U,ep),et(U,eh)),!0===eI.svgFilters&&(et(P,ei),et(U,ep),et(U,eh)),!0===eI.mathMl&&(et(P,es),et(U,em),et(U,eh))),e.ADD_TAGS&&(P===B&&(P=en(P)),et(P,e.ADD_TAGS,eY)),e.ADD_ATTR&&(U===F&&(U=en(U)),et(U,e.ADD_ATTR,eY)),e.ADD_URI_SAFE_ATTR&&et(eF,e.ADD_URI_SAFE_ATTR,eY),e.FORBID_CONTENTS&&(eP===ej&&(eP=en(eP)),et(eP,e.FORBID_CONTENTS,eY)),eR&&(P["#text"]=!0),ek&&et(P,["html","head","body"]),P.table&&(et(P,["tbody"]),delete ee.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw J('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw J('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=(v=e.TRUSTED_TYPES_POLICY).createHTML("")}else void 0===v&&(v=eS(h,r)),null!==v&&"string"==typeof w&&(w=v.createHTML(""));j&&j(e),eJ=e}},e3=et({},["mi","mo","mn","ms","mtext"]),e4=et({},["foreignobject","desc","title","annotation-xml"]),e9=et({},["title","style","font","a","script"]),e6=et({},eo);et(e6,ei),et(e6,el);let e8=et({},es);et(e8,ec);let e5=function(e){let t=y(e);t&&t.tagName||(t={namespaceURI:eG,tagName:"template"});let n=G(e.tagName),a=G(t.tagName);return!!eZ[e.namespaceURI]&&(e.namespaceURI===eH?t.namespaceURI===eW?"svg"===n:t.namespaceURI===eq?"svg"===n&&("annotation-xml"===a||e3[a]):!!e6[n]:e.namespaceURI===eq?t.namespaceURI===eW?"math"===n:t.namespaceURI===eH?"math"===n&&e4[a]:!!e8[n]:e.namespaceURI===eW?(t.namespaceURI!==eH||!!e4[a])&&(t.namespaceURI!==eq||!!e3[a])&&!e8[n]&&(e9[n]||!e6[n]):!!("application/xhtml+xml"===eQ&&eZ[e.namespaceURI]))},e7=function(e){W(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch{e.remove()}},te=function(e,t){try{W(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch{W(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!U[e]){if(eA||eM)try{e7(t)}catch{}else try{t.setAttribute(e,"")}catch{}}},tt=function(e){let t,n;if(eC)e=""+e;else{let t=Z(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===eQ&&eG===eW&&(e=''+e+"");let a=v?v.createHTML(e):e;if(eG===eW)try{t=new m().parseFromString(a,eQ)}catch{}if(!t||!t.documentElement){t=k.createDocument(eG,"template",null);try{t.documentElement.innerHTML=eK?w:a}catch{}}let r=t.body||t.documentElement;return e&&n&&r.insertBefore(o.createTextNode(n),r.childNodes[0]||null),eG===eW?x.call(t,ek?"html":"body")[0]:ek?t.documentElement:r},tn=function(e){return E.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},ta=function(e){return"object"==typeof s?e instanceof s:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},tr=function(e,t,a){N[e]&&q(N[e],e=>{e.call(n,t,a,eJ)})},to=function(e){let t;if(tr("beforeSanitizeElements",e,null),e instanceof p&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof d)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes))return e7(e),!0;let a=eY(e.nodeName);if(tr("uponSanitizeElement",e,{tagName:a,allowedTags:P}),e.hasChildNodes()&&!ta(e.firstElementChild)&&(!ta(e.content)||!ta(e.content.firstElementChild))&&Y(/<[/\w]/g,e.innerHTML)&&Y(/<[/\w]/g,e.textContent))return e7(e),!0;if(!P[a]||ee[a]){if(!ee[a]&&tl(a)&&(z.tagNameCheck instanceof RegExp&&Y(z.tagNameCheck,a)||z.tagNameCheck instanceof Function&&z.tagNameCheck(a)))return!1;if(eR&&!eP[a]){let t=y(e)||e.parentNode,n=b(e)||e.childNodes;if(n&&t){let a=n.length;for(let r=a-1;r>=0;--r)t.insertBefore(f(n[r],!0),_(e))}}return e7(e),!0}return e instanceof c&&!e5(e)||("noscript"===a||"noembed"===a)&&Y(/<\/no(script|embed)/i,e.innerHTML)?(e7(e),!0):(ew&&3===e.nodeType&&(t=V(t=e.textContent,C," "),t=V(t,A," "),t=V(t,M," "),e.textContent!==t&&(W(n.removed,{element:e.cloneNode()}),e.textContent=t)),tr("afterSanitizeElements",e,null),!1)},ti=function(e,t,n){if(eT&&("id"===t||"name"===t)&&(n in o||n in e0))return!1;if(!(e_&&!eg[t]&&Y(O,t))&&!(ef&&Y(T,t))){if(!U[t]||eg[t]){if(!(tl(e)&&(z.tagNameCheck instanceof RegExp&&Y(z.tagNameCheck,e)||z.tagNameCheck instanceof Function&&z.tagNameCheck(e))&&(z.attributeNameCheck instanceof RegExp&&Y(z.attributeNameCheck,t)||z.attributeNameCheck instanceof Function&&z.attributeNameCheck(t))||"is"===t&&z.allowCustomizedBuiltInElements&&(z.tagNameCheck instanceof RegExp&&Y(z.tagNameCheck,n)||z.tagNameCheck instanceof Function&&z.tagNameCheck(n))))return!1}else if(!eF[t]&&!Y(I,V(n,L,""))&&!(("src"===t||"xlink:href"===t||"href"===t)&&"script"!==e&&0===Q(n,"data:")&&eB[e])&&!(eb&&!Y(R,V(n,L,"")))&&n)return!1}return!0},tl=function(e){return e.indexOf("-")>0},ts=function(e){let t,a,r,o;tr("beforeSanitizeAttributes",e,null);let{attributes:i}=e;if(!i)return;let l={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:U};for(o=i.length;o--;){let{name:s,namespaceURI:c}=t=i[o];if(a="value"===s?t.value:X(t.value),r=eY(s),l.attrName=r,l.attrValue=a,l.keepAttr=!0,l.forceKeepAttr=void 0,tr("uponSanitizeAttribute",e,l),a=l.attrValue,l.forceKeepAttr||(te(s,e),!l.keepAttr))continue;if(!ey&&Y(/\/>/i,a)){te(s,e);continue}ew&&(a=V(a,C," "),a=V(a,A," "),a=V(a,M," "));let u=eY(e.nodeName);if(ti(u,r,a)){if(eD&&("id"===r||"name"===r)&&(te(s,e),a="user-content-"+a),v&&"object"==typeof h&&"function"==typeof h.getAttributeType&&!c)switch(h.getAttributeType(u,r)){case"TrustedHTML":a=v.createHTML(a);break;case"TrustedScriptURL":a=v.createScriptURL(a)}try{c?e.setAttributeNS(c,s,a):e.setAttribute(s,a),H(n.removed)}catch{}}}tr("afterSanitizeAttributes",e,null)},tc=function e(t){let n,a=tn(t);for(tr("beforeSanitizeShadowDOM",t,null);n=a.nextNode();)tr("uponSanitizeShadowNode",n,null),to(n)||(n.content instanceof i&&e(n.content),ts(n));tr("afterSanitizeShadowDOM",t,null)};return n.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r,o,l,c;if((eK=!e)&&(e=""),"string"!=typeof e&&!ta(e)){if("function"==typeof e.toString){if("string"!=typeof(e=e.toString()))throw J("dirty is not a string, aborting")}else throw J("toString is not a function")}if(!n.isSupported)return e;if(eN||e2(t),n.removed=[],"string"==typeof e&&(eL=!1),eL){if(e.nodeName){let t=eY(e.nodeName);if(!P[t]||ee[t])throw J("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof s)1===(o=(r=tt("")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?r=o:r.appendChild(o);else{if(!eA&&!ew&&!ek&&-1===e.indexOf("<"))return v&&eO?v.createHTML(e):e;if(!(r=tt(e)))return eA?null:eO?w:""}r&&eC&&e7(r.firstChild);let u=tn(eL?e:r);for(;l=u.nextNode();)to(l)||(l.content instanceof i&&tc(l.content),ts(l));if(eL)return e;if(eA){if(eM)for(c=$.call(r.ownerDocument);r.firstChild;)c.appendChild(r.firstChild);else c=r;return(U.shadowroot||U.shadowrootmod)&&(c=S.call(a,c,!0)),c}let d=ek?r.outerHTML:r.innerHTML;return ek&&P["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&Y(eE,r.ownerDocument.doctype.name)&&(d=" +`+d),ew&&(d=V(d,C," "),d=V(d,A," "),d=V(d,M," ")),v&&eO?v.createHTML(d):d},n.setConfig=function(e){e2(e),eN=!0},n.clearConfig=function(){eJ=null,eN=!1},n.isValidAttribute=function(e,t,n){return eJ||e2({}),ti(eY(e),eY(t),n)},n.addHook=function(e,t){"function"==typeof t&&(N[e]=N[e]||[],W(N[e],t))},n.removeHook=function(e){if(N[e])return H(N[e])},n.removeHooks=function(e){N[e]&&(N[e]=[])},n.removeAllHooks=function(){N={}},n}(),x=c("aN0pg"),d=c("cNaMA"),eC=AnsiUp=window.AnsiUp,d=c("cNaMA");const eA=e=>e.replaceAll("◐",`\u{25D0}`),eM=({value:e})=>{let t=(0,d.useRef)(null),n=(0,d.useRef)(Date.now());return(0,d.useEffect)(()=>{if(!t.current)return;t.current.style.cssText=`--animation-delay: -${(Date.now()-n.current)%1e3}ms`,t.current.innerHTML=eA(new eC().ansi_to_html(e));let a=t.current.parentElement;a&&(a.scrollTop=1e5)},[t.current,e]),e?(0,d.html)`
`:null};var h=c("9Ta4i"),d=c("cNaMA"),x=c("aN0pg"),d=c("cNaMA"),eO=c("fUfdR"),x=c("aN0pg");let eT=({focus_on_open:e,desired_doc_query:t,on_update_doc_query:n,notebook:a,sanitize_html:r=!0})=>{let o=(0,d.useContext)(S),i=(0,d.useRef)(null),[l,s]=(0,d.useState)({shown_query:null,searched_query:null,body:'

Welcome to the Live docs! Keep this little window open while you work on the notebook, and you will get documentation of everything you type!

You can also type a query above.


Still stuck? Here are some tips.

',loading:!1}),c=e=>s(m(t=>e(t)));(0,d.useEffect)(()=>{!l.loading&&(null==t||/[^\s]/.test(t))&&l.searched_query!==t&&u(t)},[t,l.loading,l.searched_query]),(0,d.useLayoutEffect)(()=>{e&&i.current&&(i.current.focus({preventScroll:!0}),i.current.select())},[e]);let u=e=>{c(t=>{t.loading=!0,t.searched_query=e}),Promise.race([(0,eO.default).Promises.delay(2e3,!1),o.send("docs",{query:e.replace(/^\?/,"")},{notebook_id:a.notebook_id}).then(t=>"⌛"!==t.message.status&&("\uD83D\uDC4D"===t.message.status?(c(n=>{n.shown_query=e,n.body=t.message.doc}),!0):void 0))]).then(()=>{c(e=>{e.loading=!1})})},p=(0,d.useMemo)(()=>(0,d.html)`<${iT} body=${eR(l.body)} sanitize_html=${r} sanitize_html_message=${!1} />`,[l.body,r]),h=!1===l.loading&&""!==l.searched_query&&l.searched_query!==l.shown_query;return(0,d.html)` +
+ n(e.target.value)} + value=${t} + type="search" + > + +
+
null!=e&&eD(e,n)}> +

${l.shown_query}

+ ${p} +
+ `};const eD=(e,t)=>{for(let t of e.querySelectorAll("code:not([class])"))iD(t,"julia");for(let n of e.querySelectorAll("a")){let e=n.getAttribute("href");if(null!=e&&e.startsWith("@ref")){let a=e.length>4?e.substr(5):n.textContent;n.onclick=e=>{t(a),e.preventDefault()}}}},eR=e=>e.replace(/Main\.var"workspace\#\d+"\./g,"").replace(/Main\.workspace\#\d+\./g,"").replace(/ in Main\.var"workspace\#\d+"/g,"").replace(/ in Main\.workspace\#\d+/g,"").replace(/#==#[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\:\d+/g,"");var d=c("cNaMA"),x=c("aN0pg"),h=c("9Ta4i"),d=c("cNaMA");c("kjWx8");var eL=c("1gqBQ");const eI=({runtime:e,running:t,queued:n,code_differs:a,on_run:r,on_interrupt:o,set_cell_disabled:i,depends_on_disabled_cells:l,running_disabled:s,on_jump:c})=>{let u=ej(t);(0,d.useContext)(S);let p=t||n?"interrupt":s?"save":l&&!a?"jump":"run";return(0,d.html)` + + + ${eP(t?(null==u?null:1e6*u)??e:e)} + + `},eP=e=>{if(null==e)return"---";let t=e,n=["n","μ","m",""],a=0;for(;a=1e3;)a+=1,t/=1e3;return t.toFixed(e<100||t>=100?0:1)+" "+n[a]+"s"},ej=e=>{let[t,n]=(0,d.useState)(0),[a,r]=(0,d.useState)(0);return(0,d.useEffect)(()=>{let t;if(e){let e=+new Date;r(e),n(e),t=setInterval(()=>n(+new Date),50)}return()=>{t&&clearInterval(t)}},[e]),e?t-a:void 0},eB=(e,t=5)=>{let[n,a]=(0,d.useState)(e),r=(0,d.useMemo)(()=>(0,h.default).debounce(a,1e3*t),[a]);return(0,d.useEffect)(()=>(e?(a(!0),r.cancel()):r(!1),()=>{}),[e]),n};var x=c("aN0pg"),d=c("cNaMA");const eU=({onClick:e,total:t,done:n,busy:a,failed_indices:r})=>(t=Math.max(1,t),(0,d.html)` +
=8&&t<48,big:t>=48})} + data-total=${t} + onClick=${e} + > + ${[...Array(t)].map((e,t)=>(0,d.html)`
=n&&t
`)} +
+ `);var d=c("cNaMA"),x=c("aN0pg"),eL=c("1gqBQ");let eF=({status:e})=>{let t=Object.values(e.subtasks).every(e3),[n,a]=(0,d.useState)(!1);(0,d.useEffect)(()=>{if(n&&t){console.log("all done");let t=null,n=setTimeout(()=>{a(!1);let n=e6(e);(t=new Notification("Pluto: notebook ready",{tag:"notebook ready",body:`\u{2713} All ${n} steps completed`,lang:"en-US",dir:"ltr",icon:lQ})).onclick=e=>{parent.focus(),window.focus(),t?.close()}},3e3),r=()=>{"visible"===document.visibilityState&&t?.close()};return document.addEventListener("visibilitychange",r),document.body.addEventListener("click",r),()=>{t?.close(),clearTimeout(n),document.removeEventListener("visibilitychange",r),document.body.removeEventListener("click",r)}}},[t]);let r=tc(!t,2500)||n;return(0,d.html)` +
+ +
+ `};var h=c("9Ta4i"),d=c("cNaMA"),ez=c("hrGZZ"),d=c("cNaMA");const eq=({active:e})=>{let t=(0,d.useRef)(),n=e=>{t.current={x:e.clientX,y:e.clientY}};return(0,ez.useEventListener)(window,"pointermove",n,[]),(0,ez.useEventListener)(window,"dragover",n,[]),(0,d.useEffect)(()=>{if(e.up||e.down){let n=null,a=!0,r=o=>{if(a){null==n&&(n=o);let a=o-n;if(n=o,t.current){let n=t.current.y/window.innerHeight;e.up&&n<.3?window.scrollBy(0,-1200*(.3-n)/.3*a/1e3):e.down&&n>.7&&window.scrollBy(0,1200*(n-.7)/.3*a/1e3)}window.requestAnimationFrame(r)}};return window.requestAnimationFrame(r),()=>a=!1}},[e.up,e.down]),null},eH=e=>{document.getElementById(e)?.scrollIntoView({block:"center",behavior:"smooth"})},eW=(e,t=500)=>{let[n,a]=(0,d.useState)(null);return(0,d.useEffect)(()=>{let n=setTimeout(()=>{a(e)},t);return()=>clearTimeout(n)},[e]),n},eG=({notebook:e,backend_launch_phase:t,status:n})=>{let[a,r]=(0,d.useState)([]),[o,i]=(0,d.useState)([]);(0,d.useEffect)(()=>{let t=Object.values(e.cell_results).filter(e=>e.running||e.queued).map(e=>e.cell_id);i(t),0===t.length?r([]):r((0,h.default).union(t,a))},Object.values(e.cell_results).map(e=>e.running||e.queued));let l=0===a.length?0:1-Math.max(0,o.length-.3)/a.length,s=n.loading&&n.binder,c=s?t??0:l,u=(s||0!==a.length)&&1!==c,p=eW(u,500)??!1;p&&!(s||0!==a.length)&&(c=1);let m=s?"Loading binder...":`Running cells... (${a.length-o.length}/${a.length} done)`;return(0,d.html)`{s||eK(e)}} + aria-hidden="true" + title=${m} + >`},eK=e=>{let t=null==e?(document.querySelector("pluto-cell.running")??document.querySelector("pluto-cell.queued"))?.id:(Object.values(e.cell_results).find(e=>e.running)??Object.values(e.cell_results).find(e=>e.queued))?.cell_id;t&&eH(t)},eZ=({status:e,notebook:t,backend_launch_logs:n,my_clock_is_ahead_by:a})=>(0,d.html)` +
+ <${e0} + status_tree=${e} + path=${[]} + my_clock_is_ahead_by=${a} + nbpkg=${t.nbpkg} + backend_launch_logs=${n} + /> + <${eF} status=${e} /> +
+ `,eV=` +workspace + +create_process +init_process + + +pkg + +analysis +waiting_for_others +resolve +remove +add +instantiate +instantiate1 +instantiate2 +instantiate3 +precompile + +run + + +saving + +`.split("\n").map(e=>e.trim()).filter(e=>e.length>0),eQ=["saving"],eX={workspace:"Workspace setup",create_process:"Start Julia",init_process:"Initialize",pkg:"Package management",instantiate1:"instantiate",instantiate2:"instantiate",instantiate3:"instantiate",run:"Evaluating cells",evaluate:"Running code",registry_update:"Updating package registry",waiting_for_others:"Waiting for other notebooks to finish package operations",backend_launch:"Connecting to backend",backend_requesting:"Requesting a worker",backend_created:"Starting Pluto server",backend_responded:"Opening notebook file",backend_notebook_running:"Switching to live editing"},eY=e=>{let t=eX[e];return null!=t?t:e1(e)?`Step ${e}`:e},eJ=e=>1e9*e,e0=({status_tree:e,path:t,my_clock_is_ahead_by:n,nbpkg:a,backend_launch_logs:r})=>{if(null==e)return null;let o=t.reduce((e,t)=>e.subtasks[t],e);if(!o)return null;let[i,l]=(0,d.useState)(t.length<1),s=t.length>0&&e4(o),c=s&&e3(o),u=s&&!c,p=o.started_at??0,m=o.finished_at??0,h=Math.max((ej(u)??0)/1e3,Date.now()/1e3-p-("local"===o.timing?0:n));(0,d.useEffect)(()=>{if(u||!1===o.success){let e=setTimeout(()=>{l(!0)},Math.max(100,500-200*t.length));return()=>clearTimeout(e)}},[u||!1===o.success]),e7(([e])=>{if(!e&&c){let e=setTimeout(()=>{l(!1)},1800-200*t.length);return()=>clearTimeout(e)}},[c]);let g=i?Object.values(o.subtasks).every(e=>e1(e.name))&&Object.values(o.subtasks).length>0?(()=>{let e=Object.values(o.subtasks),t=e.reduce((e,t)=>e+(e3(t)?1:0),0),n=e.reduce((e,t)=>e+(e9(t)?1:0),0),a=e.length,r=e.reduce((e,t,n)=>!1===t.success?[...e,n]:e,[]),i="evaluate"===o.name?()=>eK():void 0;return(0,d.html)`<${eU} busy=${n} done=${t} total=${a} failed_indices=${r} onClick=${i} />`})():Object.entries(o.subtasks).sort((e,t)=>e2(e[1],t[1])).map(([o,i])=>eQ.includes(o)?null:(0,d.html)`<${e0} + key=${o} + status_tree=${e} + my_clock_is_ahead_by=${n} + path=${[...t,o]} + nbpkg=${a} + backend_launch_logs=${r} + />`):null,f=null;if(s){let e=e8(o),t=e6(o);e>1&&(f=(0,d.html)`${" "}(${t}/${e})`)}let _=Object.values(o.subtasks).length>0;return 0===t.length?g:(0,d.html)` +
{l(!i)}} + > + + ${eY(o.name)}${f} + ${c?eP(eJ(m-p)):u?eP(eJ(h)):null} +
+ ${g} + ${i&&"pkg"===o.name?(0,d.html)`<${eM} value=${a?.terminal_outputs?.nbpkg_sync} />`:i&&"backend_launch"===o.name?(0,d.html)`<${eM} value=${r} />`:void 0} +
`},e1=e=>/^\d+$/.test(e),e2=(e,t)=>{let n=eV.indexOf(e.name),a=eV.indexOf(t.name);if(-1===n&&-1===a)return null!=e.started_at||null!=t.started_at?(e.started_at??1/0)-(t.started_at??1/0):e1(e.name)&&e1(t.name)?parseInt(e.name)-parseInt(t.name):e.name.localeCompare(t.name);{let e=e=>-1===e?1/0:e;return e(n)-e(a)}},e3=e=>null!=e.finished_at,e4=e=>null!=e.started_at,e9=e=>e4(e)&&!e3(e),e6=e=>Object.values(e.subtasks).reduce((e,t)=>e+e6(t),e3(e)?1:0),e8=e=>Object.values(e.subtasks).reduce((e,t)=>e+e8(t),1),e5=(e,t,n,a={})=>({name:e,subtasks:a,timing:"local",started_at:(0,d.useMemo)(()=>t||n?Date.now()/1e3:null,[t||n]),finished_at:(0,d.useMemo)(()=>n?Date.now()/1e3:null,[n])}),e7=(e,t)=>{let n=(0,d.useRef)(t);(0,d.useEffect)(()=>{let a=e(n.current);return n.current=t,a},t)};var d=c("cNaMA");const te=({connected:e})=>{let t=(0,d.useContext)(S),[n,a]=(0,d.useState)(0);return(0,d.useEffect)(()=>{if(e){let e=async()=>{let e=()=>t.send("current_time").then(e=>e.message.time),n=()=>Date.now()/1e3;for(let t=0;t<16;t++)await e();let r=await n(),o=await e(),i=await e(),l=(r+await n())/2-(o+i)/2;isNaN(l)||a(l)};e();let n=setInterval(e,6e4);return()=>clearInterval(n)}},[e]),n};var g=c("4zMEb"),tt=c("41Mhf");const tn={wait_for_user:0,requesting:.4,created:.6,responded:.7,notebook_running:.9,ready:1},ta=e=>e.endsWith("/")?e:e+"/",tr=(e,{on_log:t})=>new Promise((n,a)=>{console.log("Starting binder connection to",e);try{let r=new EventSource(e);r.onerror=t=>{console.error("Binder error: Lost connection to "+e,t),r.close(),a(t)};let o=null,i="",l=e=>{console.log("Binder: ",e,` at ${new Date().toLocaleTimeString()}`),i=`${i}${e} +`,t(i)};r.onmessage=t=>{let i=JSON.parse(t.data);switch(i.phase&&i.phase!==o&&(o=i.phase.toLowerCase(),l(` + +\u{23F1}\u{FE0F} Binder subphase: ${o} +`)),i.message&&l(i.message.replace("] ",`] +`)),i.phase){case"failed":console.error("Binder error: Failed to build",e,i),r.close(),a(Error(i));break;case"ready":r.close(),n({binder_session_url:ta(i.url)+"pluto/",binder_session_token:i.token})}}}catch(e){console.error(e),a("Failed to open event source the mybinder.org. This probably means that the URL is invalid.")}}),to=e=>fetch(`https://stats.plutojl.org/count?p=/${e}&s=${screen.width},${screen.height},${devicePixelRatio}#skip_sw`,{cache:"no-cache"}).catch(()=>{}),ti=async({setStatePromise:e,connect:t,launch_params:n})=>{try{to("binder-start"),await e(m(e=>{e.backend_launch_phase=tn.requesting,e.disable_ui=!1,e.notebook.status_tree=null}));let{binder_session_url:a,binder_session_token:r}=await tr(n.binder_url.replace("mybinder.org/v2/","mybinder.org/build/"),{on_log:t=>e(m(e=>{e.backend_launch_logs=t}))}),o=e=>(0,tt.with_query_params)(e,{token:r});console.log("Binder URL:",o(a)),window.shutdown_binder=()=>{fetch(o(new URL("../api/shutdown",a)),{method:"POST"})},await e(m(e=>{e.backend_launch_phase=tn.created,e.binder_session_url=a,e.binder_session_token=r})),await fetch(o(a)),await e(m(e=>{e.backend_launch_phase=tn.responded}));let i=async()=>{let e=o((0,tt.with_query_params)(new URL("notebookupload",a),{name:new URLSearchParams(window.location.search).get("name"),execution_allowed:"true"}));return console.log("downloading locally and uploading ",e,n.notebookfile),fetch(e,{method:"POST",body:await (await fetch(new Request(n.notebookfile,{integrity:n.notebookfile_integrity}))).arrayBuffer()})},l=async(e,t)=>{let n=(0,tt.with_query_params)(new URL("open",a),{[e]:t,execution_allowed:"true"});return console.log(`open ${e}:`,n),fetch(o(n),{method:"POST"})},s=(e,t)=>()=>l(e,t),c=n.notebookfile.startsWith("data:")?[i]:[s("path",n.notebookfile),s("url",new URL(n.notebookfile,window.location.href).href),i],u=new Response;for(let e of c)if((u=await e()).ok)break;if(!u.ok){let e=await u.blob();window.location.href=URL.createObjectURL(e);return}let d=await u.text(),p=o((0,tt.with_query_params)(new URL("edit",a),{id:d}));console.info("notebook_id:",d),await e(m(e=>{e.notebook.notebook_id=d,e.backend_launch_phase=tn.notebook_running,e.refresh_target=p})),console.log("Connecting WebSocket");let h=t(o(new URL("channels",(0,g.ws_address_from_base)(a))));await (0,g.timeout_promise)(h,2e4).catch(e=>{console.error("Failed to establish connection within 20 seconds. Navigating to the edit URL directly.",e),window.parent.location.href=p})}catch(e){console.error("Failed to initialize binder!",e),alert("Something went wrong! \uD83D\uDE2E\n\nWe failed to initialize the binder connection. Please try again with a different browser, or come back later.")}};var ez=c("hrGZZ");const tl=e=>window.dispatchEvent(new CustomEvent("open_bottom_right_panel",{detail:e}));let ts=({desired_doc_query:e,on_update_doc_query:t,notebook:n,connected:a,backend_launch_phase:r,backend_launch_logs:o,sanitize_html:i=!0})=>{let l=(0,d.useRef)(),s=(0,d.useRef)(!1),[c,u]=(0,d.useState)(null),p=null==c;(0,ez.useEventListener)(window,"open_bottom_right_panel",e=>{console.log(e.detail),s.current=!1,u(e.detail),"none"===window.getComputedStyle(l.current).display&&alert("This browser window is too small to show docs.\n\nMake the window bigger, or try zooming out.")},[u]);let m=tu(n,r),[h,g]=(0,d.useMemo)(()=>null==m?[0,0]:[e8(m)-1,e6(m)-(e3(m)?1:0)],[m]),f=g{let e=await documentPictureInPicture.requestWindow();[...document.styleSheets].forEach(t=>{try{let n=document.createElement("style");n.textContent=[...t.cssRules].map(e=>e.cssText).join(""),e.document.head.appendChild(n)}catch(a){let n=document.createElement("link");n.rel="stylesheet",n.type=t.type,n.media=t.media,n.href=t.href,e.document.head.appendChild(n)}}),e.document.body.append(l.current.firstElementChild),e.addEventListener("pagehide",e=>{let t=e.target.querySelector("pluto-helpbox");l.current.append(t)})};return(0,d.html)` + + `};const tc=(e,t)=>{let[n,a]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{if(e){let e=setTimeout(()=>{a(!0)},t);return()=>clearTimeout(e)}a(!1)},[e]),n},tu=(e,t)=>{let n=td(t);return null==t?e.status_tree:{name:"notebook",started_at:0,finished_at:null,subtasks:{...e.status_tree?.subtasks,backend_launch:n}}},td=e=>{let t=e??-1,n=Object.fromEntries(["requesting","created","responded","notebook_running"].map(e=>{let n=tn[e],a=`backend_${e}`;return[a,e5(a,t>=n,t>n)]}));return e5("backend_launch",null!=e&&e>tn.wait_for_user,e===tn.ready,n)},tp=e=>{if(e.includes("#@#==#"))return null;let t="#==#",n=e.indexOf(t);return -1!=n?e.substring(n+t.length,n+t.length+36):null},tm=(e,t)=>window.dispatchEvent(new CustomEvent("cell_focus",{detail:{cell_id:e,line:t}})),th=({frame:e})=>{let t=(0,d.useContext)(S);if(tp(e.file)||null==e.parent_module||t_(e))return null;let n=e.func;if(""===n)return null;let a=t.get_notebook(),r=["Main","Core","Base"].includes(e.source_package),o=a?.nbpkg?.installed_versions?.[e.source_package]!=null;return r||a?.nbpkg==null||o?(0,d.html)`  {a.preventDefault(),tl("docs"),t.set_doc_query(`${e.parent_module}.${n}`)}} + >docs`:null},tg=({frame:e,cell_id:t})=>{if(tb(e))return null;let n=tp(e.file),a=e.line;if(null!=n)return(0,d.html)`{tm(n,null==a?null:a-1),e.preventDefault()}} + > + ${n==t?"This cell":"Other cell"}${null==a?null:(0,d.html)`: line ${a}`} + `;{let t=e.source_package,n=["Main","Core","Base"].includes(t)?"julia":t,a=(0,d.html)`${e.file.replace(/#@#==#.*/,"")}:${e.line}`,r=null!=t?(0,d.html)`${n} → ${a}`:a,o=e?.url?.startsWith?.("https")?e.url:null;return(0,d.html)`${r}`}},tf=(0,d.html)` from `,t_=e=>"top-level scope"===e.call,tb=e=>"none"===e.file,ty=e=>{let t=e.indexOf(")(");if(-1!=t)return[e.substring(0,t+1),e.substring(t+1)];{let t=e.indexOf("(");return -1!=t?[e.substring(0,t),e.substring(t)]:[e,""]}},tv=({frame:e})=>{let[t,n]=(0,d.useState)(!1);(0,d.useEffect)(()=>{n(!1)},[e]);let a=(e.call_short.match(/…/g)??"").length<=1&&e.call.lengthanonymous function`:i,s=(0,d.html)`${l}<${tE} code=${o[1]} />`,c=(0,d.useMemo)(()=>Math.random().toString(36).substring(7),[e]);return(0,d.html)`${s} ${r?null:(0,d.html)`{e.preventDefault(),n(!0)}} + >...show types...`}`},tw=({frame:e,num_context_lines:t=2})=>{let n=(0,d.useContext)(S),a=tp(e.file);if(a){let r=n.get_notebook()?.cell_inputs[a]?.code;if(r){let n=r.split("\n");return(0,d.html)`{tm(a,e.line-1),t.preventDefault()}} + href=${`#${a}`} + class="frame-line-preview" + >
+
+${n.map((n,a)=>e.line-1-t<=a&&a<=e.line-1+t?(0,d.html)`<${tk} code=${n} i=${a} frameLine=${a===e.line-1} />`:null)}
+
`}}},tk=({code:e,frameLine:t,i:n})=>{let a=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{a.current&&(a.current.innerText=e,delete a.current.dataset.highlighted,iD(a.current,"julia"))},[a.current,e]),(0,d.html)``},tE=({code:e})=>{let t=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{if(t.current){let n=e.replaceAll(/([^():{},; ]*)::/g,"$1::");t.current.innerHTML=n}},[t.current,e]),(0,d.html)``},t$=e=>e.flatMap((t,n)=>n===e.length-1?[t]:n===e.length-2?[t," and "]:[t,", "]),tx=({cell_id:e,diagnostics:t})=>((0,d.useEffect)(()=>(window.dispatchEvent(new CustomEvent("cell_diagnostics",{detail:{cell_id:e,diagnostics:t}})),()=>window.dispatchEvent(new CustomEvent("cell_diagnostics",{detail:{cell_id:e,diagnostics:[]}}))),[t]),(0,d.html)` + +

Syntax error

+
+
Syntax errors
+
    + ${t.map(({message:t,from:n,to:a,line:r})=>(0,d.html)`
  1. window.dispatchEvent(new CustomEvent("cell_highlight_range",{detail:{cell_id:e,from:n,to:a}}))} + onmouseleave=${()=>window.dispatchEvent(new CustomEvent("cell_highlight_range",{detail:{cell_id:e,from:null,to:null}}))} + > +
    + ${t} +
    ${tf}<${tg} frame=${{file:"#==#"+e,line:r}} cell_id=${e} />
    +
    +
  2. `)} +
+
+
+ `),tS=(e,t,n,a)=>{if(null!=a)return!0;let[r,o]=ty(e.call);return!(["_collect","collect_similar","iterate","error","macro expansion"].includes(r)||r.includes("throw"))&&!e.inlined&&null!=o&&!((r.match(/#/g)??"").length>=2)},tN=({value:e})=>{let t=(0,d.useRef)(null),n=(0,d.useRef)(!1);(0,d.useLayoutEffect)(()=>{t.current&&(t.current.innerHTML=new eC().ansi_to_html(e),n.current=!0)},[t.current,e]);let a=e.replace(/\u001b\[[0-9;]*m/g,"");return""===e?(0,d.html)`


`:(0,d.html)`

${n.current?null:a}

`},tC=({msg:e,stacktrace:t,cell_id:n})=>{let a=(0,d.useContext)(S),r={pattern:/.?/,display:e=>(0,h.default).dropRightWhile(e.split("\n"),e=>""===e).map(e=>(0,d.html)`<${tN} value=${e} />`)},o=[{pattern:/syntax: extra token after end of expression/,display:e=>{let t=(0,d.html)`{e.preventDefault(),a.wrap_remote_cell(n,"begin")}} + >Wrap all code in a begin ... end block.`;if(!e.includes("\n\nBoundaries: "))return(0,d.html)`

Multiple expressions in one cell.

+

${t}

`;{let r=JSON.parse(e.split("\n\nBoundaries: ")[1]).map(e=>e-1),o=(0,d.html)`

+ {e.preventDefault(),a.split_remote_cell(n,r,!0)}} + >Split this cell into ${r.length} cells, or +

`;return(0,d.html)`

Multiple expressions in one cell.

+

How would you like to fix it?

+
    +
  • ${o}
  • +
  • ${t}
  • +
`}},show_stacktrace:()=>!1},{pattern:/LoadError: cannot assign a value to variable workspace#\d+\..+ from module workspace#\d+/,display:()=>(0,d.html)`

Tried to reevaluate an include call, this is not supported. You might need to restart this notebook from the main menu.

+

+ For a workaround, use the alternative version of include described here: + GH issue 115 +

+

In the future, include will be deprecated, and this will be the default.

`},{pattern:/MethodError: no method matching .*\nClosest candidates are:/,display:e=>e.split("\n").map(e=>(0,d.html)`

${e}

`)},{pattern:/Cyclic references among (.*)\./,display:e=>e.split("\n").map(e=>{let t=e.match(/Cyclic references among (.*)\./);if(!t)return(0,d.html)`

${e}

`;{let e=t[1].split(/, | and /).map(e=>(0,d.html)`${e}`);return(0,d.html)`

Cyclic references among${" "}${t$(e)}.

`}})},{pattern:/Multiple definitions for (.*)/,display:e=>e.split("\n").map(e=>{let t=e.match(/Multiple definitions for (.*)/);if(!t)return(0,d.html)`

${e}

`;{let e=t[1].replace(/\.$/,"").split(/, | and /).map(e=>(0,d.html)`{let a=document.querySelector(`pluto-cell:not([id='${n}']) span[id='${encodeURI(e)}']`);t.preventDefault(),a?.scrollIntoView()}}>${e}`);return(0,d.html)`

Multiple definitions for${" "}${t$(e)}.

`}})},{pattern:/^syntax: (.*)$/,display:r.display,show_stacktrace:()=>!1},{pattern:/^\s*$/,display:()=>r.display("Error")},{pattern:/^UndefVarError: (.*) not defined/,display:e=>{let t=a.get_notebook(),r=tT(t,n),o=e.match(/UndefVarError: (.*) not defined/),i=(o?.[1]??"").replaceAll("`",""),l=Object.values(t?.cell_dependencies??{}).some(e=>Object.keys(e.downstream_cells_map).includes(i));if(0===Object.keys(r).length||!l)return(0,d.html)`

${e}

`;let s=Object.keys(r).map(e=>(0,d.html)`{t.preventDefault();let n=document.querySelector(`pluto-cell[id='${r[e]}']`);n?.scrollIntoView()}}>${e}`);return(0,d.html)`

Another cell defining ${t$(s)} contains errors.

`},show_stacktrace:()=>0===Object.keys(tT(a.get_notebook(),n)).length},{pattern:/^ArgumentError: Package (.*) not found in current path/,display:e=>{let t=e.match(/^ArgumentError: Package (.*) not found in current path/),n=(t?.[1]??"").replaceAll("`",""),r=a.get_notebook()?.nbpkg?.terminal_outputs?.[n];return(0,d.html)`

The package ${n}.jl could not load because it failed to initialize.

+

That's not nice! Things you could try:

+
    +
  • Restart the notebook.
  • +
  • Try a different Julia version.
  • +
  • Contact the developers of ${n}.jl about this error.
  • +
+

You might find useful information in the package installation log:

+ <${eM} value=${r} />`},show_stacktrace:()=>!1},r].find(({pattern:t})=>t.test(e))??r,[i,l]=(0,d.useState)(!1);(0,d.useEffect)(()=>{l(!1)},[e,t,n]);let s=t.findIndex(e=>null!=tp(e.file)),c=!i&&-1!=s&&s!(tb(e)&&t_(e))),p=tA(u);return(0,d.html)` +
+ Error message${null==p?null:` from ${p}`} + +
+ +
${o.display(e)}
+ ${0!=t.length&&(o.show_stacktrace?.()??!0)?(0,d.html)`
+
+ Stack trace +

Here is what happened, the most recent locations are first:

+
+ +
    + ${u.map((e,t)=>{let a=tp(e.file),r=null!=a,o=n===a,i=tS(e,t,u,a);return(0,d.html)`
  1. +
    + <${tv} frame=${e} /> +
    + ${tf}<${tg} frame=${e} cell_id=${n} /> + <${th} frame=${e} /> +
    +
    + ${r?(0,d.html)`<${tw} frame=${e} num_context_lines=${o?1:2} />`:null} +
  2. `})} + ${c?(0,d.html)`
  3. + {l(!0),e.preventDefault()}} + >Show more... +
  4. `:null} +
+
`:null} + <${tO} stacktrace=${t} /> +
`},tA=e=>{for(let[t,n]of e.entries()){let a=tp(n.file);if(a)return;if(tS(n,t,e,a)&&n.source_package)return n.source_package}},tM=["Don't panic!","Keep calm, you got this!","You got this!","Silly computer!","Silly computer!","beep boop CRASH \uD83E\uDD16","computer bad, you GREAT!","Probably not your fault!","Try asking on Julia Discourse!","uhmmmmmm??!","Maybe time for a break? ☕️","Everything is going to be okay!","Computers are hard!","C'est la vie !","¯\\_(ツ)_/¯","Oh no! \uD83D\uDE40","this suckz \uD83D\uDCA3","Be patient :)"],tO=({stacktrace:e})=>{let t=(0,d.useMemo)(()=>.1>Math.random()?tM[Math.floor(Math.random()*tM.length)]:null,[e]);return null==t?null:(0,d.html)`
${t}
`},tT=(e,t,n=[])=>{let a={};return null!=e&&e?.cell_results?.[t]?.errored&&Object.keys(e.cell_dependencies[t]?.upstream_cells_map).forEach(r=>{n.includes(r)||(n.push(r),(e.cell_dependencies[t]?.upstream_cells_map[r]).forEach(o=>{let i=tT(e,o,n)??{};a={...a,...i},0===Object.keys(i).length&&e.cell_results[o].errored&&o!==t&&(a[r]=o)}))}),a};var d=c("cNaMA"),ez=c("hrGZZ");const tD=({mime:e,body:t,cell_id:n,persist_js_state:a,sanitize_html:r=!0})=>{switch(e){case"image/png":case"image/jpg":case"image/jpeg":case"image/gif":case"image/bmp":case"image/svg+xml":return(0,d.html)`<${ik} mime=${e} body=${t} />`;case"text/plain":return(0,d.html)`
${t}
`;case"application/vnd.pluto.tree+object":return(0,d.html)`<${tj} cell_id=${n} body=${t} persist_js_state=${a} sanitize_html=${r} />`;default:return iE({mime:e,body:t,cell_id:n,persist_js_state:a,sanitize_html:r,last_run_timestamp:null})}},tR=({on_click_more:e})=>{let[t,n]=(0,d.useState)(!1),a=(0,d.useRef)(null);return tL(a),(0,d.html)`{t||!1===e()||n(!0)}} + >more`},tL=e=>{(0,ez.useEventListener)(e,"keydown",t=>{" "===t.key&&t.preventDefault(),"Enter"===t.key&&(t.preventDefault(),e.current.click())},[]),(0,ez.useEventListener)(e,"keyup",t=>{" "===t.key&&(t.preventDefault(),e.current.click())},[])},tI=({prefix:e,prefix_short:t})=>{let n=(0,d.useRef)(null);return tL(n),(0,d.html)`${e}${t}`},tP=({pluto_actions:e,cell_id:t,node_ref:n,objectid:a,dim:r})=>{(e??n.current.closest("pluto-cell")._internal_pluto_actions).reshow_cell(t??n.current.closest("pluto-cell").id,a,r)},tj=({mime:e,body:t,cell_id:n,persist_js_state:a,sanitize_html:r=!0})=>{let o=(0,d.useContext)(S),i=(0,d.useRef)(null),l=e=>(0,d.html)`<${tD} cell_id=${n} mime=${e[1]} body=${e[0]} persist_js_state=${a} sanitize_html=${r} />`,s=(0,d.html)`<${tR} on_click_more=${()=>{if(null==i.current||null!=i.current.closest("pluto-tree.collapsed"))return!1;tP({pluto_actions:o,cell_id:n,node_ref:i,objectid:t.objectid,dim:1})}} />`,c=null;switch(t.type){case"Pair":let u=t.key_value;return(0,d.html)`${l(u[0])}${l(u[1])}`;case"circular":return(0,d.html)`circular reference`;case"Array":case"Set":case"Tuple":c=(0,d.html)`<${tI} prefix=${t.prefix} prefix_short=${t.prefix_short} />${t.elements.map(e=>"more"===e?s:(0,d.html)`${"Set"===t.type?"":(0,d.html)`${e[0]}`}${l(e[1])}`)}`;break;case"Dict":c=(0,d.html)`<${tI} prefix=${t.prefix} prefix_short=${t.prefix_short} />${t.elements.map(e=>"more"===e?s:(0,d.html)`${l(e[0])}${l(e[1])}`)}`;break;case"NamedTuple":c=(0,d.html)`<${tI} prefix=${t.prefix} prefix_short=${t.prefix_short} />${t.elements.map(e=>"more"===e?s:(0,d.html)`${e[0]}${l(e[1])}`)}`;break;case"struct":c=(0,d.html)`<${tI} prefix=${t.prefix} prefix_short=${t.prefix_short} />${t.elements.map(e=>(0,d.html)`${e[0]}${l(e[1])}`)}`}return(0,d.html)``},tB=({colspan:e=999})=>(0,d.html)` + + +
(This table has no columns)
+ + +`,tU=({colspan:e=999})=>(0,d.html)` + +
+
+ (This table has no rows) +
+ +`,tF=({mime:e,body:t,cell_id:n,persist_js_state:a,sanitize_html:r})=>{let o=(0,d.useContext)(S),i=(0,d.useRef)(null),l=e=>(0,d.html)`<${tD} cell_id=${n} mime=${e[1]} body=${e[0]} persist_js_state=${a} sanitize_html=${r} />`,s=e=>(0,d.html)`<${tR} + on_click_more=${()=>{tP({pluto_actions:o,cell_id:n,node_ref:i,objectid:t.objectid,dim:e})}} + />`,c=3+(t?.schema?.names?.length??1),u=(t?.schema?.names?.length??0)===0?(0,d.html)`<${tB} colspan=${c} />`:(0,d.html)` + + ${["",...t.schema.names].map(e=>(0,d.html)`${"more"===e?s(2):e}`)} + + + ${["",...t.schema.types].map(e=>(0,d.html)`${"more"===e?null:e}`)} + + `,p=(0,d.html)` + ${(t.rows?.length??0)!==0?t.rows.map(e=>(0,d.html)` + ${"more"===e?(0,d.html)`${s(1)}`:(0,d.html)`${e[0]} + ${e[1].map(e=>(0,d.html)`
${"more"===e?null:l(e)}
`)}`} + `):(0,d.html)`<${tU} colspan=${c} />`} + `;return(0,d.html)` + ${u}${p} +
`};let tz=({cell_id:e,style:t,classname:n,children:a,persist_js_state:r=!1,sanitize_html:o=!0})=>(0,d.html)`
${a.map(t=>(0,d.html)`<${tD} cell_id=${e} mime=${t[1]} body=${t[0]} persist_js_state=${r} sanitize_html=${o} />`)}
`;var eL=c("1gqBQ"),h=c("9Ta4i"),d=c("cNaMA"),eO=c("fUfdR");function tq(e){if(e instanceof HTMLInputElement)switch(e.type){case"range":case"number":return e.valueAsNumber;case"date":return e.valueAsDate;case"checkbox":return e.checked;case"file":return e.multiple?e.files:e.files?.[0];default:return e.value}else if(e instanceof HTMLSelectElement&&e.multiple)return Array.from(e.selectedOptions,e=>e.value);else return e.value}function tH(e){switch(e.type){case"button":case"submit":case"checkbox":return"click";case"file":return"change";default:return"input"}}const tW=(e,t)=>{if(!(e instanceof HTMLInputElement)||"file"!==e.type){if(null==t){e.value=t;return}if(e instanceof HTMLInputElement)switch(e.type){case"range":case"number":e.valueAsNumber!==t&&(e.valueAsNumber=t);return;case"date":(null==e.valueAsDate||Number(e.valueAsDate)!==Number(t))&&(e.valueAsDate=t);return;case"checkbox":e.checked!==t&&(e.checked=t);return;case"file":return}else if(e instanceof HTMLSelectElement&&e.multiple){for(let n of Array.from(e.options))n.selected=t.includes(n.value);return}e.value!==t&&(e.value=t)}},tG=(e,t)=>{e.forEach(e=>{let n=e.getAttribute("def");if(null!=n&&null!=e.firstElementChild&&null!=t[n]){let a=t[n].value;try{tW(e.firstElementChild,a)}catch(t){console.error("Error while setting input value",e.firstElementChild,"to value",a,": ",t)}}})},tK=(e,t)=>{e.forEach(e=>{let n=e=>{e.target.closest(".bonds_disabled:where(.offer_binder, .offer_local)")&&(0,eL.open_pluto_popup)({type:"info",source_element:e.target,body:(0,d.html)`${"You are viewing a static document. "} + {window.open_edit_or_run_popup(),e.preventDefault(),window.dispatchEvent(new CustomEvent("close pluto popup"))}} + >Run this notebook + ${" to enable interactivity."}`})};e.addEventListener("click",n),t.then(()=>{e.removeEventListener("click",n)})})},tZ=(e,t,n,a)=>{let r=!1;a.then(()=>{r=!0}),e.forEach(async e=>{let a=e.getAttribute("def"),o=e.firstElementChild;if(null!=a&&null!=o){let e=tq(o),i=Object.keys(n).includes(a)&&(0,h.default).isEqual(n[a]?.value,e)?null:t(a,e).catch(console.error),l=!1;for(let e of(0,eO.default).Generators.observe(function(e){var t=tH(o),n=tq(o);function a(){e(tq(o))}return o.addEventListener(t,a),void 0!==n&&e(n),function(){o.removeEventListener(t,a)}})){if(r)break;if(!1===l){l=!0;continue}let n=await tV(await e);await i,await t(a,n).catch(console.error)}}})},tV=async e=>e instanceof FileList?Promise.all(Array.from(e).map(e=>tV(e))):e instanceof File?await new Promise(t=>{let n=new FileReader;n.onload=()=>t({name:e.name,type:e.type,data:new Uint8Array(n.result)}),n.onerror=()=>t({name:e.name,type:e.type,data:null}),n.readAsArrayBuffer(e)}):e;var x=c("aN0pg"),eO=c("fUfdR"),tQ=c("h2NGW"),tX=c("hiQgq"),d=c("cNaMA"),h=c("9Ta4i"),tY=c("2P6PH"),tX=(c("hiQgq"),c("hiQgq"));c("9Ta4i");var tX=c("hiQgq"),h=c("9Ta4i"),tJ=Object.create,t0=Object.defineProperty,t1=Object.getOwnPropertyDescriptor,t2=Object.getOwnPropertyNames,t3=Object.getPrototypeOf,t4=Object.prototype.hasOwnProperty,t9=(e,t,n,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of t2(t))t4.call(e,r)||r===n||t0(e,r,{get:()=>t[r],enumerable:!(a=t1(t,r))||a.enumerable});return e},t6=(e,t,n)=>(n=null!=e?tJ(t3(e)):{},t9(!t&&e&&e.__esModule?n:t0(n,"default",{value:e,enumerable:!0}),e)),t8=(e=(e,t)=>{var n=Symbol("baseMap"),a=class{constructor(e){this.value=e}};function r(e){if(!Array.isArray(e))throw TypeError("The keys parameter must be an array")}function o({[n]:e},t,a){for(let n of t){if(!e.has(n)){if(!a)return;e.set(n,new WeakMap)}e=e.get(n)}return e}t.exports=class extends WeakMap{constructor(){super(),this[n]=new WeakMap;let[e]=arguments;if(null!=e){if("function"!=typeof e[Symbol.iterator])throw TypeError(typeof e+" is not iterable (cannot read property Symbol(Symbol.iterator))");for(let[t,n]of e)this.set(t,n)}}set(e,t){return r(e),o(this,e,!0).set(a,t),this}get(e){r(e);let t=o(this,e);return t?t.get(a):void 0}has(e){r(e);let t=o(this,e);return!!t&&t.has(a)}delete(e){r(e);let t=o(this,e);return!!t&&t.delete(a)}get[Symbol.toStringTag](){return"ManyKeysWeakMap"}}},()=>(t||e((t={exports:{}}).exports,t),t.exports)),t5={};((e,t)=>{for(var n in t)t0(e,n,{get:t[n],enumerable:!0})})(t5,{default:()=>nn});var t7=t6(t8());t9(t5,n=t6(t8()),"default"),a&&t9(a,n,"default");var{default:ne,...nt}=t7,nn=void 0!==ne?ne:nt;let na=e=>(0,tX.julia_andrey)().language.parser.parse(e).topNode.firstChild,nr=(e,t=e=>e,n=new Map)=>(...a)=>{let r=t(...a),o=n.get(r);if(null!=o)return o;{let t=e(...a);if(void 0==t)throw Error("Memoized function returned undefined");return n.set(r,t),t}},no=(e,t=(...e)=>e)=>nr(e,t,new nn),ni=e=>nr(e,e=>e,new WeakMap),nl=function*(e){if(e.firstChild())try{do yield e;while(e.nextSibling())}finally{e.parent()}},ns=function*(e){if(e.firstChild){let t=e.firstChild;do yield t;while(t=t.nextSibling)}},nc=(e,t,n,a=!1)=>{if(a){console.group("Current haystack:",e?e.node.name:null),console.groupCollapsed("Details");try{console.log("template:",t),console.log("haystack_cursor:",e?e.node.toString():null),"node"in t?(console.log("template.node:",t.node),console.log("template.node.toString():",t.node.toString())):"pattern"in t&&console.log("template.pattern:",t.pattern)}finally{console.groupEnd()}}try{if("pattern"in t){let r=t.pattern;if("function"!=typeof r)throw Error(`Unknown pattern "${r}"`);let o={};a&&(o={...n},console.groupCollapsed(`Matching against pattern: ${t.pattern.name}()`));let i=null;try{i=r(e,n,a)}finally{a&&console.groupEnd()}if(a){if(i){if(console.log(`\u{2705} because the pattern was happy! All hail the pattern!`),!(0,h.default).isEqual(n,o)){let e=(0,h.default).omit(n,Object.keys(o));console.log(" WE EVEN GOT NEW MATCHES SAY WHAAAAAAT:",e)}}else console.log(`\u{274C} because... well, you should ask the pattern that!`)}return i}if("node"in t){let{node:r,children:o}=t;if(a&&console.log(`Matching against node: ${t.node.name}`),!e){if("end"===r.name)return a&&console.log(`\u{2705} No node left to match, but it was the end anyway`),!0;return a&&console.log(`\u{274C} because no cursor left to match against`),!1}if(e.type.isError)return a&&console.log(`\u{2705} because \u{26A0}`),!0;if(e.name!==r.name)return a&&console.log(`\u{274C} because name mismatch "${e.name}" !== "${r.name}"`),!1;if(e.firstChild())try{let r=!1;for(let t of o){if(r){if(a&&console.log("Haystack is empty, but there are more children in template... lets see"),!nc(null,t,n,a))return a&&console.log(`\u{274C} template child did not accept null for an answer`,t,e.toString()),!1;a&&console.log(`\u{1F44C}\u{1F3FD} This template child was fine with null`);continue}for(;("Comment"===e.name||"BlockComment"===e.name)&&e.nextSibling(););if(!nc(e,t,n,a))return a&&console.log(`\u{274C} because a child mismatch`,t,e.toString()),!1;r=!e.nextSibling()}if(a&&!r){let n=[];do n.push(e.node);while(e.nextSibling())for(let t of n)e.prevSibling();console.warn("We did match all the children of the template, but there are more in the haystack... Might want to actually not match this?",n,t)}return a&&console.log(`\u{2705} because all children match`),!0}finally{e.parent()}else{if(0===t.children.length)return a&&console.log(`\u{2705} Template also has no children, yayyy`),!0;for(let e of(a&&console.log("Haystack node is empty, but template has children... lets see"),t.children))if(!nc(null,e,n,a))return a&&console.log(`\u{274C} because child template wasn't okay with having no children`,e),!1;return a&&console.log(`\u{2705} All template children we're fine with having no children to check on`),!0}}else throw console.log("template:",t),Error("waaaah")}finally{a&&console.groupEnd()}};class nu{constructor(e,t){let n=[],a=[];for(let[r,o]of(n.push(e[0]),(0,h.default).zip(e.slice(1),t)))if(o instanceof nu){for(let[e,t]of(n[n.length-1]+=o.template[0],(0,h.default).zip(o.template.slice(1),o.substitutions)))a.push(t),n.push(e);n[n.length-1]+=r}else a.push(o),n.push(r);this.template=n,this.substitutions=a}}let nd=(e,t)=>{for(let n of t)if(e.from===n.from&&e.to===n.to){n.used=!0;let t=n.generator.next({name:e.name,from:e.from,to:e.to,node:e});if(t.done)return t.value;throw Error("Template generator not done providing ast node")}return{name:e.name,from:e.from,to:e.to,children:Array.from(ns(e)).map(e=>nd(e,t)),node:e}},np=function*(e){if(e instanceof nu){let t="",n=[];for(let[a,r]of(0,h.default).zip(e.template,e.substitutions))if(t+=a,r){let e=np(r),a=nx(e.next());n.push({from:t.length,to:t.length+a.length,generator:e}),t+=a}let a=yield t,r=n.map(e=>({from:e.from+a.from,to:e.to+a.from,generator:e.generator,used:!1})),o=nd(a.node,r),i=r.filter(e=>!e.used).map(e=>({text:t.slice(e.from,e.to),from:e.from,to:e.to}));if(i.length>0)throw Error(`Some substitutions not applied, this means it couldn't be matched to a AST position: ${JSON.stringify(i)}`);return o}if("function"==typeof e)return yield*e();throw console.log("julia_code_object:",e),Error("Unknown substition type")},nm=no((e,...t)=>new nu(e,t)),nh=new WeakMap,ng=(e,...t)=>{let n=nh.get(e);if(null!=n){let{input:e,result:t}=n;return t}{let n=new nu(e,t);return nh.set(e,{input:t,result:n}),n}},nf=ni(e=>{let t=np(e),n=nx(t.next()),a=na(n),r=nS(t.next({from:0,to:n.length,name:a.name,node:a}));return{template_description:r,match(e,t=!1){if("node"in r&&r.node.name!==e.name)return;if(e.type.isError)return null;"cursor"in e&&(e=e.cursor());let n={};t&&console.groupCollapsed(`Starting a match at ${e.name}`);try{return nc(e,r,n,t)?n:null}finally{t&&console.groupEnd()}}}}),n_=ni(e=>{let t=np(e),n=nx(t.next());return t.return(),n});ni(e=>na(n_(e))),ni(e=>(0,tX.Text).of([n_(e)]));let nb=e=>{let t={},n=nr(n=>ni(a=>a===t?e(n,void 0):e(n,a)));return(e,a=t)=>n(e)(a)};function*ny(){return yield"expression",{pattern:function(e,t,n=!1){return e?!e.type.is("keyword")||(n&&console.log("❌ Keywords are not allowed!"),!1):(n&&console.log("❌ I want anything!! YOU GIVE ME NULL???"),!1)}}}const nv={any:ny,many:nb((e,t=ny)=>function*(){let n=np(t),a=yield nx(n.next()),r=null,o=null;return a.node.firstChild&&a.node.from===a.node.firstChild.from&&a.node.to===a.node.firstChild.to?(r=a.node,o=nS(n.next({...a,node:a.node.firstChild}))):o=nS(n.next(a)),{narrowed_node:r,sub_template:o,pattern:function(t,n,a=!1){if(!t)return a&&console.log("✅ Nothing to see here... I'm fine with that - many"),!0;if(r){if(t.name!==r.name)return a&&console.log("❌ Tried to go in, but she wasn't my type - many"),t.prevSibling(),!0;t.firstChild()}try{let r=[];for(;;){if(t.type.isError)return t.prevSibling(),a&&console.log("✋ I don't do errors - many"),!0;let e={};if(!nc(t,o,e,a)){t.prevSibling();break}if(r.push({node:t.node,match:e}),!t.nextSibling())break}return null!=e&&(n[e]=r),!0}finally{r&&t.parent()}}}}),maybe:ni(e=>function*(){let t=yield*np(e);return{sub_template:t,pattern:function(e,n,a=!1){return!e||!!e.type.isError||(!1===nc(e,t,n,a)&&e.prevSibling(),!0)}}}),anything_that_fits:ni(e=>function*(){return yield*np(e),{pattern:function(e,t,n=!1){return!0}}}),something_with_the_same_type_as:ni(e=>function*(){let t=np(e),n=nx(t.next()),a=yield n;return t.return(),{pattern:function(e,t,n=!1){return null!=e&&a.name===e.name}}}),as:nb((e,t=ny)=>function*(){let n=yield*np(t);return{sub_template:n,pattern:function(t,a,r=!1){let o=nc(t,n,a,r);return!0===o&&(a[e]=t?.node),null!=t&&o}}}),Identifier:function*(){return yield"identifier",{pattern:function(e,t,n=!1){return null!=e&&"Identifier"===nE(e)}}},Number:function*(){return yield"69",{pattern:function(e,t,n=!1){return null!=e&&"Number"===nE(e)}}},String:function*(){return yield'"A113"',{pattern:function(e,t,n=!1){return null!=e&&("StringWithoutInterpolation"===nE(e)||"TripleStringWithoutInterpolation"===nE(e))}}}};let nw=no((e,t)=>{let n=np(e),a=na(nx(n.next())),r=null;if(r=t.match(a)){let{content:e}=r,t=[];for(;e.firstChild&&e.firstChild.from==e.from&&e.firstChild.to==e.to;)t.push(e.type),e=e.firstChild;if(null==e)throw console.log("match:",r),Error("No content match?");let o=nS(n.next({name:e.name,node:e,from:a.from,to:a.to}));return{possible_parents:t,template_description:o,match(e,n=!1){if(e.type.isError)return n&&console.log(`\u{274C} Short circuiting because haystack(${e.name}) is an error`),!1;"cursor"in e&&(e=e.cursor());let a=0;for(let r of t)if(e.type===r){let t=e.from,o=e.to;if(e.firstChild()){if(e.from===t&&e.to===o)n&&console.log(`\u{2705} Matched parent, going one level deeper (${r})`),a++;else{e.parent(),n&&console.log(`\u{274C} Was matching possible parent (${r}), but it wasn't filling?! That's weird.... ${e.toString()}`);for(let t=0;te.firstChild&&e.firstChild.from===e.from&&e.firstChild.to===e.to?nk(e.firstChild):e,nE=e=>{let t=e.from,n=e.to;if(e.firstChild())try{if(e.from===t&&e.to===n)return nE(e)}finally{e.parent()}return e.name},n$=e=>t=>{let n=nf(e(nv.as("content",t)));return nw(e(t),n)},nx=e=>{if(!e.done)return e.value;throw Error("Expected `yield`-d value, but got `return`")},nS=e=>{if(e.done)return e.value;throw Error("Expected `yield`-d value, but got `return`")},nN=(e,t)=>{if(e===t)return e;let n=[...e.usages,...t.usages],a=new Map(e.definitions);for(let[e,n]of t.definitions)a.set(e,n);return{usages:n,definitions:a,locals:[...e.locals,...t.locals]}},nC=function*(e){for(let t of nl(e))if("InterpolationExpression"===t.name)yield e;else if("QuoteExpression"===t.name||"QuoteStatement"===t.name)for(let e of nC(t))yield*nC(e);else yield*nC(t)},nA=function*(e){if("QuoteExpression"!==e.name&&"QuoteStatement"!==e.name)throw Error("Expected QuotedExpression or QuoteStatement");yield*nC(e)},nM=e=>{let t=n$(e);return function(e,n=!1){return null==e?(e,...n)=>t(ng(e,...n)):function(a,...r){return t(ng(a,...r)).match(e,n)}}},nO=nM(e=>nm`[i for i in i ${e}]`),nT=nM(e=>nm`${e} = nothing`),nD=nM(e=>nm`function f(${e}) end`),nR=nM(e=>nm`f(${e})`),nL=nM(e=>nm`f(; ${e})`),nI=(e,t,n,a=!1)=>{let r=null;if(r=nR(e)`; ${nv.many("named_args")}`){let{named_args:e=[]}=r;for(let{node:r}of e)n=nI(r,t,n,a);return n}if(r=nD(e)`${nv.Identifier}`)return nH(n,t,e);if(r=nD(e)`${nv.as("subject")}...`)return nP(r.subject,t,n,null,a);if(r=nD(e)`${nv.as("name")} = ${nv.as("value")}`){let{name:e,value:o}=r;return n=nP(e,t,n,o.to,a),n=nW(o.cursor(),t,n,a)}{if(!((r=nD(e)`${nv.as("name")}::${nv.as("type")}`)??(r=nD(e)`${nv.as("name")}:`)??(r=nD(e)`::${nv.as("type")}`)))return n=nP(e,t,n),a&&console.warn("UNKNOWN FUNCTION DEFINITION ARGUMENT:",e.toString()),n;let{name:o,type:i}=r;return o&&(n=nP(o,t,n,i.to,a)),i&&(n=nW(i.cursor(),t,n,a)),n}},nP=(e,t,n,a=null,r=!1)=>{let o=null;r&&console.group("Explorering pattern:",e.toString());try{if(o=nT(e)`${nv.Identifier}`)return r&&console.log("It's an identifier, adding it to the scope"),nH(n,t,e,a);if(o=nT(e)`${nv.as("object")}::${nv.as("type")}`){let{object:e,type:a}=o;return n=nW(a.cursor(),t,n,r),n=nH(n,t,e)}if(o=nT(e)`${nv.as("subject")}...`)return nP(o.subject,t,n,a,r);if(o=nD(e)`${nv.as("name")} = ${nv.as("value")}`){let{name:e,value:a}=o;return n=nP(e,t,n,a.from,r),n=nW(a.cursor(),t,n,r)}else if(o=nT(e)`(; ${nv.many("named_tuples")})`){let{named_tuples:e}=o;for(let o of e)n=nP(o.node.cursor(),t,n,a,r);return n}else if((o=nT(e)`${nv.as("first")}, ${nv.many("rest")}`)??(o=nT(e)`(${nv.as("first")}, ${nv.many("rest")})`)){for(let{node:e}of[{node:o.first},...o.rest??[]])n=nP(e.cursor(),t,n,a,r);return n}else if(o=nB(e)`${nv.as("prefix")}${nv.as("string",nv.String)}`){let{prefix:a,string:i}=o,l=t.sliceString(a.from,a.to);if("var"===l){let a=t.sliceString(i.from+1,i.to-1);0!==a.length&&n.definitions.set(a,{from:e.from,to:e.to,valid_from:e.to})}else n=nW("cursor"in e?e.cursor():e,t,n,r);return n}else if(o=nT(e)`${nv.as("object")}[${nv.as("property")}]`){let{object:e,property:a}=o;return n=nW(e.cursor(),t,n,r),a&&(n=nW(a.cursor(),t,n,r)),n}else{if(!(o=nT(e)`${nv.as("object")}.${nv.as("property")}`))return r&&console.warn("UNKNOWN PATTERN:",e.toString(),t.sliceString(e.from,e.to)),n;let{object:a,property:i}=o;return n=nW(a.cursor(),t,n,r)}}finally{r&&console.groupEnd()}},nj=function(e,t,n,a=!1){let r=null;if("Definition"===e.name&&e.firstChild())try{return nj(e,t,n)}finally{e.parent()}else if("Identifier"===e.name)return{inner:nH(n,t,e),outer:nH(nF(),t,e)};else if(r=nB(e)`${nv.as("subject")}{ ${nv.many("parameters")} }`){let{subject:e,parameters:a}=r,o=nF();if(e){let a=nj(e.cursor(),t,n);o=a.outer,n=a.inner}for(let{node:e}of a){let{inner:a}=nj(e.cursor(),t,n);n=a}return{inner:n,outer:o}}else{if(!(r=nB(e)`${nv.as("subject")} <: ${nv.maybe(nv.as("type"))}`))return a&&console.warn(`Unknown thing in definition: "${t.sliceString(e.from,e.to)}", "${e.toString()}"`),{inner:n,outer:nF()};let{subject:o,type:i}=r,l=nF();return o&&({outer:l,inner:n}=nj(o.cursor(),t,n)),i&&(n=nW(i.cursor(),t,n)),{inner:n,outer:l}}},nB=function(e,t=!1){return null==e?(e,...t)=>nf(ng(e,...t)):function(n,...a){return nf(ng(n,...a)).match(e,t)}},nU=(e,t,n,a=!1)=>{let r=null,o=nM(e=>nm`${e} x y z`);if(r=o(e)`${nv.as("macro",ng`@${nv.any}`)}`){let{macro:e}=r,a=t.sliceString(e.from,e.to);return n.usages.push({usage:e,definition:n.definitions.get(a)??null,name:a}),n}if(r=o(e)`${nv.as("object")}.@${nv.as("macro")}`){let{object:e}=r,a=t.sliceString(e.from,e.to);return n.usages.push({usage:e,definition:n.definitions.get(a)??null,name:a}),n}if(!(r=o(e)`@${nv.as("object")}.${nv.as("macro")}`))return a&&console.warn("Mwep mweeeep",e.toString()),n;{let{object:e}=r,a=t.sliceString(e.from,e.to);return n.usages.push({usage:e,definition:n.definitions.get(a)??null,name:a}),n}},nF=()=>({usages:[],definitions:new Map,locals:[]}),nz=e=>({usages:[],definitions:new Map(e.definitions),locals:[]}),nq=(e,t,n)=>({usages:[...t.usages,...e.usages],definitions:t.definitions,locals:[]}),nH=(e,t,n,a=null)=>(a=null===a?n.to:a,e.definitions.set(t.sliceString(n.from,n.to),{from:n.from,to:n.to,valid_from:a}),e),nW=(e,t,n={usages:[],definitions:new Map,locals:[]},a=!1)=>{if("cursor"in e&&(e=e.cursor()),a){console.group(`Explorer: ${e.name}`),console.groupCollapsed("Details");try{console.log(`Full tree: ${e.toString()}`),console.log("Full text:",t.sliceString(e.from,e.to)),console.log("scopestate:",n)}finally{console.groupEnd()}e.node}try{let r=null;if(e.type.is("keyword")||"SourceFile"===e.name||"BooleanLiteral"===e.name||"Character"===e.name||"String"===e.name||"Number"===e.name||"Comment"===e.name||"BinaryExpression"===e.name||"Operator"===e.name||"MacroArgumentList"===e.name||"ReturnStatement"===e.name||"BareTupleExpression"===e.name||"ParenthesizedExpression"===e.name||"Type"===e.name||"InterpolationExpression"===e.name||"SpreadExpression"===e.name||"CompoundExpression"===e.name||"ParameterizedIdentifier"===e.name||"TypeArgumentList"===e.name||"TernaryExpression"===e.name||"Coefficient"===e.name||"TripleString"===e.name||"RangeExpression"===e.name||"SubscriptExpression"===e.name||"UnaryExpression"===e.name||"ConstStatement"===e.name||"GlobalStatement"===e.name||"ContinueStatement"===e.name||"MatrixExpression"===e.name||"MatrixRow"===e.name||"ArrayExpression"===e.name){for(let r of nl(e))n=nW(r,t,n,a);return n}if("Identifier"===e.name||"MacroIdentifier"===e.name){let a=t.sliceString(e.from,e.to);return n.usages.push({name:a,usage:{from:e.from,to:e.to},definition:n.definitions.get(a)??null}),n}if(r=nB(e)`:${nv.any}`)return n;if(r=nB(e)`${nv.Number}`)return n;if(r=nB(e)`${nv.String}`)return n;else if(r=nB(e)`${nv.as("object")}.${nv.as("property")}`){let{object:e,property:o}=r;return e&&(n=nW(e.cursor(),t,n,a)),n}else if(r=nB(e)`${nv.as("assignee")} = ${nv.maybe(nv.as("value"))}`){let{assignee:e,value:o}=r;return o&&(n=nW(o.cursor(),t,n,a)),e&&(n=nP(e.cursor(),t,n,o?.to??null,a)),n}else if(r=nB(e)` + ${nv.as("macro",nv.anything_that_fits(ng`@macro`))}(${nv.many("args")}) ${nv.maybe(ng`do ${nv.maybe(nv.many("do_args"))} + ${nv.many("do_expressions")} + end`)}} + `){let{macro:o,args:i=[],do_args:l,do_expressions:s}=r;for(let{node:e}of(o&&nU(o.cursor(),t,n,a),i))if(r=nR(e)`${nv.as("name")} = ${nv.as("value")}`){let{name:e,value:o}=r;o&&(n=nW(o.cursor(),t,n,a))}else n=nW(e.cursor(),t,n,a);if(l&&s){let r=nz(n),o=l.firstChild;if(o?.name==="Identifier")r=nH(r,t,o);else if(o?.name==="ArgumentList")for(let e of ns(o))r=nI(e,t,r);else if(o?.name==="BareTupleExpression")for(let e of ns(o))r=nI(e,t,r);else a&&console.warn("Unrecognized do args",o.toString());for(let{node:e}of s)r=nW(e.cursor(),t,r,a);return nq(r,n,e.to)}return n}else if(r=nB(e)`${nv.as("macro",nv.anything_that_fits(ng`@macro`))} ${nv.many("args")}`){let{macro:e,args:o=[]}=r;for(let{node:r}of(e&&nU(e.cursor(),t,n,a),o))n=nW(r.cursor(),t,n,a);return n}else if((r=nB(e)` + struct ${nv.as("defined_as")} + ${nv.many("expressions")} + end + `)??(r=nB(e)` + mutable struct ${nv.as("defined_as")} + ${nv.many("expressions")} + end + `)){let{defined_as:o,expressions:i=[]}=r;o=nk(o);let l=nz(n),s=nF();for(let{node:n}of(o&&({inner:l,outer:s}=nj(o.cursor(),t,l)),i))if("Identifier"===e.name);else if(r=nB(n)`${nv.as("subject")}::${nv.as("type")}`){let{subject:e,type:n}=r;l=nW(n.cursor(),t,l,a)}else if(r=nB(n)`${nv.as("assignee")} = ${nv.as("value")}`){let{assignee:e,value:n}=r;if(r=nB(e)`${nv.as("subject")}::${nv.as("type")}`){let{subject:e,type:n}=r;l=nW(n.cursor(),t,l,a)}l=nW(n.cursor(),t,l,a)}return n=nq(l,n,e.to),n=nN(n,s)}else if(r=nB(e)`abstract type ${nv.as("name")} end`){let{name:e}=r;if(e){let{outer:a}=nj(e.cursor(),t,n);n=nN(n,a)}return n}else if((r=nB(e)`quote ${nv.many("body")} end`)??(r=nB(e)`:(${nv.many("body")})`)){for(let r of nA(e))n=nW(r,t,n,a);return n}else if(r=nB(e)` + module ${nv.as("name")} + ${nv.many("expressions")} + end + `){let{name:e,expressions:a=[]}=r;e&&(n=nH(n,t,e));let o=nF();for(let{node:e}of a)o=nW(e.cursor(),t,o);for(let{node:e}of(n=nN(n,{usages:Array.from(o.usages).filter(e=>null!=e.definition),definitions:new Map,locals:[]}),a))n=nW(e.cursor(),t,n);return n}else if(r=nB(e)`${nv.as("prefix")}${nv.as("string",nv.String)}`){let{prefix:a,string:o}=r,i=t.sliceString(a.from,a.to);if("var"===i){let a=t.sliceString(o.from+1,o.to-1);0!==a.length&&n.usages.push({name:a,usage:{from:e.from,to:e.to},definition:n.definitions.get(a)??null})}else{let e=`@${i}_str`;n.usages.push({name:e,usage:{from:a.from,to:a.to},definition:n.definitions.get(e)??null})}return n}else if(r=nB(e)`${nv.Number}${nv.as("unit")}`)return nW(r.unit.cursor(),t,n,a);else if((r=nB(e)`import ${nv.any}: ${nv.many("specifiers")}`)??(r=nB(e)`using ${nv.any}: ${nv.many("specifiers")}`)){let{specifiers:e=[]}=r,o=nM(e=>nm`import X: ${e}`);for(let{node:i}of e)if(r=o(i)`${nv.as("name")} as ${nv.as("alias")}`){let{alias:e}=r;n=nH(n,t,e)}else if(r=o(i)`${nv.as("name",nv.Identifier)}`){let{name:e}=r;n=nH(n,t,e)}else(r=o(i)`@${nv.any}`)?n=nH(n,t,i):a&&console.warn("Hmmmm, I don't know what to do with this selected import specifier:",i.toString());return n}else if(r=nB(e)`import ${nv.many("specifiers")}`){let{specifiers:e=[]}=r,o=nM(e=>nm`import ${e}`);for(let{node:i}of e)if(r=o(i)`${nv.any} as ${nv.as("alias")}`){let{alias:e}=r;n=nH(n,t,e)}else if(r=o(i)`${nv.as("package")}.${nv.as("name",nv.Identifier)}`)n=nH(n,t,r.name);else if(r=o(i)`.${nv.as("scoped")}`){let e=null;for(;e=o(r.scoped)`.${nv.as("scoped")}`;)r=e;n=nH(n,t,r.scoped)}else(r=o(i)`${nv.as("name",nv.Identifier)}`)?n=nH(n,t,r.name):a&&console.warn("Hmmm, I don't know what to do with this import specifier:",i);return n}else if(r=nB(e)`using ${nv.many()}`)return n;else if(r=nB(e)` + for ${nv.many("bindings",nv.something_with_the_same_type_as(ng`x in y`))}; + ${nv.many("expressions")} + end + `){let o=n$(e=>nm`for ${e}; x end`),i=e=>(...t)=>o(ng(...t)).match(e),{bindings:l,expressions:s}=r,c=nz(n);for(let{node:e}of l){let n=null;if((n=i(e)`${nv.as("name")} in ${nv.as("range")}`)??(n=i(e)`${nv.as("name")} ∈ ${nv.as("range")}`)??(n=i(e)`${nv.as("name")} = ${nv.as("range")}`)){let{name:e,range:r}=n;r&&(c=nW(r.cursor(),t,c,a)),e&&(c=nP(e,t,c,r?.to??null,a))}else a&&console.warn("Unrecognized for loop binding",e.toString())}for(let{node:e}of s)c=nW(e.cursor(),t,c,a);return nq(c,n,e.to)}else if((r=nB(e)` + ${nv.as("callee")}(${nv.many("args")}) ${nv.maybe(ng`do ${nv.maybe(nv.many("do_args"))} + ${nv.many("do_expressions")} + end`)} + `)??(r=nB(e)` + ${nv.as("callee")}.(${nv.many("args")}) + `)){let{callee:o,args:i=[],do_args:l=[],do_expressions:s=[]}=r;for(let{node:r}of(n=nW(o.cursor(),t,n,a),i)){let o=null;if(o=nR(r)`; ${nv.many("named_args")}`){let{named_args:e=[]}=o;for(let{node:r}of e){let e=null;if(e=nL(r)`${nv.as("name")} = ${nv.as("value")}`){let{name:r,value:o}=e;n=nW(o.cursor(),t,n,a)}else n=nW(r.cursor(),t,n,a)}}else if(o=nR(r)`${nv.as("name")} = ${nv.as("value")}`){let{name:e,value:r}=o;r&&(n=nW(r.cursor(),t,n,a))}else if(o=nR(r)`${nv.as("result")} ${nv.many("clauses",nv.anything_that_fits(ng`for x = y`))}`){let{result:r,clauses:i}=o,l=nz(n);for(let{node:e}of i){let n=null;if((n=nO(e)`for ${nv.as("variable")} = ${nv.maybe(nv.as("value"))}`)??(n=nO(e)`for ${nv.as("variable")} in ${nv.maybe(nv.as("value"))}`)??(n=nO(e)`for ${nv.as("variable")} ∈ ${nv.maybe(nv.as("value"))}`)??(n=nO(e)`for ${nv.as("variable")}`)){let{variable:e,value:r}=n;r&&(l=nW(r.cursor(),t,l,a)),e&&(l=nP(e,t,l))}else if(n=nO(e)`if ${nv.maybe(nv.as("if"))}`){let{if:e}=n;e&&(l=nW(e.cursor(),t,l,a))}else a&&console.log("Hmmm, can't parse for binding",e)}return l=nW(r.cursor(),t,l,a),nq(l,n,e.to)}else n=nW(r.cursor(),t,n,a)}let c=nz(n);for(let{node:e}of l)c=nI(e,t,c);for(let{node:e}of s)c=nW(e.cursor(),t,c,a);return nq(c,n,e.to)}else if(r=nB(e)`(${nv.many("tuple_elements")},)`){let{tuple_elements:o=[]}=r,i=nM(e=>nm`(${e},)`),l=o.map(({node:t})=>i(e)`${nv.Identifier} = ${nv.any}`!=null);if(l.every(e=>!0===e)||l.every(e=>!1===e))for(let{node:r}of o){let o=null;if(o=i(e)`${nv.as("name")} = ${nv.as("value")}`){let{name:e,value:r}=o;r&&(n=nW(r.cursor(),t,n,a))}else n=nW(r.cursor(),t,n,a)}else for(let{node:r}of o){let o=null;if(o=i(e)`${nv.as("name")} = ${nv.as("value")}`){let{name:e,value:r}=o;r&&(n=nW(r.cursor(),t,n,a)),e&&(n=nH(n,t,e,r?.to??null))}else n=nW(r.cursor(),t,n,a)}return n}else if((r=nB(e)`(${nv.many("args")}) -> ${nv.many("body")}`)??(r=nB(e)`${nv.as("arg")} -> ${nv.many("body")}`)??(r=nB(e)`${nv.as("name")}(${nv.many("args")})::${nv.as("return_type")} = ${nv.many("body")}`)??(r=nB(e)`${nv.as("name")}(${nv.many("args")}) = ${nv.many("body")}`)??(r=nB(e)`${nv.as("name")}(${nv.many("args")}) = ${nv.many("body",nv.anything_that_fits(ng`x, y`))}`)??(r=nB(e)` + function ${nv.as("name")}(${nv.many("args")})::${nv.as("return_type")} where ${nv.as("type_param")} + ${nv.many("body")} + end + `)??(r=nB(e)` + function ${nv.as("name")}(${nv.many("args")}) where ${nv.as("type_param")} + ${nv.many("body")} + end + `)??(r=nB(e)` + function ${nv.as("name")}(${nv.many("args")})::${nv.as("return_type")} + ${nv.many("body")} + end + `)??(r=nB(e)` + function ${nv.as("name")}(${nv.many("args")}) + ${nv.many("body")} + end + `)??(r=nB(e)` + function ${nv.as("name",nv.Identifier)} end + `)??(r=nB(e)`macro ${nv.as("macro_name")} end`)??(r=nB(e)` + macro ${nv.as("macro_name")}(${nv.many("args")}) + ${nv.many("body")} + end + `)){let{name:o,macro_name:i,arg:l,args:s=[],return_type:c,type_param:u,body:d=[]}=r;l&&s.push({node:l}),o?n=nH(n,t,o):i&&n.definitions.set(`@${t.sliceString(i.from,i.to)}`,{from:i.from,to:i.to,valid_from:i.to});let p=nz(n);if(u){let e=nM(e=>nm`function X() where ${e} end`),n=nM(e=>nm`function X() where {${e}} end`),r=[{node:u}],o=e(u)`{${nv.many("type_params")}}`;for(let{node:e}of(o&&(r=o.type_params),r)){let r=null;if(r=n(e)`${nv.as("defined",nv.Identifier)} <: ${nv.as("parent_type")}`){let{defined:e,parent_type:n}=r;p=nW(n,t,p,a),p=nH(p,t,e)}else if(r=n(e)`${nv.as("defined",nv.Identifier)}`){let{defined:e}=r;p=nH(p,t,e)}else a&&console.warn("Can't handle type param:",e)}}for(let{node:e}of(c&&(p=nW(nk(c).cursor(),t,p,a)),s))p=nI(e.cursor(),t,p,a);for(let{node:e}of d)p=nW(e.cursor(),t,p,a);return nq(p,n,e.to)}else if(r=nB(e)` + let ${nv.many("assignments",ng`${nv.as("assignee")} = ${nv.as("value")}`)} + ${nv.many("body",nv.any)} + end + `){let{assignments:o=[],body:i=[]}=r,l=nz(n);for(let{match:{assignee:e,value:r}}of o)e&&(l=nP(e,t,l,r?.to??null,a)),r&&(n=nW(r.cursor(),t,n,a));for(let{node:e}of i)l=nW(e.cursor(),t,l,a);return nq(l,n,e.to)}else if((r=nB(e)`[ + ${nv.as("result")} + ${nv.many("clauses",nv.anything_that_fits(ng`for x = y`))} + ]`)??(r=nB(e)`(${nv.as("result")} ${nv.many("clauses",nv.anything_that_fits(ng`for x = y`))})`)){let{result:o,clauses:i}=r,l=nz(n);for(let{node:e}of i){let n=null;if((n=nO(e)`for ${nv.as("variable")} = ${nv.maybe(nv.as("value"))}`)??(n=nO(e)`for ${nv.as("variable")} in ${nv.maybe(nv.as("value"))}`)??(n=nO(e)`for ${nv.as("variable")} ∈ ${nv.maybe(nv.as("value"))}`)??(n=nO(e)`for ${nv.as("variable")}`)){let{variable:e,value:r}=n;r&&(l=nW(r.cursor(),t,l,a)),e&&(l=nP(e,t,l))}else if(n=nO(e)`if ${nv.maybe(nv.as("if"))}`){let{if:e}=n;e&&(l=nW(e.cursor(),t,l,a))}else a&&console.warn("Hmmm, can't parse for binding",e)}return l=nW(o.cursor(),t,l,a),nq(l,n,e.to)}else{for(let r of(a&&(console.groupCollapsed("Cycling through all children of",e.name),console.log("text:",t.sliceString(e.from,e.to)),console.groupEnd()),nl(e)))n=nW(r,t,n,a);return n}}finally{a&&console.groupEnd()}},nG=(0,tX.StateField).define({create(e){try{let t=(0,tX.syntaxTree)(e).cursor();return nW(t,e.doc,void 0)}catch(e){return console.error("Something went wrong while parsing variables...",e),{usages:[],definitions:new Map,locals:[]}}},update(e,t){try{if((0,tX.syntaxTree)(t.state)==(0,tX.syntaxTree)(t.startState))return e;{let e=(0,tX.syntaxTree)(t.state).cursor();return nW(e,t.state.doc)}}catch(e){return console.error("Something went wrong while parsing variables...",e),{usages:[],definitions:new Map,locals:[]}}}}),nK=e=>"SubscriptExpression"===e.name||"FieldExpression"===e.name?(e.firstChild(),nK(e)):"Identifier"===e.name?(e.firstChild(),e.node):null,nZ=["Identifier","FieldExpression","SubscriptExpression","MacroFieldExpression","MacroIdentifier","Operator","Definition","ParameterizedIdentifier"],nV=["import","export","try","catch","finally","quote","do","struct","mutable","module","baremodule","if","let"],nQ=e=>{if(nV.includes(e.name))return!0;if(!nZ.includes(e.name))return!1;if(!e.firstChild())return!0;do{if("Number"===e.name||"TypeArgumentList"===e.name||"FieldName"===e.name||"MacroName"===e.name||"MacroFieldName"===e.name)continue;if(!nQ(e))return!1}while(e.nextSibling())return e.parent(),!0},nX=(e,t=!1)=>{let n=e.selection.main,a=e.field(nG);if(n.from!==n.to)return e.doc.sliceString(n.from,n.to).trim();{let r=e.doc.lineAt(n.from).text;if("?"===r[0])return r.slice(1);let o=(0,tX.syntaxTree)(e).cursor();t&&console.log("Full tree:",o.toString()),o.moveTo(n.to,-1);let i=0;do{t&&console.group(`Iteration #${i}`);try{if(t&&console.log("cursor",o.toString()),i>100){console.group("Infinite loop while checking docs"),console.log("Selection:",n,e.doc.sliceString(n.from,n.to).trim()),console.log("Current node:",o.name,e.doc.sliceString(o.from,o.to).trim()),console.groupEnd();break}i+=1;let r=o.node.cursor(),l=[];for(;r.parent();)l.push(r.name);let s=o.node.parent;if(null==s)break;t&&console.log("parents:",l);let c=l.indexOf("StructDefinition");if(-1!==c){if(l.includes("AssignmentExpression")&&l.indexOf("AssignmentExpression")=o.to)return e.doc.sliceString(t.from,t.to)}else{if("struct"!==o.name&&"mutable"!==o.name)return;if(o.parent(),o.firstChild(),"struct"===o.name)return"struct";if("mutable"===o.name&&(o.nextSibling(),"struct"===o.name))return"mutable struct";return}}if("AbstractDefinition"===o.name)return"abstract type";if("CallExpression"===o.name)return o.firstChild(),nQ(o)?e.doc.sliceString(o.from,o.to):void 0;if(("Operator"===o.name||"⚠"===o.name||"Identifier"===o.name)&&"QuoteExpression"===s.name&&"FieldExpression"===s.parent.name)return e.sliceDoc(s.parent.from,s.parent.to);if("ParameterizedIdentifier"===o.name)return o.firstChild(),nQ(o)?e.doc.sliceString(o.from,o.to):void 0;if("Identifier"===o.name&&"Prefix"===s.name)continue;if("PrefixedString"===o.name){o.firstChild();let t=e.doc.sliceString(o.from,o.to);return`${t}"`}if("Identifier"===o.name&&"TypedExpression"===s.name)return o.parent(),o.lastChild(),nQ(o)?e.doc.sliceString(o.from,o.to):void 0;if("TypedExpression"===o.name)return o.lastChild(),nQ(o)?e.doc.sliceString(o.from,o.to):void 0;if("SpreadExpression"===o.name)return"...";if(s.to===o.to&&nZ.includes(o.name)&&nZ.includes(s.name)||"Identifier"===o.name&&"NamedField"===s.name&&s.lastChild.from!=o.from&&s.lastChild.to!=o.to)continue;if("AssignmentExpression"===o.name){let t=o.node.firstChild.to,n=o.node.lastChild.from;return e.doc.sliceString(t,n).trim()}if("ArgumentList"===o.name||"Identifier"===o.name&&"ArgumentList"===s.name&&("FunctionAssignmentExpression"===s.parent.parent.name||"FunctionDefinition"===s.parent.name)||"Identifier"===o.name&&"Symbol"===s.name)continue;if("FunctionDefinition"===o.name)return o.firstChild(),o.nextSibling(),nQ(o)?e.doc.sliceString(o.from,o.to):void 0;if("FunctionAssignmentExpression"===o.name)return o.firstChild(),nQ(o)?e.doc.sliceString(o.from,o.to):void 0;if("Identifier"===o.name&&"MacroIdentifier"===s.name)continue;if("MacroExpression"===o.name)return o.firstChild(),e.doc.sliceString(o.from,o.to);if("BinaryExpression"===o.name){let t=o.node.firstChild.to,n=o.node.lastChild.from;return e.doc.sliceString(t,n).trim()}if("TernaryExpression"===o.name)return"??:";if(nZ.includes(o.name)||nV.includes(o.name)){if(!nQ(o))return;let t=nK(o.node.cursor);if(null==t)return e.doc.sliceString(o.from,o.to);let n=a.usages.find(e=>e.usage.from===t.from&&e.usage.to===t.to);if(n?.definition==null)return e.doc.sliceString(o.from,o.to)}if("FunctionDefinition"===s.name||"AssignmentExpression"===s.name)return}finally{t&&console.groupEnd()}}while(o.parent())}};var tX=c("hiQgq"),M=c("kjWx8"),h=c("9Ta4i");let nY=(e,{scopestate:t,global_definitions:n})=>(0,tX.Decoration).set(nJ(t.usages.map(({definition:e,usage:t,name:a})=>null!=e?(0,tX.Decoration).mark({tagName:"a",attributes:{title:`${M.ctrl_or_cmd_name}-Click to jump to the definition of ${a}.`,"data-cell-variable":a,"data-cell-variable-from":`${e.from}`,"data-cell-variable-to":`${e.to}`,href:"#"}}).range(t.from,t.to):n[a]?(0,tX.Decoration).mark({tagName:"a",attributes:{title:`${M.ctrl_or_cmd_name}-Click to jump to the definition of ${a}.`,"data-pluto-variable":a,href:`#${a}`}}).range(t.from,t.to):null)),!0);const nJ=e=>e.filter(e=>null!=e),n0=(0,tX.Facet).define({combine:e=>e[0],compare:h.default.isEqual}),n1=(0,tX.ViewPlugin).fromClass(class{constructor(e){let t=e.state.facet(n0);this.decorations=nY(e.state,{scopestate:e.state.field(nG),global_definitions:t})}update(e){let t=e.state.facet(n0);(e.docChanged||e.viewportChanged||t!==e.startState.facet(n0))&&(this.decorations=nY(e.state,{scopestate:e.state.field(nG),global_definitions:t}))}},{decorations:e=>e.decorations,eventHandlers:{click:(e,t)=>{if(e.target instanceof Element){let n=e.target.closest("[data-pluto-variable]");if(n){let a=n.getAttribute("data-pluto-variable");if(null==a||!((0,M.has_ctrl_or_cmd_pressed)(e)||t.state.readOnly))return!1;e.preventDefault();let r=`[id='${encodeURI(a)}']`;document.querySelector(r)?.scrollIntoView({behavior:"smooth",block:"center"});let o=t.state.facet(n0);if(o[a])return window.dispatchEvent(new CustomEvent("cell_focus",{detail:{cell_id:o[a],line:0,definition_of:a}})),!0}let a=e.target.closest("[data-cell-variable]");if(a){let n=a.getAttribute("data-cell-variable"),r=Number(a.getAttribute("data-cell-variable-from")),o=Number(a.getAttribute("data-cell-variable-to"));return!!(null!=n&&null!=r&&null!=o&&((0,M.has_ctrl_or_cmd_pressed)(e)||t.state.readOnly))&&(e.preventDefault(),t.dispatch({scrollIntoView:!0,selection:{anchor:r,head:o}}),t.focus(),!0)}}}}});var tX=c("hiQgq");c("9Ta4i");var tX=c("hiQgq");const n2=tX.htmlLanguage.parser,n3=(0,tX.markdownLanguage).parser.configure((0,tX.parseCode)({htmlParser:n2})),n4=tX.PostgreSQL.language.parser,n9=(0,tX.sql)({dialect:tX.PostgreSQL}),n6=tX.pythonLanguage.parser,n8=["md","mermaid","cm","markdown","mdx","mdl","markdownliteral"].flatMap(e=>[e,`@${e}`]),n5=(e,t)=>e.flatMap(({from:e,to:n})=>{let a=t.read(e,n),r=[],o=e;for(let{index:t}of a.matchAll(/\\\$/g)){let n=e+t;o!==n&&r.push({from:o,to:n}),o=n+1}return o!==n&&r.push({from:o,to:n}),r}),n7=new Set(["TripleString","String","CommandString","TripleStringWithoutInterpolation","StringWithoutInterpolation","CommandStringWithoutInterpolation"]),ae=(0,tX.parseMixed)((e,t)=>{if(!n7.has(e.type.name))return null;let n="TripleString"===e.name||"TripleStringWithoutInterpolation"===e.name?3:1,a=e.from+n,r=Math.min(e.to-n,t.length);if(a>=r)return null;let o=e.node?.prevSibling||e.node?.parent?.prevSibling;if(null==o||"MacroIdentifier"!==o.name&&"Prefix"!==o.name)return null;let i="MacroIdentifier"===o.name,l=t.read(o.from,o.to),s=null;if("@htl"===l||"html"===l)s=n2;else if(n8.includes(l))s=n3;else if("@javascript"===l||"@js"===l||"js"===l||"javascript"===l)s=tX.javascriptLanguage.parser;else if("py"===l||"pyr"===l||"python"===l||"@python"===l)s=n6;else{if("sql"!==l)return null;s=n4}let c=[];if(null!=e.node.firstChild){let t=a,n=e.node.firstChild.cursor();do t!==n.from&&c.push({from:t,to:n.from}),t=n.to;while(n.nextSibling())t{let t=(0,tX.julia_andrey)(e);return t.language.parser=t.language.parser.configure({wrap:ae}),t};var tX=c("hiQgq"),h=c("9Ta4i"),tX=c("hiQgq"),x=c("aN0pg");let{autocompletion:an,completionKeymap:aa,completionStatus:ar,acceptCompletion:ao,selectedCompletion:ai}=tX.autocomplete;const al=an()[1],as=[{key:"Tab",run:e=>{if(ao(e))return!0;if(e.state.readOnly)return!1;let t=e.state.selection.main;if(!t.empty)return!1;let n=e.state.sliceDoc(t.from-1,t.from),a=e.state.sliceDoc(e.state.doc.lineAt(t.from).from,t.from);return!" \n=".includes(n)&&(")"!==n||!!a.includes("?"))&&(0,tX.autocomplete).startCompletion(e)}},{key:"?",run:e=>null!=(0,tX.autocomplete).completionStatus(e.state)&&(tl("docs"),!0)}];let ac=e=>(0,tX.EditorView).updateListener.of(t=>{if(null==ai(t.state))return;let n=t.state.field(al,!1),a=n?.open;if(null==a)return;let r=a.options[a.selected],o=r.completion.apply??r.completion.label;if("string"!=typeof o)return;let i=t.view.state.field(al).active.find(e=>e.source==r.source);if(i?.hasResult?.()!==!0)return;let l=i.from,s=Math.min(i.to,t.state.doc.length),c=nX(t.state.update({changes:{from:l,to:s,insert:o}}).state);null!=c&&e(c)});const au=e=>e.matchBefore(/\\[\d\w_\^:]*/),ad=e=>e.matchBefore(/\.\:[^\s"'`()\[\]\{\}\.\,=]*/);let ap=e=>/^[@\p{L}\p{Sc}\d_][\p{L}\p{Nl}\p{Sc}\d_!]*"?$/u.test(e)?null:":"===e?`:(${e})`:`:${e}`;const am={name:"Suggestions",header:()=>document.createElement("div"),rank:0},ah={name:"Operators",rank:1},ag=(e,t)=>3*t+(/^\p{Ll}/u.test(e)?2:/^\p{Lu}/u.test(e)?1:0),af=e=>["."],a_=/^(.*\s)?(baremodule|begin|break|catch|const|continue|do|else|elseif|end|export|false|finally|for|function|global|if|import|let|local|macro|module|quote|return|struct|true|try|using|while)$/,ab=e=>/[\p{L}\p{Nl}\p{Sc}\d_!]*$/u.test(e)&&!a_.test(e),ay=e=>async t=>{if(au(t)||!t.explicit&&aw(t)||!t.explicit&&null!=t.tokenBefore(["Number","Comment","String","TripleString","Symbol"]))return null;let n=t.state.sliceDoc(0,t.pos),a=ad(t);a&&(n=n.slice(0,a.from+1)+n.slice(a.from+2));let r=t.state.facet(n0),o=e=>null!=e&&Object.keys(r).includes(e),i=await e({text:n});if(!i)return null;let{start:l,stop:s,results:c}=i;a&&(s+=1);let u=n.slice(0,l).endsWith("."),d=null!=t.matchBefore(/\~[^\s\"]*/);return{from:l,to:s,validFor:ab,commitCharacters:af(t),filter:!d,options:[...c.filter(([e,n,a,r,i])=>(t.explicit||"path"!=i)&&!(r&&o(e))).map(([e,t,a,r,o,i],l)=>{let s="method"===o?n:u?ap(e)??e:e;return t="Function"===t&&e.startsWith("@")?"Macro":t,{label:e,apply:s,type:(0,x.cl)({c_notexported:!a,[`c_${t}`]:!0,[`completion_${o}`]:!0,c_from_notebook:r})??void 0,section:am,boost:"keyword_argument"===o?7:u?ag(s,a):void 0,commitCharacters:"keyword_argument"===o||"Macro"===t?[]:void 0}}),...c.filter(([e])=>u&&null!=ap(e)).map(([e,t,n],a)=>{let r=ap(e)??"";return{label:r,apply:r,type:(n?"":"c_notexported ")+(null==t?"":"c_"+t),section:ah,is_not_exported:!n}})]}},av=async e=>{if(au(e)||!e.explicit&&aw(e)||!e.explicit&&null!=e.tokenBefore(["Number","Comment","String","TripleString","Symbol"]))return null;let t=await (0,tX.autocomplete).completeAnyWord(e);if(null===t)return null;let n=e.tokenBefore(["Identifier","Number"]);return null==n||n.type?.name==="Number"?null:{from:t.from,commitCharacters:af(e),options:t.options.map(({label:e},t)=>({label:e,apply:e,type:void 0,section:am}))}},aw=e=>{let t=e.matchBefore(a_),n=e.matchBefore(/(catch|local|module|abstract type|struct|macro|const|for|function|let|do) ([@\p{L}\p{Nl}\p{Sc}\d_!,\(\)]|, )*$/u),a=e.matchBefore(/do [\(\), \p{L}\p{Nl}\p{Sc}\d_!]*$/u),r=(0,tX.syntaxTree)(e.state).resolve(e.pos,-1),o=r?.parent?.name==="BareTupleExpression"?r?.parent:r,i=r?.name==="Identifier"&&o?.parent?.name==="AssignmentExpression"&&o?.nextSibling!=null;return t||n||a||i},ak=(e,t)=>async n=>{if(au(n)||!n.explicit&&aw(n)||!n.explicit&&null!=n.tokenBefore(["Number","Comment","String","TripleString","Symbol"])||n.matchBefore(/\.[\p{L}\p{Nl}\p{Sc}\d_!]*$/u))return null;let a=n.state.facet(n0),r=e(),o=(0,h.default).union(Object.entries(a).filter(([e,t])=>null==r[t]).map(([e])=>e),...Object.values((0,h.default).omit(r,t))),i=await (0,tX.autocomplete).completeFromList(o.map(e=>({label:e,apply:e,type:"c_from_notebook completion_module c_Any",section:am})))(n);return null==i?null:{...i,validFor:ab,commitCharacters:af(n)}},aE=["\\sqrt","\\pi","\\approx"],a$=["\uD83D\uDC36","\uD83D\uDC31","\uD83D\uDC2D","\uD83D\uDC30","\uD83D\uDC3C","\uD83D\uDC28","\uD83D\uDC38","\uD83D\uDC14","\uD83D\uDC27"],ax=(e,t,n,a)=>{let r=e.state.sliceDoc(n,a),o=t.detail??t.label;!t.label.startsWith("\\:")&&r!==t.label&&function(e,t){let n=(0,tX.syntaxTree)(e).resolve(t);return null!=n&&("TripleString"===n.name||"String"===n.name)}(e.state,a)&&(o=t.label),e.dispatch({...(0,tX.autocomplete).insertCompletionText(e.state,o,n,a),annotations:(0,tX.autocomplete).pickedCompletion.of(t)})},aS=e=>{let t=null,n=async()=>{if(null==t){let n=await e().catch(e=>(console.warn("Failed to fetch special symbols",e),null));if(null!=n){let{latex:e,emoji:a}=n;t=[a,e].flatMap(e=>Object.entries(e).map(([e,t])=>({label:e,apply:ax,detail:t??void 0,type:"c_special_symbol",boost:"\\in"===e?3:aE.includes(e)?2:a$.includes(t)?1:0})))}}return t};return async e=>{if(!au(e)||!e.explicit&&aw(e)||!e.explicit&&null!=e.tokenBefore(["Number","Comment"]))return null;let t=await n();return await (0,tX.autocomplete).completeFromList(t??[])(e)}};let aN=({request_autocomplete:e,request_special_symbols:t,on_update_doc_query:n,request_unsubmitted_global_definitions:a,cell_id:r})=>{let o=null,i=null,l=async t=>{if((0,h.default).isEqual(t,o)){let e=await i;if(null!=e)return e}return o=t,i=e(t),await i};return[an({activateOnTyping:rB,override:[ak(a,r),aS(t),ay(l),av],defaultKeymap:!1,maxRenderedOptions:512,optionClass:e=>e.type??""}),ac(n),(0,tX.keymap).of(as),(0,tX.keymap).of(aa)]};var h=c("9Ta4i"),tX=c("hiQgq"),eL=c("1gqBQ"),h=c("9Ta4i"),d=(c("cNaMA"),c("cNaMA")),x=c("aN0pg"),d=c("cNaMA"),h=c("9Ta4i");const aC={current:null},aA=()=>{if(null!=aC.current)return aC.current;{let e=fetch("https://julia-loading-times-test.netlify.app/pkg_load_times.csv").then(e=>e.text()).then(e=>{let t=e.split("\n");return t[0].split(","),new Map(t.slice(1).map(e=>{let[t,...n]=e.split(",");return[t,{install:Number(n[0]),precompile:Number(n[1]),load:Number(n[2])}]}))}),t=fetch("https://julia-loading-times-test.netlify.app/top_packages_sorted_with_deps.txt").then(e=>e.text()).then(e=>new Map(e.split("\n").map(e=>{let[t,...n]=e.split(",");return[t,n]})));return aC.current=Promise.all([e,t]).then(([e,t])=>({times:e,packages:t})),aC.current}},aM=()=>{let[e,t]=(0,d.useState)(null);return(0,d.useEffect)(()=>{aA().then(t)},[]),e},aO=(e,t,n=[])=>{let a=e.packages.get(t);if(null==a)return[];{let t=(0,h.default).union(n,a);return[...a,...(0,h.default).difference(a,n).flatMap(n=>aO(e,n,t))]}},aT=(e,t)=>{let n=t.flatMap(t=>aO(e,t)),a=(0,h.default).uniq([...t,...n]).map(t=>e.times.get(t)).filter(e=>null!=e),r=e=>e.reduce((e,t)=>e+(null==t||isNaN(t)?0:t),0);return{install:r(a.map((0,h.default).property("install")))*aD.install,precompile:r(a.map((0,h.default).property("precompile")))*aD.precompile,load:r(a.map((0,h.default).property("load")))*aD.load}},aD={install:2,load:1,precompile:.3};var h=c("9Ta4i"),d=c("cNaMA");c("kjWx8");var aR=window.CustomEvent;function aL(e,t){var n="on"+t.type.toLowerCase();return"function"==typeof e[n]&&e[n](t),e.dispatchEvent(t)}function aI(e){for(;e;){if("dialog"===e.localName)return e;e=e.parentElement?e.parentElement:e.parentNode?e.parentNode.host:null}return null}function aP(e){for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;e&&e.blur&&e!==document.body&&e.blur()}function aj(e){return!(!e||!e.hasAttribute("method"))&&"dialog"===e.getAttribute("method").toLowerCase()}function aB(e){return e.isConnected||document.body.contains(e)}function aU(e){if(e.submitter)return e.submitter;var t=e.target;if(!(t instanceof HTMLFormElement))return null;var n=aq.formSubmitter;if(!n){var a=e.target;n=("getRootNode"in a&&a.getRootNode()||document).activeElement}return n&&n.form===t?n:null}function aF(e){if(!e.defaultPrevented){var t=e.target,n=aq.imagemapUseValue,a=aU(e);null===n&&a&&(n=a.value);var r=aI(t);r&&"dialog"===(a&&a.getAttribute("formmethod")||t.getAttribute("method"))&&(e.preventDefault(),null!=n?r.close(n):r.close())}}function az(e){if(this.dialog_=e,this.replacedStyleTop_=!1,this.openAsModal_=!1,e.hasAttribute("role")||e.setAttribute("role","dialog"),e.show=this.show.bind(this),e.showModal=this.showModal.bind(this),e.close=this.close.bind(this),e.addEventListener("submit",aF,!1),"returnValue"in e||(e.returnValue=""),"MutationObserver"in window)new MutationObserver(this.maybeHideModal.bind(this)).observe(e,{attributes:!0,attributeFilter:["open"]});else{var t,n=!1,a=(function(){n?this.downgradeModal():this.maybeHideModal(),n=!1}).bind(this),r=function(r){if(r.target===e){var o="DOMNodeRemoved";n|=r.type.substr(0,o.length)===o,window.clearTimeout(t),t=window.setTimeout(a,0)}};["DOMAttrModified","DOMNodeRemoved","DOMNodeRemovedFromDocument"].forEach(function(t){e.addEventListener(t,r)})}Object.defineProperty(e,"open",{set:this.setOpen.bind(this),get:e.hasAttribute.bind(e,"open")}),this.backdrop_=document.createElement("div"),this.backdrop_.className="backdrop",this.backdrop_.addEventListener("mouseup",this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener("mousedown",this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener("click",this.backdropMouseEvent_.bind(this))}aR&&"object"!=typeof aR||((aR=function(e,t){t=t||{};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,!!t.bubbles,!!t.cancelable,t.detail||null),n}).prototype=window.Event.prototype),az.prototype={get dialog(){return this.dialog_},maybeHideModal:function(){this.dialog_.hasAttribute("open")&&aB(this.dialog_)||this.downgradeModal()},downgradeModal:function(){this.openAsModal_&&(this.openAsModal_=!1,this.dialog_.style.zIndex="",this.replacedStyleTop_&&(this.dialog_.style.top="",this.replacedStyleTop_=!1),this.backdrop_.parentNode&&this.backdrop_.parentNode.removeChild(this.backdrop_),aq.dm.removeDialog(this))},setOpen:function(e){e?this.dialog_.hasAttribute("open")||this.dialog_.setAttribute("open",""):(this.dialog_.removeAttribute("open"),this.maybeHideModal())},backdropMouseEvent_:function(e){if(this.dialog_.hasAttribute("tabindex"))this.dialog_.focus();else{var t=document.createElement("div");this.dialog_.insertBefore(t,this.dialog_.firstChild),t.tabIndex=-1,t.focus(),this.dialog_.removeChild(t)}var n=document.createEvent("MouseEvents");n.initMouseEvent(e.type,e.bubbles,e.cancelable,window,e.detail,e.screenX,e.screenY,e.clientX,e.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget),this.dialog_.dispatchEvent(n),e.stopPropagation()},focus_:function(){var e=this.dialog_.querySelector("[autofocus]:not([disabled])");!e&&this.dialog_.tabIndex>=0&&(e=this.dialog_),e||(e=function e(t){var n=["button","input","keygen","select","textarea"].map(function(e){return e+":not([disabled])"});n.push('[tabindex]:not([disabled]):not([tabindex=""])');var a=t.querySelector(n.join(", "));if(!a&&"attachShadow"in Element.prototype)for(var r=t.querySelectorAll("*"),o=0;o, the polyfill may not work correctly",e),"dialog"!==e.localName)throw Error("Failed to register dialog: The element is not a dialog.");new az(e)},registerDialog:function(e){e.showModal||aq.forceRegisterDialog(e)},DialogManager:function(){this.pendingDialogStack=[];var e=this.checkDOM_.bind(this);this.overlay=document.createElement("div"),this.overlay.className="_dialog_overlay",this.overlay.addEventListener("click",(function(t){this.forwardTab_=void 0,t.stopPropagation(),e([])}).bind(this)),this.handleKey_=this.handleKey_.bind(this),this.handleFocus_=this.handleFocus_.bind(this),this.zIndexLow_=1e5,this.zIndexHigh_=100150,this.forwardTab_=void 0,"MutationObserver"in window&&(this.mo_=new MutationObserver(function(t){var n=[];t.forEach(function(e){for(var t,a=0;t=e.removedNodes[a];++a)t instanceof Element&&("dialog"===t.localName&&n.push(t),n=n.concat(t.querySelectorAll("dialog")))}),n.length&&e(n)}))}};if(aq.DialogManager.prototype.blockDocument=function(){document.documentElement.addEventListener("focus",this.handleFocus_,!0),document.addEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.observe(document,{childList:!0,subtree:!0})},aq.DialogManager.prototype.unblockDocument=function(){document.documentElement.removeEventListener("focus",this.handleFocus_,!0),document.removeEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.disconnect()},aq.DialogManager.prototype.updateStacking=function(){for(var e,t=this.zIndexHigh_,n=0;e=this.pendingDialogStack[n];++n)e.updateZIndex(--t,--t),0===n&&(this.overlay.style.zIndex=--t);var a=this.pendingDialogStack[0];a?(a.dialog.parentNode||document.body).appendChild(this.overlay):this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay)},aq.DialogManager.prototype.containedByTopDialog_=function(e){for(;e=aI(e);){for(var t,n=0;t=this.pendingDialogStack[n];++n)if(t.dialog===e)return 0===n;e=e.parentElement}return!1},aq.DialogManager.prototype.handleFocus_=function(e){var t=e.composedPath?e.composedPath()[0]:e.target;if(!this.containedByTopDialog_(t)&&document.activeElement!==document.documentElement&&(e.preventDefault(),e.stopPropagation(),aP(t),void 0!==this.forwardTab_)){var n=this.pendingDialogStack[0];return n.dialog.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING&&(this.forwardTab_?n.focus_():t!==document.documentElement&&document.documentElement.focus()),!1}},aq.DialogManager.prototype.handleKey_=function(e){if(this.forwardTab_=void 0,27===e.keyCode){e.preventDefault(),e.stopPropagation();var t=new aR("cancel",{bubbles:!1,cancelable:!0}),n=this.pendingDialogStack[0];n&&aL(n.dialog,t)&&n.dialog.close()}else 9===e.keyCode&&(this.forwardTab_=!e.shiftKey)},aq.DialogManager.prototype.checkDOM_=function(e){this.pendingDialogStack.slice().forEach(function(t){-1!==e.indexOf(t.dialog)?t.downgradeModal():t.maybeHideModal()})},aq.DialogManager.prototype.pushDialog=function(e){var t=(this.zIndexHigh_-this.zIndexLow_)/2-1;return!(this.pendingDialogStack.length>=t)&&(1===this.pendingDialogStack.unshift(e)&&this.blockDocument(),this.updateStacking(),!0)},aq.DialogManager.prototype.removeDialog=function(e){var t=this.pendingDialogStack.indexOf(e);-1!==t&&(this.pendingDialogStack.splice(t,1),0===this.pendingDialogStack.length&&this.unblockDocument(),this.updateStacking())},aq.dm=new aq.DialogManager,aq.formSubmitter=null,aq.imagemapUseValue=null,void 0===window.HTMLDialogElement){var aH=document.createElement("form");if(aH.setAttribute("method","dialog"),"dialog"!==aH.method){var aW=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"method");if(aW){var aG=aW.get;aW.get=function(){return aj(this)?"dialog":aG.call(this)};var aK=aW.set;aW.set=function(e){return"string"==typeof e&&"dialog"===e.toLowerCase()?this.setAttribute("method",e):aK.call(this,e)},Object.defineProperty(HTMLFormElement.prototype,"method",aW)}}document.addEventListener("click",function(e){if(aq.formSubmitter=null,aq.imagemapUseValue=null,!e.defaultPrevented){var t=e.target;if("composedPath"in e&&(t=e.composedPath().shift()||t),t&&aj(t.form)){if(!("submit"===t.type&&["button","input"].indexOf(t.localName)>-1)){if("input"!==t.localName||"image"!==t.type)return;aq.imagemapUseValue=e.offsetX+","+e.offsetY}aI(t)&&(aq.formSubmitter=t)}}},!1),document.addEventListener("submit",function(e){var t=e.target;if(!aI(t)){var n=aU(e);"dialog"===(n&&n.getAttribute("formmethod")||t.getAttribute("method"))&&e.preventDefault()}});var aZ=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){if(!aj(this))return aZ.call(this);var e=aI(this);e&&e.close()}}var d=c("cNaMA");const aV=()=>{let e=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{null!=e.current&&"function"!=typeof HTMLDialogElement&&aq.registerDialog(e.current)},[e.current]),(0,d.useMemo)(()=>[e,()=>{e.current?.open||e.current?.showModal()},()=>{e.current?.open===!0&&e.current?.close?.()},()=>e.current?.open===!0?e.current?.close?.():e.current?.showModal?.()],[e])},aQ=({show:e,start_local:t})=>(window.open_edit_or_run_popup=()=>{t()},(0,d.html)`
+ +
`),aX=({offer_binder:e,start_binder:t,notebookfile:n,notebook:a})=>{let[r,o,i,l]=aV(),[s,c]=(0,d.useState)(!1),u=(0,d.useRef)("");u.current=n??"",window.open_edit_or_run_popup=o,(0,d.useEffect)(()=>(window.start_binder=e?t:null,()=>{window.start_binder=null}),[t,e]);let p=u.current.startsWith("data:"),m=aJ(a);return(0,d.html)`
+ + + + ${e?(0,d.html)` +

+ ${"To be able to edit code and run cells, you need to run the notebook yourself. "} + Where would you like to run the notebook? +

+ ${null==m?null:(0,d.html)`
${"This notebook takes about "}${m}${" to run."}
`} +

In the cloud (experimental)

+
+ +
+

+ Binder is a free, open source service that runs scientific notebooks in the cloud! + It will take a while, usually 2-7 minutes to get a session. +

+

On your computer

+

(Recommended if you want to store your changes.)

+ `:null} +
    +
  1. +
    + ${p?(0,d.html)` +
    Download the notebook:
    +
    {"A"===e.target.tagName||e.target.closest("div").firstElementChild.click()}} + class="download_div" + > + notebook.jl + +
    + `:(0,d.html)` +
    Copy the notebook URL:
    +
    + e.target.select()} value=${u.current} readonly /> + {await navigator.clipboard.writeText(u.current),c(!0),setTimeout(()=>c(!1),3e3)}} + /> +
    + `} +
    +
  2. +
  3. +
    Run Pluto
    +

    + ${"(Also see: "} + How to install Julia and Pluto) +

    + +
  4. +
  5. + ${p?(0,d.html)` +
    Open the notebook file
    +

    Type the saved filename in the open box.

    + + `:(0,d.html)` +
    Paste URL in the Open box
    +
  6. +
+
+
`},aY=e=>((e.nbpkg?.install_time_ns??NaN)+(0,h.default).sum(Object.values(e.cell_results).map(e=>e.runtime??0)))/1e9,aJ=e=>{let t=aY(e);return isNaN(t)?null:a0((0,h.default).round(15+1.5*t,-1))},a0=e=>{let t=Math.ceil(e),n=Math.round(e/60);return e<60?`${t} second${t>1?"s":""}`:`${n} minute${n>1?"s":""}`};var ez=c("hrGZZ");const a1=e=>document.head.querySelector(`link[rel='pluto-external-source'][id='${e}']`),a2=a1("arrow_up_circle_icon")?.href,a3=a1("document_text_icon")?.href,a4=a1("help_circle_icon")?.href;a1("open_icon")?.href;const a9=({notebook:e,disable_input:t})=>{let[n,a]=(0,d.useState)(null),r=(0,d.useRef)(null);r.current=n;let o=(0,d.useRef)(null),i=(0,d.useRef)(""),l=(0,d.useCallback)(e=>{let t=e.detail.source_element;if(o.current=t,null==t)i.current="top: 20%; left: 50%; transform: translate(-50%, -50%); position: fixed;";else{let e=t.getBoundingClientRect(),n=document.body.getBoundingClientRect();i.current=`top: ${.5*(e.top+e.bottom)-n.top}px; left: min(max(0px,100vw - 251px - 30px), ${e.right-n.left}px);`}a(e.detail)},[a]),s=(0,d.useCallback)(()=>{a(null)},[a]);(0,ez.useEventListener)(window,"open pluto popup",l,[l]),(0,ez.useEventListener)(window,"close pluto popup",s,[s]),(0,ez.useEventListener)(window,"pointerdown",e=>{null!=r.current&&null!=e.target&&null==e.target.closest("pluto-popup")&&(null!=o.current&&o.current.contains(e.target)||s())},[s]),(0,ez.useEventListener)(window,"keydown",e=>{"Escape"===e.key&&s()},[s]);let c=(0,d.useRef)(null);(0,d.useLayoutEffect)(()=>{null!=n&&(!0===n.should_focus?requestAnimationFrame(()=>{c.current=document.activeElement;let e=u.current?.querySelector("a")??u.current;e?.focus?.()}):c.current=null)},[null!=n]);let u=(0,d.useRef)(null);(0,ez.useEventListener)(u.current,"focusout",e=>{null!=r.current&&!0===r.current.should_focus&&!(u.current?.matches(":focus-within")||u.current?.contains(e.relatedTarget))&&(null!=o.current&&(o.current.contains(e.relatedTarget)||o.current.matches(":focus-within"))||(s(),e.preventDefault(),c.current?.focus?.()))},[s]);let p=n?.type;return(0,d.html)` + ${"nbpkg"===p?(0,d.html)`<${a6} + notebook=${e} + disable_input=${t} + recent_event=${n} + clear_recent_event=${()=>a(null)} + />`:"info"===p||"warn"===p?(0,d.html)`
${n?.body}
`:null} +
+
+ +
`},a6=({notebook:e,recent_event:t,clear_recent_event:n,disable_input:a})=>{let r=(0,d.useContext)(S),[o,i]=(0,d.useState)(null);(0,d.useEffect)(()=>{let n=!0;return null==t?i(null):t?.type==="nbpkg"&&(r.get_avaible_versions({package_name:t.package_name,notebook_id:e.notebook_id})??Promise.resolve([])).then(({versions:a,url:r})=>{n&&i(re({nbpkg:e.nbpkg,package_name:t.package_name,is_disable_pkg:t.is_disable_pkg,available_versions:a,package_url:r}))}),()=>{n=!1}},[t,...a5(e.nbpkg)]);let l=t.is_disable_pkg||(e.nbpkg?.enabled??!0);(0,d.useEffect)(()=>{l||n()},[l]);let[s,c]=(0,d.useState)(!1),u=e.nbpkg?.restart_required_msg==null&&!(e.nbpkg?.instantiated??!0),p=null!=t&&((e.nbpkg?.busy_packages??[]).includes(t.package_name)||u),m=eB(p,2);(0,d.useEffect)(()=>{c(m)},[m]);let h=e.nbpkg?.terminal_outputs==null?"Loading...":e.nbpkg?.terminal_outputs[t?.package_name]??"",g=o?.offer_update??!1,f=aM(),_=null==f||t?.package_name==null?null:aT(f,[t?.package_name]),b=null==_?0:_.install+_.load+_.precompile,y=null==_?0:_.load;return(0,d.html)` + ${o?.hint??"Loading..."} + ${(o?.status==="will_be_installed"||o?.status==="busy")&&b>10?(0,d.html)`
+ Installation can take ${a0(b)}${". "}
${"Afterwards, it loads in "} + ${a0(y)}. +
`:null} + + <${eM} value=${h??"Loading..."} /> +
`},a8=e=>null==e?[null]:Object.entries(e).flat(),a5=e=>null==e?[null]:Object.entries(e).flatMap(([e,t])=>"terminal_outputs"===e?[]:[t]),a7=(e,t)=>!!("stdlib"!==e&&(0,h.default).isArray(t))&&(0,h.default).last(t)!==e,re=({nbpkg:e,package_name:t,available_versions:n,is_disable_pkg:a,package_url:r})=>{let o="error",i="error",l=(0,d.html)`error`,s=!1;r=r??`https://juliahub.com/ui/Packages/General/${t}`;let c=e?.installed_versions[t]??null,u=e?.waiting_for_permission??!1,p=!u&&((e?.busy_packages??[]).includes(t)||!(e?.instantiated??!0)),m=(0,d.html)`${t} `;return a?(o="disable_pkg",i=`${t} disables Pluto's built-in package manager.`,l=(0,d.html)`${t} disables Pluto's built-in package manager.`):null!=c||(0,h.default).isEqual(n,["stdlib"])?null==c||"stdlib"===c?(o="installed",i=`${t} is part of Julia's pre-installed 'standard library'.`,l=(0,d.html)`${m} is part of Julia's pre-installed standard library.`):u?(o="will_be_installed",i=`${t} (v${(0,h.default).last(n)}) will be installed when you run this notebook.`,l=(0,d.html)`
${m} v${(0,h.default).last(n)}
+ will be installed when you run this notebook.`):p?(o="busy",i=`${t} (v${c}) is installing...`,l=(0,d.html)`
${m} v${c}
+ is installing...`):(o="installed",i=`${t} (v${c}) is installed in the notebook.`,l=(0,d.html)`
+ ${m} + v${c} +
+ is installed in the notebook.`,s=a7(c,n)):null!=n&&(0,h.default).isArray(n)&&(0===n.length?(o="not_found",i=`The package "${t}" could not be found in the registry. Did you make a typo?`,l=(0,d.html)`The package "${t}" could not be found in the registry. +
Did you make a typo?
`):(o="will_be_installed",i=`${t} (v${(0,h.default).last(n)}) will be installed in the notebook when you run this cell.`,l=(0,d.html)`
${m} v${(0,h.default).last(n)}
+ will be installed in the notebook when you run this cell.`)),{status:o,hint:l,hint_raw:i,available_versions:n??null,chosen_version:c,busy:p,offer_update:s,package_url:r}},rt=({package_name:e,pluto_actions:t,notebook_id:n,nbpkg:a})=>{let[r,o]=(0,d.useState)(null),[i,l]=(0,d.useState)(null);(0,d.useEffect)(()=>{(t.get_avaible_versions({package_name:e,notebook_id:n})??Promise.resolve([])).then(o)},[e]);let{status:s,hint_raw:c}=re({nbpkg:a,package_name:e,is_disable_pkg:!1,available_versions:r?.versions,package_url:r?.package_url});return(0,d.html)` + + + + `},rn=({package_name:e})=>{let{hint_raw:t}=re({nbpkg:null,package_name:e,is_disable_pkg:!0});return(0,d.html)` + + + + `};var d=(c("cNaMA"),c("cNaMA")),tX=c("hiQgq");class ra extends tX.WidgetType{constructor(e){super(),this.element=e}eq(e){return!1}toDOM(){let e=document.createElement("span");return(0,d.render)(this.element,e),e}updateDOM(e){return(0,d.render)(this.element,e),!0}}const rr=["Pkg.activate","Pkg.API.activate","Pkg.develop","Pkg.API.develop","Pkg.add","Pkg.API.add","quickactivate","@quickactivate"],ro=(0,tX.Facet).define({combine:e=>e[0],compare:h.default.isEqual}),ri=({pluto_actions:e,notebook_id_ref:t})=>(0,tX.ViewPlugin).fromClass(class{update_decos(n){let a=function(e,{pluto_actions:t,notebook_id:n,nbpkg:a}){let r=new Set,o=e.visibleRanges.flatMap(({from:o,to:i})=>(function({doc:e,tree:t,from:n,to:a}){let r=0,o=[];return!function({tree:e,enter:t,leave:n,from:a=0,to:r=e.length}){let o=e.cursor();for(;;){let e=!1;if(o.from<=r&&o.to>=a&&(o.type.isAnonymous||!1!==t(o))){if(o.firstChild())continue;o.type.isAnonymous||(e=!0)}for(;e&&n&&n(o),e=o.type.isAnonymous,!o.nextSibling();){if(!o.parent())return;e=!0}}}({tree:t,from:n,to:a,enter:t=>{if(("QuoteExpression"===t.name||"QuoteStatement"===t.name)&&r++,"InterpolationExpression"===t.name&&r--,0!==r)return;if("CallExpression"===t.name||"MacroExpression"===t.name){let n=t.node.firstChild,a=e.sliceString(n.from,n.to);rr.includes(a)&&o.push({type:"package_disabler",name:a,from:t.to,to:t.to});return}let n=n$(e=>nm`import A, ${e}`),a=e=>{let t=null;return(t=n(ng`${nv.as("package")}.${nv.any}`).match(e))?a(t.package):(t=n(ng`.${nv.maybe(nv.any)}`).match(e))?null:(t=n(ng`${nv.Identifier}`).match(e))?e:void console.warn("Unknown nested import specifier: "+e.toString())},i=null;if((i=nf(ng`import ${nv.as("specifier")}: ${nv.many()}`).match(t))??(i=nf(ng`import ${nv.as("specifier")}, ${nv.many("specifiers")}`).match(t))??(i=nf(ng`using ${nv.as("specifier")}: ${nv.many()}`).match(t))??(i=nf(ng`using ${nv.as("specifier")}, ${nv.many("specifiers")}`).match(t))){let{specifier:r,specifiers:l=[]}=i;for(let{node:t}of(r&&(l=[{node:r},...l]),l)){t=nk(t);let r=null;if(r=n(ng`${nv.as("package")} as ${nv.maybe(nv.any)}`).match(t)){let t=a(r.package);t&&o.push({type:"package",name:e.sliceString(t.from,t.to),from:t.to,to:t.to})}else if(r=n(ng`${nv.as("package")}.${nv.any}`).match(t)){let t=a(r.package);t&&o.push({type:"package",name:e.sliceString(t.from,t.to),from:t.to,to:t.to})}else if(r=n(ng`.${nv.as("scoped")}`).match(t));else if(r=n(ng`${nv.as("package")}`).match(t)){let t=a(r.package);t&&o.push({type:"package",name:e.sliceString(t.from,t.to),from:t.to,to:t.to})}else console.warn("Unknown import specifier: "+t.toString())}if(i=null,i=nf(ng`using ${nv.as("specifier")}, ${nv.many("specifiers")}`).match(t)){let{specifier:t}=i;t&&("\n"===e.sliceString(t.to,t.to+1)||""===e.sliceString(t.to,t.to+1))&&o.push({type:"implicit_using",name:e.sliceString(t.from,t.to),from:t.to,to:t.to})}return!1}if("ImportStatement"===t.name)throw Error("What")},leave:e=>{("QuoteExpression"===e.name||"QuoteStatement"===e.name)&&r--,"InterpolationExpression"===e.name&&r++}}),o})({doc:e.state.doc,tree:(0,tX.syntaxTree)(e.state),from:o,to:i}).map(e=>{if("package"===e.type){let{name:o}=e;if("Base"!==o&&"Core"!==o&&!r.has(o))return r.add(o),(0,tX.Decoration).widget({widget:new ra((0,d.html)` + <${rt} + key=${o} + package_name=${o} + pluto_actions=${t} + notebook_id=${n} + nbpkg=${a} + /> + `),side:1}).range(e.to)}else if("package_disabler"===e.type)return(0,tX.Decoration).widget({widget:new ra((0,d.html)` <${rn} package_name=${e.name} /> `),side:1}).range(e.to);else if("implicit_using"===e.type&&"HypertextLiteral"===e.name)return(0,tX.Decoration).widget({widget:new ra((0,d.html)` +
+ : @htl, @htl_str +
+
`),side:1}).range(e.to)})).filter(e=>null!=e);return(0,tX.Decoration).set(o,!0)}(n,{pluto_actions:e,notebook_id:t.current,nbpkg:n.state.facet(ro)});this.decorations=a}constructor(e){this.update_decos(e)}update(e){if(e.docChanged||e.viewportChanged||e.state.facet(ro)!==e.startState.facet(ro)){this.update_decos(e.view);return}}},{decorations:e=>e.decorations});var h=c("9Ta4i"),tX=c("hiQgq"),d=c("cNaMA");const rl=e=>/^\t*/.exec(e)?.[0]??"",rs=e=>{let t=[];for(let n of(0,h.default).range(0,e.doc.lines)){let a=e.doc.line(n+1),r=rl(a.text).length;if(0===r)continue;let o=Math.min(r,12),i=o*e.tabSize,l=(0,tX.Decoration).line({attributes:{style:`--indented: ${i}ch;`,class:"awesome-wrapping-plugin-the-line"}});if(t.push(l.range(a.from,a.from)),o>0&&t.push((0,tX.Decoration).mark({class:"awesome-wrapping-plugin-the-tabs"}).range(a.from,a.from+o)),r>o)for(let e of(0,h.default).range(o,r))t.push((0,tX.Decoration).replace({widget:new ra((0,d.html)``),block:!1}).range(a.from+e,a.from+e+1))}return(0,tX.Decoration).set(t)},rc=(0,tX.StateField).define({create:e=>rs(e),update:(e,t)=>t.docChanged?rs(t.state):e,provide:e=>(0,tX.EditorView).decorations.from(e)});var tX=c("hiQgq");let ru=({focus_on_neighbor:e})=>(0,tX.keymap).of([{key:"PageUp",run:()=>(e({cell_delta:-1,line:0,character:0}),!0)},{key:"PageDown",run:()=>(e({cell_delta:1,line:0,character:0}),!0)},{key:"ArrowLeft",run:t=>{let n=t.state.selection.main;return!!(n.empty&&t.moveByChar(n,!1).eq(n))&&(e({cell_delta:-1,line:1/0,character:1/0}),!0)}},{key:"ArrowUp",run:t=>{let n=t.state.selection.main;return!!(n.empty&&t.moveVertically(n,!1).eq(n))&&(e({cell_delta:-1,line:1/0,character:1/0}),!0)}},{key:"ArrowRight",run:t=>{let n=t.state.selection.main;return!!(n.empty&&t.moveByChar(n,!0).eq(n))&&(e({cell_delta:1,line:0,character:0}),!0)}},{key:"ArrowDown",run:t=>{let n=t.state.selection.main;return!!(n.empty&&t.moveVertically(n,!0).eq(n))&&(e({cell_delta:1,line:0,character:0}),!0)}}]),rd=(0,tX.EditorView).domEventHandlers({keydown:(e,t)=>{let n=t.state.selection.main;if(!n.empty||!e.repeat)return!1;if("Backspace"===e.key&&0===t.state.doc.length||"Delete"===e.key&&0===t.state.doc.length)return!0;let a="active"===(0,tX.autocomplete).completionStatus(t.state);return"ArrowUp"!==e.key||a?"ArrowDown"!==e.key||a?"ArrowLeft"===e.key&&e.repeat?!!t.moveByChar(n,!1).eq(n):"ArrowRight"===e.key?!!t.moveByChar(n,!0).eq(n):void 0:!!t.moveVertically(t.state.selection.main,!0).eq(n):!!t.moveVertically(t.state.selection.main,!1).eq(n)}}),rp=({focus_on_neighbor:e})=>ru({focus_on_neighbor:e});var tX=c("hiQgq");let rm=({pluto_actions:e,cell_id:t})=>(0,tX.EditorView).domEventHandlers({paste:(n,a)=>{if(!a.hasFocus)return console.log("CodeMirror, why are you registring this paste? You aren't focused!"),!0;n.stopPropagation();let r=n.clipboardData.getData("text/plain"),o=E(r);return null!=o&&(0===a.state.selection.main.from&&a.state.selection.main.to===a.state.doc.length?(e.add_deserialized_cells(r,t,o),e.confirm_delete_multiple("This Should Never Be Visible",[t]),!0):(a.state.selection.main.to===a.state.doc.length||0===a.state.selection.main.from)&&(e.add_deserialized_cells(r,t,o),!0))}});var tX=c("hiQgq");function rh(e){let t=e.parent.firstChild,n=e.parent.lastChild;if("end"!==n.name)return null;let a=e.parent.getChild("CatchClause")?.firstChild,r=e.parent.getChild("TryElseClause")?.firstChild,o=e.parent.getChild("FinallyClause")?.firstChild;return[{from:t.from,to:t.to},a&&{from:a.from,to:a.to},r&&{from:r.from,to:r.to},o&&{from:o.from,to:o.to},{from:n.from,to:n.to}].filter(e=>null!=e)}const rg=(0,tX.EditorView).baseTheme({".cm-matchingBracket":{backgroundColor:"#328c8252"},".cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),rf="()[]{}",r_=(0,tX.Facet).define({combine:e=>(0,tX.combineConfig)(e,{afterCursor:!0,brackets:rf,maxScanDistance:1e4})}),rb=(0,tX.Decoration).mark({class:"cm-matchingBracket"});(0,tX.Decoration).mark({class:"cm-nonmatchingBracket"});const ry=[(0,tX.StateField).define({create:()=>tX.Decoration.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],a=t.state.facet(r_);for(let e of t.state.selection.ranges){if(!e.empty)continue;let r=rv(t.state,e.head,-1,a)||e.head>0&&rv(t.state,e.head-1,1,a)||a.afterCursor&&(rv(t.state,e.head,1,a)||e.head(0,tX.EditorView).decorations.from(e)}),rg];function rv(e,t,n,a={}){let r=a.maxScanDistance||1e4,o=a.brackets||rf,i=(0,tX.syntaxTree)(e),l=i.resolveInner(t,n);return function(e){if("end"===e.name&&(e="IfStatement"===e.parent.name?e.parent?.firstChild?.firstChild:e.parent.firstChild),null==e)return[];if("mutable"===e.name||"struct"===e.name){"struct"===e.name&&(e=e.parent.firstChild);let t=e.parent.getChild("struct"),n=e.parent.lastChild;return"end"===n.name&&t?[{from:e.from,to:t.to},{from:n.from,to:n.to}]:null}if("struct"===e.name||"quote"===e.name||"begin"===e.name||"do"===e.name||"for"===e.name||"let"===e.name||"macro"===e.name||"function"===e.name||"while"===e.name){let t=e.parent.lastChild;return"end"!==t.name?null:[{from:e.from,to:e.to},{from:t.from,to:t.to}]}if("type"===e.name&&(e=e.parent.firstChild),"abstract"===e.name||"primitive"===e.name){let t=e.parent.lastChild,n="end"===t.name,a=e.parent.getChild("type");return n&&a?[{from:e.from,to:a.to},{from:t.from,to:t.to}]:null}if("if"===e.name||"else"===e.name||"elseif"===e.name){"if"===e.name&&(e=e.parent);let t=!1;"else"===e.name&&(e=e.parent,t=!0),"elseif"===e.name&&(e=e.parent.parent);let n=e.parent.firstChild,a=e.parent.lastChild;if("end"!==a.name)return null;if(t&&"try"===n.name)return rh(e);let r=[];for(let t of(r.push({from:n.from,to:n.to}),e.parent.getChildren("ElseifClause"))){let e=t.firstChild;r.push({from:e.from,to:e.to})}for(let t of e.parent.getChildren("ElseClause")){let e=t.firstChild;r.push({from:e.from,to:e.to})}return r.push({from:a.from,to:a.to}),r}if("try"===e.name||"catch"===e.name||"finally"===e.name||"else"===e.name)return("catch"===e.name&&(e=e.parent),"finally"===e.name&&(e=e.parent),"else"===e.name&&(e=e.parent),"end"!==e.parent.lastChild.name)?null:rh(e);if("module"===e.name||"baremodule"===e.name){let t=e.parent.lastChild;return"end"!==t.name?null:[{from:e.from,to:e.to},{from:t.from,to:t.to}]}return null}(l)||function(e,t,n,a,r,o,i){let l=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),s=i.indexOf(l);if(s<0||s%2==0!=n>0)return null;let c={from:n<0?t-1:t,to:n>0?t+1:t},u=e.doc.iterRange(t,n>0?e.doc.length:0),d=0;for(let e=0;!u.next().done&&e<=o;){let o=u.value;n<0&&(e+=o.length);let l=t+e*n;for(let e=n>0?0:o.length-1,t=n>0?o.length:-1;e!=t;e+=n){let t=i.indexOf(o[e]);if(!(t<0)&&a.resolve(l+e,1).type==r){if(t%2==0==n>0)d++;else if(1==d){if(t>>1==s>>1)return[c,{from:l+e,to:l+e+1}];return null}else d--}}n>0&&(e+=o.length)}return u.done?[c]:null}(e,t,n,i,l.type,r,o)}var x=c("aN0pg"),tX=c("hiQgq");const rw=(0,tX.Decoration).line({attributes:{class:"cm-highlighted-line"}}),rk=(0,tX.Decoration).mark({attributes:{class:"cm-highlighted-range"}}),rE=(0,tX.Facet).define({combine:e=>e[0],compare:(e,t)=>e===t}),r$=(0,tX.Facet).define({combine:e=>e[0],compare:(e,t)=>e===t}),rx=()=>(0,tX.ViewPlugin).fromClass(class{updateDecos(e){this.decorations=function(e){let t=e.state.facet(rE);if(null==t||void 0==t||t<0||t>e.state.doc.lines)return(0,tX.Decoration).set([]);let n=e.state.doc.line(t);return(0,tX.Decoration).set([rw.range(n.from,n.from)])}(e)}constructor(e){this.decorations=(0,tX.Decoration).set([]),this.updateDecos(e)}update(e){(e.docChanged||e.state.facet(rE)!==e.startState.facet(rE))&&this.updateDecos(e.view)}},{decorations:e=>e.decorations}),rS=()=>(0,tX.ViewPlugin).fromClass(class{updateDecos(e){this.decorations=function(e){let t=e.state.facet(r$);if(null==t)return(0,tX.Decoration).set([]);let{from:n,to:a}=t;return n<0||n==a?(0,tX.Decoration).set([]):(0,tX.Decoration).set([rk.range(n,a)])}(e)}constructor(e){this.decorations=(0,tX.Decoration).set([]),this.updateDecos(e)}update(e){(e.docChanged||e.state.facet(r$)!==e.startState.facet(r$))&&this.updateDecos(e.view)}},{decorations:e=>e.decorations});var tX=c("hiQgq");function rN(e,t){return({state:n,dispatch:a})=>{if(n.readOnly)return!1;let r=e(t,n.selection.ranges,n);return!!r&&(a(n.update(r)),!0)}}const rC=rN(rD,0);rN(rD,1),rN(rD,2);const rA=rN(rT,0);rN(rT,1),rN(rT,2);const rM=[{key:"Mod-/",run:e=>{let t=rO(e.state);return t.line?rC(e):!!t.block&&rA(e)}},{key:"Alt-A",run:rA}];function rO(e,t=e.selection.main.head){let n=e.languageDataAt("commentTokens",t);return n.length?n[0]:{}}function rT(e,t,n){let a=t.map(e=>rO(n,e.from).block);if(!a.every(e=>e))return null;let r=t.map((e,t)=>(function(e,{open:t,close:n},a,r){let o,i,l=e.sliceDoc(a-50,a),s=e.sliceDoc(r,r+50),c=/\s*$/.exec(l)[0].length,u=/^\s*/.exec(s)[0].length,d=l.length-c;if(l.slice(d-t.length,d)==t&&s.slice(u,u+n.length)==n)return{open:{pos:a-c,margin:c&&1},close:{pos:r+u,margin:u&&1}};r-a<=100?o=i=e.sliceDoc(a,r):(o=e.sliceDoc(a,a+50),i=e.sliceDoc(r-50,r));let p=/^\s*/.exec(o)[0].length,m=/\s*$/.exec(i)[0].length,h=i.length-m-n.length;return o.slice(p,p+t.length)==t&&i.slice(h,h+n.length)==n?{open:{pos:a+p+t.length,margin:/\s/.test(o.charAt(p+t.length))?1:0},close:{pos:r-m-n.length,margin:/\s/.test(i.charAt(h-1))?1:0}}:null})(n,a[t],e.from,e.to));if(2==e||r.every(e=>e)){if(1!=e&&r.some(e=>e)){let e=[];for(let t=0,n;t{let{open:n,close:o}=a[e++];if(r[e])return{range:t};let i=n.length+1;return{changes:[{from:t.from,insert:n+" "},{from:t.to,insert:" "+o}],range:(0,tX.EditorSelection).range(t.anchor+i,t.head+i)}})}return null}function rD(e,t,n){let a=[],r=-1;for(let{from:e,to:o}of t){let t=rO(n,e).line,i=t===rO(n,o).line?t:null,l=a.length,s=1e9;for(let t=e;t<=o;){let l=n.doc.lineAt(t);if(l.from>r&&(e==o||o>l.from)){r=l.from;let e=i??rO(n,t).line;if(!e)continue;let o=/^\s*/.exec(l.text)[0].length,c=o==l.length,u=l.text.slice(o,o+e.length)==e?o:-1;oe.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:r,empty:o,single:i}of a)(i||!o)&&e.push({from:t.from+r,insert:n+" "});let t=n.changes(e);return{changes:t,selection:n.selection.map(t,1)}}if(1!=e&&a.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:r}of a)if(n>=0){let a=t.from+n,o=a+r.length;" "==t.text[o-t.from]&&o++,e.push({from:a,to:o})}return{changes:e}}return null}var tX=c("hiQgq");let rR=(e,t)=>e.slice(t,t+1)[0],rL={key:"Mod-d",run:({state:e,dispatch:t})=>{if(e.selection.main.empty){let n=(0,tX.syntaxTree)(e).cursorAt(e.selection.main.from,-1),a=(0,tX.syntaxTree)(e).cursorAt(e.selection.main.from,1);for(let e of["Identifier","FieldName"]){let r=n.name===e?n:a.name===e?a:null;if(r)return t({selection:{anchor:r.from,head:r.to}}),!0}let r=e.doc.lineAt(e.selection.main.from),o=e.selection.main.from-r.from,i=r.text.slice(0,o),l=r.text.slice(o),s=i.match(/(\w+)$/)?.[0]??"",c=l.match(/^(\w+)/)?.[0]??"";t({selection:{anchor:e.selection.main.from-s.length,head:e.selection.main.from+c.length}})}else(0,tX.selectNextOccurrence)({state:e,dispatch:t});return!1},shift:({state:e,dispatch:t})=>{if(1===e.selection.ranges.length)return!1;let n=e.selection.ranges.at(e.selection.mainIndex-1),a=e.selection.ranges.filter(e=>e!==n),r=a.indexOf(e.selection.main),o=rR(a,e.selection.mainIndex-1);return t({selection:(0,tX.EditorSelection).create(a,r),effects:null==o?[]:(0,tX.EditorView).scrollIntoView(o.from)}),!0},preventDefault:!0};var g=c("4zMEb"),rI=c("aTIpG"),ez=c("hrGZZ");c("kjWx8");const rP="true"===window.localStorage.getItem("ENABLE_CM_MIXED_PARSER"),rj="true"===window.localStorage.getItem("ENABLE_CM_SPELLCHECK"),rB=(window.localStorage.getItem("ENABLE_CM_AUTOCOMPLETE_ON_TYPE")??(/Mac/.test(navigator.platform)?"true":"false"))==="true";rP&&console.log(`YOU ENABLED THE CODEMIRROR MIXED LANGUAGE PARSER +Thanks! Awesome! +Please let us know if you find any bugs... +If enough people do this, we can make it the default parser. +`),window.PLUTO_TOGGLE_CM_MIXED_PARSER=(e=!rP)=>{window.localStorage.setItem("ENABLE_CM_MIXED_PARSER",String(e)),window.location.reload()},window.PLUTO_TOGGLE_CM_SPELLCHECK=(e=!rj)=>{window.localStorage.setItem("ENABLE_CM_SPELLCHECK",String(e)),window.location.reload()},window.PLUTO_TOGGLE_CM_AUTOCOMPLETE_ON_TYPE=(e=!rB)=>{window.localStorage.setItem("ENABLE_CM_AUTOCOMPLETE_ON_TYPE",String(e)),window.location.reload()};const rU=[{tag:tX.tags.comment,color:"var(--cm-color-comment)",fontStyle:"italic",filter:"none"},{tag:tX.tags.keyword,color:"var(--cm-color-keyword)"},{tag:tX.tags.variableName,color:"var(--cm-color-var)",fontWeight:700},{tag:tX.tags.typeName,color:"var(--cm-color-type)",fontStyle:"italic"},{tag:tX.tags.typeOperator,color:"var(--cm-color-type)",fontStyle:"italic"},{tag:tX.tags.tagName,color:"var(--cm-color-tag)"},{tag:tX.tags.propertyName,color:"var(--cm-color-property)"},{tag:tX.tags.macroName,color:"var(--cm-color-macro)",fontWeight:700},{tag:tX.tags.string,color:"var(--cm-color-string)"},{tag:tX.tags.number,color:"var(--cm-color-number)"},{tag:tX.tags.bool,color:"var(--cm-color-builtin)",fontWeight:700},{tag:tX.tags.atom,color:"var(--cm-color-atom)"},{tag:tX.tags.unit,color:"var(--cm-color-tag)"},{tag:tX.tags.bracket,color:"var(--cm-color-bracket)"},{tag:(0,tX.tags).special(tX.tags.brace),color:"var(--cm-color-macro)",fontWeight:700}],rF=(0,tX.HighlightStyle).define(rU,{all:{color:"var(--cm-color-editor-text)"},scope:(0,tX.julia_andrey)().language}),rz=(0,tX.HighlightStyle).define(rU,{all:{color:"var(--cm-color-editor-text)",filter:"contrast(0.5)"},scope:tX.javascriptLanguage}),rq=(0,tX.HighlightStyle).define(rU,{all:{color:"var(--cm-color-editor-text)",filter:"contrast(0.5)"},scope:tX.pythonLanguage}),rH=(0,tX.HighlightStyle).define([{tag:tX.tags.comment,color:"var(--cm-color-comment)",fontStyle:"italic"},{tag:tX.tags.variableName,color:"var(--cm-color-css-accent)",fontWeight:700},{tag:tX.tags.propertyName,color:"var(--cm-color-css-accent)",fontWeight:700},{tag:tX.tags.tagName,color:"var(--cm-color-css)",fontWeight:700},{tag:tX.tags.definitionOperator,color:"var(--cm-color-css)"},{tag:tX.tags.keyword,color:"var(--cm-color-css)"},{tag:tX.tags.modifier,color:"var(--cm-color-css-accent)"},{tag:tX.tags.literal,color:"var(--cm-color-css)"},{tag:tX.tags.punctuation,opacity:.5}],{scope:tX.cssLanguage,all:{color:"var(--cm-color-css)"}}),rW=(0,tX.HighlightStyle).define([{tag:tX.tags.comment,color:"var(--cm-color-comment)",fontStyle:"italic"},{tag:tX.tags.content,color:"var(--cm-color-html)",fontWeight:400},{tag:tX.tags.tagName,color:"var(--cm-color-html-accent)",fontWeight:600},{tag:tX.tags.documentMeta,color:"var(--cm-color-html-accent)"},{tag:tX.tags.attributeName,color:"var(--cm-color-html-accent)",fontWeight:600},{tag:tX.tags.attributeValue,color:"var(--cm-color-html-accent)"},{tag:tX.tags.angleBracket,color:"var(--cm-color-html-accent)",fontWeight:600,opacity:.7}],{all:{color:"var(--cm-color-html)"},scope:tX.htmlLanguage}),rG=(0,tX.HighlightStyle).define([{tag:tX.tags.comment,color:"var(--cm-color-comment)",fontStyle:"italic"},{tag:tX.tags.content,color:"var(--cm-color-md)"},{tag:tX.tags.heading,color:"var(--cm-color-md)",fontWeight:700},{tag:tX.tags.quote,color:"var(--cm-color-md)"},{tag:tX.tags.emphasis,fontStyle:"italic"},{tag:tX.tags.strong,fontWeight:"bolder"},{tag:tX.tags.link,textDecoration:"underline"},{tag:tX.tags.url,color:"var(--cm-color-md)",textDecoration:"none"},{tag:tX.tags.monospace,color:"var(--cm-color-md-accent)"},{tag:tX.tags.processingInstruction,color:"var(--cm-color-md-accent) !important",opacity:"0.5"}],{all:{color:"var(--cm-color-md)"},scope:tX.markdownLanguage}),rK=e=>e.state.doc.toString(),rZ=(e,t)=>e.dispatch({changes:{from:0,to:e.state.doc.length,insert:t}}),rV=(e,t,n,a)=>e.dispatch({changes:{from:n,to:a,insert:t}});let rQ=(e,t)=>{let n=(0,d.useRef)(new tX.Compartment),a=(0,d.useRef)(n.current.of(t));return(0,d.useLayoutEffect)(()=>{e.current?.dispatch?.({effects:n.current.reconfigure(t)})},[t]),a.current},rX=(e,{line:t,ch:n})=>{let a=e.line((0,h.default).clamp(t+1,1,e.lines)),r=(0,h.default).clamp(n,0,a.length);return a.from+r};const rY=({local_code:e,remote_code:t,disable_input:n,focus_after_creation:a,cm_forced_focus:r,set_cm_forced_focus:o,show_input:i,skip_static_fake:l=!1,on_submit:s,on_delete:c,on_add_after:u,on_change:p,on_update_doc_query:m,on_focus_neighbor:f,on_line_heights:_,nbpkg:b,cell_id:y,notebook_id:v,any_logs:w,show_logs:k,set_show_logs:E,set_cell_disabled:$,cm_highlighted_line:x,cm_highlighted_range:N,metadata:C,global_definition_locations:A,cm_diagnostics:M})=>{let O=(0,d.useContext)(S),{disabled:T,skip_as_script:D}=C,[R,L]=(0,d.useState)(null);if(R)throw L(null),R;let I=(0,d.useRef)(v);I.current=v;let P=(0,d.useRef)(null),j=(0,d.useRef)(null),B=(0,d.useRef)(null),U=rQ(P,ro.of(b)),F=rQ(P,n0.of(A)),z=rQ(P,rE.of(x)),q=rQ(P,r$.of(N)),H=rQ(P,(0,tX.EditorState).readOnly.of(n)),W=rQ(P,(0,d.useMemo)(()=>(0,tX.EditorView).updateListener.of(e=>{e.docChanged&&p(e.state.doc.toString())}),[p])),[G,K]=(0,d.useState)(!l),Z=(0,d.useRef)(!1);Z.current||=navigator.userAgent.includes("Firefox")||a||null!=r||l;let V=!Z.current&&G;return(0,d.useLayoutEffect)(()=>{let e;if(!V)return;let t=j.current;if(null==t)return;let n=()=>{K(!1),e.disconnect(),window.removeEventListener("beforeprint",n)};return(e=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&n()})).observe(t),window.addEventListener("beforeprint",n),()=>{e.disconnect(),window.removeEventListener("beforeprint",n)}},[]),(0,d.useLayoutEffect)(()=>{if(V||null==j.current)return;let t=async e=>await e(),n=e=>((0,tX.autocomplete).closeCompletion(e),t(async()=>{await u(),e.state.doc.toString()!==B.current&&s()}),!0),r=(0,tX.autocomplete).completionKeymap.find(e=>"Enter"===e.key),i=()=>{let e=P.current,t=rK(e),n=t.trim(),a=t.length-t.trimStart().length;if(console.table({value:t,trimmed:n,offset:a}),n.startsWith('md"')&&n.endsWith('"')){let t,r;if(n.startsWith('md"""')&&n.endsWith('"""')?(t=5,r=n.length-3):(t=3,r=n.length-1),t>=r||""==n.substring(t,r).trim())rZ(e,"");else{for(;/\s/.test(n[t]);)++t;for(;/\s/.test(n[r-1]);)--r;rV(e,"",r+a,e.state.doc.length),rV(e,"",0,t+a)}}else{let t=`md""" +`,n=` +"""`,a=e.state.selection.main;e.dispatch({changes:[{from:0,to:0,insert:t},{from:e.state.doc.length,to:e.state.doc.length,insert:n}],selection:0===a.from?{anchor:a.from+t.length,head:a.to+t.length}:void 0})}return!0},l=e=>!e.state.facet(tX.EditorState.readOnly)&&0===e.state.doc.length&&(f(y,1),c(),!0),d=e=>!e.state.facet(tX.EditorState.readOnly)&&0===e.state.doc.length&&(f(y,-1,1/0,1/0),c(),!0),p=(e,t)=>{if(e.state.facet(tX.EditorState.readOnly))return!1;let n=e.state.selection.main;return 0===n.anchor&&n.head===e.state.doc.length||1===e.state.doc.lines?(O.move_remote_cells([y],O.get_notebook().cell_order.indexOf(y)+(-1===t?-1:2)),requestIdleCallback(()=>{e.dispatch({selection:{anchor:0,head:e.state.doc.length},scrollIntoView:!0}),e.focus()}),!0):1===t?(0,tX.moveLineDown)(e):(0,tX.moveLineUp)(e)},b=(e,t)=>(o(!0),O.fold_remote_cells([y],t),!0),v=[{key:"Shift-Enter",run:e=>((0,tX.autocomplete).closeCompletion(e),s(),!0)},{key:"Ctrl-Enter",mac:"Cmd-Enter",run:n},{key:"Ctrl-Enter",run:n},{key:"Tab",run:e=>!e.state.readOnly&&(!!r?.run?.(e)||(e.state.selection.ranges.some(e=>!e.empty)?(0,tX.indentMore)(e):(e.dispatch(e.state.changeByRange(e=>({range:(0,tX.EditorSelection).cursor(e.from+1),changes:{from:e.from,to:e.to,insert:" "}}))),!0))),shift:tX.indentLess},{key:"Ctrl-m",mac:"Cmd-m",run:i},{key:"Ctrl-m",run:i},{key:"Ctrl-M",run:i},{key:"Delete",run:l},{key:"Ctrl-Delete",run:l},{key:"Backspace",run:d},{key:"Ctrl-Backspace",run:d},{key:"Alt-ArrowUp",run:e=>p(e,-1)},{key:"Alt-ArrowDown",run:e=>p(e,1)},{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>b(e,!0)},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>b(e,!1)},rL],w=(0,tX.EditorView).updateListener.of(e=>{if(e.view.hasFocus&&(e.docChanged||e.selectionSet)){let t=e.state;{let e=nX(t,!1);null!=e&&m(e)}}}),k=(0,tX.EditorView).updateListener.of(e=>{if(e.docChanged){let t=[...e.startState.field(nG).definitions.keys()],n=[...e.state.field(nG).definitions.keys()];(0,h.default).isEqual(t,n)||O.set_unsubmitted_global_definitions(y,n)}}),E=window.matchMedia("(prefers-color-scheme: dark)").matches,$=P.current=new tX.EditorView({state:(0,tX.EditorState).create({doc:e,extensions:[(0,tX.EditorView).theme({},{dark:E}),U,z,q,F,H,rx(),rS(),rd,ri({pluto_actions:O,notebook_id_ref:I}),nG,(0,tX.syntaxHighlighting)(rF),(0,tX.syntaxHighlighting)(rW),(0,tX.syntaxHighlighting)(rG),(0,tX.syntaxHighlighting)(rz),(0,tX.syntaxHighlighting)(rq),(0,tX.syntaxHighlighting)(rH),(0,tX.lineNumbers)(),(0,tX.highlightSpecialChars)(),(0,tX.history)(),(0,tX.drawSelection)(),(0,tX.EditorState).allowMultipleSelections.of(!0),(0,tX.EditorView).clickAddsSelectionRange.of(e=>e.altKey&&!e.shiftKey),(0,tX.indentOnInput)(),(0,tX.EditorState).languageData.of((e,t,n)=>[{closeBrackets:{brackets:["(","[","{"]}}]),(0,tX.closeBrackets)(),(0,tX.rectangularSelection)({eventFilter:e=>e.altKey&&e.shiftKey&&0==e.button}),(0,tX.highlightSelectionMatches)({minSelectionLength:2,wholeWords:!0}),function(e={}){return[r_.of(e),ry]}(),w,k,rI.tab_help_plugin,(0,tX.EditorView).domEventHandlers({blur:(e,t)=>{document.activeElement!==t.contentDOM&&(setTimeout(()=>{t.dispatch({selection:{anchor:t.state.selection.main.head},scrollIntoView:!1}),t.contentDOM.blur()},0),o(null))}}),rm({pluto_actions:O,cell_id:y}),(0,tX.EditorView).updateListener.of(e=>{e.docChanged&&e.state.doc.length>0&&"?"===e.state.sliceDoc(0,1)&&tl("docs")}),(0,tX.EditorState).tabSize.of(4),(0,tX.indentUnit).of(" "),...rP?[at(),(0,tX.markdown)({defaultCodeLanguage:at()}),(0,tX.html)(),(0,tX.javascript)(),(0,tX.python)(),n9]:[(0,tX.julia_andrey)()],n1,aN({request_autocomplete:async({text:e})=>{let t=await (0,g.timeout_promise)(O.send("complete",{query:e},{notebook_id:I.current}),5e3).catch(console.warn);if(!t)return null;let{message:n}=t;return{start:(0,tY.utf8index_to_ut16index)(e,n.start),stop:(0,tY.utf8index_to_ut16index)(e,n.stop),results:n.results}},request_special_symbols:()=>O.send("complete_symbols").then(({message:e})=>e),on_update_doc_query:m,request_unsubmitted_global_definitions:()=>O.get_unsubmitted_global_definitions(),cell_id:y}),(0,tX.keymap).of(v),(0,tX.keymap).of(rM),rp({focus_on_neighbor:({cell_delta:e,line:t,character:n})=>f(y,e,t,n)}),(0,tX.keymap).of([...tX.closeBracketsKeymap,...tX.defaultKeymap,...tX.historyKeymap,...tX.foldKeymap]),(0,tX.placeholder)("Enter cell code..."),(0,tX.EditorView).contentAttributes.of({spellcheck:String(rj)}),tX.EditorView.lineWrapping,rc,(0,tX.EditorView).updateListener.of(e=>{e.docChanged&&e.view.dispatch((0,tX.setDiagnostics)(e.state,[]))}),W,(0,tX.EditorView).exceptionSink.of(e=>{L(e),console.error("EditorView exception!",e)})]}),parent:j.current});$.dom.CodeMirror={getValue:()=>rK($),setValue:e=>rZ($,e)},a&&setTimeout(()=>{let e=P.current;null!=e&&(e.dom.scrollIntoView({behavior:"smooth",block:"nearest"}),e.dispatch({selection:{anchor:e.state.doc.length,head:e.state.doc.length},effects:[(0,rI.LastFocusWasForcedEffect).of(!0)]}),e.focus())});let x=j.current.querySelector("div.cm-content");if(x){let e=new ResizeObserver(()=>{let e=x.children,t=(0,h.default).map(e,e=>e.offsetTop);_([...t.slice(1).map((e,n)=>e-t[n]),15])});return e.observe(x),()=>{e.unobserve(x)}}},[V]),(0,d.useEffect)(()=>{if(null==P.current)return;let e=P.current;e.dispatch((0,tX.setDiagnostics)(e.state,M))},[M]),(0,d.useEffect)(()=>{if(null==P.current)return;let e=rK(P.current)??"";(null!=B.current||""!==t||""===e)&&(B.current=t,e!==t&&rZ(P.current,t))},[t]),(0,d.useEffect)(()=>{let e=P.current;if(null!=e){if(null==r)e.dispatch({selection:{anchor:e.state.selection.main.head,head:e.state.selection.main.head}});else if(!0===r);else{let t={anchor:rX(e.state.doc,r[0]),head:rX(e.state.doc,r[1])};if(r[2]?.definition_of){let n=e.state.field(nG),a=n?.definitions.get(r[2]?.definition_of);a&&(t={anchor:a.from,head:a.to})}e.dom.scrollIntoView({behavior:"smooth",block:"nearest"}),e.focus(),e.dispatch({scrollIntoView:!0,selection:t,effects:[(0,tX.EditorView).scrollIntoView((0,tX.EditorSelection).range(t.anchor,t.head),{yMargin:80}),(0,rI.LastFocusWasForcedEffect).of(!0)]})}}},[r]),(0,d.html)` + + ${V&&i?(0,d.html)`<${r2} value=${t} />`:null} + <${r0} + on_delete=${c} + cell_id=${y} + run_cell=${s} + skip_as_script=${D} + running_disabled=${T} + any_logs=${w} + show_logs=${k} + set_show_logs=${E} + set_cell_disabled=${$} + /> + ${rJ} + + `},rJ=(0,d.html)`
👀 Reading hidden code
`,r0=({on_delete:e,cell_id:t,run_cell:n,skip_as_script:a,running_disabled:r,any_logs:o,show_logs:i,set_show_logs:l,set_cell_disabled:s})=>{let c,u;let p=(0,d.useRef)(null),m=(0,d.useContext)(S),[h,g]=(0,d.useState)(!1),f=(0,d.useRef)(null),_=(0,d.useRef)(null),b=(0,d.useRef)(null),y=e=>{e&&(b.current=document.activeElement),g(e)};(0,d.useLayoutEffect)(()=>{if(h)_.current?.querySelector("button")?.focus();else{let e=b.current;e instanceof HTMLElement&&e.focus()}},[h]);let v=async e=>{let n=!a;e.preventDefault(),await m.update_notebook(e=>{e.cell_inputs[t].metadata.skip_as_script=n})},w=async e=>{await s(!r)};return(0,ez.useEventListener)(window,"keydown",e=>{"Escape"===e.key&&y(!1)},[]),(0,d.html)` + +
{(_.current?.matches(":focus-within")||_.current?.contains(e.relatedTarget))&&e.relatedTarget!==_.current||y(!1)}} + > + ${h?(0,d.html)`
    {p.current&&clearTimeout(p.current)}}> + <${r1} tag="delete" contents="Delete cell" title="Delete cell" onClick=${e} setOpen=${y} /> + + <${r1} + title=${r?"Enable and run the cell":"Disable this cell, and all cells that depend on it"} + tag=${r?"enable_cell":"disable_cell"} + contents=${r?(0,d.html)`Enable cell`:(0,d.html)`Disable cell`} + onClick=${w} + setOpen=${y} + /> + ${o?(0,d.html)`<${r1} + title=${i?"Show cell logs":"Hide cell logs"} + tag=${i?"hide_logs":"show_logs"} + contents=${i?"Hide logs":"Show logs"} + onClick=${()=>l(!i)} + setOpen=${y} + />`:null} + ${(c=m.get_notebook(),(u=c?.cell_results?.[t])&&!u.errored&&!u.queued&&"text/plain"===u.output.mime&&u.output.body)?(0,d.html)`<${r1} + tag="copy_output" + contents="Copy output" + title="Copy the output of this cell to the clipboard." + onClick=${()=>{let e=m.get_notebook(),n=e?.cell_results?.[t]?.output.body??"";n&&navigator.clipboard.writeText(n).catch(e=>{alert("Error copying cell output")})}} + setOpen=${y} + />`:null} + + <${r1} + title=${a?"This cell is currently stored in the notebook file as a Julia comment. Click here to disable.":"Store this code in the notebook file as a Julia comment. This way, it will not run when the notebook runs as a script outside of Pluto."} + tag=${a?"run_as_script":"skip_as_script"} + contents=${a?(0,d.html)`Enable in file`:(0,d.html)`Disable in file`} + onClick=${v} + setOpen=${y} + /> +
`:(0,d.html)``} +
+ `},r1=({contents:e,title:t,onClick:n,setOpen:a,tag:r})=>(0,d.html)`
  • + +
  • `,r2=({value:e})=>{let t=e.split("\n").map((e,t)=>{let n=rl(e),a=0==n.length?e:(0,d.html)`${n}${e.substring(n.length)}`;return(0,d.html)`
    + ${0===e.length?(0,d.html)`
    `:a} +
    `});return(0,d.html)` +
    +
    + +
    + ${t} +
    +
    +
    + `};class r3{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function r4(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r9(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(e=>{for(let t in e)n[t]=e[t]}),n}const r6=e=>!!e.scope;class r8{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=r4(e)}openNode(e){if(!r6(e))return;let t=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let n=e.split(".");return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){r6(e)&&(this.buffer+="")}value(){return this.buffer}span(e){this.buffer+=``}}const r5=(e={})=>{let t={children:[]};return Object.assign(t,e),t};class r7{constructor(){this.rootNode=r5(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=r5({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{r7._collapse(e)}))}}class oe extends r7{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope="language:"+t),this.add(n)}toHTML(){return new r8(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function ot(e){return e?"string"==typeof e?e:e.source:null}function on(e){return oo("(?=",e,")")}function oa(e){return oo("(?:",e,")*")}function or(e){return oo("(?:",e,")?")}function oo(...e){return e.map(e=>ot(e)).join("")}function oi(...e){return"("+((e=>{let t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}})(e).capture?"":"?:")+e.map(e=>ot(e)).join("|")+")"}function ol(e){return RegExp(e.toString()+"|").exec("").length-1}const os=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function oc(e,{joinWith:t}){let n=0;return e.map(e=>{let t=n+=1,a=ot(e),r="";for(;a.length>0;){let e=os.exec(a);if(!e){r+=a;break}r+=a.substring(0,e.index),a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+(Number(e[1])+t):(r+=e[0],"("===e[0]&&n++)}return r}).map(e=>`(${e})`).join(t)}const ou="[a-zA-Z]\\w*",od="[a-zA-Z_]\\w*",op="\\b\\d+(\\.\\d+)?",om="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",oh="\\b(0b[01]+)",og={begin:"\\\\[\\s\\S]",relevance:0},of=(e,t,n={})=>{let a=r9({scope:"comment",begin:e,end:t,contains:[]},n);a.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let r=oi("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return a.contains.push({begin:oo(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a},o_=of("//","$"),ob=of("/\\*","\\*/"),oy=of("#","$");var ov=Object.freeze({__proto__:null,APOS_STRING_MODE:{scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[og]},BACKSLASH_ESCAPE:og,BINARY_NUMBER_MODE:{scope:"number",begin:oh,relevance:0},BINARY_NUMBER_RE:oh,COMMENT:of,C_BLOCK_COMMENT_MODE:ob,C_LINE_COMMENT_MODE:o_,C_NUMBER_MODE:{scope:"number",begin:om,relevance:0},C_NUMBER_RE:om,END_SAME_AS_BEGIN:e=>Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}}),HASH_COMMENT_MODE:oy,IDENT_RE:ou,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+od,relevance:0},NUMBER_MODE:{scope:"number",begin:op,relevance:0},NUMBER_RE:op,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:{scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[og]},REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[og,{begin:/\[/,end:/\]/,relevance:0,contains:[og]}]},RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=oo(t,/.*\b/,e.binary,/\b.*/)),r9({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},TITLE_MODE:{scope:"title",begin:ou,relevance:0},UNDERSCORE_IDENT_RE:od,UNDERSCORE_TITLE_MODE:{scope:"title",begin:od,relevance:0}});function ow(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function ok(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function oE(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=ow,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function o$(e,t){Array.isArray(e.illegal)&&(e.illegal=oi(...e.illegal))}function ox(e,t){if(e.match){if(e.begin||e.end)throw Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function oS(e,t){void 0===e.relevance&&(e.relevance=1)}const oN=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error("beforeMatch cannot be used with starts");let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=oo(n.beforeMatch,on(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},oC=["of","and","for","in","not","or","if","then","parent","list","value"],oA={},oM=e=>{console.error(e)},oO=(e,...t)=>{console.log("WARN: "+e,...t)},oT=(e,t)=>{oA[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),oA[`${e}/${t}`]=!0)},oD=Error();function oR(e,t,{key:n}){let a=0,r=e[n],o={},i={};for(let e=1;e<=t.length;e++)i[e+a]=r[e],o[e+a]=!0,a+=ol(t[e-1]);e[n]=i,e[n]._emit=o,e[n]._multi=!0}function oL(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),(e=>{if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw oM("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),oD;if("object"!=typeof e.beginScope||null===e.beginScope)throw oM("beginScope must be object"),oD;oR(e,e.begin,{key:"beginScope"}),e.begin=oc(e.begin,{joinWith:""})}})(e),(e=>{if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw oM("skip, excludeEnd, returnEnd not compatible with endScope: {}"),oD;if("object"!=typeof e.endScope||null===e.endScope)throw oM("endScope must be object"),oD;oR(e,e.end,{key:"endScope"}),e.end=oc(e.end,{joinWith:""})}})(e)}class oI extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const oP=Symbol("nomatch"),oj=e=>{let t=Object.create(null),n=Object.create(null),a=[],r=!0,o="Could not find the language '{}', did you forget to load/include a language module?",i={disableAutodetect:!0,name:"Plain text",contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:oe};function s(e){return l.noHighlightRe.test(e)}function c(e,t,n){let a="",r="";"object"==typeof t?(a=e,n=t.ignoreIllegals,r=t.language):(oT("10.7.0","highlight(lang, code, ...args) has been deprecated."),oT("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),r=e,a=t),void 0===n&&(n=!0);let o={code:a,language:r};b("before:highlight",o);let i=o.result?o.result:u(o.language,o.code,n);return i.code=o.code,b("after:highlight",i),i}function u(e,n,a,i){let s=Object.create(null);function c(){if(!k.keywords)return void $.addText(x);let e=0;k.keywordPatternRe.lastIndex=0;let t=k.keywordPatternRe.exec(x),n="";for(;t;){n+=x.substring(e,t.index);let a=y.case_insensitive?t[0].toLowerCase():t[0],r=k.keywords[a];if(r){let[e,o]=r;if($.addText(n),n="",s[a]=(s[a]||0)+1,s[a]<=7&&(S+=o),e.startsWith("_"))n+=t[0];else{let n=y.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=k.keywordPatternRe.lastIndex,t=k.keywordPatternRe.exec(x)}n+=x.substring(e),$.addText(n)}function p(){null!=k.subLanguage?(()=>{if(""===x)return;let e=null;if("string"==typeof k.subLanguage){if(!t[k.subLanguage])return void $.addText(x);e=u(k.subLanguage,x,!0,E[k.subLanguage]),E[k.subLanguage]=e._top}else e=d(x,k.subLanguage.length?k.subLanguage:null);k.relevance>0&&(S+=e.relevance),$.__addSublanguage(e._emitter,e.language)})():c(),x=""}function m(e,t){""!==e&&($.startScope(t),$.addText(e),$.endScope())}function h(e,t){let n=1,a=t.length-1;for(;n<=a;){if(!e._emit[n]){n++;continue}let a=y.classNameAliases[e[n]]||e[n],r=t[n];a?m(r,a):(x=r,c(),x=""),n++}}function f(e,t){return e.scope&&"string"==typeof e.scope&&$.openNode(y.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(x,y.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),x=""):e.beginScope._multi&&(h(e.beginScope,t),x="")),k=Object.create(e,{parent:{value:k}})}let _={};function b(t,o){let i=o&&o[0];if(x+=t,null==i)return p(),0;if("begin"===_.type&&"end"===o.type&&_.index===o.index&&""===i){if(x+=n.slice(o.index,o.index+1),!r){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=_.rule,t}return 1}if(_=o,"begin"===o.type)return(e=>{let t=e[0],n=e.rule,a=new r3(n);for(let r of[n.__beforeBegin,n["on:begin"]])if(r&&(r(e,a),a.isMatchIgnored))return 0===k.matcher.regexIndex?(x+=t[0],1):(A=!0,0);return n.skip?x+=t:(n.excludeBegin&&(x+=t),p(),n.returnBegin||n.excludeBegin||(x=t)),f(n,e),n.returnBegin?0:t.length})(o);if("illegal"===o.type&&!a){let e=Error('Illegal lexeme "'+i+'" for mode "'+(k.scope||"")+'"');throw e.mode=k,e}if("end"===o.type){let e=function(e){let t=e[0],a=n.substring(e.index),r=function e(t,n,a){let r=((e,t)=>{let n=e&&e.exec(t);return n&&0===n.index})(t.endRe,a);if(r){if(t["on:end"]){let e=new r3(t);t["on:end"](n,e),e.isMatchIgnored&&(r=!1)}if(r){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,n,a)}(k,e,a);if(!r)return oP;let o=k;k.endScope&&k.endScope._wrap?(p(),m(t,k.endScope._wrap)):k.endScope&&k.endScope._multi?(p(),h(k.endScope,e)):o.skip?x+=t:(o.returnEnd||o.excludeEnd||(x+=t),p(),o.excludeEnd&&(x=t));do k.scope&&$.closeNode(),k.skip||k.subLanguage||(S+=k.relevance),k=k.parent;while(k!==r.parent)return r.starts&&f(r.starts,e),o.returnEnd?0:t.length}(o);if(e!==oP)return e}if("illegal"===o.type&&""===i)return 1;if(C>1e5&&C>3*o.index)throw Error("potential infinite loop, way more iterations than matches");return x+=i,i.length}let y=g(e);if(!y)throw oM(o.replace("{}",e)),Error('Unknown language: "'+e+'"');let v=function(e){function t(t,n){return RegExp(ot(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=ol(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(oc(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&void 0!==e),a=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,a)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()){if(n&&n.index===this.lastIndex);else{let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=r9(e.classNameAliases||{}),function n(r,o){if(r.isCompiled)return r;[ok,ox,oL,oN].forEach(e=>e(r,o)),e.compilerExtensions.forEach(e=>e(r,o)),r.__beforeBegin=null,[oE,o$,oS].forEach(e=>e(r,o)),r.isCompiled=!0;let i=null;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),i=r.keywords.$pattern,delete r.keywords.$pattern),i=i||/\w+/,r.keywords&&(r.keywords=function e(t,n,a="keyword"){let r=Object.create(null);return"string"==typeof t?o(a,t.split(" ")):Array.isArray(t)?o(a,t):Object.keys(t).forEach(a=>{Object.assign(r,e(t[a],n,a))}),r;function o(e,t){n&&(t=t.map(e=>e.toLowerCase())),t.forEach(t=>{var n,a;let o=t.split("|");r[o[0]]=[e,(n=o[0],(a=o[1])?Number(a):oC.includes(n.toLowerCase())?0:1)]})}}(r.keywords,e.case_insensitive)),r.keywordPatternRe=t(i,!0),o&&(r.begin||(r.begin=/\B|\b/),r.beginRe=t(r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(r.endRe=t(r.end)),r.terminatorEnd=ot(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(r.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),r.illegal&&(r.illegalRe=t(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map(e=>{let t;return(t="self"===e?r:e).variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(e=>r9(t,{variants:null},e))),t.cachedVariants?t.cachedVariants:!function e(t){return!!t&&(t.endsWithParent||e(t.starts))}(t)?Object.isFrozen(t)?r9(t):t:r9(t,{starts:t.starts?r9(t.starts):null})})),r.contains.forEach(e=>{n(e,r)}),r.starts&&n(r.starts,o),r.matcher=(e=>{let t=new a;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(r),r}(e)}(y),w="",k=i||v,E={},$=new l.__emitter(l);(()=>{let e=[];for(let t=k;t!==y;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>$.openNode(e))})();let x="",S=0,N=0,C=0,A=!1;try{if(y.__emitTokens)y.__emitTokens(n,$);else{for(k.matcher.considerAll();;){C++,A?A=!1:k.matcher.considerAll(),k.matcher.lastIndex=N;let e=k.matcher.exec(n);if(!e)break;let t=b(n.substring(N,e.index),e);N=e.index+t}b(n.substring(N))}return $.finalize(),w=$.toHTML(),{language:e,value:w,relevance:S,illegal:!1,_emitter:$,_top:k}}catch(t){if(t.message&&t.message.includes("Illegal"))return{language:e,value:r4(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:N,context:n.slice(N-100,N+100),mode:t.mode,resultSoFar:w},_emitter:$};if(r)return{language:e,value:r4(n),illegal:!1,relevance:0,errorRaised:t,_emitter:$,_top:k};throw t}}function d(e,n){n=n||l.languages||Object.keys(t);let a=(e=>{let t={value:r4(e),illegal:!1,relevance:0,_top:i,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t})(e),r=n.filter(g).filter(_).map(t=>u(t,e,!1));r.unshift(a);let[o,s]=r.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(g(e.language).supersetOf===t.language)return 1;if(g(t.language).supersetOf===e.language)return -1}return 0});return o.secondBest=s,o}function p(e){let t=(e=>{let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";let n=l.languageDetectRe.exec(t);if(n){let t=g(n[1]);return t||(oO(o.replace("{}",n[1])),oO("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>s(e)||g(e))})(e);if(s(t))return;if(b("before:highlightElement",{el:e,language:t}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(e)),l.throwUnescapedHTML))throw new oI("One of your code blocks includes unescaped HTML.",e.innerHTML);let a=e.textContent,r=t?c(a,{language:t,ignoreIllegals:!0}):d(a);e.innerHTML=r.value,e.dataset.highlighted="yes",((e,t,a)=>{let r=t&&n[t]||a;e.classList.add("hljs"),e.classList.add("language-"+r)})(e,t,r.language),e.result={language:r.language,re:r.relevance,relevance:r.relevance},r.secondBest&&(e.secondBest={language:r.secondBest.language,relevance:r.secondBest.relevance}),b("after:highlightElement",{el:e,result:r,text:a})}let m=!1;function h(){"loading"!==document.readyState?document.querySelectorAll(l.cssSelector).forEach(p):m=!0}function g(e){return t[e=(e||"").toLowerCase()]||t[n[e]]}function f(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{n[e.toLowerCase()]=t})}function _(e){let t=g(e);return t&&!t.disableAutodetect}function b(e,t){a.forEach(n=>{n[e]&&n[e](t)})}for(let o in"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",()=>{m&&h()},!1),Object.assign(e,{highlight:c,highlightAuto:d,highlightAll:h,highlightElement:p,highlightBlock:e=>(oT("10.7.0","highlightBlock will be removed entirely in v12.0"),oT("10.7.0","Please use highlightElement now."),p(e)),configure:e=>{l=r9(l,e)},initHighlighting:()=>{h(),oT("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:()=>{h(),oT("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:(n,a)=>{let o=null;try{o=a(e)}catch(e){if(oM("Language definition for '{}' could not be registered.".replace("{}",n)),!r)throw e;oM(e),o=i}o.name||(o.name=n),t[n]=o,o.rawDefinition=a.bind(null,e),o.aliases&&f(o.aliases,{languageName:n})},unregisterLanguage:e=>{for(let a of(delete t[e],Object.keys(n)))n[a]===e&&delete n[a]},listLanguages:()=>Object.keys(t),getLanguage:g,registerAliases:f,autoDetection:_,inherit:r9,addPlugin:e=>{var t;(t=e)["before:highlightBlock"]&&!t["before:highlightElement"]&&(t["before:highlightElement"]=e=>{t["before:highlightBlock"](Object.assign({block:e.el},e))}),t["after:highlightBlock"]&&!t["after:highlightElement"]&&(t["after:highlightElement"]=e=>{t["after:highlightBlock"](Object.assign({block:e.el},e))}),a.push(e)},removePlugin:e=>{let t=a.indexOf(e);-1!==t&&a.splice(t,1)}}),e.debugMode=()=>{r=!1},e.safeMode=()=>{r=!0},e.versionString="11.9.0",e.regex={concat:oo,lookahead:on,either:oi,optional:or,anyNumberOfTimes:oa},ov)"object"==typeof ov[o]&&/*! + Highlight.js v11.9.0 (git: f47103d4f1) + (c) 2006-2023 undefined and other contributors + License: BSD-3-Clause + */function e(t){return t instanceof Map?t.clear=t.delete=t.set=()=>{throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{throw Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(n=>{let a=t[n],r=typeof a;"object"!==r&&"function"!==r||Object.isFrozen(a)||e(a)}),t}(ov[o]);return Object.assign(e,ov),e},oB=oj({});oB.newInstance=()=>oj({});const oU=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),oF=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],oz=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],oq=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],oH=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],oW=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),oG=oq.concat(oH);var oK="[0-9](_*[0-9])*",oZ=`\\.(${oK})`,oV="[0-9a-fA-F](_*[0-9a-fA-F])*",oQ={className:"number",variants:[{begin:`(\\b(${oK})((${oZ})|\\.)?|(${oZ}))[eE][+-]?(${oK})[fFdD]?\\b`},{begin:`\\b(${oK})((${oZ})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${oZ})[fFdD]?\\b`},{begin:`\\b(${oK})[fFdD]\\b`},{begin:`\\b0[xX]((${oV})\\.?|(${oV})?\\.(${oV}))[pP][+-]?(${oK})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${oV})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};const oX="[A-Za-z$_][0-9A-Za-z$_]*",oY=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],oJ=["true","false","null","undefined","NaN","Infinity"],o0=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],o1=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],o2=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o3=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],o4=[].concat(o2,o0,o1);function o9(e){var t;let n=e.regex,a=/<[A-Za-z0-9\\._:-]+/,r=/\/[A-Za-z0-9\\._:-]+>|\/>/,o={$pattern:oX,keyword:oY,literal:oJ,built_in:o4,"variable.language":o3},i="[0-9](_?[0-9])*",l=`\\.(${i})`,s="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",c={className:"number",variants:[{begin:`(\\b(${s})((${l})|\\.)?|(${l}))[eE][+-]?(${i})\\b`},{begin:`\\b(${s})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},p={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"css"}},m={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},h={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,u]},g={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:oX+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},f=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,p,m,h,{match:/\$\d+/},c];u.contains=f.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(f)});let _=[].concat(g,u.contains),b=_.concat([{begin:/\(/,end:/\)/,keywords:o,contains:["self"].concat(_)}]),y={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b},v={variants:[{match:[/class/,/\s+/,oX,/\s+/,/extends/,/\s+/,n.concat(oX,"(",n.concat(/\./,oX),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,oX],scope:{1:"keyword",3:"title.class"}}]},w={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...o0,...o1]}},k={match:n.concat(/\b/,(t=[...o2,"super","import"],n.concat("(?!",t.join("|"),")")),oX,n.lookahead(/\(/)),className:"title.function",relevance:0},E={begin:n.concat(/\./,n.lookahead(n.concat(oX,/(?![0-9A-Za-z$_(])/))),end:oX,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},$="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",x={match:[/const|var|let/,/\s+/,oX,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead($)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[y]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:b,CLASS_REFERENCE:w},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,p,m,h,g,{match:/\$\d+/},c,w,{className:"attr",begin:oX+n.lookahead(":"),relevance:0},x,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[g,e.REGEXP_MODE,{className:"function",begin:$,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a,"on:begin":(e,t)=>{let n;let a=e[0].length+e.index,r=e.input[a];if("<"===r||","===r)return void t.ignoreMatch();">"===r&&(((e,{after:t})=>{let n="oo(/\b/,e,/\w$/.test(e)?/\b/:/\B/),o8=["Protocol","Type"].map(o6),o5=["init","self"].map(o6),o7=["Any","Self"],ie=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],it=["false","nil","true"],ia=["assignment","associativity","higherThan","left","lowerThan","none","right"],ir=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],io=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],ii=oi(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),il=oi(ii,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),is=oo(ii,il,"*"),ic=oi(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),iu=oi(ic,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),id=oo(ic,iu,"*"),ip=oo(/[A-Z]/,iu,"*"),im=["attached","autoclosure",oo(/convention\(/,oi("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",oo(/objc\(/,id,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],ih=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];var ig=Object.freeze({__proto__:null,grmr_bash:e=>{let t=e.regex,n={};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},{begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]}]});let a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,a]};a.contains.push(o);let i={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),s={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[l,e.SHEBANG(),s,i,e.HASH_COMMENT_MODE,r,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{className:"string",begin:/'/,end:/'/},{match:/\\'/},n]}},grmr_c:e=>{let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",o="("+a+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",i={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},u={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},d=t.optional(r)+e.IDENT_RE+"\\s*\\(",p={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},m=[c,i,n,e.C_BLOCK_COMMENT_MODE,s,l],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:p,contains:m.concat([{begin:/\(/,end:/\)/,keywords:p,contains:m.concat(["self"]),relevance:0}]),relevance:0},g={begin:"("+o+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:p,relevance:0},{begin:d,returnBegin:!0,contains:[e.inherit(u,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,s,i,{begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,s,i]}]},i,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:p,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,strings:l,keywords:p}}},grmr_cpp:e=>{let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",o="(?!struct)("+a+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",i={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},u={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},d=t.optional(r)+e.IDENT_RE+"\\s*\\(",p={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},m={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},h=[m,c,i,n,e.C_BLOCK_COMMENT_MODE,s,l],g={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:p,contains:h.concat([{begin:/\(/,end:/\)/,keywords:p,contains:h.concat(["self"]),relevance:0}]),relevance:0},f={className:"function",begin:"("+o+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:p,relevance:0},{begin:d,returnBegin:!0,contains:[u],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,s]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,s,i,{begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,s,i]}]},i,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:p,illegal:"",keywords:p,contains:["self",i]},{begin:e.IDENT_RE+"::",keywords:p},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{let t={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},n=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},r={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},o=e.inherit(r,{illegal:/\n/}),i={className:"subst",begin:/\{/,end:/\}/,keywords:t},l=e.inherit(i,{illegal:/\n/}),s={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,l]},c={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},i]},u=e.inherit(c,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},l]});i.contains=[c,s,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],l.contains=[u,s,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let d={variants:[c,s,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},p={begin:"<",end:">",contains:[{beginKeywords:"in out"},n]},m=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",h={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:t,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},n,p,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,p,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+m+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:t,contains:[{beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial",relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,p],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},h]}},grmr_css:e=>{let t=e.regex,n=oU(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+oq.join("|")+")"},{begin:":(:)?("+oH.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oW.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:oz.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+oF.join("|")+")\\b"}]}},grmr_diff:e=>{let t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}},grmr_go:e=>{let t={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:t,illegal:"{let t=e.regex;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:t.concat(/[_A-Za-z][_0-9A-Za-z]*/,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{let t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},o={className:"literal",begin:/\bon|off|true|false|yes|no\b/},i={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},l=t.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{begin:t.concat(l,"(\\s*\\.\\s*",l,")*",t.lookahead(/\s*=\s*[^#\s]/)),className:"attr",starts:{end:/$/,contains:[a,{begin:/\[/,end:/\]/,contains:[a,o,r,i,n,"self"],relevance:0},o,r,i,n]}}]}},grmr_java:e=>{let t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",a=n+function e(t,n,a){return -1===a?"":t.replace(n,r=>e(t,n,a-1))}("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),r={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},o={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},i={className:"params",begin:/\(/,end:/\)/,keywords:r,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:r,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:r,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:r,relevance:0,contains:[o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,oQ,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},oQ,o]}},grmr_javascript:o9,grmr_json:e=>{let t=["true","false","null"],n={scope:"literal",beginKeywords:t.join(" ")};return{name:"JSON",keywords:{literal:t},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}},grmr_kotlin:e=>{let t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},r={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},o={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[r,a]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,r,a]}]};a.contains.push(o);let i={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(o,{className:"string"}),"self"]}]},s=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),c={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]};return c.variants[1].contains=[c],c.variants[1].contains=[c],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,s,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},n,i,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[c,e.C_LINE_COMMENT_MODE,s],relevance:0},e.C_LINE_COMMENT_MODE,s,i,l,o,e.C_NUMBER_MODE]},s]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},i,l]},o,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},oQ]}},grmr_less:e=>{let t=oU(e),n="[\\w-]+",a="("+n+"|@\\{"+n+"\\})",r=[],o=[],i=e=>({className:"string",begin:"~?"+e+".*?"+e}),l=(e,t,n)=>({className:e,begin:t,relevance:n}),s={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:oz.join(" ")};o.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i("'"),i('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,{begin:"\\(",end:"\\)",contains:o,keywords:s,relevance:0},l("variable","@@?"+n,10),l("variable","@\\{"+n+"\\}"),l("built_in","~?`[^`]*?`"),{className:"attribute",begin:n+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);let c=o.concat({begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},d={begin:a+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oW.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},p={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:a,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+n+"\\}"),{begin:"\\b("+oF.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,l("selector-tag",a,0),l("selector-id","#"+a),l("selector-class","\\."+a,0),l("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+oq.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+oH.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:c},{begin:"!important"},t.FUNCTION_DISPATCH]},m={begin:n+":(:)?"+`(${oG.join("|")})`,returnBegin:!0,contains:[p]};return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:s,returnEnd:!0,contains:o,relevance:0}},{className:"variable",variants:[{begin:"@"+n+"\\s*:",relevance:15},{begin:"@"+n}],starts:{end:"[;}]",returnEnd:!0,contains:c}},m,d,p,u,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}},grmr_lua:e=>{let t="\\[=*\\[",n="\\]=*\\]",a={begin:t,end:n,contains:["self"]},r=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[a],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[a],relevance:5}])}},grmr_makefile:e=>{let t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{let t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},r={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},o=e.inherit(a,{contains:[]}),i=e.inherit(r,{contains:[]});a.contains.push(i),r.contains.push(o);let l=[t,n];return[a,r,o,i].forEach(e=>{e.contains=e.contains.concat(l)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:l=l.concat(a,r)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:l}]}]},t,{className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a,r,{className:"quote",begin:"^>\\s+",contains:l,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},n,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},grmr_objectivec:e=>{let t=/[a-zA-Z@][a-zA-Z0-9_]*/,n={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:t,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+n.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:n,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}},grmr_perl:e=>{let t=e.regex,n=/[dualxmsipngr]{0,12}/,a={$pattern:/[\w.]+/,keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0"},r={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},o={begin:/->\{/,end:/\}/},i={variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},l=[e.BACKSLASH_ESCAPE,r,i],s=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],c=(e,a,r="\\1")=>{let o="\\1"===r?r:t.concat(r,a);return t.concat(t.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,o,/(?:\\.|[^\\\/])*?/,r,n)},u=(e,a,r)=>t.concat(t.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,n),d=[i,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:"string",contains:l,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:c("s|tr|y",t.either(...s,{capture:!0}))},{begin:c("s|tr|y","\\(","\\)")},{begin:c("s|tr|y","\\[","\\]")},{begin:c("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:u("(?:m|qr)?",/\//,/\//)},{begin:u("m|qr",t.either(...s,{capture:!0}),/\1/)},{begin:u("m|qr",/\(/,/\)/)},{begin:u("m|qr",/\[/,/\]/)},{begin:u("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return r.contains=d,o.contains=d,{name:"Perl",aliases:["pl","pm"],keywords:a,contains:d}},grmr_php:e=>{let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,a=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),o={scope:"variable",match:"\\$+"+a},i={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),s="[ \n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(i)}),l,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(i),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},u={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},d=["false","null","true"],p=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],m=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],h={keyword:p,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(d),built_in:m},g=e=>e.map(e=>e.replace(/\|\d+$/,"")),f={variants:[{match:[/new/,t.concat(s,"+"),t.concat("(?!",g(m).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},_=t.concat(a,"\\b(?!\\()"),b={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),_],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),_],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},y={scope:"attr",match:t.concat(a,t.lookahead(":"),t.lookahead(/(?!::)/))},v={relevance:0,begin:/\(/,end:/\)/,keywords:h,contains:[y,o,b,e.C_BLOCK_COMMENT_MODE,c,u,f]},w={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",g(p).join("\\b|"),"|",g(m).join("\\b|"),"\\b)"),a,t.concat(s,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[v]};v.contains.push(w);let k=[y,b,e.C_BLOCK_COMMENT_MODE,c,u,f];return{case_insensitive:!1,keywords:h,contains:[{begin:t.concat(/#\[\s*/,r),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:d,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:d,keyword:["new","array"]},contains:["self",...k]},...k,{scope:"meta",match:r}]},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},o,w,b,{match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},f,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:h,contains:["self",o,b,e.C_BLOCK_COMMENT_MODE,c,u]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,u]}},grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],r={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},o={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:r,illegal:/#/},l={begin:/\{\{/,relevance:0},s={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,o],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,o],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,o,l,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,o,l,i]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,l,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,l,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},c="[0-9](_?[0-9])*",u=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,d="\\b|"+a.join("|"),p={className:"number",relevance:0,variants:[{begin:`(\\b(${c})|(${u}))[eE][+-]?(${c})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${c})[jJ](?=${d})`}]},m={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:r,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},h={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:["self",o,p,s,e.HASH_COMMENT_MODE]}]};return i.contains=[s,p,o],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:r,illegal:/(<\/|\?)|=>/,contains:[o,p,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},s,m,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[h]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[p,h,s]}]}},grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,a]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[o,a]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=t.concat(a,/(::\w+)*/),o={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},i={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},s=[e.COMMENT("#","$",{contains:[i]}),e.COMMENT("^=begin","^=end",{contains:[i],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:o},u={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},d="[0-9](_?[0-9])*",p={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},m={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:o}]},h=[u,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:o},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:o},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[m]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[u,{begin:n}],relevance:0},p,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:o},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,s),relevance:0}].concat(l,s);c.contains=h,m.contains=h;let g=[{begin:/^\s*=>/,starts:{end:"$",contains:h}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:o,contains:h}}];return s.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:o,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(g).concat(s).concat(h)}},grmr_rust:e=>{let t=e.regex,n={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,e.IDENT_RE,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",r=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],o=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:o,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:r},illegal:""},n]}},grmr_scss:e=>{let t=oU(e),n="@[a-z-]+",a={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+oF.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+oq.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+oH.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oW.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,a,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:n,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:oz.join(" ")},contains:[{begin:n,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}),grmr_sql:e=>{let t=e.regex,n=e.COMMENT("--","$"),a=["true","false","unknown"],r=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],o=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],i=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter(e=>!o.includes(e)),s={begin:t.concat(/\b/,t.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:t,when:n}={})=>(t=t||[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:n(e)?e+"|0":e)))(l,{when:e=>e.length<3}),literal:a,type:r,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:t.either(...i),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:l.concat(i),literal:a,type:r}},{className:"type",begin:t.either("double precision","large object","with timezone","without timezone")},s,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}},grmr_swift:e=>{let t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,n],r={match:[/\./,oi(...o8,...o5)],className:{2:"keyword"}},o={match:oo(/\./,oi(...ie)),relevance:0},i=ie.filter(e=>"string"==typeof e).concat(["_|0"]),l={variants:[{className:"keyword",match:oi(...ie.filter(e=>"string"!=typeof e).concat(o7).map(o6),...o5)}]},s={$pattern:oi(/\b\w+/,/#\w+/),keyword:i.concat(ir),literal:it},c=[r,o,l],u=[{match:oo(/\./,oi(...io)),relevance:0},{className:"built_in",match:oo(/\b/,oi(...io),/(?=\()/)}],d={match:/->/,relevance:0},p=[d,{className:"operator",relevance:0,variants:[{match:is},{match:`\\.(\\.|${il})+`}]}],m="([0-9]_*)+",h="([0-9a-fA-F]_*)+",g={className:"number",relevance:0,variants:[{match:`\\b(${m})(\\.(${m}))?([eE][+-]?(${m}))?\\b`},{match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${m}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},f=(e="")=>({className:"subst",variants:[{match:oo(/\\/,e,/[0\\tnr"']/)},{match:oo(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),_=(e="")=>({className:"subst",match:oo(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),b=(e="")=>({className:"subst",label:"interpol",begin:oo(/\\/,e,/\(/),end:/\)/}),y=(e="")=>({begin:oo(e,/"""/),end:oo(/"""/,e),contains:[f(e),_(e),b(e)]}),v=(e="")=>({begin:oo(e,/"/),end:oo(/"/,e),contains:[f(e),b(e)]}),w={className:"string",variants:[y(),y("#"),y("##"),y("###"),v(),v("#"),v("##"),v("###")]},k=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],E=e=>{let t=oo(e,/\//),n=oo(/\//,e);return{begin:t,end:n,contains:[...k,{scope:"comment",begin:`#(?!.*${n})`,end:/$/}]}},$={scope:"regexp",variants:[E("###"),E("##"),E("#"),{begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:k}]},x={match:oo(/`/,id,/`/)},S=[x,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${iu}+`}],N=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:ih,contains:[...p,g,w]}]}},{scope:"keyword",match:oo(/@/,oi(...im))},{scope:"meta",match:oo(/@/,id)}],C={match:on(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:oo(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,iu,"+")},{className:"type",match:ip,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:oo(/\s+&\s+/,on(ip)),relevance:0}]},A={begin://,keywords:s,contains:[...a,...c,...N,d,C]};C.contains.push(A);let M={begin:/\(/,end:/\)/,relevance:0,keywords:s,contains:["self",{match:oo(id,/\s*:/),keywords:"_|0",relevance:0},...a,$,...c,...u,...p,g,w,...S,...N,C]},O={begin://,keywords:"repeat each",contains:[...a,C]},T={begin:/\(/,end:/\)/,keywords:s,contains:[{begin:oi(on(oo(id,/\s*:/)),on(oo(id,/\s+/,id,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:id}]},...a,...c,...p,g,w,...N,C,M],endsParent:!0,illegal:/["']/},D={match:[/(func|macro)/,/\s+/,oi(x.match,id,is)],className:{1:"keyword",3:"title.function"},contains:[O,T,t],illegal:[/\[/,/%/]},R={begin:[/precedencegroup/,/\s+/,ip],className:{1:"keyword",3:"title"},contains:[C],keywords:[...ia,...it],end:/}/};for(let e of w.variants){let t=e.contains.find(e=>"interpol"===e.label);t.keywords=s;let n=[...c,...u,...p,g,w,...S];t.contains=[...n,{begin:/\(/,end:/\)/,contains:["self",...n]}]}return{name:"Swift",keywords:s,contains:[...a,D,{match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[O,T,t],illegal:/\[|%/},{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:s,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c]},{match:[/operator/,/\s+/,is],className:{1:"keyword",3:"title"}},R,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0},$,...c,...u,...p,g,w,...S,...N,C,M]}},grmr_typescript:e=>{let t=o9(e),n=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],a={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[t.exports.CLASS_REFERENCE]},r={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:n},contains:[t.exports.CLASS_REFERENCE]},o={$pattern:oX,keyword:oY.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:oJ,built_in:o4.concat(n),"variable.language":o3},i={className:"meta",begin:"@"+oX},l=(e,t,n)=>{let a=e.contains.findIndex(e=>e.label===t);if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,n)};return Object.assign(t.keywords,o),t.exports.PARAMS_CONTAINS.push(i),t.contains=t.contains.concat([i,a,r]),l(t,"shebang",e.SHEBANG()),l(t,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),t.contains.find(e=>"func.def"===e.label).relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t},grmr_vbnet:e=>{let t=e.regex,n=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,r=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,i={className:"literal",variants:[{begin:t.concat(/# */,t.either(a,n),/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,r,/ *#/)},{begin:t.concat(/# */,t.either(a,n),/ +/,t.either(r,o),/ *#/)}]},l=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),s=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},l,s,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[s]}]}},grmr_wasm:e=>{e.regex;let t=e.COMMENT(/\(;/,/;\)/);return t.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[e.COMMENT(/;;/,/$/),t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}},grmr_xml:e=>{let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(r,{begin:/\(/,end:/\)/}),i=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),s={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[r,l,i,o,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[r,o,l,i]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:s}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}},grmr_yaml:e=>{let t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},r=e.inherit(a,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),o={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},i=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[o],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[o],illegal:"\\n",relevance:0},a],l=[...i];return l.pop(),l.push(r),o.contains=l,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:i}}});for(const e of Object.keys(ig)){let t=e.replace("grmr_","").replace("_","-");oB.registerLanguage(t,ig[e])}oB.registerLanguage("julia",e=>{let t="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",n={$pattern:t,keyword:["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"],literal:["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","π","ℯ"],built_in:["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"]},a={keywords:n,illegal:/<\//},r={className:"subst",begin:/\$\(/,end:/\)/,keywords:n},o={className:"variable",begin:"\\$"+t},i={className:"string",contains:[e.BACKSLASH_ESCAPE,r,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,r,o],begin:"`",end:"`"};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,{className:"meta",begin:"@"+t},{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],r.contains=a.contains,a}),oB.registerLanguage("julia-repl",e=>({name:"Julia REPL",contains:[{className:"meta.prompt",begin:/^julia>/,relevance:10,starts:{end:/^(?![ ]{6})/,subLanguage:"julia"}}],aliases:["jldoctest"]})),window.hljs=oB;var eL=c("1gqBQ");c("9Ta4i");var d=c("cNaMA");const i_=({process_waiting_for_permission:e,risky_file_source:t,restart:n,warn_about_untrusted_code:a})=>(0,d.html)` +
    + ${e?(0,d.html)`
    +
    + Safe preview + + +
    +
    `:null} + `,ib=()=>(0,d.html)`
    + ${"Code not executed in "}Safe preview +
    `,iy=`
    +Scripts and styles not rendered in Safe preview +
    `,iv=e=>e&&e.startsWith("const ")?(0,d.html)`const ${e.slice(6)}`:e;class iw extends d.Component{constructor(){super(),this.state={output_changed_once:!1},this.old_height=0,this.resize_observer=new ResizeObserver(e=>{let t=this.base.offsetHeight;if(document.body.querySelector("pluto-cell:focus-within")){let e=document.body.querySelectorAll("pluto-cell:focus-within ~ pluto-cell > pluto-output");document.activeElement?.tagName==="SUMMARY"||0!==e.length&&Array.from(e).includes(this.base)||window.scrollBy(0,t-this.old_height)}this.old_height=t})}shouldComponentUpdate({last_run_timestamp:e,sanitize_html:t}){return e!==this.props.last_run_timestamp||t!==this.props.sanitize_html}componentDidUpdate(e){this.props.last_run_timestamp!==e.last_run_timestamp&&this.setState({output_changed_once:!0})}componentDidMount(){this.resize_observer.observe(this.base)}componentWillUnmount(){this.resize_observer.unobserve(this.base)}render(){let e=this.props.errored||!this.props.body||"application/vnd.pluto.tree+object"!==this.props.mime&&"application/vnd.pluto.table+object"!==this.props.mime&&"text/plain"!==this.props.mime,t=!this.props.errored&&e;return(0,d.html)` + + + <${iE} ...${this.props} /> + + `}}let ik=({body:e,mime:t})=>{let n=(0,d.useRef)();return(0,d.useLayoutEffect)(()=>{let a=URL.createObjectURL(new Blob([e],{type:t}));return n.current.onload=n.current.onerror=()=>{n.current&&(n.current.style.display=null)},""===n.current.src&&(n.current.style.display="none"),n.current.type=t,n.current.src=a,()=>URL.revokeObjectURL(a)},[e,t]),(0,d.html)``};const iE=({mime:e,body:t,cell_id:n,persist_js_state:a=!1,last_run_timestamp:r,sanitize_html:o=!0})=>{switch(o="false"!==o&&!1!==o,a="true"===a||!0===a,e){case"image/png":case"image/jpg":case"image/jpeg":case"image/gif":case"image/bmp":case"image/svg+xml":return(0,d.html)`
    <${ik} mime=${e} body=${t} />
    `;case"text/html":if(t.startsWith("`;return(0,d.html)`<${iT} + cell_id=${n} + body=${t} + persist_js_state=${a} + last_run_timestamp=${r} + sanitize_html=${o} + />`;case"application/vnd.pluto.tree+object":return(0,d.html)`
    + <${tj} cell_id=${n} body=${t} persist_js_state=${a} sanitize_html=${o} /> +
    `;case"application/vnd.pluto.table+object":return(0,d.html)`<${tF} cell_id=${n} body=${t} persist_js_state=${a} sanitize_html=${o} />`;case"application/vnd.pluto.parseerror+object":return(0,d.html)`
    <${tx} cell_id=${n} ...${t} />
    `;case"application/vnd.pluto.stacktrace+object":return(0,d.html)`
    <${tC} cell_id=${n} ...${t} />
    `;case"application/vnd.pluto.divelement+object":return tz({cell_id:n,...t,persist_js_state:a,sanitize_html:o});case"text/plain":if(t)return(0,d.html)`
    +
    ${t}
    +
    `;return(0,d.html)`
    `;case null:case void 0:case"":return(0,d.html)``;default:return(0,d.html)`
    🛑
    `}};(0,tQ.default)(iE,"pluto-display",["mime","body","cell_id","persist_js_state","last_run_timestamp","sanitize_html"]);let i$=({body:e})=>{let t=(0,d.useRef)();return(0,d.useLayoutEffect)(()=>{let n=URL.createObjectURL(new Blob([e],{type:"text/html"}));return t.current.src=n,iM(async()=>{await new Promise(e=>t.current.addEventListener("load",()=>e(null)));let e=t.current.contentWindow.document,n=document.querySelector("#iframe-resizer-content-window-script"),a=e.createElement("script");a.src=n.src,a.crossOrigin="anonymous",e.head.appendChild(a),new Promise(e=>a.addEventListener("load",()=>e(null))),window.iFrameResize({checkOrigin:!1},t.current)}),()=>URL.revokeObjectURL(n)},[e]),(0,d.html)``},ix=async({environment:e,code:t})=>{let n=`"use strict"; return (async () => {${t}})()`,{this:a,...r}=e,o=Object.keys(r),i=Object.values(r);return await Function(...o,n).bind(a)(...i)},iS=0,iN=async(e,t)=>{let n=document.createElement("script");for(let t of e.attributes)n.attributes.setNamedItem(t.cloneNode(!0));let a=`____FUNCTION_TO_RUN_INSIDE_SCRIPT_${iS}`;n.textContent=`{ + window.${a}.result = window.${a}.function_to_run(window.${a}.currentScript) + }`,window[a]={function_to_run:t,currentScript:n,result:null};let r=e.parentNode;if(null==r)throw"Failed to execute script it has no parent in DOM.";r.replaceChild(n,e);let o=await window[a].result;return window[a]={function_to_run:t,result:null},{node:n,result:o}};const iC=e=>e instanceof Element&&e.nodeType===Node.ELEMENT_NODE,iA=async({root_node:e,script_nodes:t,previous_results_map:n,invalidation:a,pluto_actions:r})=>{let o=new Map;for(let e of t)if(null!=e.src&&""!==e.src);else{let t=e.id,a=t?n.get(t):null;iC(a)&&e.parentElement?.insertBefore(a,e)}for(let i of t){if(iS+=1,null!=i.src&&""!==i.src){let e=Array.from(document.head.querySelectorAll("script")).find(e=>e.src===i.src);void 0==e&&((e=document.createElement("script")).referrerPolicy=i.referrerPolicy,e.crossOrigin=i.crossOrigin,e.integrity=i.integrity,e.noModule=i.noModule,e.nonce=i.nonce,e.type=i.type,e.src=i.src,e.pluto_is_loading_me=!0);let t=e;null!=t.pluto_is_loading_me&&(await new Promise(e=>{t.addEventListener("load",e),t.addEventListener("error",e),document.head.appendChild(t)}),t.pluto_is_loading_me=void 0)}else try{let t=i.innerText,l=i.id,s=l?n.get(l):null;if("module"===i.type&&console.warn("We don't (yet) fully support + ${s}`);console.log(i.current);let d=document.createElement("a");d.setAttribute("href","data:text/html;charset=utf-8,"+encodeURIComponent(u)),d.setAttribute("download",`${c.current} recording.html`),d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d)}l.current=0,i.current=null,a({is_recording:!1,recording_waiting_to_start:!1})};return(0,d.html)` +
    + ${n?(0,d.html)`
    +
    + +
    +
    + +
    +
    `:t?(0,d.html)`
    +
    + +
    +
    `:null} + `};let lN=({cell_id:e,relative_distance:t})=>{let n=document.getElementById(e);if(n)return n.offsetTop+t*n.offsetHeight-window.innerHeight/2};const lC=({launch_params:e,initializing:t,apply_notebook_patches:n,reset_notebook_state:a})=>{let{recording_url:r,recording_url_integrity:o,recording_audio_url:i}=e,l=(0,d.useMemo)(()=>Promise.resolve().then(async()=>r?(0,ll.unpack)(new Uint8Array(await (await fetch(new Request(r,{integrity:o??void 0})).then(lx)).arrayBuffer())):null),[r]),s=(0,d.useRef)(null);(0,d.useEffect)(()=>{l.then(console.log)},[l]);let c=(0,d.useRef)(null),u=(0,d.useRef)(!1),p=(0,d.useRef)(0),[m,g]=(0,d.useState)(null),[f,_]=(0,d.useState)(!0),b=(0,d.useRef)(f);b.current=f;let y=(0,d.useRef)(!1),v=(0,d.useRef)(0),w=(0,d.useRef)(0),k=(e,t=!0)=>{v.current=Date.now(),w.current=Date.now(),window.scrollTo({top:e,behavior:t?"smooth":"auto"})},E=({cell_id:e,relative_distance:t},n=!0)=>{let a=lN({cell_id:e,relative_distance:t});null!=a&&(g(a),b.current&&k(a,n))},$=(0,d.useRef)(()=>{});$.current=async()=>{u.current=!0;let e=await l;s.current=s.current??e.steps.map(([e,t])=>[e,void 0]);let t=c.current;if(null==t)return;let a=t.currentTime,r=a>=p.current,o=r?h.default.identity:h.default.reverse,i=Math.min(p.current,a),d=Math.max(p.current,a),m=e.scrolls.filter(([e,t])=>i0){let e=h.default.last(o(m))?.[1];e&&E(e)}let g=(r?e.steps:s.current).map((e,t)=>[e,t]).filter(([[e,t],n])=>i$.current())};let x=(0,d.useCallback)(e=>{u.current||$.current()},[u,$]),S=["seeked","suspend","play","pause","ended","waiting"];(0,d.useLayoutEffect)(()=>{let e=c.current;if(e)return S.forEach(t=>{e.addEventListener(t,x)}),()=>{S.forEach(t=>{e.removeEventListener(t,x)})}},[c.current,x]),(0,d.useEffect)(()=>{t||null==r||l.then(e=>{let t=(0,h.default).first(e?.scrolls);if(t){let e=new ResizeObserver(()=>{console.log("Scrolling back to first recorded scroll position..."),E(t[1],!1)}),n=history.scrollRestoration;history.scrollRestoration="manual",e.observe(document.body),setTimeout(()=>{history.scrollRestoration=n,e.disconnect()},3e3),E(t[1],!1)}document.fonts.ready.then(()=>{console.info("Fonts loaded"),E(t[1],!1)})})},[t]),(0,d.useEffect)(()=>{},[t]),(0,d.useEffect)(()=>{if(!t&&null!=r){let e=e=>{let t=Date.now(),n=(t-v.current)/1e3,a=(t-w.current)/1e3,r=n<1&&(a===n||a<.2);r&&(w.current=t),!r&&b.current&&(console.warn("Manual scroll detected, no longer following playback scroll",{dt:n,smooth_dt:a,e:e}),null!=c.current&&(y.current=!c.current.paused,c.current.pause()),_(!1))};return document.fonts.ready.then(()=>{window.addEventListener("scroll",e,{passive:!0})}),()=>{window.removeEventListener("scroll",e,{passive:!0})}}},[t,r]);let N=(0,d.html)`
    `;return(0,d.html)` + ${r?(0,d.html)`${f?null:(0,d.html)`
    +
    + +
    +
    `} + ${N} <${l$} audio_element_ref=${c} src=${i} loaded_recording=${l} />`:null} + `};var ez=c("hrGZZ");c("cNaMA");let lA=()=>((0,ez.useEventListener)(document,"click",e=>{if(e.defaultPrevented)return;let t=e.target.closest("a");t&&!t.hasAttribute("target")&&new URL(t.href).origin!==window.location.origin&&(t.target="_blank")},[]),null);var d=c("cNaMA"),M=c("kjWx8"),h=c("9Ta4i");class lM extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.tags=[]}addTag(e){if(e.length>0){if("true"==this.getAttribute("lowercase")&&(e=e.toLowerCase()),"true"==this.getAttribute("uppercase")&&(e=e.toUpperCase()),"true"==this.getAttribute("duplicates")||-1===this.tags.indexOf(e))this.tags.push(e),this.shadowRoot.querySelector("#tag-input").value="",this.dispatchEvent(new CustomEvent("input")),this.render();else{var t=this.shadowRoot.querySelector('[data-index="'+this.tags.indexOf(e)+'"]');t.className=t.className+" duplicate",setTimeout(function(){t.className=t.className.replace("duplicate","")},500)}}}get value(){return this.tags}set value(e){this.tags=Array.isArray(e)?e:[],this.render()}render(){this.clear(),this.tags.forEach((e,t)=>{let n=document.createElement("div");n.className="tag";let a=document.createElement("div");a.className="remove",a.innerHTML="✕",a.addEventListener("click",()=>{this.deleteTag(t)}),n.dataset.index=t,n.innerHTML=e,n.appendChild(a),this.shadowRoot.querySelector(".rebel-tag-input").appendChild(n)})}clear(){var e=this.shadowRoot.querySelectorAll(".tag");if(e.length>0)for(var t=0;t{a!==e&&t.push(n)}),this.value=t}connectedCallback(){this.shadowRoot.innerHTML=` + +
    + + +
    + `;let e=!1;this.shadowRoot.querySelector("#tag-input").addEventListener("input",e=>{e.stopPropagation()}),this.shadowRoot.querySelector("#tag-input").addEventListener("keydown",t=>{let n=this.shadowRoot.querySelector("#tag-input").value;13===t.keyCode?this.addTag(n):188===t.keyCode?(t.preventDefault(),this.addTag(n)):8===t.keyCode&&0===n.length&&(e?(this.deleteTag(this.tags.length-1),this.dispatchEvent(new CustomEvent("input")),e=!1):e=!0)}),this.shadowRoot.querySelector("#tag-input").addEventListener("blur",()=>{let e=this.shadowRoot.querySelector("#tag-input").value;this.addTag(e)})}}customElements.define("rbl-tag-input",lM);var lO=c("1Mxs0"),ez=c("hrGZZ");const lT=({filename:e,remote_frontmatter:t,set_remote_frontmatter:n})=>{let[a,r]=(0,d.useState)(t??{});(0,d.useEffect)(()=>{r(t??{})},[t]);let o=e=>t=>r(m(n=>{(0,h.default).set(n,e,t)})),[i,l,s,c]=aV(),u=(0,d.useRef)(n);u.current=n;let p=(0,d.useCallback)(()=>{u.current(lD(a)??{}).then(()=>alert("Frontmatter synchronized ✔\n\nThese parameters will be used in future exports.")),s()},[lD,a,s]);(0,ez.useEventListener)(window,"open pluto frontmatter",l),(0,ez.useEventListener)(window,"keydown",e=>{null!=i.current&&i.current.contains(e.target)&&"Enter"===e.key&&(0,M.has_ctrl_or_cmd_pressed)(e)&&p()},[p]);let g={title:null,description:null,date:null,tags:[],author:[{}],...a},f=([e,t])=>!((0,h.default).isArray(t)&&"tags"!==lI(e)||(0,h.default).isPlainObject(t)),_=(e,t)=>(0,d.html)` + ${Object.entries(e).filter(f).map(([e,n])=>{let a=`${t}${e}`,i=`fm-${a}`;return(0,d.html)` + + <${lP} type=${lI(e)} id=${i} value=${n} on_value=${o(a)} /> + + `})} + + `;return(0,d.html)` +

    Frontmatter

    +

    + If you are publishing this notebook on the web, you can set the parameters below to provide HTML metadata. This is useful for search engines and + social media. +

    + +
    + ${_(g,"")} + ${(0,h.default).isArray(g.author)?g.author.map((e,t)=>{let n={name:null,url:null,...e};return(0,d.html)` +
    + Author ${t+1} + + ${_(n,`author[${t}].`)} +
    + `}):null} + ${(0,h.default).isArray(g.author)?(0,d.html)``:null} +
    + +
    +
    `},lD=e=>{let t=(0,h.default).isPlainObject(e)?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,lD(t)]).filter(([e,t])=>null!=t)):(0,h.default).isArray(e)?e.map(lD).filter(e=>null!=e):e;return!(0,h.default).isNumber(t)&&(0,h.default).isEmpty(t)?null:t};let lR=lD({a:1,b:"",c:null,d:[],e:[1,"",null,2],f:{},g:[{}],h:[{z:"asdf"}]});console.assert((0,h.default).isEqual(lR,{a:1,e:[1,2],h:[{z:"asdf"}]}),lR);const lL=["tags","date","license","url","color"],lI=e=>{for(let t of lL)if(e===t||e.endsWith(`_${t}`))return t;return"text"},lP=({value:e,on_value:t,type:n,id:a})=>{let r=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{r.current&&(r.current.value=e)},[r.current,e]),(0,d.useLayoutEffect)(()=>{if(!r.current)return;let e=e=>{r.current&&t(r.current.value)};return r.current.addEventListener("input",e),()=>{r.current?.removeEventListener("input",e)}},[r.current]),"tags"===n?(0,d.html)``:"license"===n?lB({ref:r,id:a}):(0,d.html)``},lj=["AGPL-3.0","GPL-3.0","LGPL-3.0","MPL-2.0","Apache-2.0","MIT","BSL-1.0","Unlicense","CC-BY-4.0","CC-BY-SA-4.0","CC-BY-NC-4.0","CC-BY-NC-SA-4.0","CC-BY-ND-4.0","CC-BY-NC-ND-4.0","CC0-1.0"],lB=({ref:e,id:t})=>(0,d.html)` + + ${lj.map(e=>(0,d.html)``)} + `;var d=c("cNaMA"),g=c("4zMEb"),tt=c("41Mhf");const lU=async({setStatePromise:e,connect:t,launch_params:n})=>{try{let a;if(null==n.pluto_server_url||null==n.notebookfile)throw Error("Invalid launch parameters for starting locally.");await e(m(e=>{e.backend_launch_phase=tn.responded,e.disable_ui=!1,e.notebook.status_tree=null}));let r=e=>String(e),o=new URL(n.pluto_server_url,window.location.href),i=await (await fetch(new Request(n.notebookfile,{integrity:n.notebookfile_integrity??void 0}))).arrayBuffer();if(!(a=await fetch(r((0,tt.with_query_params)(new URL("notebookupload",o),{name:new URLSearchParams(window.location.search).get("name"),clear_frontmatter:"yesplease",execution_allowed:"yepperz"})),{method:"POST",body:i})).ok){let e=await a.blob();window.location.href=URL.createObjectURL(e);return}let l=await a.text(),s=(0,tt.with_query_params)(new URL("edit",o),{id:l});console.info("notebook_id:",l),window.history.replaceState({},"",s),await e(m(e=>{e.notebook.notebook_id=l,e.backend_launch_phase=tn.notebook_running})),console.log("Connecting WebSocket");let c=t();await (0,g.timeout_promise)(c,2e4).catch(e=>{console.error("Failed to establish connection within 20 seconds. Navigating to the edit URL directly.",e),window.parent.location.href=r(s)})}catch(e){console.error("Failed to initialize binder!",e),alert("Something went wrong! \uD83D\uDE2E\n\nWe failed to open this notebook. Please try again with a different browser, or come back later.")}},lF=({editor:e,launch_params:t,status:n})=>{try{let n=(0,d.useMemo)(()=>window?.pluto_injected_environment?.environment?.({client:e.client,editor:e,imports:{immer:m,preact:d}})?.custom_run_or_edit,[e.client,e]);if(window?.pluto_injected_environment?.provides_backend)return(0,d.html)`<${n} editor=${e} backend_phases=${tn} launch_params=${t} />`}catch(e){}return null==n?null:n.offer_local?(0,d.html)`<${aQ} + start_local=${()=>lU({setStatePromise:e.setStatePromise,connect:e.connect,launch_params:t})} + />`:n.offer_binder?(0,d.html)`<${aX} + offer_binder=${n.offer_binder} + start_binder=${()=>ti({setStatePromise:e.setStatePromise,connect:e.connect,launch_params:t})} + notebookfile=${null==t.notebookfile?null:new URL(t.notebookfile,window.location.href).href} + notebook=${e.state.notebook} + />`:null};var lz=c("cpCG6"),lq=c("dYd4C"),eL=c("1gqBQ");const lH={disabled:!1,show_logs:!0,skip_as_script:!1},lW=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),lG=({children:e})=>(0,d.html)`
    ${e}
    `,lK=(e,t)=>({disconnected:!(e.connected||e.initializing||e.static_preview),loading:null!=e.backend_launch_phase&&tn.wait_for_usernull!=e.cell_inputs_local[t]&&e.notebook.cell_inputs[t].code!==e.cell_inputs_local[t].code),recording_waiting_to_start:e.recording_waiting_to_start,is_recording:e.is_recording,isolated_cell_view:null!=t.isolated_cell_ids&&t.isolated_cell_ids.length>0,sanitize_html:e.notebook.process_status===lq.ProcessStatus.waiting_for_permission}),lZ=e=>{for(let[t,n]of Object.entries(e))if(n)return t},lV=a1("pluto-logo-big")?.href,lQ=a1("pluto-logo-small")?.href;class lX extends d.Component{constructor(e){super(e);let{launch_params:t,initial_notebook_state:n}=this.props;this.state={notebook:n,cell_inputs_local:{},unsumbitted_global_definitions:{},desired_doc_query:null,recently_deleted:[],recently_auto_disabled_cells:{},last_update_time:0,disable_ui:t.disable_ui,static_preview:null!=t.statefile,backend_launch_phase:null!=t.notebookfile&&(null!=t.binder_url||null!=t.pluto_server_url)?tn.wait_for_user:null,backend_launch_logs:null,binder_session_url:null,binder_session_token:null,refresh_target:null,connected:!1,initializing:!0,moving_file:!1,scroller:{up:!1,down:!1},export_menu_open:!1,last_created_cell:null,selected_cells:[],extended_components:{CustomHeader:null},is_recording:!1,recording_waiting_to_start:!1,slider_server:{connecting:!1,interactive:!1}},this.setStatePromise=e=>new Promise(t=>this.setState(e,t)),this.real_actions={get_notebook:()=>this?.state?.notebook||{},send:(e,...t)=>this.client.send(e,...t),get_published_object:e=>this.state.notebook.published_objects[e],update_notebook:(...e)=>this.update_notebook(...e),set_doc_query:e=>this.setState({desired_doc_query:e}),set_local_cell:(e,t)=>this.setStatePromise(m(n=>{n.cell_inputs_local[e]={code:t},n.selected_cells=[]})),set_unsubmitted_global_definitions:(e,t)=>this.setStatePromise(m(n=>{n.unsumbitted_global_definitions[e]=t})),get_unsubmitted_global_definitions:()=>(0,h.default).pick(this.state.unsumbitted_global_definitions,this.state.notebook.cell_order),focus_on_neighbor:(e,t,n=-1===t?1/0:-1,a=0)=>{let r=this.state.notebook.cell_order.indexOf(e)+t;r>=0&&r{let a;let r=n(e).map(e=>({cell_id:lW(),code:e,code_folded:!1,metadata:{...lH}}));"number"==typeof t?a=t:-1!==(a=this.state.notebook.cell_order.indexOf(t))&&(a+=1),-1===a&&(a=this.state.notebook.cell_order.length),this.setState(m(e=>{for(let t of(e.selected_cells=[],r))e.cell_inputs_local[t.cell_id]=t;e.last_created_cell=r[0]?.cell_id})),await _(e=>{for(let t of r)e.cell_inputs[t.cell_id]={...t,code:"",metadata:{...lH}};e.cell_order=[...e.cell_order.slice(0,a),...r.map(e=>e.cell_id),...e.cell_order.slice(a,1/0)]})},wrap_remote_cell:async(e,t="begin",n="end")=>{let a=this.state.notebook.cell_inputs[e],r=`${t} + ${a.code.replace(/\n/g,"\n ")} +${n}`;await this.setStatePromise(m(t=>{t.cell_inputs_local[e]={code:r}})),await this.actions.set_and_run_multiple([e])},split_remote_cell:async(e,t,n=!1)=>{let a=this.state.notebook.cell_inputs[e].code,r=[0,...t],o=t.map((e,t)=>(0,tY.slice_utf8)(a,r[t],e).trim()).filter(e=>""!==e).map(e=>({cell_id:lW(),code:e,code_folded:!1,metadata:{...lH}}));this.setState(m(e=>{for(let t of o)e.cell_inputs_local[t.cell_id]=t})),await _(t=>{for(let n of(delete t.cell_inputs[e],o))t.cell_inputs[n.cell_id]=n;t.cell_order=t.cell_order.flatMap(t=>e===t?o.map(e=>e.cell_id):[t])}),n&&await this.actions.set_and_run_multiple(o.map(e=>e.cell_id))},interrupt_remote:e=>{this.client.send("interrupt_all",{},{notebook_id:this.state.notebook.notebook_id},!1)},move_remote_cells:(e,t)=>_(n=>{t=Math.max(0,t);let a=n.cell_order.slice(0,t).filter(t=>!e.includes(t)),r=n.cell_order.slice(t,1/0).filter(t=>!e.includes(t));n.cell_order=[...a,...e,...r]}),add_remote_cell_at:async(e,t="")=>{let n=lW();return this.setState({last_created_cell:n}),await _(a=>{a.cell_inputs[n]={cell_id:n,code:t,code_folded:!1,metadata:{...lH}},a.cell_order=[...a.cell_order.slice(0,e),n,...a.cell_order.slice(e,1/0)]}),await this.client.send("run_multiple_cells",{cells:[n]},{notebook_id:this.state.notebook.notebook_id}),n},add_remote_cell:async(e,t,n)=>{let a=this.state.notebook.cell_order.indexOf(e);return await this.actions.add_remote_cell_at(a+("before"==t?0:1),n)},confirm_delete_multiple:async(e,t)=>{(t.length<=1||confirm(`${e} ${t.length} cells?`))&&(t.some(e=>this.state.notebook.cell_results[e].running||this.state.notebook.cell_results[e].queued)?confirm("This cell is still running - would you like to interrupt the notebook?")&&this.actions.interrupt_remote(t[0]):(this.setState(m(e=>{for(let n of(e.recently_deleted=t.map(e=>({index:this.state.notebook.cell_order.indexOf(e),cell:this.state.notebook.cell_inputs[e]})),e.selected_cells=[],t))delete e.unsumbitted_global_definitions[n]})),await _(e=>{for(let n of t)delete e.cell_inputs[n];e.cell_order=e.cell_order.filter(e=>!t.includes(e))}),await this.client.send("run_multiple_cells",{cells:[]},{notebook_id:this.state.notebook.notebook_id})))},fold_remote_cells:async(e,t)=>{await _(n=>{for(let a of e)n.cell_inputs[a].code_folded=t??!n.cell_inputs[a].code_folded})},set_and_run_all_changed_remote_cells:()=>{let e=this.state.notebook.cell_order.filter(e=>null!=this.state.cell_inputs_local[e]&&this.state.notebook.cell_inputs[e].code!==this.state.cell_inputs_local[e]?.code);return this.actions.set_and_run_multiple(e),e.length>0},set_and_run_multiple:async e=>{if(e.length>0){window.dispatchEvent(new CustomEvent("set_waiting_to_run_smart",{detail:{cell_ids:e}})),await _(t=>{for(let n of e)this.state.cell_inputs_local[n]&&(t.cell_inputs[n].code=this.state.cell_inputs_local[n].code)}),await this.setStatePromise(m(t=>{for(let n of e)delete t.unsumbitted_global_definitions[n],null!=t.notebook.cell_results[n]&&(t.notebook.cell_results[n].queued=this.is_process_ready())}));let{disabled_cells:t}=(await this.client.send("run_multiple_cells",{cells:e},{notebook_id:this.state.notebook.notebook_id})).message;Object.entries(t).length>0&&await this.setStatePromise({recently_auto_disabled_cells:t})}},set_bond:async(e,t)=>{await _(n=>{n.bonds[e]={value:t}})},reshow_cell:(e,t,n)=>{this.client.send("reshow_cell",{objectid:t,dim:n,cell_id:e},{notebook_id:this.state.notebook.notebook_id},!1)},request_js_link_response:(e,t,n)=>this.client.send("request_js_link_response",{cell_id:e,link_id:t,input:n},{notebook_id:this.state.notebook.notebook_id}).then(e=>e.message),get_selected_cells:(e,t)=>t?this.state.selected_cells:[e],get_avaible_versions:async({package_name:e,notebook_id:t})=>{let{message:n}=await this.client.send("nbpkg_available_versions",{package_name:e},{notebook_id:t});return n}},this.actions={...this.real_actions};let a=(e,n=null,a=!1)=>new Promise(r=>{if(0!==e.length){let o=e=>e.startsWith("status_tree"),i,l=[];this.setState(m(r=>{let s;try{a&&([s,i,l]=(0,p.produceWithPatches)(n??r.notebook,t=>{(0,p.applyPatches)(t,e)})),s=(0,p.applyPatches)(n??r.notebook,e)}catch(l){let n=String(l).match(".*'(.*)'.*")?.[1].replace(/\//gi,".")??l,a=(0,h.default).get(this.state.notebook,n,"Not Found");console.log(String(l).match(".*'(.*)'.*")?.[1].replace(/\//gi,".")??l,n,typeof n);let r=o(n);(r?console.log:console.error)(`#######################**************************######################## +PlutoError: StateOutOfSync: Failed to apply patches. +Please report this: https://github.com/fonsp/Pluto.jl/issues adding the info below: +failing path: ${n} +notebook previous value: ${a} +patch: ${JSON.stringify(e?.find(({path:e})=>e.join("")===n),null,1)} +all patches: ${JSON.stringify(e,null,1)} +#######################**************************########################`,l);let i=n.split(".");for(let e=0;enull==s.cell_inputs[e]);0!==c.length&&(console.warn("cells_stuck_in_limbo:",c),s.cell_order=s.cell_order.filter(e=>null!=s.cell_inputs[e])),this.on_patches_hook(e),r.notebook=s}),()=>r(l))}else r([])});this.apply_notebook_patches=a,this.last_update_counter=-1;let r=e=>{e<=this.last_update_counter&&(console.error("State update out of order",e,this.last_update_counter),alert("Oopsie!! please refresh your browser and everything will be alright!")),this.last_update_counter=e},o=(e,n)=>{if(this.state.notebook.notebook_id===e.notebook_id){let o=null!=t.binder_url;o&&console.debug("on_update",e,n);let i=e.message;if("notebook_diff"===e.type){r(i?.counter);let e=Promise.resolve();i?.response?.from_reset?(console.log("Trying to reset state after failure"),e=a(i.patches,l7({notebook_id:this.state.notebook.notebook_id})).catch(e=>{throw alert("Oopsie!! please refresh your browser and everything will be alright!"),e})):0!==i.patches.length&&(e=a(i.patches)),e.finally(()=>{let e=i?.response?.update_went_well!=null&&0===i.patches.length,t=i.patches.some(({path:e})=>0===e.length||"status_tree"!==e[0]);!e&&t&&(this.waiting_for_bond_to_trigger_execution=!1)}).then(()=>{this.maybe_send_queued_bond_changes()})}else console.error("Received unknown update type!",e);o&&console.debug("on_update done")}},i=async e=>{Object.assign(this.client,e);try{let{custom_editor_header_component:t,custom_non_cell_output:n}=(await (0,lz.get_environment)(e))({client:e,editor:this,imports:{preact:d}});this.setState({extended_components:{...this.state.extended_components,CustomHeader:t,NonCellOutputComponents:n}})}catch(e){}if(window.version_info=this.client.version_info,window.kill_socket=this.client.kill,!e.notebook_exists){console.error("Notebook does not exist. Not connecting.");return}console.debug("Sending update_notebook request..."),await this.client.send("update_notebook",{updates:[]},{notebook_id:this.state.notebook.notebook_id},!1),console.debug("Received update_notebook request"),this.setState({initializing:!1,static_preview:!1,backend_launch_phase:null==this.state.backend_launch_phase?null:tn.ready}),this.client.send("complete",{query:"sq"},{notebook_id:this.state.notebook.notebook_id}),this.client.send("complete",{query:"\\sq"},{notebook_id:this.state.notebook.notebook_id}),setTimeout(y,2e3)},l=(e,t)=>{this.setState({connected:e}),t&&(0,eL.open_pluto_popup)({type:"warn",body:(0,d.html)`

    A new server was started - this notebook session is no longer running.

    +

    Would you like to go back to the main menu?

    +
    + Go back +
    + {e.preventDefault(),window.dispatchEvent(new CustomEvent("close pluto popup"))}} + >Stay here`,should_focus:!1})},s=async()=>(console.warn("Reconnected! Checking states"),await this.client.send("reset_shared_state",{},{notebook_id:this.state.notebook.notebook_id},!1),!0);this.export_url=e=>null==this.state.binder_session_url?`./${e}?id=${this.state.notebook.notebook_id}`:`${this.state.binder_session_url}${e}?id=${this.state.notebook.notebook_id}&token=${this.state.binder_session_token}`,this.client={},this.connect=e=>(0,g.create_pluto_connection)({ws_address:e,on_unrequested_update:o,on_connection_status:l,on_reconnect:s,connect_metadata:{notebook_id:this.state.notebook.notebook_id}}).then(i),this.on_disable_ui=()=>{l3(this.state.disable_ui),Object.assign(this.actions,this.state.disable_ui||null!=t.slider_server_url&&!this.state.connected?null!=t.slider_server_url?lh({setStatePromise:this.setStatePromise,actions:this.actions,launch_params:t,apply_notebook_patches:a,get_original_state:()=>this.props.initial_notebook_state,get_current_state:()=>this.state.notebook}):lm({actions:this.actions}):this.real_actions)},this.on_disable_ui(),setInterval(()=>{this.state.static_preview||"visible"!==document.visibilityState||to(`editing/${window?.version_info?.pluto??this.state.notebook.pluto_version??"unknown"}${window.plutoDesktop?"-desktop":""}`)},9e5),setInterval(()=>{this.state.static_preview||"visible"!==document.visibilityState||lY(this.state.notebook.path)},5e3),this.bond_changes_to_apply_when_done=[],this.maybe_send_queued_bond_changes=()=>{if(this.notebook_is_idle()&&0!==this.bond_changes_to_apply_when_done.length){let e=this.bond_changes_to_apply_when_done;this.bond_changes_to_apply_when_done=[],this.update_notebook(t=>{(0,p.applyPatches)(t,e)})}},this.waiting_for_bond_to_trigger_execution=!1,this.pending_local_updates=0,this.js_init_set=new A(()=>{this.maybe_send_queued_bond_changes()}),document.body._js_init_set=this.js_init_set,this.notebook_is_idle=()=>!(this.waiting_for_bond_to_trigger_execution||this.pending_local_updates>0||Object.values(this.state.notebook.cell_results).some(e=>e.running||e.queued)||!(0,h.default).isEmpty(this.js_init_set)||!this.is_process_ready()),this.is_process_ready=()=>this.state.notebook.process_status===lq.ProcessStatus.starting||this.state.notebook.process_status===lq.ProcessStatus.ready;let c=e=>Object.entries(this.state.notebook.cell_dependencies).some(([t,n])=>{if(n.upstream_cells_map.hasOwnProperty(e)){let e=this.state.notebook.cell_inputs[t].metadata.disabled,n=this.state.notebook.cell_results[t].depends_on_disabled_cells;return!(e||n)}}),u=e=>"replace"===e.op&&e.path.length>=1&&c(e.path[1]),f=Promise.resolve(),_=e=>{let t=f.then(async()=>{let[t,n,a]=(0,p.produceWithPatches)(this.state.notebook,t=>{e(t)}),r=this.notebook_is_idle(),o=n.filter(e=>"bonds"===e.path[0]);for(let e of(r||(this.bond_changes_to_apply_when_done=[...this.bond_changes_to_apply_when_done,...o],n=n.filter(e=>"bonds"!==e.path[0])),n))if(e.path.some(e=>"number"==typeof e))throw Error("This sounds like it is editing an array...");if(0!==n.length){r&&(this.waiting_for_bond_to_trigger_execution=this.waiting_for_bond_to_trigger_execution||o.some(u)),this.pending_local_updates++,this.on_patches_hook(n);try{await Promise.all([this.client.send("update_notebook",{updates:n},{notebook_id:this.state.notebook.notebook_id},!1).then(e=>{if(e.message?.response?.update_went_well==="\uD83D\uDC4E")throw Error(`Pluto update_notebook error: (from Julia: ${e.message.response.why_not})`)}),this.setStatePromise({notebook:t,last_update_time:Date.now()})])}finally{this.pending_local_updates--,document.body._update_is_ongoing=this.pending_local_updates>0}}});return f=t.catch(console.error),t};this.update_notebook=_,window.shutdownNotebook=this.close=()=>{this.client.send("shutdown_notebook",{keep_in_session:!1},{notebook_id:this.state.notebook.notebook_id},!1)},this.submit_file_change=async(e,t)=>{let n=this.state.notebook.path;if(n!==e){if(!this.state.notebook.in_temp_dir&&!confirm("Are you sure? Will move from\n\n"+n+"\n\nto\n\n"+e))throw Error("Declined by user");this.setState({moving_file:!0});try{await _(t=>{t.in_temp_dir=!1,t.path=e}),document.activeElement?.blur()}catch(e){alert("Failed to move file:\n\n"+e.message)}finally{this.setState({moving_file:!1})}}},this.desktop_submit_file_change=async()=>{this.setState({moving_file:!0}),window.plutoDesktop?.ipcRenderer.once("PLUTO-MOVE-NOTEBOOK",async e=>{e&&await this.setStatePromise(m(t=>{t.notebook.in_temp_dir=!1,t.notebook.path=e})),this.setState({moving_file:!1}),document.activeElement?.blur()}),window.plutoDesktop?.fileSystem.moveNotebook()},this.delete_selected=e=>{if(this.state.selected_cells.length>0)return this.actions.confirm_delete_multiple(e,this.state.selected_cells),!0},this.run_selected=()=>this.actions.set_and_run_multiple(this.state.selected_cells),this.fold_selected=e=>{if(!(0,h.default).isEmpty(this.state.selected_cells))return this.actions.fold_remote_cells(this.state.selected_cells,e)},this.move_selected=(e,t)=>{if(this.state.selected_cells.length>0){let n=(t>0?Math.max:Math.min)(...this.state.selected_cells.map(e=>this.state.notebook.cell_order.indexOf(e)))+(-1===t?-1:2);return e.preventDefault(),this.actions.move_remote_cells(this.state.selected_cells,n).then(()=>{document.getElementById((t>0?h.default.last:h.default.first)(this.state.selected_cells)??"")?.scrollIntoView({block:"nearest"})})}},this.serialize_selected=(e=null)=>{let t=null==e||this.state.selected_cells.includes(e)?this.state.selected_cells:[e];if(t.length)return t.map(e=>this.state.notebook.cell_inputs[e]).map(e=>`# \u{2554}\u{2550}\u{2561} ${e.cell_id} +`+e.code+"\n").join("\n")},this.patch_listeners=[],this.on_patches_hook=e=>{this.patch_listeners.forEach(t=>t(e))};let b={current:!1},w=e=>{e!==b.current&&(b.current=e,document.body.querySelectorAll("[data-pluto-variable], [data-cell-variable]").forEach(t=>{t.setAttribute("data-ctrl-down",e?"true":"false")}))};document.addEventListener("keyup",e=>{w((0,M.has_ctrl_or_cmd_pressed)(e))}),document.addEventListener("visibilitychange",e=>{w(!1),setTimeout(()=>{w(!1)},100)}),document.addEventListener("keydown",e=>{if(w((0,M.has_ctrl_or_cmd_pressed)(e)),e.key?.toLowerCase()==="q"&&(0,M.has_ctrl_or_cmd_pressed)(e))Object.values(this.state.notebook.cell_results).some(e=>e.running||e.queued)&&this.actions.interrupt_remote(),e.preventDefault();else if(e.key?.toLowerCase()==="s"&&(0,M.has_ctrl_or_cmd_pressed)(e))this.actions.set_and_run_all_changed_remote_cells(),e.preventDefault();else if(["BracketLeft","BracketRight"].includes(e.code)&&(M.is_mac_keyboard?e.altKey&&e.metaKey:e.ctrlKey&&e.shiftKey))this.fold_selected("BracketLeft"===e.code);else if("Backspace"===e.key||"Delete"===e.key)this.delete_selected("Delete")&&e.preventDefault();else if("Enter"===e.key&&e.shiftKey)this.run_selected();else if("ArrowUp"===e.key&&e.altKey)this.move_selected(e,-1);else if("ArrowDown"===e.key&&e.altKey)this.move_selected(e,1);else if("?"===e.key&&(0,M.has_ctrl_or_cmd_pressed)(e)||"F1"===e.key){let t=M.is_mac_keyboard?`\u{2325}${M.and}\u{2318}`:`Ctrl${M.and}Shift`;alert(` +\u{21E7}${M.and}Enter: run cell +${M.ctrl_or_cmd_name}${M.and}Enter: run cell and add cell below +${M.ctrl_or_cmd_name}${M.and}S: submit all changes +Delete or Backspace: delete empty cell + +PageUp or fn${M.and}\u{2191}: jump to cell above +PageDown or fn${M.and}\u{2193}: jump to cell below +${M.alt_or_options_name}${M.and}\u{2191}: move line/cell up +${M.alt_or_options_name}${M.and}\u{2193}: move line/cell down + +${M.control_name}${M.and}M: toggle markdown +${t}${M.and}[: hide cell code +${t}${M.and}]: show cell code +${M.ctrl_or_cmd_name}${M.and}Q: interrupt notebook + +Select multiple cells by dragging a selection box from the space between cells. +${M.ctrl_or_cmd_name}${M.and}C: copy selected cells +${M.ctrl_or_cmd_name}${M.and}X: cut selected cells +${M.ctrl_or_cmd_name}${M.and}V: paste selected cells + +The notebook file saves every time you run a cell.`),e.preventDefault()}else"Escape"===e.key&&this.setState({recording_waiting_to_start:!1,selected_cells:[],export_menu_open:!1});this.state.disable_ui&&this.state.backend_launch_phase===tn.wait_for_user&&("Enter"===e.key||e.key?.length===1)&&!document.body.classList.contains("wiggle_binder")&&(document.body.classList.add("wiggle_binder"),setTimeout(()=>{document.body.classList.remove("wiggle_binder")},1e3))}),document.addEventListener("copy",e=>{if(!(0,M.in_textarea_or_input)()){let t=this.serialize_selected();t&&(e.preventDefault(),requestAnimationFrame(()=>navigator.clipboard.writeText(t).catch(t=>{console.error("Error copying cells",e,t,navigator.userActivation),alert(`Error copying cells: ${t?.message??t}`)})))}}),document.addEventListener("cut",e=>{}),document.addEventListener("paste",async e=>{let t=e.clipboardData?.getData("text/plain");if(t){let n=E(t);null!=n&&(this.actions.add_deserialized_cells(t,-1,n),e.preventDefault())}}),window.addEventListener("beforeunload",e=>{let t=this.state.notebook.cell_order.filter(e=>this.state.cell_inputs_local[e]&&this.state.notebook.cell_inputs[e].code!==this.state.cell_inputs_local[e].code)[0];null!=t?(window.dispatchEvent(new CustomEvent("cell_focus",{detail:{cell_id:t}})),console.log("Preventing unload"),e.stopImmediatePropagation(),e.preventDefault(),e.returnValue=""):(console.warn("unloading \uD83D\uDC49 disconnecting websocket"),window.shutdown_binder)})}componentDidMount(){let e=this.props.launch_params;this.state.static_preview?(this.setState({initializing:!1}),to(null!=e.pluto_server_url?`featured-view${null!=e.notebookfile?new URL(e.notebookfile).pathname:""}`:`article-view/${window?.version_info?.pluto??this.state.notebook.pluto_version??"unknown"}`)):this.connect(e.pluto_server_url?(0,g.ws_address_from_base)(e.pluto_server_url):void 0)}componentDidUpdate(e,t){window.editor_state=this.state,window.editor_state_set=this.setStatePromise;let n=this.state;if(t?.notebook?.path!==n.notebook.path&&lY(n.notebook.path,t?.notebook?.path),t?.notebook?.shortpath!==n.notebook.shortpath&&(document.title="\uD83C\uDF88 "+n.notebook.shortpath+" — Pluto.jl"),this.maybe_send_queued_bond_changes(),t.backend_launch_phase!==this.state.backend_launch_phase&&null!=this.state.backend_launch_phase){let e=Object.entries(tn).find(([e,t])=>t==this.state.backend_launch_phase)?.[0];console.info(`Binder phase: ${e} at ${new Date().toLocaleTimeString()}`)}(t.disable_ui!==this.state.disable_ui||t.connected!==this.state.connected)&&this.on_disable_ui(),this.state.initializing||lo(),t.notebook.nbpkg?.restart_recommended_msg!==n.notebook.nbpkg?.restart_recommended_msg&&console.warn(`New restart recommended message: ${n.notebook.nbpkg?.restart_recommended_msg}`),t.notebook.nbpkg?.restart_required_msg!==n.notebook.nbpkg?.restart_required_msg&&console.warn(`New restart required message: ${n.notebook.nbpkg?.restart_required_msg}`)}componentWillUpdate(e,t){this.cached_status=lK(t,this.props.launch_params),Object.entries(this.cached_status).forEach(([e,t])=>{document.body.classList.toggle(e,!0===t)})}render(){let{launch_params:e}=this.props,{export_menu_open:t,notebook:n}=this.state,a=this.cached_status??lK(this.state,e),r=lZ(a);if(a.isolated_cell_view)return(0,d.html)` + <${S.Provider} value=${this.actions}> + <${N.Provider} value=${this.state.notebook.bonds}> + <${C.Provider} value=${this.js_init_set}> + <${eG} notebook=${this.state.notebook} backend_launch_phase=${this.state.backend_launch_phase} status=${a}/> +
    + ${this.state.notebook.cell_order.map((t,r)=>(0,d.html)` + <${iQ} + cell_input=${n.cell_inputs[t]} + cell_result=${this.state.notebook.cell_results[t]} + hidden=${!e.isolated_cell_ids?.includes(t)} + sanitize_html=${a.sanitize_html} + /> + `)} +
    + + + + `;let o=this.client.session_options?.security?.warn_about_untrusted_code??!0,i=async(e=!1)=>{let t=n.metadata?.risky_file_source;(!o||!e||null==t||confirm(`\u{26A0}\u{FE0F} Danger! Are you sure that you trust this file? + +${t} + +A malicious notebook can steal passwords and data.`))&&(await this.actions.update_notebook(e=>{delete e.metadata.risky_file_source}),await this.client.send("restart_process",{},{notebook_id:n.notebook_id}))},l=(e,t=!1)=>(0,d.html)`i(t)}>${e}`;return(0,d.html)` + ${!1===this.state.disable_ui&&(0,d.html)`<${lA} />`} + + <${S.Provider} value=${this.actions}> + <${N.Provider} value=${this.state.notebook.bonds}> + <${C.Provider} value=${this.js_init_set}> + ${a.static_preview&&a.offer_local?(0,d.html)``:null} + <${eq} active=${this.state.scroller} /> + <${eG} notebook=${this.state.notebook} backend_launch_phase=${this.state.backend_launch_phase} status=${a}/> +
    + <${la} + notebook_id=${this.state.notebook.notebook_id} + print_title=${this.state.notebook.metadata?.frontmatter?.title??new URLSearchParams(window.location.search).get("name")??this.state.notebook.shortpath} + notebookfile_url=${this.export_url("notebookfile")} + notebookexport_url=${this.export_url("notebookexport")} + open=${t} + onClose=${()=>this.setState({export_menu_open:!1})} + start_recording=${()=>this.setState({recording_waiting_to_start:!0})} + /> + ${a.binder?(0,d.html)`
    + + + +
    `:null} + +
    + + <${i_} + process_waiting_for_permission=${a.process_waiting_for_permission} + risky_file_source=${n.metadata?.risky_file_source} + restart=${i} + warn_about_untrusted_code=${o} + /> + + <${lS} + notebook_name=${n.shortpath} + recording_waiting_to_start=${this.state.recording_waiting_to_start} + set_recording_states=${({is_recording:e,recording_waiting_to_start:t})=>this.setState({is_recording:e,recording_waiting_to_start:t})} + is_recording=${this.state.is_recording} + patch_listeners=${this.patch_listeners} + export_url=${this.export_url} + /> + <${lC} + launch_params=${e} + initializing=${this.state.initializing} + apply_notebook_patches=${this.apply_notebook_patches} + reset_notebook_state=${()=>this.setStatePromise(m(e=>{e.notebook=this.props.initial_notebook_state}))} + /> + <${lF} editor=${this} launch_params=${e} status=${a} /> + <${lT} + filename=${n.shortpath} + remote_frontmatter=${n.metadata?.frontmatter} + set_remote_frontmatter=${e=>this.actions.update_notebook(t=>{t.metadata.frontmatter=e})} + /> + ${this.props.preamble_element} + <${lG}> + <${T} + last_update_time=${this.state.last_update_time} + any_code_differs=${a.code_differs} + last_hot_reload_time=${n.last_hot_reload_time} + connected=${this.state.connected} + /> + <${iJ} + notebook=${n} + cell_inputs_local=${this.state.cell_inputs_local} + disable_input=${this.state.disable_ui||!this.state.connected} + last_created_cell=${this.state.last_created_cell} + selected_cells=${this.state.selected_cells} + is_initializing=${this.state.initializing} + is_process_ready=${this.is_process_ready()} + process_waiting_for_permission=${a.process_waiting_for_permission} + sanitize_html=${a.sanitize_html} + /> + <${i0} + actions=${this.actions} + selected_cells=${this.state.selected_cells} + set_scroller=${e=>this.setState({scroller:e})} + serialize_selected=${this.serialize_selected} + /> + ${this.state.disable_ui||(0,d.html)`<${i9} + cell_order=${this.state.notebook.cell_order} + set_scroller=${e=>{this.setState({scroller:e})}} + on_selection=${e=>{(e.length!==this.state.selected_cells.length||0!==(0,h.default).difference(e,this.state.selected_cells).length)&&this.setState({selected_cells:e})}} + />`} + <${lg} + notebook_id=${this.state.notebook.notebook_id} + environment_component=${this.state.extended_components.NonCellOutputComponents} /> + + <${ts} + desired_doc_query=${this.state.desired_doc_query} + on_update_doc_query=${this.actions.set_doc_query} + connected=${this.state.connected} + backend_launch_phase=${this.state.backend_launch_phase} + backend_launch_logs=${this.state.backend_launch_logs} + notebook=${this.state.notebook} + sanitize_html=${a.sanitize_html} + /> + <${a9} + notebook=${this.state.notebook} + disable_input=${this.state.disable_ui||!this.state.connected} + /> + <${i8} + recently_auto_disabled_cells=${this.state.recently_auto_disabled_cells} + notebook=${this.state.notebook} + /> + <${i6} + recently_deleted=${this.state.recently_deleted} + on_click=${()=>{let e=this.state.recently_deleted;null!=e&&this.update_notebook(t=>{for(let{index:n,cell:a}of e)t.cell_inputs[a.cell_id]=a,t.cell_order=[...t.cell_order.slice(0,n),a.cell_id,...t.cell_order.slice(n,1/0)]}).then(()=>{this.actions.set_and_run_multiple(e.map(({cell:e})=>e.cell_id))})}} + /> + <${i5} /> +
    +
    + FAQ + +
    + + + +
    +
    +
    + + + + `}}const lY=(e,t)=>{if(null!=e&&""!==e){let n=localStorage.getItem("recent notebooks"),a=null!=n?JSON.parse(n):[],r=[e,...a.filter(n=>n!==e&&n!==t)];(0,h.default).isEqual(a,r)||localStorage.setItem("recent notebooks",JSON.stringify(r.slice(0,50)))}};var d=c("cNaMA");const lJ=async(e,t)=>{if(null==e.body)return new Uint8Array(await e.arrayBuffer());{let n=e.headers.get("Content-Length"),a=null==n?null:Number(n),r=e.body.getReader(),o=0,i=[];for(;;){let{done:e,value:n}=await r.read();if(e)break;i.push(n),o+=n.length,t(null!=a?Math.min(1,o/a):1-1e6/(o-1e6)),console.log({receivedLength:o})}t(1);let l=new Uint8Array(o),s=0;for(let e of i)l.set(e,s),s+=e.length;return l}},l0=({progress:e})=>null==e||1===e?null:(0,d.html)` + ${"indeterminate"===e?null:Math.round(100*e)}% + `;var ll=c("k9crH"),lq=c("dYd4C");const l1=new URLSearchParams(window.location.search),l2=(e,t,n)=>{e.getAttribute(t)!==n&&e.setAttribute(t,n)},l3=e=>{document.body.classList.toggle("disable_ui",e),l2(document.head.querySelector("link[data-pluto-file='hide-ui']"),"media",e?"all":"print")},l4=(()=>{let e=new URLSearchParams(window.location.search);return{notebook_id:e.get("id")??window.pluto_notebook_id,statefile:e.get("statefile")??window.pluto_statefile,statefile_integrity:e.get("statefile_integrity")??window.pluto_statefile_integrity,notebookfile:e.get("notebookfile")??window.pluto_notebookfile,notebookfile_integrity:e.get("notebookfile_integrity")??window.pluto_notebookfile_integrity,disable_ui:!!(e.get("disable_ui")??window.pluto_disable_ui),preamble_html:e.get("preamble_html")??window.pluto_preamble_html,isolated_cell_ids:e.has("isolated_cell_id")?e.getAll("isolated_cell_id"):window.pluto_isolated_cell_ids,binder_url:e.get("binder_url")??window.pluto_binder_url,pluto_server_url:e.get("pluto_server_url")??window.pluto_pluto_server_url,slider_server_url:e.get("slider_server_url")??window.pluto_slider_server_url,recording_url:e.get("recording_url")??window.pluto_recording_url,recording_url_integrity:e.get("recording_url_integrity")??window.pluto_recording_url_integrity,recording_audio_url:e.get("recording_audio_url")??window.pluto_recording_audio_url}})(),l9=e=>""===e||"true"===e,l6=e=>"false"===e,l8=(e,t)=>{let n=e.getAttribute(t)??e.getAttribute(t.replaceAll("_","-"));return"disable_ui"===t?!!l9(n)||!l6(n)&&null:"isolated_cell_id"===t?null==n?null:n.split(","):n},l5=l1.has("preamble_url"),l7=({notebook_id:e})=>({metadata:{},notebook_id:e,path:"",shortpath:"",in_temp_dir:!0,process_status:lq.ProcessStatus.starting,last_save_time:0,last_hot_reload_time:0,cell_inputs:{},cell_results:{},cell_dependencies:{},cell_order:[],cell_execution_order:[],published_objects:{},bonds:{},nbpkg:null,status_tree:null}),se=e=>({...e,path:"",shortpath:""}),st=window?.pluto_injected_environment?.custom_get_statefile?.(lJ,se,ll.unpack)??(async(e,t)=>{t("indeterminate");let n=await fetch(new Request(e.statefile,{integrity:e.statefile_integrity??void 0}),{priority:"high"});t(.2);let a=await lJ(n,e=>t(.8*e+.2));return se((0,ll.unpack)(a))}),sn=({launch_params:e})=>{let{statefile:t,statefile_integrity:n}=e,a=null!=t,[r,o]=(0,d.useState)(null),i=(0,d.useRef)(l7(e)),[l,s]=(0,d.useState)(null),[c,u]=(0,d.useState)(!a);(0,d.useEffect)(()=>{!c&&a&&st(e,o).then(e=>{console.log({state:e}),i.current=e,u(!0)}).catch(t=>{console.error(t),s((0,d.html)` +
    +

    Failed to load notebook

    +

    The statefile failed to download. Original error message:

    +
    ${t.toString()}
    +

    Launch parameters:

    +
    ${JSON.stringify(e,null,2)}
    +
    + `)})},[c,a,t]),(0,d.useEffect)(()=>{l3(e.disable_ui)},[e.disable_ui]);let p=e.preamble_html?(0,d.html)`<${iT} body=${e.preamble_html} className=${"preamble"} sanitize_html=${l5} />`:null;return null!=l?l:c?(0,d.html)`<${lX} initial_notebook_state=${i.current} launch_params=${e} preamble_element=${p} />`:(0,d.html)` + ${p} + <${l0} progress=${r} /> + `};class sa extends HTMLElement{constructor(){super()}connectedCallback(){let e=Object.fromEntries(Object.entries(l4).map(([e,t])=>[e,l8(this,e)??t]));console.log("Launch parameters: ",e),document.querySelector(".delete-me-when-live")?.remove(),(0,d.render)((0,d.html)`<${sn} launch_params=${e} />`,this)}}customElements.define("pluto-editor",sa); \ No newline at end of file diff --git a/frontend-dist/editor.7a28f943.css b/frontend-dist/editor.7a28f943.css new file mode 100644 index 000000000..603c9af2d --- /dev/null +++ b/frontend-dist/editor.7a28f943.css @@ -0,0 +1 @@ +pluto-tree,pluto-tree-pair{font-family:var(--julia-mono-font-stack);font-size:.75rem}pluto-tree{color:var(--pluto-tree-color);white-space:pre;cursor:pointer}pluto-tree,pluto-tree-items{flex-direction:column;align-items:flex-start;display:inline-flex}pluto-tree.collapsed,pluto-tree.collapsed pluto-tree,pluto-tree.collapsed pluto-tree-items{flex-direction:row;align-items:baseline}pluto-tree-items{cursor:auto}pluto-tree-prefix{flex-direction:row;align-items:baseline;display:inline-flex}pluto-tree>pluto-tree-prefix:before{content:"";opacity:.5;cursor:pointer;width:1em;height:1em;filter:var(--image-filters);background-image:url(caret-down-outline.4253a2fe.svg);background-size:100%;display:inline-block;position:relative;bottom:-2px}pluto-tree.collapsed pluto-tree>pluto-tree-prefix:before{display:none}pluto-tree.collapsed>pluto-tree-prefix:before{background-image:url(caret-forward-outline.348a84b6.svg)}pluto-tree p-r>p-v{color:var(--pluto-output-color);display:inline-flex}pluto-tree.collapsed pluto-tree-items.Array>p-r>p-k,pluto-tree.collapsed pluto-tree-items.Set>p-r>p-k,pluto-tree.collapsed pluto-tree-items.Tuple>p-r>p-k,pluto-tree.collapsed pluto-tree-items.struct>p-r>p-k{display:none}pluto-tree>pluto-tree-prefix>.long{display:block}pluto-tree>pluto-tree-prefix>.short,pluto-tree.collapsed>pluto-tree-prefix>.long{display:none}pluto-tree.collapsed>pluto-tree-prefix>.short{display:block}pluto-tree p-r{margin-left:3em}pluto-tree.collapsed p-r{margin-left:.5em}pluto-tree.collapsed p-r:first-child{margin-left:0}pluto-tree pluto-tree-items.Array>p-r>p-k,pluto-tree pluto-tree-items.Set>p-r>p-k,pluto-tree pluto-tree-items.Tuple>p-r>p-k{opacity:.5;-webkit-user-select:none;user-select:none;margin-right:1em}pluto-tree.Array>pluto-tree-prefix:after{content:"["}pluto-tree pluto-tree-items.Array:after{content:"]"}pluto-tree.Set>pluto-tree-prefix:after{content:"(["}pluto-tree pluto-tree-items.Set:after{content:"])"}pluto-tree.Tuple>pluto-tree-prefix:after,pluto-tree.Dict>pluto-tree-prefix:after,pluto-tree.NamedTuple>pluto-tree-prefix:after,pluto-tree.struct>pluto-tree-prefix:after{content:"("}pluto-tree pluto-tree-items.Tuple:after,pluto-tree pluto-tree-items.Dict:after,pluto-tree pluto-tree-items.NamedTuple:after,pluto-tree pluto-tree-items.struct:after{content:")"}pluto-tree pluto-tree-items.Array>p-r>p-k:after,pluto-tree pluto-tree-items.Set>p-r>p-k:after,pluto-tree pluto-tree-items.Tuple>p-r>p-k:after{content:":"}pluto-tree-pair>p-r>p-k:after,pluto-tree pluto-tree-items.Dict>p-r>p-k:after{content:" => "}pluto-tree pluto-tree-items.NamedTuple>p-r>p-k:after,pluto-tree pluto-tree-items.struct>p-r>p-k:after{content:" = "}pluto-tree.collapsed p-r:after{content:","}pluto-tree.collapsed p-r:last-child:after{content:""}pluto-tree-more{cursor:pointer;white-space:nowrap;width:100%;padding:.6em 0;display:inline-block}pluto-tree-more:before{content:"";opacity:.5;width:1em;height:1em;filter:var(--image-filters);background-image:url(ellipsis-vertical.a30e7430.svg);background-size:100%;margin-left:.2em;margin-right:.5em;display:inline-block;position:relative;bottom:-.1em}pluto-tree-more.loading:before{background-image:url(sync-outline.9a1bd27b.svg);animation:3s ease-in-out infinite loadspin}@keyframes loadspin{0%{transform:rotate(0)}25%{transform:rotate(180deg)}50%{transform:rotate(180deg)}75%{transform:rotate(360deg)}to{transform:rotate(360deg)}}pluto-tree.collapsed pluto-tree-more{margin:0}pluto-tree.collapsed pluto-tree-more:before{background-image:url(ellipsis-horizontal.c9a6cc29.svg)}pluto-tree.collapsed img{max-width:4rem;max-height:4rem}pluto-tree img{max-width:12rem;max-height:8rem}pluto-tree p-r pre{white-space:pre;word-break:normal}jlerror{font-size:.75rem;font-family:var(--julia-mono-font-stack);background-color:var(--code-section-bg-color);border:3px solid var(--pkg-terminal-border-color);overflow-wrap:break-word;border-radius:.6em;margin:1em 0;padding:1em;display:block}jlerror>header{color:var(--jlerror-header-color);border-left:3px solid var(--jlerror-header-color);background:var(--white);border-radius:3px;padding:.7rem}jlerror>header>p{white-space:pre-wrap;margin-block-end:.2em}jlerror>header>p:first-child{margin-block-start:0;font-weight:700}jlerror .stacktrace-header,jlerror .error-header{font-family:var(--system-ui-font-stack)}jlerror .error-header{margin-block-end:1em}jlerror secret-h1{font-size:1.9rem;font-weight:700}jlerror>section{border-block-start:3px dashed var(--pkg-terminal-border-color);margin-block-start:1rem;padding-block-start:1rem}jlerror>section>ol{line-height:1.6}jlerror>section>ol>li{margin-block-end:1em}jlerror>section>ol>li:not(.important):not(:hover){opacity:.5}jlerror>section>ol>li:not(.important)::marker{font-weight:100}jlerror>section>ol>li.from_this_notebook{--bg:var(--jl-info-acccolor);background:var(--bg);outline:3px solid var(--bg);border-radius:.6em;padding:.4em 0}jlerror>section .classical-frame>mark{background:var(--jlerror-mark-bg-color);color:var(--jlerror-mark-color);font-family:var(--julia-mono-font-stack);font-variant-ligatures:none;border-radius:6px}jlerror>section .classical-frame>mark>strong{color:var(--black)}jlerror>section .classical-frame s-span .argument_name{color:var(--cm-color-type)}jlerror>section .frame-source{flex-direction:row;align-items:baseline;display:flex}jlerror>section .frame-source>a{background:var(--jlerror-a-bg-color);border-left:3px solid var(--jlerror-a-border-left-color);border-radius:4px;padding:1px 7px;text-decoration:none}jlerror>section .frame-source>a:not([href]){filter:grayscale()}jlerror>section .frame-source>a[href].remote-url{filter:hue-rotate(160deg)}jlerror>section li.from_this_notebook:not(.from_this_cell) .frame-source>a[href]{filter:hue-rotate(50deg)}jlerror>section .frame-source>span{opacity:.4;padding:0 .2em}jlerror>section .doclink{-webkit-user-select:none;user-select:none}jlerror li::marker{color:var(--pluto-logs-key-color);background:red;border:3px solid red;font-weight:900}jlerror li a.frame-line-preview{border:3px solid var(--cm-color-clickable-underline);--br:.6em;border-radius:var(--br);--crop:-.5em;text-decoration:none;display:block}jlerror li .frame-line-preview pre:not(.asdfdsaf){background-color:var(--code-background);border-radius:var(--br);padding:0;display:block;position:relative;overflow:hidden}jlerror li:not(.from_this_cell) .frame-line-preview pre:after{content:"cell preview";opacity:.6;font-weight:900;display:block;position:absolute;bottom:0;right:1ch}jlerror li .frame-line-preview pre>code{padding:0}jlerror li .frame-line-preview pre>code:not(:only-child).frame-line{background:var(--cm-highlighted)}jlerror li .frame-line-preview pre>code:not(.frame-line){opacity:.7}jlerror li .frame-line-preview pre>code:before{content:var(--before-content);color:var(--cm-color-line-numbers);text-align:right;width:2ch;margin-right:.7em;display:inline-block}jlerror li .frame-line-preview pre>code:first-of-type:not(.frame-line){margin-top:var(--crop)}jlerror li .frame-line-preview pre>code:last-of-type:not(.frame-line){margin-bottom:var(--crop)}jlerror .dont-panic{background:var(--pluto-logs-debug-color);color:var(--black);font-family:var(--system-ui-font-stack);border-radius:.2em;padding:.5em;font-size:1.2rem;font-weight:700;position:absolute;top:0;right:0;transform:rotate(6deg)}body.disable_ui jlerror .dont-panic,pluto-logs jlerror .dont-panic{display:none}table.pluto-table{table-layout:fixed}table.pluto-table td{max-width:300px;overflow:auto}@supports ((-moz-appearance:none)){table.pluto-table td{max-width:unset;overflow:visible}table.pluto-table td>div{max-width:300px;overflow:auto}}table.pluto-table .schema-types{color:var(--pluto-schema-types-color);font-family:var(--julia-mono-font-stack);opacity:0;font-size:.75rem}table.pluto-table .schema-types th{border-bottom:1px solid var(--pluto-schema-types-border-color);background-color:var(--main-bg-color);height:2rem}table.pluto-table thead:hover .schema-types{opacity:1}table.pluto-table .schema-names th{transition:transform .1s ease-in-out;transform:translateY(.5em)}table.pluto-table .schema-names th:first-child,table.pluto-table .schema-types th:first-child{z-index:2;left:-10px}table.pluto-table .schema-names th,table.pluto-table .schema-types th:first-child{background-color:var(--main-bg-color);top:calc(.25rem - var(--pluto-cell-spacing));z-index:1;height:2rem;position:sticky}table.pluto-table thead:hover .schema-names th{transform:translate(0)}table.pluto-table tbody th:first-child{background-color:var(--main-bg-color);white-space:nowrap;position:sticky;left:-10px}table.pluto-table .pluto-tree-more-td{text-align:left;overflow:unset}table.pluto-table .pluto-tree-more-td pluto-tree-more{overflow:unset;max-width:650px;position:sticky;top:2rem;left:0}table.pluto-table tr.empty div{flex-flow:column;justify-content:center;align-items:center;width:100%;font-size:1.5rem;display:flex}table.pluto-table tr.empty small{font-size:.5rem}pluto-tree.collapsed p-v>pre{max-height:2em;overflow-y:hidden} \ No newline at end of file diff --git a/frontend-dist/editor.7fcbaf10.css b/frontend-dist/editor.7fcbaf10.css new file mode 100644 index 000000000..89456c93a --- /dev/null +++ b/frontend-dist/editor.7fcbaf10.css @@ -0,0 +1 @@ +@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(roboto-mono-cyrillic-ext-400-normal.dcb520ee.woff2)format("woff2"),url(roboto-mono-all-400-normal.364ec368.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(roboto-mono-cyrillic-400-normal.638e826e.woff2)format("woff2"),url(roboto-mono-all-400-normal.364ec368.woff)format("woff");unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(roboto-mono-greek-400-normal.dd843e41.woff2)format("woff2"),url(roboto-mono-all-400-normal.364ec368.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(roboto-mono-vietnamese-400-normal.306e7635.woff2)format("woff2"),url(roboto-mono-all-400-normal.364ec368.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(roboto-mono-latin-ext-400-normal.d9409874.woff2)format("woff2"),url(roboto-mono-all-400-normal.364ec368.woff)format("woff");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(roboto-mono-latin-400-normal.cf1eee5f.woff2)format("woff2"),url(roboto-mono-all-400-normal.364ec368.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:italic;font-display:swap;font-weight:400;src:url(roboto-mono-cyrillic-ext-400-italic.db052448.woff2)format("woff2"),url(roboto-mono-all-400-italic.31a14f53.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:italic;font-display:swap;font-weight:400;src:url(roboto-mono-cyrillic-400-italic.e399ed93.woff2)format("woff2"),url(roboto-mono-all-400-italic.31a14f53.woff)format("woff");unicode-range:U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:italic;font-display:swap;font-weight:400;src:url(roboto-mono-greek-400-italic.6f7e0b2f.woff2)format("woff2"),url(roboto-mono-all-400-italic.31a14f53.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Roboto Mono;font-style:italic;font-display:swap;font-weight:400;src:url(roboto-mono-vietnamese-400-italic.d8e0a32a.woff2)format("woff2"),url(roboto-mono-all-400-italic.31a14f53.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:italic;font-display:swap;font-weight:400;src:url(roboto-mono-latin-ext-400-italic.aaa9a959.woff2)format("woff2"),url(roboto-mono-all-400-italic.31a14f53.woff)format("woff");unicode-range:U+100-24F,U+259,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:italic;font-display:swap;font-weight:400;src:url(roboto-mono-latin-400-italic.ef82d48f.woff2)format("woff2"),url(roboto-mono-all-400-italic.31a14f53.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JuliaMono;src:url(JuliaMono-RegularLatin.26c56b70.woff2)format("woff2");font-display:swap;font-weight:400;unicode-range:U+0-7F}@font-face{font-family:JuliaMono;src:url(JuliaMono-BoldLatin.7ec5c608.woff2)format("woff2");font-display:swap;font-weight:700;unicode-range:U+0-7F}@font-face{font-family:JuliaMono;src:url(JuliaMono-Regular.e0106c6f.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:JuliaMono;src:url(JuliaMono-Bold.24b57d33.woff2)format("woff2");font-display:swap;font-weight:700}@font-face{font-family:JuliaMono;src:url(JuliaMono-RegularItalic.3159f647.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:Vollkorn;src:url(Vollkorn-SemiBold.8072eb6c.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:Vollkorn;font-style:italic;src:url(Vollkorn-SemiBoldItalic.5c3cd265.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:Vollkorn;src:url(Vollkorn-Bold.6e1feb70.woff2)format("woff2");font-display:swap;font-weight:700}@font-face{font-family:Vollkorn;font-style:italic;src:url(Vollkorn-BoldItalic.a48ab300.woff2)format("woff2");font-display:swap;font-weight:700}@font-face{font-family:Vollkorn;src:url(Vollkorn-Black.0ebdfbf5.woff2)format("woff2");font-display:swap;font-weight:900}@font-face{font-family:Vollkorn;font-style:italic;src:url(Vollkorn-BlackItalic.4095acfe.woff2)format("woff2");font-display:swap;font-weight:900}@media (prefers-color-scheme:light){:root{--image-filters:none;--out-of-focus-opacity:.25;--main-bg-color:white;--rule-color:#00000026;--kbd-border-color:#dfdfdf;--header-bg-color:white;--header-border-color:#0000001a;--ui-button-color:#2a2a2b;--cursor-color:black;--normal-cell:0,0,0;--code-differs:160,130,28;--error-color:240,168,168;--normal-cell-color:rgba(var(--normal-cell),.1);--dark-normal-cell-color:rgba(var(--normal-cell),.2);--selected-cell-color:#284ebd66;--code-differs-cell-color:rgba(var(--code-differs),.68);--error-cell-color:rgba(var(--error-color),.7);--bright-error-cell-color:rgb(var(--error-color));--light-error-cell-color:rgba(var(--error-color),.05);--export-bg-color:#3c4365;--export-color:#e4e4e4;--export-card-bg-color:#fffc;--export-card-title-color:#000000b3;--export-card-text-color:#00000080;--export-card-shadow-color:#00000029;--frontmatter-button-bg-color:white;--frontmatter-outline-color:#181920;--frontmatter-input-bg-color:#fbfbfb;--frontmatter-input-border-color:#d6dfe6;--pluto-schema-types-color:#0006;--pluto-schema-types-border-color:#0003;--pluto-output-color:#404040;--pluto-output-h-color:#1f1f1f;--pluto-output-bg-color:white;--a-underline:#00000059;--blockquote-color:#555;--blockquote-bg:#f2f2f2;--admonition-title-color:white;--jl-message-color:#dbe9d4;--jl-message-accent-color:#9ec889;--jl-info-color:#d6e3f4;--jl-info-accent-color:#94b6e2;--jl-warn-color:#ecead5;--jl-warn-accent-color:#cfc78a;--jl-danger-color:#f5dad7;--jl-danger-accent-color:#e29d94;--jl-debug-color:#f5dad7;--jl-debug-accent-color:#e29d94;--footnote-border-color:#17737726;--table-border-color:#0003;--table-bg-hover-color:#9f9ee026;--pluto-tree-color:#00000061;--disabled-cell-bg-color:#8b8b8b40;--selected-cell-bg-color:#284ebd3d;--hover-scrollbar-color-1:#00000026;--hover-scrollbar-color-2:#0000000d;--skip-as-script-background-color:#ccc;--depends-on-skip-as-script-background-color:#eee;--shoulder-hover-bg-color:#0000000d;--pluto-logs-bg-color:#fafafa;--pluto-logs-key-color:#00000082;--pluto-logs-progress-fill:#fff;--pluto-logs-progress-bg:#e7e7e7;--pluto-logs-progress-border:#b2bdc7;--pluto-logs-info-color:white;--pluto-logs-info-accent-color:inherit;--pluto-logs-warn-color:#ecead5;--pluto-logs-warn-accent-color:#665f26;--pluto-logs-danger-color:#f5dad7;--pluto-logs-danger-accent-color:#ac4234;--pluto-logs-debug-color:#ecdff7;--pluto-logs-debug-accent-color:#6432b3;--nav-h1-text-color:black;--nav-filepicker-color:#6f6f6f;--nav-filepicker-border-color:#b2b2b2;--nav-process-status-bg-color:white;--nav-process-status-color:var(--pluto-output-h-color);--restart-recc-header-color:#72c0ff8f;--restart-recc-accent-color:#72c0ff;--restart-req-header-color:#aa29208f;--dead-process-header-color:#e6582e61;--loading-header-color:#cfc7d180;--disconnected-header-color:#ffa9728f;--binder-loading-header-color:#f6f1d580;--loading-grad-color-1:#f1dba9;--loading-grad-color-2:#d7d7d0;--overlay-button-bg:#fff;--overlay-button-border:#e9e7e7;--overlay-button-border-save:#f3f2f2;--input-context-menu-border-color:#0000001a;--input-context-menu-bg-color:white;--input-context-menu-soon-color:#5554;--input-context-menu-hover-bg-color:#0000001a;--input-context-menu-li-color:#6b6a6a;--pkg-popup-bg:white;--pkg-popup-border-color:#f0e4ee;--pkg-popup-buttons-bg-color:white;--black:black;--white:white;--pkg-terminal-bg-color:#232433;--pkg-terminal-border-color:#c3c3c3;--pluto-runarea-bg-color:hsl(0,0,97%);--pluto-runarea-span-color:#a89fa0;--dropruler-bg-color:#00000080;--jlerror-header-color:#4f1616;--jlerror-mark-bg-color:#f3f3f3;--jlerror-a-bg-color:#f5efd9;--jlerror-a-border-left-color:#704141;--jlerror-mark-color:black;--helpbox-bg-color:white;--helpbox-box-shadow-color:#00000010;--helpbox-header-bg-color:#ebebeb;--helpbox-header-tab-bg-color:white;--helpbox-header-color:#181920;--helpbox-search-bg-color:#fbfbfb;--helpbox-search-border-color:#d6dfe6;--helpbox-notfound-search-color:#8b8b8b;--helpbox-text-color:black;--code-section-bg-color:#f3f3f3;--process-item-bg:#f2f2f2;--process-busy:#ffcd70;--process-finished:#7ab881;--process-undefined:#979797;--process-failed:#e66363;--process-notify-bg:#f7f3e8;--footer-color:#333;--footer-bg-color:#d7dcd3;--footer-atag-color:black;--footer-input-border-color:#818181;--footer-filepicker-button-color:white;--footer-filepicker-focus-color:#896c6c;--undo-delete-box-shadow-color:#0083;--cm-color-editor-tooltip-border:#0003;--cm-color-editor-li-aria-selected-bg:#16659d;--cm-color-editor-li-aria-selected:white;--cm-color-editor-li-notexported:#00000080;--code-background:#fefcf5;--cm-color-code-differs-gutters:#d6ac2333;--cm-color-line-numbers:#8d86875e;--cm-selection-background:#75b1ff7a;--cm-selection-background-blurred:#bababa7a;--cm-highlighted:#cbceb668;--cm-color-editor-text:#41323f;--cm-color-comment:#e96ba8;--cm-color-atom:#815ba4;--cm-color-number:#815ba4;--cm-color-property:#b67a48;--cm-color-keyword:#ef6155;--cm-color-string:#da5616;--cm-color-var:#5668a4;--cm-color-var2:#37768a;--cm-color-macro:#5c8c5f;--cm-color-builtin:#5e7ad3;--cm-color-function:#cc80ac;--cm-color-type:#879794;--cm-color-bracket:#41323f;--cm-color-tag:#ef6155;--cm-color-link:#815ba4;--cm-color-error-bg:#ef6155;--cm-color-error:#f7f7f7;--cm-color-matchingBracket:black;--cm-color-matchingBracket-bg:#1b4bbb21;--cm-color-placeholder-text:#0003;--cm-color-clickable-underline:#ced2ef;--cm-color-html:#48b685;--cm-color-html-accent:#00ab85;--cm-color-css:#876800;--cm-color-css-accent:#696200;--cm-css-why-doesnt-codemirror-highlight-all-the-text-aaa:#3b3700;--cm-color-md:#005a9b;--cm-color-md-accent:#00a9d1;--autocomplete-menu-bg-color:white;--index-text-color:hsl(0,0,60);--index-light-text-color:#838383;--index-clickable-text-color:black;--docs-binding-bg:#8383830a;--index-card-bg:white;--welcome-mywork-bg:#f9efe1;--welcome-newnotebook-bg:whitesmoke;--welcome-recentnotebook-bg:white;--welcome-recentnotebook-border:#dfdfdf;--welcome-open-bg:#fbfbfb;--welcome-card-author-backdrop:#ffffffb0}}@media (prefers-color-scheme:dark){:root{--image-filters:invert(1)hue-rotate(180deg)contrast(.8);--out-of-focus-opacity:.5;--main-bg-color:#1f1f1f;--rule-color:#ffffff26;--kbd-border-color:#222;--header-bg-color:#2a2928;--header-border-color:transparent;--ui-button-color:#fff;--cursor-color:white;--normal-cell:100,100,100;--error-color:255,125,125;--normal-cell-color:rgba(var(--normal-cell),.2);--dark-normal-cell-color:rgba(var(--normal-cell),.4);--selected-cell-color:#2893bda6;--code-differs-cell-color:#9b906c;--error-cell-color:rgba(var(--error-color),.6);--bright-error-cell-color:rgba(var(--error-color),.9);--light-error-cell-color:rgba(var(--error-color),0);--export-bg-color:#262a36;--export-color:#ffffffd6;--export-card-bg-color:#494949;--export-card-title-color:#ffffffd9;--export-card-text-color:#ffffffb3;--export-card-shadow-color:#0000001c;--frontmatter-button-bg-color:#554e4e;--frontmatter-outline-color:#fff8eb;--frontmatter-input-bg-color:#2c2c2c;--frontmatter-input-border-color:#757575;--pluto-schema-types-color:#fff9;--pluto-schema-types-border-color:#fff3;--pluto-dim-output-color:hsl(0,0,70%);--pluto-output-color:#c4c4c4;--pluto-output-h-color:#e6e6e6;--pluto-output-bg-color:var(--main-bg-color);--a-underline:#ffffff69;--blockquote-color:inherit;--blockquote-bg:#2e2e2e;--admonition-title-color:black;--jl-message-color:#265a20;--jl-message-accent-color:#83bf8a;--jl-info-color:#2a4973;--jl-info-accent-color:#5c8ccd;--jl-warn-color:#605a22;--jl-warn-accent-color:#ddd464;--jl-danger-color:#642f27;--jl-danger-accent-color:#ff7562;--jl-debug-color:#522e5c;--jl-debug-accent-color:#c481df;--table-border-color:#fff3;--table-bg-hover-color:#c1c0eb26;--pluto-tree-color:#d1cfcf9c;--disabled-cell-bg-color:#8b8b8b40;--selected-cell-bg-color:#2a73cdc7;--hover-scrollbar-color-1:#00000026;--hover-scrollbar-color-2:#0000000d;--skip-as-script-background-color:#888;--depends-on-skip-as-script-background-color:#666;--shoulder-hover-bg-color:#ffffff0d;--pluto-logs-bg-color:#2b2b2b;--pluto-logs-key-color:#fff9;--pluto-logs-progress-fill:#5f7f5b;--pluto-logs-progress-bg:#3d3d3d;--pluto-logs-progress-border:#9fb8d1;--pluto-logs-info-color:#484848;--pluto-logs-info-accent-color:inherit;--pluto-logs-warn-color:#504c26;--pluto-logs-warn-accent-color:#efe787;--pluto-logs-danger-color:#642f27;--pluto-logs-danger-accent-color:#ff9384;--pluto-logs-debug-color:#47344c;--pluto-logs-debug-accent-color:#d6abe7;--nav-h1-text-color:white;--nav-filepicker-color:#b6b6b6;--nav-filepicker-border-color:#c7c7c7;--nav-process-status-bg-color:#525252;--nav-process-status-color:var(--pluto-output-h-color);--restart-recc-header-color:#2c6a9d8f;--restart-recc-accent-color:#2c6a9d;--restart-req-header-color:#91423c8f;--dead-process-header-color:#fa4b1579;--loading-header-color:#33333380;--disconnected-header-color:#ffa9728f;--binder-loading-header-color:#f6f1d580;--loading-grad-color-1:#a9d4f1;--loading-grad-color-2:#d0d4d7;--overlay-button-bg:#2c2c2c;--overlay-button-border:#9e9e9e70;--overlay-button-border-save:#c7a74670;--overlay-button-color:white;--input-context-menu-border-color:#ffffff1a;--input-context-menu-bg-color:#27282f;--input-context-menu-soon-color:#b1b1b144;--input-context-menu-hover-bg-color:#ffffff1a;--input-context-menu-li-color:#c7c7c7;--pkg-popup-bg:#3d2f44;--pkg-popup-border-color:#574f56;--pkg-popup-buttons-bg-color:var(--input-context-menu-bg-color);--black:white;--white:black;--pkg-terminal-bg-color:#252627;--pkg-terminal-border-color:#c3c3c388;--pluto-runarea-bg-color:#2b2b2b;--pluto-runarea-span-color:#a89fa0;--dropruler-bg-color:#ffffff1a;--jlerror-header-color:#d9baba;--jlerror-mark-bg-color:#0000002e;--jlerror-a-bg-color:#50523a;--jlerror-a-border-left-color:#6d7141;--jlerror-mark-color:#b1a9a9;--helpbox-bg-color:#1e221f;--helpbox-box-shadow-color:#00000017;--helpbox-header-bg-color:#2c3e36;--helpbox-header-tab-bg-color:#554e4e;--helpbox-header-color:#fff8eb;--helpbox-search-bg-color:#2c2c2c;--helpbox-search-border-color:#757575;--helpbox-notfound-search-color:#8b8b8b;--helpbox-text-color:#e6e6e6;--code-section-bg-color:#2c2c2c;--code-section-border-color:#555a64;--process-item-bg:#443d44;--process-busy:#ffcd70;--process-finished:#7ab881;--process-undefined:#979797;--process-failed:#b87e7a;--process-notify-bg:#363636;--footer-color:#cacaca;--footer-bg-color:var(--header-bg-color);--footer-atag-color:#72a1df;--footer-input-border-color:#6c6c6c;--footer-filepicker-button-color:black;--footer-filepicker-focus-color:#c1c1c1;--footnote-border-color:#72e1e726;--undo-delete-box-shadow-color:#d5d5d633;--cm-color-editor-tooltip-border:#0003;--cm-color-editor-li-aria-selected-bg:#3271e7;--cm-color-editor-li-aria-selected:white;--cm-color-editor-li-notexported:#ffffff80;--code-background:#292d38;--cm-color-code-differs-gutters:#ebd51c1c;--cm-color-line-numbers:#8d86875e;--cm-selection-background:#548bd97a;--cm-selection-background-blurred:#9696967a;--cm-highlighted:#cbceb629;--cm-color-editor-text:#ffe9fc;--cm-color-comment:#e96ba8;--cm-color-atom:#e46b58;--cm-color-number:#a57acd;--cm-color-property:#f99b15;--cm-color-keyword:#ff7a6f;--cm-color-string:#df7e4e;--cm-color-var:#afb7d3;--cm-color-var2:#06b6ef;--cm-color-macro:#82b38b;--cm-color-builtin:#5e7ad3;--cm-color-function:#f99b15;--cm-color-type:#94894c;--cm-color-bracket:#a2a273;--cm-color-tag:#ef6155;--cm-color-link:#815ba4;--cm-color-error-bg:#ef6155;--cm-color-error:#f7f7f7;--cm-color-matchingBracket:white;--cm-color-matchingBracket-bg:#c58c237a;--cm-color-placeholder-text:#fff3;--cm-color-clickable-underline:#5d5f70;--cm-color-html:#00ab85;--cm-color-html-accent:#00e7b4;--cm-color-css:#ebd073;--cm-color-css-accent:#fffed2;--cm-css-why-doesnt-codemirror-highlight-all-the-text-aaa:#ffffea;--cm-color-md:#a2c9d5;--cm-color-md-accent:#00a9d1;--autocomplete-menu-bg-color:var(--input-context-menu-bg-color);--index-text-color:#c7c7c7;--index-light-text-color:#c7c7c7;--index-clickable-text-color:#ebebeb;--docs-binding-bg:#323431;--index-card-bg:#313131;--welcome-mywork-bg:var(--header-bg-color);--welcome-newnotebook-bg:#444866;--welcome-recentnotebook-bg:#3b3b3b;--welcome-recentnotebook-border:#6e6e6e;--welcome-open-bg:#434765;--welcome-card-author-backdrop:#0000006b}@media (prefers-contrast:more){:root{--cm-color-line-numbers:#b3b3b3}}}:root{--card-width:15rem}featured-card{--card-color:hsl(var(--card-color-hue),77%,82%);--card-border-radius:10px;--card-border-width:3px;border:var(--card-border-width)solid var(--card-color);border-radius:var(--card-border-radius);font-family:var(--inter-ui-font-stack);word-break:break-word;hyphens:auto;background:var(--index-card-bg);max-width:var(--card-width);margin:10px;padding-bottom:.3rem;display:block;position:relative;box-shadow:0 2px 6px #00000014}featured-card .banner img{--zz:calc(var(--card-border-radius) - var(--card-border-width));aspect-ratio:3/2;object-fit:cover;background:var(--card-color);border-radius:var(--zz)var(--zz)0 0;flex:200px;width:100%;min-width:0}featured-card a{text-decoration:none}featured-card a.banner{display:flex}featured-card .author{background:var(--welcome-card-author-backdrop);backdrop-filter:blur(15px);color:var(--index-light-text-color);border-radius:117px;align-items:center;gap:.4ch;margin-left:.3rem;padding:.3em .8em .3em .3em;font-weight:600;display:flex;position:absolute;top:.3em;right:.3em}featured-card .author img{--size:1.6em;width:var(--size);height:var(--size);object-fit:cover;background:#b6b6b6;border-radius:100%;flex:none;display:inline-block;overflow:hidden}featured-card h3 a{-webkit-line-clamp:2;background:var(--index-card-bg);border-radius:.6em;-webkit-box-orient:vertical;padding:.6em .6em 0;display:-webkit-inline-box;overflow:hidden}featured-card p{color:var(--index-light-text-color);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:.3rem .8rem;display:-webkit-inline-box;overflow:hidden}featured-card h3{margin:-1.1rem 0 0}featured-card.big{grid-row-end:span 2;grid-column-end:span 2}featured-card.big .banner img{height:16rem}featured-card.special:before{content:"New!";text-transform:uppercase;color:#833bc6;text-shadow:0 0 1px #ff6767;pointer-events:none;background:#fcf492;padding:2px 19px;font-size:1.4rem;font-style:italic;font-weight:700;display:block;position:absolute;left:-9px;transform:translateY(calc(15px - 100%))rotate(-5deg)} \ No newline at end of file diff --git a/frontend-dist/editor.8d408ac8.js b/frontend-dist/editor.8d408ac8.js new file mode 100644 index 000000000..fb0810343 --- /dev/null +++ b/frontend-dist/editor.8d408ac8.js @@ -0,0 +1,54 @@ +function e(e,t,i,r){Object.defineProperty(e,t,{get:i,set:r,enumerable:!0,configurable:!0})}var t=globalThis,i={},r={},n=t.parcelRequire94c2;null==n&&((n=function(e){if(e in i)return i[e].exports;if(e in r){var t=r[e];delete r[e];var n={id:e,exports:{}};return i[e]=n,t.call(n.exports,n,n.exports),n.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){r[e]=t},t.parcelRequire94c2=n);var o=n.register;o("cNaMA",function(t,i){e(t.exports,"html",()=>o),e(t.exports,"render",()=>n("3vOYv").render),e(t.exports,"Component",()=>n("3vOYv").Component),e(t.exports,"useEffect",()=>n("exxBE").useEffect),e(t.exports,"useLayoutEffect",()=>n("exxBE").useLayoutEffect),e(t.exports,"useState",()=>n("exxBE").useState),e(t.exports,"useRef",()=>n("exxBE").useRef),e(t.exports,"useMemo",()=>n("exxBE").useMemo),e(t.exports,"useCallback",()=>n("exxBE").useCallback),e(t.exports,"useErrorBoundary",()=>n("exxBE").useErrorBoundary),e(t.exports,"createContext",()=>n("3vOYv").createContext),e(t.exports,"createRef",()=>n("3vOYv").createRef),e(t.exports,"useContext",()=>n("exxBE").useContext),e(t.exports,"h",()=>n("3vOYv").h),e(t.exports,"cloneElement",()=>n("3vOYv").cloneElement),e(t.exports,"hydrate",()=>n("3vOYv").hydrate),n("648C5");var r=n("3vOYv");n("g47wy"),n("exxBE"),n("4KWiy");let o=(0,n("lNRSt").default).bind(r.h)}),o("648C5",function(t,i){e(t.exports,"cloneElement",()=>n("3vOYv").cloneElement),e(t.exports,"Component",()=>n("3vOYv").Component),e(t.exports,"createContext",()=>n("3vOYv").createContext),e(t.exports,"createRef",()=>n("3vOYv").createRef),e(t.exports,"h",()=>n("3vOYv").h),e(t.exports,"hydrate",()=>n("3vOYv").hydrate),e(t.exports,"render",()=>n("3vOYv").render),n("3vOYv")}),o("3vOYv",function(t,i){e(t.exports,"options",()=>n),e(t.exports,"createRef",()=>m),e(t.exports,"Component",()=>b),e(t.exports,"render",()=>Z),e(t.exports,"hydrate",()=>q),e(t.exports,"cloneElement",()=>A),e(t.exports,"createContext",()=>W),e(t.exports,"h",()=>Q);var r,n,o,s,a,O,l,h,c={},f=[],u=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function d(e,t){for(var i in t)e[i]=t[i];return e}function p(e){var t=e.parentNode;t&&t.removeChild(e)}function Q(e,t,i){var n,o,s,a={};for(s in t)"key"==s?n=t[s]:"ref"==s?o=t[s]:a[s]=t[s];if(arguments.length>2&&(a.children=arguments.length>3?r.call(arguments,2):i),"function"==typeof e&&null!=e.defaultProps)for(s in e.defaultProps)void 0===a[s]&&(a[s]=e.defaultProps[s]);return g(e,a,n,o,null)}function g(e,t,i,r,s){var a={type:e,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:s??++o};return null==s&&null!=n.vnode&&n.vnode(a),a}function m(){return{current:null}}function $(e){return e.children}function b(e,t){this.props=e,this.context=t}function X(e,t){if(null==t)return e.__?X(e.__,e.__.__k.indexOf(e)+1):null;for(var i;tt&&s.sort(l));y.__r=0}function x(e,t,i,r,o,s,a,O,l,h){var u,d,Q,m,b,S,y,x=r&&r.__k||f,P=x.length;for(i.__k=[],u=0;u0?g(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=i,m.__b=i.__b+1,null===(Q=x[u])||Q&&m.key==Q.key&&m.type===Q.type)x[u]=void 0;else for(d=0;d=0;i--)if((r=t.__k[i])&&(n=e(r)))return n}return null}(r).nextSibling),function e(t,i,r){var o,s;if(n.unmount&&n.unmount(t),(o=t.ref)&&(o.current&&o.current!==t.__e||_(o,null,i)),null!=(o=t.__c)){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(e){n.__e(e,i)}o.base=o.__P=null,t.__c=void 0}if(o=t.__k)for(s=0;s2&&(a.children=arguments.length>3?r.call(arguments,2):i),g(e.type,a,n||e.key,o||e.ref,null)}function W(e,t){var i={__c:t="__cC"+h++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var i,r;return this.getChildContext||(i=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&i.some(function(e){e.__e=!0,S(e)})},this.sub=function(e){i.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){i.splice(i.indexOf(e),1),t&&t.call(e)}}),e.children}};return i.Provider.__=i.Consumer.contextType=i}r=f.slice,n={__e:function(e,t,i,r){for(var n,o,s;t=t.__;)if((n=t.__c)&&!n.__)try{if((o=n.constructor)&&null!=o.getDerivedStateFromError&&(n.setState(o.getDerivedStateFromError(e)),s=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e,r||{}),s=n.__d),s)return n.__E=n}catch(t){e=t}throw e}},o=0,b.prototype.setState=function(e,t){var i;i=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},i),this.props)),e&&d(i,e),null!=e&&this.__v&&(t&&this._sb.push(t),S(this))},b.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),S(this))},b.prototype.render=$,s=[],O="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,l=function(e,t){return e.__v.__b-t.__v.__b},y.__r=0,h=0}),o("g47wy",function(t,i){e(t.exports,"useCallback",()=>n("exxBE").useCallback),e(t.exports,"useContext",()=>n("exxBE").useContext),e(t.exports,"useEffect",()=>n("exxBE").useEffect),e(t.exports,"useErrorBoundary",()=>n("exxBE").useErrorBoundary),e(t.exports,"useLayoutEffect",()=>n("exxBE").useLayoutEffect),e(t.exports,"useMemo",()=>n("exxBE").useMemo),e(t.exports,"useRef",()=>n("exxBE").useRef),e(t.exports,"useState",()=>n("exxBE").useState),n("3vOYv"),n("exxBE")}),o("exxBE",function(t,i){e(t.exports,"useState",()=>m),e(t.exports,"useEffect",()=>$),e(t.exports,"useLayoutEffect",()=>b),e(t.exports,"useRef",()=>X),e(t.exports,"useMemo",()=>S),e(t.exports,"useCallback",()=>y),e(t.exports,"useContext",()=>x),e(t.exports,"useErrorBoundary",()=>v);var r,o,s,a,O=n("3vOYv"),l=0,h=[],c=[],f=O.options.__b,u=O.options.__r,d=O.options.diffed,p=O.options.__c,Q=O.options.unmount;function g(e,t){O.options.__h&&(0,O.options).__h(o,e,l||t),l=0;var i=o.__H||(o.__H={__:[],__h:[]});return e>=i.__.length&&i.__.push({__V:c}),i.__[e]}function m(e){return l=1,function(e,t,i){var n=g(r++,2);if(n.t=e,!n.__c&&(n.__=[R(void 0,t),function(e){var t=n.__N?n.__N[0]:n.__[0],i=n.t(t,e);t!==i&&(n.__N=[i,n.__[1]],n.__c.setState({}))}],n.__c=o,!o.u)){var s=function(e,t,i){if(!n.__c.__H)return!0;var r=n.__c.__H.__.filter(function(e){return e.__c});if(r.every(function(e){return!e.__N}))return!a||a.call(this,e,t,i);var o=!1;return r.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),!(!o&&n.__c.props===e)&&(!a||a.call(this,e,t,i))};o.u=!0;var a=o.shouldComponentUpdate,O=o.componentWillUpdate;o.componentWillUpdate=function(e,t,i){if(this.__e){var r=a;a=void 0,s(e,t,i),a=r}O&&O.call(this,e,t,i)},o.shouldComponentUpdate=s}return n.__N||n.__}(R,e)}function $(e,t){var i=g(r++,3);!O.options.__s&&Y(i.__H,t)&&(i.__=e,i.i=t,o.__H.__h.push(i))}function b(e,t){var i=g(r++,4);!O.options.__s&&Y(i.__H,t)&&(i.__=e,i.i=t,o.__h.push(i))}function X(e){return l=5,S(function(){return{current:e}},[])}function S(e,t){var i=g(r++,7);return Y(i.__H,t)?(i.__V=e(),i.i=t,i.__h=e,i.__V):i.__}function y(e,t){return l=8,S(function(){return e},t)}function x(e){var t=o.context[e.__c],i=g(r++,9);return i.c=e,t?(null==i.__&&(i.__=!0,t.sub(o)),t.props.value):e.__}function v(e){var t=g(r++,10),i=m();return t.__=e,o.componentDidCatch||(o.componentDidCatch=function(e,r){t.__&&t.__(e,r),i[1](e)}),[i[0],function(){i[1](void 0)}]}function P(){for(var e;e=h.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(T),e.__H.__h.forEach(k),e.__H.__h=[]}catch(t){e.__H.__h=[],(0,O.options).__e(t,e.__v)}}O.options.__b=function(e){o=null,f&&f(e)},O.options.__r=function(e){u&&u(e),r=0;var t=(o=e.__c).__H;t&&(s===o?(t.__h=[],o.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.__V=c,e.__N=e.i=void 0})):(t.__h.forEach(T),t.__h.forEach(k),t.__h=[])),s=o},O.options.diffed=function(e){d&&d(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==h.push(t)&&a===O.options.requestAnimationFrame||((a=(0,O.options).requestAnimationFrame)||function(e){var t,i=function(){clearTimeout(r),w&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(i,100);w&&(t=requestAnimationFrame(i))})(P)),t.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.__V!==c&&(e.__=e.__V),e.i=void 0,e.__V=c})),s=o=null},O.options.__c=function(e,t){t.some(function(e){try{e.__h.forEach(T),e.__h=e.__h.filter(function(e){return!e.__||k(e)})}catch(i){t.some(function(e){e.__h&&(e.__h=[])}),t=[],(0,O.options).__e(i,e.__v)}}),p&&p(e,t)},O.options.unmount=function(e){Q&&Q(e);var t,i=e.__c;i&&i.__H&&(i.__H.__.forEach(function(e){try{T(e)}catch(e){t=e}}),i.__H=void 0,t&&(0,O.options).__e(t,i.__v))};var w="function"==typeof requestAnimationFrame;function T(e){var t=o,i=e.__c;"function"==typeof i&&(e.__c=void 0,i()),o=t}function k(e){var t=o;e.__c=e.__(),o=t}function Y(e,t){return!e||e.length!==t.length||t.some(function(t,i){return t!==e[i]})}function R(e,t){return"function"==typeof t?t(e):t}}),o("4KWiy",function(t,i){e(t.exports,"default",()=>n("lNRSt").default),n("lNRSt")}),o("lNRSt",function(t,i){e(t.exports,"default",()=>o);var r=function(e,t,i,n){var o;t[0]=0;for(var s=1;s=5&&((n||!e&&5===r)&&(s.push(r,0,n,i),r=6),e&&(s.push(r,e,0,i),r=6)),n=""},O=0;O"===t?(r=1,n=""):n=t+n[0]:o?t===o?o="":n+=t:'"'===t||"'"===t?o=t:">"===t?(a(),r=1):r&&("="===t?(r=5,i=n,n=""):"/"===t&&(r<5||">"===e[O][l+1])?(a(),3===r&&(s=s[0]),r=s,(s=s[0]).push(2,0,r),r=0):" "===t||" "===t||t===` +`||"\r"===t?(a(),r=2):n+=t),3===r&&"!--"===n&&(r=4,s=s[0])}return a(),s}(e)),t),arguments,[])).length>1?t:t[0]}}),o("eS9BV",function(e,t){try{null==window.process&&(window.process={}),null==window.process.env&&(window.process.env={}),window.process.env.NODE_ENV="production"}catch(e){console.warn("Couldn't set window.process.env, this might break some things")}}),o("9Ta4i",function(t,i){e(t.exports,"default",()=>r);var r=window._}),o("4zMEb",function(t,i){e(t.exports,"timeout_promise",()=>O),e(t.exports,"ws_address_from_base",()=>g),e(t.exports,"create_pluto_connection",()=>$);var r=n("fUfdR"),o=n("k9crH");n("iYcLY");var s=n("enQH9"),a=n("41Mhf");let O=(e,t)=>Promise.race([e,new Promise((e,i)=>{setTimeout(()=>{i(Error("Promise timed out."))},t)})]),l=()=>{let e=()=>{},t=()=>{};return{current:new Promise((i,r)=>{e=i,t=r}),resolve:e,reject:t}},h=()=>crypto.getRandomValues(new Uint32Array(1))[0].toString(36),c=e=>e.readyState==WebSocket.OPEN||e.readyState==WebSocket.CONNECTING,f=e=>new Promise(t=>{c(e)?t(!0):setTimeout(()=>{t(c(e))},1e3)}),u=e=>{e.onopen=()=>{u(e)},e.onmessage=e.onclose=e.onerror=null;try{e.close(1e3,"byebye")}catch(e){}},d=(e,{on_message:t,on_socket_close:i},r=30)=>new Promise((n,s)=>{let a=new WebSocket(e),O=!1,l=setTimeout(()=>{console.warn("Creating websocket timed out",new Date().toLocaleTimeString()),u(a),s("Socket timeout")},1e3*r),h=e=>{let t=(0,o.pack)(e);if(a.readyState===WebSocket.CLOSED||a.readyState===WebSocket.CLOSING)throw Error("Socket is closed");a.send(t)},c=Promise.resolve();a.onmessage=e=>{c=c.then(async()=>{try{let i=await e.data.arrayBuffer(),r=(0,o.unpack)(new Uint8Array(i));try{t(r)}catch(t){console.error("Failed to process message from websocket",t,{message:r}),alert(`Something went wrong! You might need to refresh the page. + +Please open an issue on https://github.com/fonsp/Pluto.jl with this info: + +Failed to process update +${t.message} + +${JSON.stringify(e)}`)}}catch(t){console.error("Failed to unpack message from websocket",t,{event:e}),alert(`Something went wrong! You might need to refresh the page. + +Please open an issue on https://github.com/fonsp/Pluto.jl with this info: + +Failed to unpack message +${t} + +${JSON.stringify(e)}`)}})},a.onerror=async e=>{console.error(`Socket did an oopsie - ${e.type}`,new Date().toLocaleTimeString(),"was open:",O,e),await f(a)?(console.log("The socket somehow recovered from an error?! Onbegrijpelijk"),console.log(a),console.log(a.readyState)):O?(i(),u(a)):s(e)},a.onclose=async e=>{console.warn(`Socket did an oopsie - ${e.type}`,new Date().toLocaleTimeString(),"was open:",O,e),O?(i(),u(a)):s(e)},a.onopen=()=>{console.log("Socket opened",new Date().toLocaleTimeString()),clearInterval(l),O=!0,n({socket:a,send:h})},console.log("Waiting for socket to open...",new Date().toLocaleTimeString())}),p=()=>new Promise(e=>setTimeout(e,0)),Q=e=>{let t=null,i=[],r=null;return async(n,o,s,a)=>{if("update_notebook"!==n)return await e(n,o,s,a);if(null!=r&&r!=s.notebook_id)throw Error("Switched notebook inbetween same-tick updates??? WHAT?!?!");return i=[...i,...o.updates],r=s.notebook_id,null==t&&(t=p().then(async()=>{let o=i;return t=null,i=[],r=null,await e(n,{updates:o},s,a)})),await t}},g=e=>{let t=new URL("./",e);return t.protocol=t.protocol.replace("http","ws"),(0,a.with_query_params)(t,{secret:new URL(e).searchParams.get("secret")})},m=()=>g(window.location.href),$=async({on_unrequested_update:e,on_reconnect:t,on_connection_status:i,connect_metadata:n={},ws_address:o=m()})=>{let a=null,O=new s.Stack(100);window.pluto_get_message_log=()=>O.get();let c={version_info:{julia:"unknown",pluto:"unknown",dismiss_update_notification:!1},notebook_exists:!0,message_log:O},f=h(),u=new Map,p=async(t,i={},r={},n=!0)=>{if(null==a)throw Error("No connection established yet");let o=h(),s={type:t,client_id:f,request_id:o,body:i,...r},O=l();return u.set(o,t=>{O.resolve(t),!1===n&&e(t,!0)}),a.send(s),await O.current};c.send=Q(p);let g=async()=>{(async()=>{try{let e=new URL(window.location.href),t=await fetch("possible_binder_token_please");if(!t.ok)return;let i=await t.text();""!==i&&e.searchParams.get("token")!==i&&(e.searchParams.set("token",i),history.replaceState({},"",e.toString()))}catch(e){console.warn("Error while setting binder url:",e)}})();try{a=await d(String(o),{on_message:t=>{O.push(t);let i=t.initiator_id==f,r=t.request_id;if(i&&r){let e=u.get(r);if(e){e(t),u.delete(r);return}}e(t,i)},on_socket_close:async()=>{i(!1,!1),console.log("Starting new websocket",new Date().toLocaleTimeString()),await (0,r.Promises).delay(500),await g(),console.log("Starting state sync",new Date().toLocaleTimeString());let e=await t();console.log(`State sync ${e?"":"not "}successful`,new Date().toLocaleTimeString()),i(e,!1),e||alert("Connection out of sync \uD83D\uDE25\n\nRefresh the page to continue")}}),console.log("Hello?");let s=await p("connect",{},n);if(console.log("Hello!"),c.kill=()=>{a&&a.socket.close()},c.session_options=s.message.options,c.version_info=s.message.version_info,c.notebook_exists=s.message.notebook_exists,console.log("Client object: ",c),null!=n.notebook_id&&!s.message.notebook_exists)return i(!1,!0),{};i(!0,!1);let l=()=>{p("ping",{},{}).then(()=>{setTimeout(l,28e3)}).catch(()=>void 0)};return l(),s.message}catch(e){return console.error("connect() failed",e),await (0,r.Promises).delay(5e3),await g()}};return await g(),c}}),o("fUfdR",function(t,i){e(t.exports,"default",()=>n),e(t.exports,"observablehq_for_cells",()=>o),e(t.exports,"Promises",()=>s);let r=()=>{let e=new window.observablehq.Library;return{DOM:e.DOM,Files:e.Files,Generators:e.Generators,Promises:e.Promises,now:e.now,svg:e.svg(),html:e.html(),require:e.require()}},n=r(),o=r();n.DOM,n.Files,n.Generators;let s=n.Promises;n.now,n.svg,n.html,n.require}),o("k9crH",function(t,i){e(t.exports,"pack",()=>a),e(t.exports,"unpack",()=>O);var r=n("e52WV");let o=(0,r.default).createCodec(),s=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);o.addExtPacker(17,Int8Array,s),o.addExtPacker(18,Uint8Array,s),o.addExtPacker(19,Int16Array,s),o.addExtPacker(20,Uint16Array,s),o.addExtPacker(21,Int32Array,s),o.addExtPacker(22,Uint32Array,s),o.addExtPacker(23,Float32Array,s),o.addExtPacker(24,Float64Array,s),o.addExtPacker(18,Uint8ClampedArray,s),o.addExtPacker(18,ArrayBuffer,e=>new Uint8Array(e)),o.addExtPacker(18,DataView,s),o.addExtPacker(13,Date,e=>new BigInt64Array([BigInt(+e)])),o.addExtUnpacker(13,e=>{if(!("getBigInt64"in DataView.prototype))return new Date(NaN);{let t=new DataView(e.buffer,e.byteOffset,e.byteLength).getBigInt64(0,!0);if(t>Number.MAX_SAFE_INTEGER)throw Error("Can't read too big number as date (how far in the future is this?!)");return new Date(Number(t))}}),o.addExtUnpacker(17,e=>new Int8Array(e.buffer)),o.addExtUnpacker(18,e=>new Uint8Array(e.buffer)),o.addExtUnpacker(19,e=>new Int16Array(e.buffer)),o.addExtUnpacker(20,e=>new Uint16Array(e.buffer)),o.addExtUnpacker(21,e=>new Int32Array(e.buffer)),o.addExtUnpacker(22,e=>new Uint32Array(e.buffer)),o.addExtUnpacker(23,e=>new Float32Array(e.buffer)),o.addExtUnpacker(24,e=>new Float64Array(e.buffer));let a=e=>(0,r.default).encode(e,{codec:o}),O=e=>(0,r.default).decode(e,{codec:o})}),o("e52WV",function(t,i){e(t.exports,"default",()=>r);var r=n("8RXlh").default}),o("8RXlh",function(i,r){e(i.exports,"default",()=>n);var n=(function e(t,i,r){function n(s,a){if(!i[s]){if(!t[s]){var O=void 0;if(!a&&O)return O(s,!0);if(o)return o(s,!0);var l=Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var h=i[s]={exports:{}};t[s][0].call(h.exports,function(e){return n(t[s][1][e]||e)},h,h.exports,e,t,i,r)}return i[s].exports}for(var o=void 0,s=0;s=0;n--)e[n+t]=this[n+i];else for(n=0;n=65536?(o-=65536,n+=String.fromCharCode((o>>>10)+55296,(1023&o)+56320)):n+=String.fromCharCode(o));return n},i.write=function(e,t){for(var i=t||(t|=0),r=e.length,n=0,o=0;o>>6:(n<55296||n>57343?this[i++]=224|n>>>12:(n=(n-55296<<10|e.charCodeAt(o++)-56320)+65536,this[i++]=240|n>>>18,this[i++]=128|n>>>12&63),this[i++]=128|n>>>6&63),this[i++]=128|63&n);return i-t}},{}],4:[function(e,t,i){function r(e){return Array(e)}var n=e("./bufferish"),i=t.exports=r(0);i.alloc=r,i.concat=n.concat,i.from=function(e){if(!n.isBuffer(e)&&n.isView(e))e=n.Uint8Array.from(e);else if(n.isArrayBuffer(e))e=new Uint8Array(e);else{if("string"==typeof e)return n.from.call(i,e);if("number"==typeof e)throw TypeError('"value" argument must not be a number')}return Array.prototype.slice.call(e)}},{"./bufferish":8}],5:[function(e,t,i){function r(e){return new o(e)}var n=e("./bufferish"),o=n.global,i=t.exports=n.hasBuffer?r(0):[];i.alloc=n.hasBuffer&&o.alloc||r,i.concat=n.concat,i.from=function(e){if(!n.isBuffer(e)&&n.isView(e))e=n.Uint8Array.from(e);else if(n.isArrayBuffer(e))e=new Uint8Array(e);else{if("string"==typeof e)return n.from.call(i,e);if("number"==typeof e)throw TypeError('"value" argument must not be a number')}return o.from&&1!==o.from.length?o.from(e):new o(e)}},{"./bufferish":8}],6:[function(e,t,i){function r(e,t,i,r){var o=a.isBuffer(this),O=a.isBuffer(e);if(o&&O)return this.copy(e,t,i,r);if(h||o||O||!a.isView(this)||!a.isView(e))return s.copy.call(this,e,t,i,r);var l=i||null!=r?n.call(this,i,r):this;return e.set(l,t),l.length}function n(e,t){var i=this.slice||!h&&this.subarray;if(i)return i.call(this,e,t);var n=a.alloc.call(this,t-e);return r.call(this,n,0,e,t),n}var o,s=e("./buffer-lite");i.copy=r,i.slice=n,i.toString=function(e,t,i){return(!l&&a.isBuffer(this)?this.toString:s.toString).apply(this,arguments)},i.write=(o="write",function(){return(this[o]||s[o]).apply(this,arguments)});var a=e("./bufferish"),O=a.global,l=a.hasBuffer&&"TYPED_ARRAY_SUPPORT"in O,h=l&&!O.TYPED_ARRAY_SUPPORT},{"./buffer-lite":3,"./bufferish":8}],7:[function(e,t,i){function r(e){return new Uint8Array(e)}var n=e("./bufferish"),i=t.exports=n.hasArrayBuffer?r(0):[];i.alloc=r,i.concat=n.concat,i.from=function(e){if(n.isView(e)){var t=e.byteOffset,r=e.byteLength;(e=e.buffer).byteLength!==r&&(e.slice?e=e.slice(t,t+r):(e=new Uint8Array(e)).byteLength!==r&&(e=Array.prototype.slice.call(e,t,t+r)))}else{if("string"==typeof e)return n.from.call(i,e);if("number"==typeof e)throw TypeError('"value" argument must not be a number')}return new Uint8Array(e)}},{"./bufferish":8}],8:[function(e,t,i){function r(e){return o(this).alloc(e)}function n(e){var t=3*e.length,i=r.call(this,t),n=g.write.call(i,e);return t!==n&&(i=g.slice.call(i,0,n)),i}function o(e){return f(e)?p:u(e)?Q:c(e)?d:l?p:h?Q:d}function s(){return!1}function a(e,t){return e="[object "+e+"]",function(i){return null!=i&&({}).toString.call(t?i[t]:i)===e}}var O=i.global=e("./buffer-global"),l=i.hasBuffer=O&&!!O.isBuffer,h=i.hasArrayBuffer="undefined"!=typeof ArrayBuffer,c=i.isArray=e("isarray");i.isArrayBuffer=h?function(e){return e instanceof ArrayBuffer||m(e)}:s;var f=i.isBuffer=l?O.isBuffer:s,u=i.isView=h?ArrayBuffer.isView||a("ArrayBuffer","buffer"):s;i.alloc=r,i.concat=function(e,t){t||(t=0,Array.prototype.forEach.call(e,function(e){t+=e.length}));var n=this!==i&&this||e[0],o=r.call(n,t),s=0;return Array.prototype.forEach.call(e,function(e){s+=g.copy.call(e,o,s)}),o},i.from=function(e){return"string"==typeof e?n.call(this,e):o(this).from(e)};var d=i.Array=e("./bufferish-array"),p=i.Buffer=e("./bufferish-buffer"),Q=i.Uint8Array=e("./bufferish-uint8array"),g=i.prototype=e("./bufferish-proto"),m=a("ArrayBuffer")},{"./buffer-global":2,"./bufferish-array":4,"./bufferish-buffer":5,"./bufferish-proto":6,"./bufferish-uint8array":7,isarray:34}],9:[function(e,t,i){function r(e){return this instanceof r?(this.options=e,void this.init()):new r(e)}function n(e){return new r(e)}var o=e("isarray");i.createCodec=n,i.install=function(e){for(var t in e)r.prototype[t]=function(e,t){return e&&t?function(){return e.apply(this,arguments),t.apply(this,arguments)}:e||t}(r.prototype[t],e[t])},i.filter=function(e){return o(e)?function(e){function t(e,t){return t(e)}return e=e.slice(),function(i){return e.reduce(t,i)}}(e):e};var s=e("./bufferish");r.prototype.init=function(){var e=this.options;return e&&e.uint8array&&(this.bufferish=s.Uint8Array),this},i.preset=n({preset:!0})},{"./bufferish":8,isarray:34}],10:[function(e,t,i){e("./read-core"),e("./write-core"),i.codec={preset:e("./codec-base").preset}},{"./codec-base":9,"./read-core":22,"./write-core":25}],11:[function(e,t,i){function r(e){if(!(this instanceof r))return new r(e);if(e&&(this.options=e,e.codec)){var t=this.codec=e.codec;t.bufferish&&(this.bufferish=t.bufferish)}}i.DecodeBuffer=r;var n=e("./read-core").preset;e("./flex-buffer").FlexDecoder.mixin(r.prototype),r.prototype.codec=n,r.prototype.fetch=function(){return this.codec.decode(this)}},{"./flex-buffer":21,"./read-core":22}],12:[function(e,t,i){i.decode=function(e,t){var i=new r(t);return i.write(e),i.read()};var r=e("./decode-buffer").DecodeBuffer},{"./decode-buffer":11}],13:[function(e,t,i){function r(e){return this instanceof r?void o.call(this,e):new r(e)}i.Decoder=r;var n=e("event-lite"),o=e("./decode-buffer").DecodeBuffer;r.prototype=new o,n.mixin(r.prototype),r.prototype.decode=function(e){arguments.length&&this.write(e),this.flush()},r.prototype.push=function(e){this.emit("data",e)},r.prototype.end=function(e){this.decode(e),this.emit("end")}},{"./decode-buffer":11,"event-lite":31}],14:[function(e,t,i){function r(e){if(!(this instanceof r))return new r(e);if(e&&(this.options=e,e.codec)){var t=this.codec=e.codec;t.bufferish&&(this.bufferish=t.bufferish)}}i.EncodeBuffer=r;var n=e("./write-core").preset;e("./flex-buffer").FlexEncoder.mixin(r.prototype),r.prototype.codec=n,r.prototype.write=function(e){this.codec.encode(this,e)}},{"./flex-buffer":21,"./write-core":25}],15:[function(e,t,i){i.encode=function(e,t){var i=new r(t);return i.write(e),i.read()};var r=e("./encode-buffer").EncodeBuffer},{"./encode-buffer":14}],16:[function(e,t,i){function r(e){return this instanceof r?void o.call(this,e):new r(e)}i.Encoder=r;var n=e("event-lite"),o=e("./encode-buffer").EncodeBuffer;r.prototype=new o,n.mixin(r.prototype),r.prototype.encode=function(e){this.write(e),this.emit("data",this.read())},r.prototype.end=function(e){arguments.length&&this.encode(e),this.flush(),this.emit("end")}},{"./encode-buffer":14,"event-lite":31}],17:[function(e,t,i){i.ExtBuffer=function e(t,i){return this instanceof e?(this.buffer=r.from(t),void(this.type=i)):new e(t,i)};var r=e("./bufferish")},{"./bufferish":8}],18:[function(e,t,i){function r(t){return a||(a=e("./encode").encode),a(t)}function n(e){return e.valueOf()}function o(e){(e=RegExp.prototype.toString.call(e).split("/")).shift();var t=[e.pop()];return t.unshift(e.join("/")),t}function s(e){var t={};for(var i in c)t[i]=e[i];return t}i.setExtPackers=function(e){e.addExtPacker(14,Error,[s,r]),e.addExtPacker(1,EvalError,[s,r]),e.addExtPacker(2,RangeError,[s,r]),e.addExtPacker(3,ReferenceError,[s,r]),e.addExtPacker(4,SyntaxError,[s,r]),e.addExtPacker(5,TypeError,[s,r]),e.addExtPacker(6,URIError,[s,r]),e.addExtPacker(10,RegExp,[o,r]),e.addExtPacker(11,Boolean,[n,r]),e.addExtPacker(12,String,[n,r]),e.addExtPacker(13,Date,[Number,r]),e.addExtPacker(15,Number,[n,r]),"undefined"!=typeof Uint8Array&&(e.addExtPacker(17,Int8Array,h),e.addExtPacker(18,Uint8Array,h),e.addExtPacker(19,Int16Array,h),e.addExtPacker(20,Uint16Array,h),e.addExtPacker(21,Int32Array,h),e.addExtPacker(22,Uint32Array,h),e.addExtPacker(23,Float32Array,h),"undefined"!=typeof Float64Array&&e.addExtPacker(24,Float64Array,h),"undefined"!=typeof Uint8ClampedArray&&e.addExtPacker(25,Uint8ClampedArray,h),e.addExtPacker(26,ArrayBuffer,h),e.addExtPacker(29,DataView,h)),O.hasBuffer&&e.addExtPacker(27,l,O.from)};var a,O=e("./bufferish"),l=O.global,h=O.Uint8Array.from,c={name:1,message:1,stack:1,columnNumber:1,fileName:1,lineNumber:1}},{"./bufferish":8,"./encode":15}],19:[function(e,t,i){function r(t){return O||(O=e("./decode").decode),O(t)}function n(e){return RegExp.apply(null,e)}function o(e){return function(t){var i=new e;for(var r in c)i[r]=t[r];return i}}function s(e){return function(t){return new e(t)}}function a(e){return new Uint8Array(e).buffer}i.setExtUnpackers=function(e){e.addExtUnpacker(14,[r,o(Error)]),e.addExtUnpacker(1,[r,o(EvalError)]),e.addExtUnpacker(2,[r,o(RangeError)]),e.addExtUnpacker(3,[r,o(ReferenceError)]),e.addExtUnpacker(4,[r,o(SyntaxError)]),e.addExtUnpacker(5,[r,o(TypeError)]),e.addExtUnpacker(6,[r,o(URIError)]),e.addExtUnpacker(10,[r,n]),e.addExtUnpacker(11,[r,s(Boolean)]),e.addExtUnpacker(12,[r,s(String)]),e.addExtUnpacker(13,[r,s(Date)]),e.addExtUnpacker(15,[r,s(Number)]),"undefined"!=typeof Uint8Array&&(e.addExtUnpacker(17,s(Int8Array)),e.addExtUnpacker(18,s(Uint8Array)),e.addExtUnpacker(19,[a,s(Int16Array)]),e.addExtUnpacker(20,[a,s(Uint16Array)]),e.addExtUnpacker(21,[a,s(Int32Array)]),e.addExtUnpacker(22,[a,s(Uint32Array)]),e.addExtUnpacker(23,[a,s(Float32Array)]),"undefined"!=typeof Float64Array&&e.addExtUnpacker(24,[a,s(Float64Array)]),"undefined"!=typeof Uint8ClampedArray&&e.addExtUnpacker(25,s(Uint8ClampedArray)),e.addExtUnpacker(26,a),e.addExtUnpacker(29,[a,s(DataView)])),l.hasBuffer&&e.addExtUnpacker(27,s(h))};var O,l=e("./bufferish"),h=l.global,c={name:1,message:1,stack:1,columnNumber:1,fileName:1,lineNumber:1}},{"./bufferish":8,"./decode":12}],20:[function(e,t,i){e("./read-core"),e("./write-core"),i.createCodec=e("./codec-base").createCodec},{"./codec-base":9,"./read-core":22,"./write-core":25}],21:[function(e,t,i){function r(){if(!(this instanceof r))return new r}function n(){if(!(this instanceof n))return new n}function o(){return this.buffers&&this.buffers.length?(this.flush(),this.pull()):this.fetch()}function s(e){(this.buffers||(this.buffers=[])).push(e)}function a(e){return function(t){for(var i in e)t[i]=e[i];return t}}i.FlexDecoder=r,i.FlexEncoder=n;var O=e("./bufferish"),l="BUFFER_SHORTAGE";r.mixin=a({bufferish:O,write:function(e){var t=this.offset?O.prototype.slice.call(this.buffer,this.offset):this.buffer;this.buffer=t?e?this.bufferish.concat([t,e]):t:e,this.offset=0},fetch:function(){throw Error("method not implemented: fetch()")},flush:function(){for(;this.offsetthis.buffer.length)throw Error(l);return this.offset=i,t},offset:0}),r.mixin(r.prototype),n.mixin=a({bufferish:O,write:function(){throw Error("method not implemented: write()")},fetch:function(){var e=this.start;if(e1?this.bufferish.concat(e):e[0];return e.length=0,t},read:o,reserve:function(e){var t=0|e;if(this.buffer){var i=this.buffer.length,r=0|this.offset,n=r+t;if(nthis.minBufferSize)this.flush(),this.push(e);else{var i=this.reserve(t);O.prototype.copy.call(e,this.buffer,i)}},maxBufferSize:65536,minBufferSize:2048,offset:0,start:0}),n.mixin(n.prototype)},{"./bufferish":8}],22:[function(e,t,i){function r(){var e,t=this.options;return this.decode=(e=a.getReadToken(t),function(t){var i=s(t),r=e[i];if(!r)throw Error("Invalid type: "+(i?"0x"+i.toString(16):i));return r(t)}),t&&t.preset&&o.setExtUnpackers(this),this}var n=e("./ext-buffer").ExtBuffer,o=e("./ext-unpacker"),s=e("./read-format").readUint8,a=e("./read-token"),O=e("./codec-base");O.install({addExtUnpacker:function(e,t){(this.extUnpackers||(this.extUnpackers=[]))[e]=O.filter(t)},getExtUnpacker:function(e){return(this.extUnpackers||(this.extUnpackers=[]))[e]||function(t){return new n(t,e)}},init:r}),i.preset=r.call(O.preset)},{"./codec-base":9,"./ext-buffer":17,"./ext-unpacker":19,"./read-format":23,"./read-token":24}],23:[function(e,t,i){function r(e,t){var i,r={},n=Array(t),o=Array(t),s=e.codec.decode;for(i=0;i>>8,n[r]=i}}function s(e){return function(t,i){var r=t.reserve(5),n=t.buffer;n[r++]=e,n[r++]=i>>>24,n[r++]=i>>>16,n[r++]=i>>>8,n[r]=i}}function a(e,t,i,r){return function(n,o){var s=n.reserve(t+1);n.buffer[s++]=e,i.call(n.buffer,o,s,r)}}function O(e,t){new d(this,t,e)}function l(e,t){new p(this,t,e)}function h(e,t){f.write(this,e,t,!1,23,4)}function c(e,t){f.write(this,e,t,!1,52,8)}var f=e("ieee754"),u=e("int64-buffer"),d=u.Uint64BE,p=u.Int64BE,Q=e("./write-uint8").uint8,g=e("./bufferish"),m=g.global,$=g.hasBuffer&&"TYPED_ARRAY_SUPPORT"in m&&!m.TYPED_ARRAY_SUPPORT,b=g.hasBuffer&&m.prototype||{};i.getWriteToken=function(e){var t,i;return e&&e.uint8array?((t=r())[202]=a(202,4,h),t[203]=a(203,8,c),t):$||g.hasBuffer&&e&&e.safe?((i=Q.slice())[196]=a(196,1,m.prototype.writeUInt8),i[197]=a(197,2,m.prototype.writeUInt16BE),i[198]=a(198,4,m.prototype.writeUInt32BE),i[199]=a(199,1,m.prototype.writeUInt8),i[200]=a(200,2,m.prototype.writeUInt16BE),i[201]=a(201,4,m.prototype.writeUInt32BE),i[202]=a(202,4,m.prototype.writeFloatBE),i[203]=a(203,8,m.prototype.writeDoubleBE),i[204]=a(204,1,m.prototype.writeUInt8),i[205]=a(205,2,m.prototype.writeUInt16BE),i[206]=a(206,4,m.prototype.writeUInt32BE),i[207]=a(207,8,O),i[208]=a(208,1,m.prototype.writeInt8),i[209]=a(209,2,m.prototype.writeInt16BE),i[210]=a(210,4,m.prototype.writeInt32BE),i[211]=a(211,8,l),i[217]=a(217,1,m.prototype.writeUInt8),i[218]=a(218,2,m.prototype.writeUInt16BE),i[219]=a(219,4,m.prototype.writeUInt32BE),i[220]=a(220,2,m.prototype.writeUInt16BE),i[221]=a(221,4,m.prototype.writeUInt32BE),i[222]=a(222,2,m.prototype.writeUInt16BE),i[223]=a(223,4,m.prototype.writeUInt32BE),i):r()}},{"./bufferish":8,"./write-uint8":28,ieee754:32,"int64-buffer":33}],27:[function(e,t,i){var r=e("isarray"),n=e("int64-buffer"),o=n.Uint64BE,s=n.Int64BE,a=e("./bufferish"),O=e("./bufferish-proto"),l=e("./write-token"),h=e("./write-uint8").uint8,c=e("./ext-buffer").ExtBuffer,f="undefined"!=typeof Uint8Array,u="undefined"!=typeof Map,d=[];d[1]=212,d[2]=213,d[4]=214,d[8]=215,d[16]=216,i.getWriteType=function(e){function t(e,t){if(null===t)return i(e,t);if(b(t))return X(e,t);if(r(t))return function(e,t){var i=t.length;g[i<16?144+i:i<=65535?220:221](e,i);for(var r=e.codec.encode,n=0;n=i())throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function c(e,t){if(o.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var i=e.length;if(0===i)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return x(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return P(e).length;default:if(r)return x(e).length;t=(""+t).toLowerCase(),r=!0}}function f(e,t,i){var r,n,o=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===i||i>this.length)&&(i=this.length),i<=0)||(i>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,i){var r,n=e.length;(!t||t<0)&&(t=0),(!i||i<0||i>n)&&(i=n);for(var o="",s=t;s0x7fffffff?i=0x7fffffff:i<-0x80000000&&(i=-0x80000000),isNaN(i=+i)&&(i=n?0:e.length-1),i<0&&(i=e.length+i),i>=e.length){if(n)return -1;i=e.length-1}else if(i<0){if(!n)return -1;i=0}if("string"==typeof t&&(t=o.from(t,r)),o.isBuffer(t))return 0===t.length?-1:p(e,t,i,r,n);if("number"==typeof t)return t&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,i):Uint8Array.prototype.lastIndexOf.call(e,t,i):p(e,[t],i,r,n);throw TypeError("val must be string, number or Buffer")}function p(e,t,i,r,n){function o(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var s,a=1,O=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return -1;a=2,O/=2,l/=2,i/=2}if(n){var h=-1;for(s=i;sO&&(i=O-l),s=i;s>=0;s--){for(var c=!0,f=0;f239?4:l>223?3:l>191?2:1;if(n+c<=i)switch(c){case 1:l<128&&(h=l);break;case 2:128==(192&(o=e[n+1]))&&(O=(31&l)<<6|63&o)>127&&(h=O);break;case 3:o=e[n+1],s=e[n+2],128==(192&o)&&128==(192&s)&&(O=(15&l)<<12|(63&o)<<6|63&s)>2047&&(O<55296||O>57343)&&(h=O);break;case 4:o=e[n+1],s=e[n+2],a=e[n+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(O=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&O<1114112&&(h=O)}null===h?(h=65533,c=1):h>65535&&(h-=65536,r.push(h>>>10&1023|55296),h=56320|1023&h),r.push(h),n+=c}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);for(var i="",r=0;ri)throw RangeError("Trying to access beyond buffer length")}function m(e,t,i,r,n,s){if(!o.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>n||te.length)throw RangeError("Index out of range")}function $(e,t,i,r){t<0&&(t=65535+t+1);for(var n=0,o=Math.min(e.length-i,2);n>>8*(r?n:1-n)}function b(e,t,i,r){t<0&&(t=0xffffffff+t+1);for(var n=0,o=Math.min(e.length-i,4);n>>8*(r?n:3-n)&255}function X(e,t,i,r,n,o){if(i+r>e.length||i<0)throw RangeError("Index out of range")}function S(e,t,i,r,n){return n||X(e,t,i,4,34028234663852886e22,-34028234663852886e22),k.write(e,t,i,r,23,4),i+4}function y(e,t,i,r,n){return n||X(e,t,i,8,17976931348623157e292,-17976931348623157e292),k.write(e,t,i,r,52,8),i+8}function x(e,t){t=t||1/0;for(var i,r=e.length,n=null,o=[],s=0;s55295&&i<57344){if(!n){if(i>56319||s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}n=i;continue}if(i<56320){(t-=3)>-1&&o.push(239,191,189),n=i;continue}i=(n-55296<<10|i-56320)+65536}else n&&(t-=3)>-1&&o.push(239,191,189);if(n=null,i<128){if((t-=1)<0)break;o.push(i)}else if(i<2048){if((t-=2)<0)break;o.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;o.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw Error("Invalid code point");if((t-=4)<0)break;o.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return o}function v(e){for(var t=[],i=0;i=t.length||n>=e.length);++n)t[n+i]=e[n];return n}var T=e("base64-js"),k=e("ieee754"),Y=e("isarray");r.Buffer=o,r.SlowBuffer=function(e){return+e!=e&&(e=0),o.alloc(+e)},r.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),r.kMaxLength=i(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,i){return s(null,e,t,i)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,i){return a(e),e<=0?n(null,e):void 0!==t?"string"==typeof i?n(null,e).fill(t,i):n(null,e).fill(t):n(null,e)},o.allocUnsafe=function(e){return O(null,e)},o.allocUnsafeSlow=function(e){return O(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw TypeError("Arguments must be Buffers");if(e===t)return 0;for(var i=e.length,r=t.length,n=0,s=Math.min(i,r);n0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},o.prototype.compare=function(e,t,i,r,n){if(!o.isBuffer(e))throw TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===i&&(i=e?e.length:0),void 0===r&&(r=0),void 0===n&&(n=this.length),t<0||i>e.length||r<0||n>this.length)throw RangeError("out of range index");if(r>=n&&t>=i)return 0;if(r>=n)return -1;if(t>=i)return 1;if(t>>>=0,i>>>=0,r>>>=0,n>>>=0,this===e)return 0;for(var s=n-r,a=i-t,O=Math.min(s,a),l=this.slice(r,n),h=e.slice(t,i),c=0;cQ)&&(i=Q),e.length>0&&(i<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var g=!1;;)switch(r){case"hex":return function(e,t,i,r){i=Number(i)||0;var n=e.length-i;r?(r=Number(r))>n&&(r=n):r=n;var o=t.length;if(o%2!=0)throw TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s>8,n.push(i%256),n.push(r);return n}(e,this.length-d),this,d,p);default:if(g)throw TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),g=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;o.prototype.slice=function(e,t){var i,r=this.length;if(e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(n*=256);)r+=this[e+--t]*n;return r},o.prototype.readUInt8=function(e,t){return t||g(e,1,this.length),this[e]},o.prototype.readUInt16LE=function(e,t){return t||g(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUInt16BE=function(e,t){return t||g(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUInt32LE=function(e,t){return t||g(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},o.prototype.readUInt32BE=function(e,t){return t||g(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readIntLE=function(e,t,i){e|=0,t|=0,i||g(e,t,this.length);for(var r=this[e],n=1,o=0;++o=(n*=128)&&(r-=Math.pow(2,8*t)),r},o.prototype.readIntBE=function(e,t,i){e|=0,t|=0,i||g(e,t,this.length);for(var r=t,n=1,o=this[e+--r];r>0&&(n*=256);)o+=this[e+--r]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*t)),o},o.prototype.readInt8=function(e,t){return t||g(e,1,this.length),128&this[e]?-((255-this[e]+1)*1):this[e]},o.prototype.readInt16LE=function(e,t){t||g(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?0xffff0000|i:i},o.prototype.readInt16BE=function(e,t){t||g(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?0xffff0000|i:i},o.prototype.readInt32LE=function(e,t){return t||g(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return t||g(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readFloatLE=function(e,t){return t||g(e,4,this.length),k.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return t||g(e,4,this.length),k.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return t||g(e,8,this.length),k.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return t||g(e,8,this.length),k.read(this,e,!1,52,8)},o.prototype.writeUIntLE=function(e,t,i,r){if(e=+e,t|=0,i|=0,!r){var n=Math.pow(2,8*i)-1;m(this,e,t,i,n,0)}var o=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+o]=e/s&255;return t+i},o.prototype.writeUInt8=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,1,255,0),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},o.prototype.writeUInt16LE=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):$(this,e,t,!0),t+2},o.prototype.writeUInt16BE=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):$(this,e,t,!1),t+2},o.prototype.writeUInt32LE=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,4,0xffffffff,0),o.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):b(this,e,t,!0),t+4},o.prototype.writeUInt32BE=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,4,0xffffffff,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):b(this,e,t,!1),t+4},o.prototype.writeIntLE=function(e,t,i,r){if(e=+e,t|=0,!r){var n=Math.pow(2,8*i-1);m(this,e,t,i,n-1,-n)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+i},o.prototype.writeIntBE=function(e,t,i,r){if(e=+e,t|=0,!r){var n=Math.pow(2,8*i-1);m(this,e,t,i,n-1,-n)}var o=i-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+i},o.prototype.writeInt8=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,1,127,-128),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):$(this,e,t,!0),t+2},o.prototype.writeInt16BE=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):$(this,e,t,!1),t+2},o.prototype.writeInt32LE=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,4,0x7fffffff,-0x80000000),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):b(this,e,t,!0),t+4},o.prototype.writeInt32BE=function(e,t,i){return e=+e,t|=0,i||m(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):b(this,e,t,!1),t+4},o.prototype.writeFloatLE=function(e,t,i){return S(this,e,t,!0,i)},o.prototype.writeFloatBE=function(e,t,i){return S(this,e,t,!1,i)},o.prototype.writeDoubleLE=function(e,t,i){return y(this,e,t,!0,i)},o.prototype.writeDoubleBE=function(e,t,i){return y(this,e,t,!1,i)},o.prototype.copy=function(e,t,i,r){if(i||(i=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw RangeError("sourceStart out of bounds");if(r<0)throw RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--n)e[n+t]=this[n+i];else if(s<1e3||!o.TYPED_ARRAY_SUPPORT)for(n=0;n>>=0,i=void 0===i?this.length:i>>>0,e||(e=0),"number"==typeof e)for(n=t;n0)throw Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}i.byteLength=function(e){return 3*e.length/4-r(e)},i.toByteArray=function(e){var t,i,n,a,O,l,h=e.length;l=new s(3*h/4-(O=r(e))),n=O>0?h-4:h;var c=0;for(t=0,i=0;t>16&255,l[c++]=a>>8&255,l[c++]=255&a;return 2===O?(a=o[e.charCodeAt(t)]<<2|o[e.charCodeAt(t+1)]>>4,l[c++]=255&a):1===O&&(a=o[e.charCodeAt(t)]<<10|o[e.charCodeAt(t+1)]<<4|o[e.charCodeAt(t+2)]>>2,l[c++]=a>>8&255,l[c++]=255&a),l},i.fromByteArray=function(e){for(var t,i=e.length,r=i%3,o="",s=[],a=0,O=i-r;a>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return o.join("")}(e,a,a+16383>O?O:a+16383));return 1===r?(o+=n[(t=e[i-1])>>2],o+=n[t<<4&63],o+="=="):2===r&&(o+=n[(t=(e[i-2]<<8)+e[i-1])>>10],o+=n[t>>4&63],o+=n[t<<2&63],o+="="),s.push(o),s.join("")};for(var n=[],o=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",O=0,l=a.length;O>1,h=-7,c=i?n-1:0,f=i?-1:1,u=e[t+c];for(c+=f,o=u&(1<<-h)-1,u>>=-h,h+=a;h>0;o=256*o+e[t+c],c+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=r;h>0;s=256*s+e[t+c],c+=f,h-=8);if(0===o)o=1-l;else{if(o===O)return s?NaN:1/0*(u?-1:1);s+=Math.pow(2,r),o-=l}return(u?-1:1)*s*Math.pow(2,o-r)},i.write=function(e,t,i,r,n,o){var s,a,O,l=8*o-n-1,h=(1<>1,f=23===n?5960464477539062e-23:0,u=r?0:o-1,d=r?1:-1,p=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(a=isNaN(t)?1:0,s=h):(s=Math.floor(Math.log(t)/Math.LN2),t*(O=Math.pow(2,-s))<1&&(s--,O*=2),(t+=s+c>=1?f/O:f*Math.pow(2,1-c))*O>=2&&(s++,O/=2),s+c>=h?(a=0,s=h):s+c>=1?(a=(t*O-1)*Math.pow(2,n),s+=c):(a=t*Math.pow(2,c-1)*Math.pow(2,n),s=0));n>=8;e[i+u]=255&a,u+=d,a/=256,n-=8);for(s=s<0;e[i+u]=255&s,u+=d,s/=256,l-=8);e[i+u-d]|=128*p}},{}],33:[function(e,t,i){(function(e){!function(t){function i(e,i,$){function S(e,t,i,r){return this instanceof S?function(e,t,i,r,n){if(Q&&g&&(t instanceof g&&(t=new Q(t)),r instanceof g&&(r=new Q(r))),!(t||i||r||u))return void(e.buffer=O(m,0));if(!s(t,i)){var o=u||Array;n=i,r=t,i=0,t=new o(8)}e.buffer=t,e.offset=i|=0,d!==typeof r&&("string"==typeof r?function(e,t,i,r){var n=0,o=i.length,s=0,a=0;"-"===i[0]&&n++;for(var O=n;n=0))break;a=a*r+l,s=s*r+Math.floor(a/b),a%=b}O&&(s=~s,a?a=b-a:s++),x(e,t+P,s),x(e,t+w,a)}(t,i,r,n||10):s(r,n)?a(t,i,r,n):"number"==typeof n?(x(t,i+P,r),x(t,i+w,n)):r>0?_(t,i,r):r<0?V(t,i,r):a(t,i,m,0))}(this,e,t,i,r):new S(e,t,i,r)}function y(){var e=this.buffer,t=this.offset,i=v(e,t+P),r=v(e,t+w);return $||(i|=0),i?i*b+r:r}function x(e,t,i){e[t+R]=255&i,i>>=8,e[t+Y]=255&i,i>>=8,e[t+k]=255&i,i>>=8,e[t+T]=255&i}function v(e,t){return e[t+T]*X+(e[t+k]<<16)+(e[t+Y]<<8)+e[t+R]}var P=i?0:4,w=i?4:0,T=i?0:3,k=i?1:2,Y=i?2:1,R=i?3:0,_=i?l:c,V=i?h:f,Z=S.prototype,q="is"+e,A="_"+q;return Z.buffer=void 0,Z.offset=0,Z[A]=!0,Z.toNumber=y,Z.toString=function(e){var t=this.buffer,i=this.offset,r=v(t,i+P),n=v(t,i+w),o="",s=!$&&0x80000000&r;for(s&&(r=~r,n=b-n),e=e||10;;){var a=r%e*b+n;if(r=Math.floor(r/e),n=Math.floor(a/e),o=(a%e).toString(e)+o,!r&&!n)break}return s&&(o="-"+o),o},Z.toJSON=y,Z.toArray=r,p&&(Z.toBuffer=n),Q&&(Z.toArrayBuffer=o),S[q]=function(e){return!(!e||!e[A])},t[e]=S,S}function r(e){var t=this.buffer,i=this.offset;return u=null,!1!==e&&0===i&&8===t.length&&$(t)?t:O(t,i)}function n(t){var i=this.buffer,r=this.offset;if(u=p,!1!==t&&0===r&&8===i.length&&e.isBuffer(i))return i;var n=new p(8);return a(n,0,i,r),n}function o(e){var t=this.buffer,i=this.offset,r=t.buffer;if(u=Q,!1!==e&&0===i&&r instanceof g&&8===r.byteLength)return r;var n=new Q(8);return a(n,0,t,i),n.buffer}function s(e,t){var i=e&&e.length;return t|=0,i&&t+8<=i&&"string"!=typeof e[t]}function a(e,t,i,r){t|=0,r|=0;for(var n=0;n<8;n++)e[t++]=255&i[r++]}function O(e,t){return Array.prototype.slice.call(e,t,t+8)}function l(e,t,i){for(var r=t+8;r>t;)e[--r]=255&i,i/=256}function h(e,t,i){var r=t+8;for(i++;r>t;)e[--r]=255&-i^255,i/=256}function c(e,t,i){for(var r=t+8;t{e.onload=()=>{t(e.result)},e.onerror=t=>{e.abort(),i(t)}});return e.readAsText(this),t}),null==Blob.prototype.arrayBuffer&&(Blob.prototype.arrayBuffer=function(){return new Response(this).arrayBuffer()}),(0,i.polyfill)()}),o("dLFsX",function(t,i){e(t.exports,"polyfill",()=>n("bL2Te").polyfill),n("bL2Te")}),o("bL2Te",function(t,i){e(t.exports,"polyfill",()=>K);var r=e=>void 0===e||"auto"===e||"instant"===e||"smooth"===e;function n(e,t){this.scrollLeft=e,this.scrollTop=t}var o=(e,t,i="cannot convert to dictionary.")=>`Failed to execute '${e}' on '${t}': ${i}`,s=(e,t,i)=>o(e,t,`The provided value '${i}' is not a valid enum value of type ScrollBehavior.`),a=(e,t,i)=>{var r;let n=`__SEAMLESS.BACKUP$${t}`;return e[n]||!e[t]||!(null===(r=e[t])||void 0===r)&&r.__isPolyfill||(e[n]=e[t]),e[n]||i},O=e=>{let t=typeof e;return null!==e&&("object"===t||"function"===t)},l=()=>"scrollBehavior"in window.document.documentElement.style,h=e=>{Object.defineProperty(e,"__isPolyfill",{value:!0})},c=(e,t)=>{h(t),[HTMLElement.prototype,SVGElement.prototype,Element.prototype].forEach(i=>{a(i,e),i[e]=t})},f=e=>e.ownerDocument.scrollingElement||e.ownerDocument.documentElement,u=e=>.5*(1-Math.cos(Math.PI*e));function d(){var e;let t;return d=t=!(null===(e=window.performance)||void 0===e)&&e.now?()=>window.performance.now():()=>window.Date.now(),t()}var p=e=>{let t=(d()-e.timeStamp)/(e.duration||500);if(t>1){e.method(e.targetX,e.targetY),e.callback();return}let i=(e.timingFunc||u)(t),r=e.startX+(e.targetX-e.startX)*i,n=e.startY+(e.targetY-e.startY)*i;e.method(r,n),e.rafId=window.requestAnimationFrame(()=>{p(e)})},Q=e=>isFinite(e)?Number(e):0,g=e=>{var t;return null!==(t=e.isConnected)&&void 0!==t?t:!e.ownerDocument||!(1&e.ownerDocument.compareDocumentPosition(e))},m=(e,t,i)=>{var r,o;if(!g(e))return;let s=e.scrollLeft,O=e.scrollTop,l=Q(null!==(r=t.left)&&void 0!==r?r:s),h=Q(null!==(o=t.top)&&void 0!==o?o:O);if(l===s&&h===O)return;let c=a(HTMLElement.prototype,"scroll",n),f=a(Object.getPrototypeOf(e),"scroll",c).bind(e);if("smooth"!==t.behavior){f(l,h);return}let u=()=>{window.removeEventListener("wheel",$),window.removeEventListener("touchmove",$)},m=Object.assign(Object.assign({},i),{timeStamp:d(),startX:s,startY:O,targetX:l,targetY:h,rafId:0,method:f,callback:u}),$=()=>{window.cancelAnimationFrame(m.rafId),u()};window.addEventListener("wheel",$,{passive:!0,once:!0}),window.addEventListener("touchmove",$,{passive:!0,once:!0}),p(m)},$=e=>e.window===e,b=e=>(t,i,n)=>{let[a,l]=$(t)?[f(t.document.documentElement),"Window"]:[t,"Element"],h=i??{};if(!O(h))throw TypeError(o(e,l));if(!r(h.behavior))throw TypeError(s(e,l,h.behavior));"scrollBy"===e&&(h.left=Q(h.left)+a.scrollLeft,h.top=Q(h.top)+a.scrollTop),m(a,h,n)},X=b("scroll"),S=b("scrollTo"),y=b("scrollBy"),x=(e,t)=>i=>{if(l())return;let r={scroll:X,scrollTo:S,scrollBy:y}[e];t(e,function(){let e=arguments;if(1==arguments.length){r(this,e[0],i);return}r(this,{left:e[0],top:e[1]})})},v=x("scroll",c),P=x("scrollTo",c),w=x("scrollBy",c),T=(e,t)=>{h(t),a(window,e),window[e]=t},k=x("scroll",T),Y=x("scrollTo",T),R=x("scrollBy",T),_=e=>{switch(e){case"horizontal-tb":case"lr":case"lr-tb":case"rl":case"rl-tb":break;case"vertical-rl":case"tb":case"tb-rl":return 1;case"vertical-lr":case"tb-lr":return 2;case"sideways-rl":return 3;case"sideways-lr":return 4}return 0},V=(e,t,i,r)=>{let n=0;switch(t||(n^=2),e){case 0:n=n>>1|(1&n)<<1,[i,r]=[r,i];break;case 1:case 3:n^=1;break;case 4:n^=2}return[n,i,r]},Z=e=>(1&V(_(e.writingMode),"rtl"!==e.direction,void 0,void 0)[0])==1,q=(e,t,i)=>{let[r,n,o]=V(t,i,e.block||"start",e.inline||"nearest");return[n,o].map((e,t)=>{switch(e){case"center":return 1;case"nearest":return 0;default:return"start"===e==!(r>>t&1)?2:3}})},A=(e,t,i,r,n,o,s)=>0!==e?e:ni||n>t&&o=i&&s>=r?2:o>i&&sr?3:null,W=e=>"visible"!==e&&"clip"!==e,C=e=>{var t;try{return(null===(t=e.ownerDocument.defaultView)||void 0===t?void 0:t.frameElement)||null}catch{return null}},U=(e,t)=>(e.clientHeight{let t=e.parentNode,i=e.parentElement;if(null===i&&null!==t){if(11===t.nodeType)return t.host;if(9===t.nodeType)return C(e)}return i},j=(e,t,i)=>ei?i:e,E=e=>["scroll-margin","scroll-snap-margin"].filter(t=>t in e.documentElement.style)[0],z=(e,t,i)=>{let{top:r,right:n,bottom:o,left:s}=t,a=E(e.ownerDocument);if(!a)return[r,n,o,s];let O=e=>parseInt(i.getPropertyValue(`${a}-${e}`),10)||0;return[r-O("top"),n+O("right"),o+O("bottom"),s-O("left")]},G=(e,t,i)=>{switch(e){case 1:return(t+i)/2;case 3:return i;case 2:case 0:return t}},D=(e,t)=>{var i,r,n;let o=null===(i=e.ownerDocument.defaultView)||void 0===i?void 0:i.visualViewport,[s,a,O,l]=e===f(e)?[0,0,null!==(r=o?.width)&&void 0!==r?r:e.clientWidth,null!==(n=o?.height)&&void 0!==n?n:e.clientHeight]:[t.left,t.top,e.clientWidth,e.clientHeight],h=s+e.clientLeft,c=a+e.clientTop;return[c,h+O,c+l,h]},M=(e,t)=>{let i=[],r=e.ownerDocument,n=r.defaultView;if(!n)return i;let o=window.getComputedStyle(e),s="rtl"!==o.direction,[a,O]=q(t,_(o.writingMode||o.getPropertyValue("-webkit-writing-mode")||o.getPropertyValue("-ms-writing-mode")),s),[l,h,c,f]=z(e,e.getBoundingClientRect(),o);for(let o=N(e);null!==o;o=N(o)){if(r!==o.ownerDocument){if(!(n=(r=o.ownerDocument).defaultView))break;let{left:e,top:t}=o.getBoundingClientRect();l+=t,h+=e,c+=t,f+=e}let e=n.getComputedStyle(o);if("fixed"===e.position)break;if(!U(o,e))continue;let s=o.getBoundingClientRect(),[u,d,p,Q]=D(o,s),g=A(a,Q,d,o.clientWidth,f,h,h-f),m=A(O,u,p,o.clientHeight,l,c,c-l),$=null===g?0:G(g,f,h)-G(g,Q,d),b=null===m?0:G(m,l,c)-G(m,u,p),X=Z(e)?j($,-o.scrollWidth+o.clientWidth-o.scrollLeft,-o.scrollLeft):j($,-o.scrollLeft,o.scrollWidth-o.clientWidth-o.scrollLeft),S=j(b,-o.scrollTop,o.scrollHeight-o.clientHeight-o.scrollTop);i.push([o,{left:o.scrollLeft+X,top:o.scrollTop+S,behavior:t.behavior}]),l=Math.max(l-S,u),h=Math.min(h-X,d),c=Math.min(c-S,p),f=Math.max(f-X,Q)}return i},B=(e,t,i)=>{let n=t||{};if(!r(n.behavior))throw TypeError(s("scrollIntoView","Element",n.behavior));M(e,n).forEach(([e,t])=>{X(e,t,i)})};function I(e){B(this,{block:e??!0?"start":"end",inline:"nearest"})}var L=e=>{if(l())return;let t=a(window.HTMLElement.prototype,"scrollIntoView",I);c("scrollIntoView",function(){let i=arguments,r=i[0];if(1===i.length&&O(r)){B(this,r,e);return}t.apply(this,i)})},K=e=>{l()||(v(e),P(e),w(e),L(e),k(e),Y(e),R(e))}}),o("enQH9",function(t,i){e(t.exports,"Stack",()=>r);class r{constructor(e){this.max_size=e,this.arr=[]}push(e){this.arr.push(e),this.arr.length>this.max_size&&this.arr.shift()}get(){return this.arr}}}),o("41Mhf",function(t,i){e(t.exports,"with_query_params",()=>r);let r=(e,t)=>{let i="http://delete-me.com/",r=new URL(e,i);return Object.entries(t).forEach(([e,t])=>{null!=t&&r.searchParams.append(e,t)}),r.toString().replace(i,"")};console.assert("https://example.com/?a=b+c"===r("https://example.com/",{a:"b c"})),console.assert("https://example.com/?a=b+c"===r(new URL("https://example.com/"),{a:"b c"})),console.assert("https://example.com/?a=b+c&xx=123"===r(new URL("https://example.com/"),{a:"b c",asdf:null,xx:"123"})),console.assert("index.html?a=b+c"===r("index.html",{a:"b c"})),console.assert("index.html?x=123&a=b+c"===r("index.html?x=123",{a:"b c"})),console.assert("index.html?x=123&a=b+c#asdf"===r("index.html?x=123#asdf",{a:"b c"}))}),o("fnbc9",function(e,t){}),o("2ZZ1r",function(t,i){e(t.exports,"FilePicker",()=>g);var r=n("cNaMA"),o=n("exxBE"),s=n("2P6PH");n("kjWx8"),n("hiQgq");var a=n("g1ViI"),O=n("1xJnC"),l=n("aTIpG");let{autocompletion:h,completionKeymap:c}=a.autocomplete,f=c.find(e=>"Ctrl-Space"===e.key),u=c.find(e=>"Enter"===e.key);c.find(e=>"Escape"===e.key);let d=e=>{if(null!=e)return e;throw Error("Unexpected null value")},p=(e,t,i=!0)=>{e.dispatch({changes:{from:0,to:e.state.doc.length,insert:t},selection:(0,a.EditorSelection).cursor(t.length),scrollIntoView:i})},Q=!!window.plutoDesktop;Q&&console.log("Running in Desktop Environment! Found following properties/methods:",window.plutoDesktop);let g=({value:e,suggest_new_file:t,button_label:i,placeholder:n,on_submit:s,on_desktop_submit:g,client:$,clear_on_blur:b})=>{let[X,S]=(0,o.useState)(!0),[y,x]=(0,o.useState)(""),v=(0,o.useRef)(""),P=(0,o.useRef)(null),w=(0,o.useRef)(null),T=()=>{let e=w.current;null!=e&&(null!=t&&0===e.state.doc.length&&(p(e,t.base,!1),R()),window.dispatchEvent(new CustomEvent("collapse_cell_selection",{})))},k=async e=>await e(),Y=()=>{let e=w.current;if(null!=e)return Q||e.state.doc.toString()!==v.current?k(async()=>{try{Q&&g?await g((await (0,O.guess_notebook_location)(y)).path_or_url):await s(e.state.doc.toString()),e.dom.blur()}catch(t){p(e,v.current,!0),e.dom.blur()}}):T(),!0},R=()=>{let e=w.current;if(null==e)return;let t=e.state.selection.main;if(t.from===t.to&&e.state.doc.length===t.to)return d(f).run(e)};return(0,o.useLayoutEffect)(()=>{let e=window.matchMedia("(prefers-color-scheme: dark)").matches,i=()=>(Y(),!0);w.current=new a.EditorView({state:(0,a.EditorState).create({doc:"",extensions:[(0,a.drawSelection)(),(0,a.EditorView).domEventHandlers({focus:(e,i)=>(setTimeout(()=>{t?T():R()},0),!0)}),(0,a.EditorView).updateListener.of(e=>{e.docChanged&&S(0===e.state.doc.length)}),(0,a.EditorView).theme({"&":{fontSize:"inherit"},".cm-scroller":{fontFamily:"inherit",overflowY:"hidden",overflowX:"auto"}},{dark:e}),(0,a.history)(),h({activateOnTyping:!0,override:[m({suggest_new_file:t,client:$})],defaultKeymap:!1,maxRenderedOptions:512,optionClass:e=>e.type??""}),(0,a.EditorView).updateListener.of(e=>{e.transactions.forEach(t=>{null!=t.annotation(a.autocomplete.pickedCompletion)&&(e.view.dispatch({effects:(0,a.EditorView).scrollIntoView(e.state.doc.length),selection:(0,a.EditorSelection).cursor(e.state.doc.length)}),R())})}),(0,a.keymap).of([{key:"Enter",run:e=>d(u).run(e)},{key:"Enter",run:i},{key:"Ctrl-Enter",mac:"Cmd-Enter",run:i},{key:"Ctrl-Shift-Enter",mac:"Cmd-Shift-Enter",run:i},{key:"Tab",run:e=>d(u).run(e)?(R(),!0):R()}]),(0,a.keymap).of(c),(0,a.placeholder)(n),l.tab_help_plugin]})});let r=w.current;Q||P.current.insertBefore(r.dom,P.current.firstElementChild)},[]),(0,o.useLayoutEffect)(()=>{v.current!=e&&null!=w.current&&(p(w.current,e,!0),v.current=e)}),Q?(0,r.html)`
    + {x(e.target.value)}} + /> +
    + +
    +
    `:(0,r.html)` + {if(P.current?.matches(":focus-within")||P.current?.contains(e.relatedTarget))return;let t=w.current;null!=t&&b&&requestAnimationFrame(()=>{t.hasFocus||p(t,v.current,!0)})}}> + + + `},m=({client:e,suggest_new_file:t})=>i=>{i.state.selection.main.to;let r=i.state.doc.toString();return e.send("completepath",{query:r}).then(e=>{let i=(r.split("/").pop()??"").split("\\").pop()??"",n=e.message.results,o=(0,s.utf8index_to_ut16index)(r,e.message.start),a=(0,s.utf8index_to_ut16index)(r,e.message.stop);if(n.length>=1&&n[0]==i)return null;let O=n.map(e=>{let t=e.endsWith("/")||e.endsWith("\\");return{label:e,type:t?"dir":"file",boost:t?1:0}});if(null!=t)for(let e=3;e>=0;e--){let t=".jl".substring(0,e);if(i.endsWith(t)){let t=i+".jl".substring(e);if(".jl"==t&&(t="notebook.jl"),3==e)return null;n.includes(t)||O.push({label:t+" (new)",apply:t,type:"file new",boost:-99});break}}return{options:O,from:o,to:a}})}}),o("2P6PH",function(t,i){e(t.exports,"utf8index_to_ut16index",()=>o),e(t.exports,"slice_utf8",()=>s);let r=new TextEncoder,n=new TextDecoder,o=(e,t)=>n.decode(r.encode(e).slice(0,t)).length,s=(e,t,i)=>{let o=r.encode(e);return n.decode(o.slice(t,i))};console.assert("e é hannes ❤ is a dog"===((e,t,i,o)=>{let s=r.encode(e),a=r.encode(o),O=new Uint8Array(s.length+a.length-(i-t));return O.set(s.slice(0,t),0),O.set(a,t),O.set(s.slice(i),t+a.length),n.decode(O)})("e é \uD83D\uDC36 is a dog",5,9,"hannes ❤")),console.assert("\uD83D\uDC36"===s("e é \uD83D\uDC36 is a dog",5,9))}),o("kjWx8",function(t,i){e(t.exports,"is_mac_keyboard",()=>r),e(t.exports,"control_name",()=>n),e(t.exports,"ctrl_or_cmd_name",()=>o),e(t.exports,"alt_or_options_name",()=>s),e(t.exports,"and",()=>a),e(t.exports,"has_ctrl_or_cmd_pressed",()=>O),e(t.exports,"in_textarea_or_input",()=>l);let r=/Mac/i.test(navigator.userAgentData?.platform??navigator.platform),n=r?"⌃":"Ctrl",o=r?"⌘":"Ctrl",s=r?"⌥":"Alt",a=r?" ":"+",O=e=>e.ctrlKey||r&&e.metaKey,l=()=>{let e=document.activeElement?.closest("footer")!=null,t=document.activeElement?.closest("header")!=null,i=document.activeElement?.closest(".cm-editor")!=null,{tagName:r}=document.activeElement??{};return"INPUT"===r||"TEXTAREA"===r||e||t||i}}),o("hiQgq",function(t,i){e(t.exports,"setDiagnostics",()=>n("g1ViI").setDiagnostics),e(t.exports,"EditorState",()=>n("g1ViI").EditorState),e(t.exports,"EditorSelection",()=>n("g1ViI").EditorSelection),e(t.exports,"Compartment",()=>n("g1ViI").Compartment),e(t.exports,"EditorView",()=>n("g1ViI").EditorView),e(t.exports,"placeholder",()=>n("g1ViI").placeholder),e(t.exports,"julia_andrey",()=>n("g1ViI").julia_andrey),e(t.exports,"keymap",()=>n("g1ViI").keymap),e(t.exports,"history",()=>n("g1ViI").history),e(t.exports,"historyKeymap",()=>n("g1ViI").historyKeymap),e(t.exports,"defaultKeymap",()=>n("g1ViI").defaultKeymap),e(t.exports,"indentMore",()=>n("g1ViI").indentMore),e(t.exports,"indentLess",()=>n("g1ViI").indentLess),e(t.exports,"moveLineUp",()=>n("g1ViI").moveLineUp),e(t.exports,"moveLineDown",()=>n("g1ViI").moveLineDown),e(t.exports,"tags",()=>n("g1ViI").tags),e(t.exports,"HighlightStyle",()=>n("g1ViI").HighlightStyle),e(t.exports,"lineNumbers",()=>n("g1ViI").lineNumbers),e(t.exports,"highlightSpecialChars",()=>n("g1ViI").highlightSpecialChars),e(t.exports,"drawSelection",()=>n("g1ViI").drawSelection),e(t.exports,"indentOnInput",()=>n("g1ViI").indentOnInput),e(t.exports,"defaultHighlightStyle",()=>n("g1ViI").defaultHighlightStyle),e(t.exports,"closeBrackets",()=>n("g1ViI").closeBrackets),e(t.exports,"rectangularSelection",()=>n("g1ViI").rectangularSelection),e(t.exports,"highlightSelectionMatches",()=>n("g1ViI").highlightSelectionMatches),e(t.exports,"closeBracketsKeymap",()=>n("g1ViI").closeBracketsKeymap),e(t.exports,"foldKeymap",()=>n("g1ViI").foldKeymap),e(t.exports,"syntaxTree",()=>n("g1ViI").syntaxTree),e(t.exports,"Decoration",()=>n("g1ViI").Decoration),e(t.exports,"ViewPlugin",()=>n("g1ViI").ViewPlugin),e(t.exports,"WidgetType",()=>n("g1ViI").WidgetType),e(t.exports,"Facet",()=>n("g1ViI").Facet),e(t.exports,"StateField",()=>n("g1ViI").StateField),e(t.exports,"StateEffect",()=>n("g1ViI").StateEffect),e(t.exports,"indentUnit",()=>n("g1ViI").indentUnit),e(t.exports,"combineConfig",()=>n("g1ViI").combineConfig),e(t.exports,"autocomplete",()=>n("g1ViI").autocomplete),e(t.exports,"html",()=>n("g1ViI").html),e(t.exports,"htmlLanguage",()=>n("g1ViI").htmlLanguage),e(t.exports,"javascriptLanguage",()=>n("g1ViI").javascriptLanguage),e(t.exports,"markdown",()=>n("g1ViI").markdown),e(t.exports,"markdownLanguage",()=>n("g1ViI").markdownLanguage),e(t.exports,"parseCode",()=>n("g1ViI").parseCode),e(t.exports,"parseMixed",()=>n("g1ViI").parseMixed),e(t.exports,"PostgreSQL",()=>n("g1ViI").PostgreSQL),e(t.exports,"pythonLanguage",()=>n("g1ViI").pythonLanguage),e(t.exports,"sql",()=>n("g1ViI").sql),e(t.exports,"syntaxHighlighting",()=>n("g1ViI").syntaxHighlighting),e(t.exports,"javascript",()=>n("g1ViI").javascript),e(t.exports,"python",()=>n("g1ViI").python),e(t.exports,"Text",()=>n("g1ViI").Text),e(t.exports,"cssLanguage",()=>n("g1ViI").cssLanguage),e(t.exports,"selectNextOccurrence",()=>n("g1ViI").selectNextOccurrence),n("g1ViI")}),o("g1ViI",function(t,i){let r,o;e(t.exports,"Text",()=>g),e(t.exports,"EditorSelection",()=>M),e(t.exports,"Facet",()=>L),e(t.exports,"StateField",()=>et),e(t.exports,"Compartment",()=>es),e(t.exports,"StateEffect",()=>eX),e(t.exports,"EditorState",()=>ek),e(t.exports,"combineConfig",()=>eY),e(t.exports,"parseMixed",()=>tQ),e(t.exports,"WidgetType",()=>rV),e(t.exports,"Decoration",()=>rq),e(t.exports,"ViewPlugin",()=>nh),e(t.exports,"EditorView",()=>oU),e(t.exports,"keymap",()=>oB),e(t.exports,"drawSelection",()=>o9),e(t.exports,"highlightSpecialChars",()=>sh),e(t.exports,"placeholder",()=>sp),e(t.exports,"rectangularSelection",()=>sg),e(t.exports,"lineNumbers",()=>s1),e(t.exports,"tags",()=>aQ),e(t.exports,"syntaxTree",()=>ay),e(t.exports,"indentUnit",()=>aA),e(t.exports,"indentOnInput",()=>aI),e(t.exports,"foldKeymap",()=>a8),e(t.exports,"HighlightStyle",()=>On),e(t.exports,"syntaxHighlighting",()=>OO),e(t.exports,"defaultHighlightStyle",()=>Oh),e(t.exports,"closeBrackets",()=>l_),e(t.exports,"closeBracketsKeymap",()=>lU),e(t.exports,"autocomplete",()=>lI),e(t.exports,"julia_andrey",()=>l0),e(t.exports,"history",()=>hr),e(t.exports,"historyKeymap",()=>hg),e(t.exports,"moveLineUp",()=>h9),e(t.exports,"moveLineDown",()=>h8),e(t.exports,"indentMore",()=>cr),e(t.exports,"indentLess",()=>cn),e(t.exports,"defaultKeymap",()=>cs),e(t.exports,"highlightSelectionMatches",()=>cX),e(t.exports,"selectNextOccurrence",()=>cT),e(t.exports,"parseCode",()=>f0),e(t.exports,"cssLanguage",()=>u3),e(t.exports,"javascriptLanguage",()=>dg),e(t.exports,"javascript",()=>dv),e(t.exports,"htmlLanguage",()=>dF),e(t.exports,"html",()=>dH),e(t.exports,"markdownLanguage",()=>d7),e(t.exports,"markdown",()=>pO),e(t.exports,"sql",()=>pC),e(t.exports,"PostgreSQL",()=>pN),e(t.exports,"pythonLanguage",()=>Qr),e(t.exports,"python",()=>Qn),e(t.exports,"setDiagnostics",()=>Qf);var s,a,O,l,h,c,f,u,d,p,Q=n("fnbc9");class g{lineAt(e){if(e<0||e>this.length)throw 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 RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=v(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),$.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]=v(this,e,t);let i=[];return this.decompose(e,t,i,0),$.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 X(this),n=new X(e);for(let e=t,o=t;;){if(r.next(e),n.next(e),e=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(o+=r.value.length,r.done||o>=i)return!0}}iter(e=1){return new X(this,e)}iterRange(e,t=this.length){return new S(this,e,t)}iterLines(e,t){let i;if(null==e)i=this.iter();else{null==t&&(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 y(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new m(e):$.from(m.split(e,[])):g.empty}}class m extends g{constructor(e,t=function(e){let t=-1;for(let i of e)t+=i.length+1;return t}(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 n=0;;n++){let o=this.text[n],s=r+o.length;if((t?i:s)>=e)return new x(r,s,i,o);r=s+1,i++}}decompose(e,t,i,r){let n=e<=0&&t>=this.length?this:new m(b(this.text,[""],e,t),Math.min(t,this.length)-Math.max(0,e));if(1&r){let e=i.pop(),t=b(n.text,e.text.slice(),0,n.length);if(t.length<=32)i.push(new m(t,e.length+n.length));else{let e=t.length>>1;i.push(new m(t.slice(0,e)),new m(t.slice(e)))}}else i.push(n)}replace(e,t,i){if(!(i instanceof m))return super.replace(e,t,i);[e,t]=v(this,e,t);let r=b(this.text,b(i.text,b(this.text,[""],0,e)),t),n=this.length+i.length-(t-e);return r.length<=32?new m(r,n):$.from(m.split(r,[]),n)}sliceString(e,t=this.length,i="\n"){[e,t]=v(this,e,t);let r="";for(let n=0,o=0;n<=t&&oe&&o&&(r+=i),en&&(r+=s.slice(Math.max(0,e-n),t-n)),n=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 n of e)i.push(n),r+=n.length+1,32==i.length&&(t.push(new m(i,r)),i=[],r=-1);return r>-1&&t.push(new m(i,r)),t}}class $ extends g{constructor(e,t){for(let i of(super(),this.children=e,this.length=t,this.lines=0,e))this.lines+=i.lines}lineInner(e,t,i,r){for(let n=0;;n++){let o=this.children[n],s=r+o.length,a=i+o.lines-1;if((t?a:s)>=e)return o.lineInner(e,t,i,r);r=s+1,i=a+1}}decompose(e,t,i,r){for(let n=0,o=0;o<=t&&n=o){let n=r&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!n?i.push(s):s.decompose(e-o,t-o,i,n)}o=a+1}}replace(e,t,i){if([e,t]=v(this,e,t),i.lines=n&&t<=s){let a=o.replace(e-n,t-n,i),O=this.lines-o.lines+a.lines;if(a.lines>4&&a.lines>O>>6){let n=this.children.slice();return n[r]=a,new $(n,this.length-(t-e)+i.length)}return super.replace(n,s,a)}n=s+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i="\n"){[e,t]=v(this,e,t);let r="";for(let n=0,o=0;ne&&n&&(r+=i),eo&&(r+=s.sliceString(e-o,t-o,i)),o=a+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof $))return 0;let i=0,[r,n,o,s]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,n+=t){if(r==o||n==s)return i;let a=this.children[r],O=e.children[n];if(a!=O)return i+a.scanIdentical(O,t);i+=a.length+1}}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let i=0;for(let t of e)i+=t.lines;if(i<32){let i=[];for(let t of e)t.flatten(i);return new m(i,t)}let r=Math.max(32,i>>5),n=r<<1,o=r>>1,s=[],a=0,O=-1,l=[];function h(){0!=a&&(s.push(1==l.length?l[0]:$.from(l,O)),O=-1,a=l.length=0)}for(let t of e)!function e(t){let i;if(t.lines>n&&t instanceof $)for(let i of t.children)e(i);else t.lines>o&&(a>o||!a)?(h(),s.push(t)):t instanceof m&&a&&(i=l[l.length-1])instanceof m&&t.lines+i.lines<=32?(a+=t.lines,O+=t.length+1,l[l.length-1]=new m(i.text.concat(t.text),i.length+1+t.length)):(a+t.lines>r&&h(),a+=t.lines,O+=t.length+1,l.push(t))}(t);return h(),1==s.length?s[0]:new $(s,t)}}function b(e,t,i=0,r=1e9){for(let n=0,o=0,s=!0;o=i&&(O>r&&(a=a.slice(0,r-n)),n0?1:(e instanceof m?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],n=this.offsets[i],o=n>>1,s=r instanceof m?r.text.length:r.children.length;if(o==(t>0?s:0)){if(0==i)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&n)==(t>0?0:1)){if(this.offsets[i]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(r instanceof m){let n=r.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,n.length>Math.max(0,e))return this.value=0==e?n:t>0?n.slice(e):n.slice(0,n.length-e),this;e-=n.length}else{let n=r.children[o+(t<0?-1:0)];e>n.length?(e-=n.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(n),this.offsets.push(t>0?1:(n instanceof m?n.text.length:n.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class S{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new X(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 y{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}}"undefined"!=typeof Symbol&&(g.prototype[Symbol.iterator]=function(){return this.iter()},X.prototype[Symbol.iterator]=S.prototype[Symbol.iterator]=y.prototype[Symbol.iterator]=function(){return this});let x=class{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 v(e,t,i){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,i))]}let P="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,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=1;e=127462&&e<=127487}function T(e,t,i=!0,r=!0){return(i?k:function(e,t,i){for(;t>0;){let r=k(e,t-2,i);if(re)return P[t-1]<=e;return!1}(n))t+=Z(n),r=n;else{if(!w(n))break;{let i=0,r=t-2;for(;r>=0&&w(_(e,r));)i++,r-=2;if(i%2==0)break;t+=2}}}return t}function Y(e){return e>=56320&&e<57344}function R(e){return e>=55296&&e<56320}function _(e,t){let i=e.charCodeAt(t);if(!R(i)||t+1==e.length)return i;let r=e.charCodeAt(t+1);return Y(r)?r-56320+(i-55296<<10)+65536:i}function V(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+((e-=65536)>>10),56320+(1023&e))}function Z(e){return e<65536?1:2}let q=/\r\n?|\n/;var A=((s=A||(A={}))[s.Simple=0]="Simple",s[s.TrackDel=1]="TrackDel",s[s.TrackBefore=2]="TrackBefore",s[s.TrackAfter=3]="TrackAfter",s);class W{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return n+(e-r);n+=s}else{if(i!=A.Simple&&O>=e&&(i==A.TrackDel&&re||i==A.TrackBefore&&re))return null;if(O>e||O==e&&t<0&&!s)return e==r||t<0?n:n+a;n+=a}r=O}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,t=e){for(let i=0,r=0;i=0&&r<=t&&n>=e)return!(rt)||"cover";r=n}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw RangeError("Invalid JSON representation of ChangeDesc");return new W(e)}static create(e){return new W(e)}}class C extends W{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError("Applying change set to a document with the wrong length");return j(this,(t,i,r,n,o)=>e=e.replace(r,r+(i-t),o),!1),e}mapDesc(e,t=!1){return E(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,n=0;r=0){t[r]=s,t[r+1]=o;let a=r>>1;for(;i.length0&&N(i,t,n.text),n.forward(e),s+=e}let O=e[o++];for(;s>1].toJSON()))}return e}static of(e,t,i){let r=[],n=[],o=0,s=null;function a(e=!1){if(!e&&!r.length)return;os||e<0||s>t)throw RangeError(`Invalid change range ${e} to ${s} (in doc of length ${t})`);let h=l?"string"==typeof l?g.of(l.split(i||q)):l:g.empty,c=h.length;if(e==s&&0==c)return;eo&&U(r,e-o,-1),U(r,s-e,c),N(n,r,h),o=s}}(e),a(!s),s}static empty(e){return new C(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let r=0;rt&&"string"!=typeof e))throw RangeError("Invalid JSON representation of ChangeSet");if(1==n.length)t.push(n[0],0);else{for(;i.length=0&&i<=0&&i==e[n+1]?e[n]+=t:0==t&&0==e[n]?e[n+1]+=i:r?(e[n]+=t,e[n+1]+=i):e.push(t,i)}function N(e,t,i){if(0==i.length)return;let r=t.length-2>>1;if(r>1])),!(i||s==e.sections.length||e.sections[s+1]<0);)a=e.sections[s++],O=e.sections[s++];t(n,l,o,h,c),n=l,o=h}}}function E(e,t,i,r=!1){let n=[],o=r?[]:null,s=new G(e),a=new G(t);for(let e=-1;;)if(-1==s.ins&&-1==a.ins){let e=Math.min(s.len,a.len);U(n,e,-1),s.forward(e),a.forward(e)}else if(a.ins>=0&&(s.ins<0||e==s.i||0==s.off&&(a.len=0&&e=0)){if(s.done&&a.done)return o?C.createSet(n,o):W.create(n);throw Error("Mismatched change set lengths")}{let t=0,i=s.len;for(;i;)if(-1==a.ins){let e=Math.min(i,a.len);t+=e,i-=e,a.forward(e)}else{if(!(0==a.ins&&a.lent||s.ins>=0&&s.len>t)&&(e||r.length>i),o.forward2(t),s.forward(t)}}else U(r,0,s.ins,e),n&&N(n,r,s.text),s.next()}}class G{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?g.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?g.empty:t[i].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class D{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 0xffffff==e?void 0: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 D(i,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return M.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return M.range(this.anchor,i)}eq(e,t=!1){return!(this.anchor!=e.anchor||this.head!=e.head||t&&this.empty&&this.assoc!=e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw RangeError("Invalid JSON representation for SelectionRange");return M.range(e.anchor,e.head)}static create(e,t,i){return new D(e,t,i)}}class M{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:M.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;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw RangeError("Invalid JSON representation for EditorSelection");return new M(e.ranges.map(e=>D.fromJSON(e)),e.main)}static single(e,t=e){return new M([M.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw RangeError("A selection needs at least one range");for(let i=0,r=0;re?8:0)|n)}static normalized(e,t=0){let i=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(i);for(let i=1;ir.head?M.range(s,o):M.range(o,s))}}return new M(e,t)}}function B(e,t){for(let i of e.ranges)if(i.to>t)throw RangeError("Selection points outside of document")}let I=0;class L{constructor(e,t,i,r,n){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=I++,this.default=e([]),this.extensions="function"==typeof n?n(this):n}get reader(){return this}static define(e={}){return new L(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:K),!!e.static,e.enables)}of(e){return new F([],this,0,e)}compute(e,t){if(this.isStatic)throw Error("Can't compute a static facet");return new F(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error("Can't compute a static facet");return new F(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],i=>t(i.field(e)))}}function K(e,t){return e==t||e.length==t.length&&e.every((e,i)=>e===t[i])}class F{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=I++}dynamicSlot(e){var t;let i=this.value,r=this.facet.compareInput,n=this.id,o=e[n]>>1,s=2==this.type,a=!1,O=!1,l=[];for(let i of this.dependencies)"doc"==i?a=!0:"selection"==i?O=!0:0==(1&(null!==(t=e[i.id])&&void 0!==t?t:1))&&l.push(e[i.id]);return{create:e=>(e.values[o]=i(e),1),update(e,t){if(a&&t.docChanged||O&&(t.docChanged||t.selection)||J(e,l)){let t=i(e);if(s?!H(t,e.values[o],r):!r(t,e.values[o]))return e.values[o]=t,1}return 0},reconfigure:(e,t)=>{let a,O=t.config.address[n];if(null!=O){let n=eh(t,O);if(this.dependencies.every(i=>i instanceof L?t.facet(i)===e.facet(i):!(i instanceof et)||t.field(i,!1)==e.field(i,!1))||(s?H(a=i(e),n,r):r(a=i(e),n)))return e.values[o]=n,0}else a=i(e);return e.values[o]=a,1}}}}function H(e,t,i){if(e.length!=t.length)return!1;for(let r=0;re===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(ee).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,i)=>{let r=e.values[t],n=this.updateF(r,i);return this.compareF(r,n)?0:(e.values[t]=n,1)},reconfigure:(e,i)=>null!=i.config.address[this.id]?(e.values[t]=i.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,ee.of({field:this,create:e})]}get extension(){return this}}let ei={lowest:4,low:3,default:2,high:1,highest:0};function er(e){return t=>new eo(t,e)}let en={highest:er(ei.highest),high:er(ei.high),default:er(ei.default),low:er(ei.low),lowest:er(ei.lowest)};class eo{constructor(e,t){this.inner=e,this.prec=t}}class es{of(e){return new ea(this,e)}reconfigure(e){return es.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class ea{constructor(e,t){this.compartment=e,this.inner=t}}class eO{constructor(e,t,i,r,n,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=n,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let r,n,o=[],s=Object.create(null),a=new Map;for(let i of(r=[[],[],[],[],[]],n=new Map,function e(i,o){let s=n.get(i);if(null!=s){if(s<=o)return;let e=r[s].indexOf(i);e>-1&&r[s].splice(e,1),i instanceof ea&&a.delete(i.compartment)}if(n.set(i,o),Array.isArray(i))for(let t of i)e(t,o);else if(i instanceof ea){if(a.has(i.compartment))throw RangeError("Duplicate use of compartment in extensions");let r=t.get(i.compartment)||i.inner;a.set(i.compartment,r),e(r,o)}else if(i instanceof eo)e(i.inner,i.prec);else if(i instanceof et)r[o].push(i),i.provides&&e(i.provides,o);else if(i instanceof F)r[o].push(i),i.facet.extensions&&e(i.facet.extensions,ei.default);else{let t=i.extension;if(!t)throw Error(`Unrecognized extension value in extension set (${i}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,o)}}(e,ei.default),r.reduce((e,t)=>e.concat(t))))i instanceof et?o.push(i):(s[i.facet.id]||(s[i.facet.id]=[])).push(i);let O=Object.create(null),l=[],h=[];for(let e of o)O[e.id]=h.length<<1,h.push(t=>e.slot(t));let c=null==i?void 0:i.config.facets;for(let e in s){let t=s[e],r=t[0].facet,n=c&&c[e]||[];if(t.every(e=>0==e.type)){if(O[r.id]=l.length<<1|1,K(n,t))l.push(i.facet(r));else{let e=r.combine(t.map(e=>e.value));l.push(i&&r.compare(e,i.facet(r))?i.facet(r):e)}}else{for(let e of t)0==e.type?(O[e.id]=l.length<<1|1,l.push(e.value)):(O[e.id]=h.length<<1,h.push(t=>e.dynamicSlot(t)));O[r.id]=h.length<<1,h.push(e=>(function(e,t,i){let r=i.map(t=>e[t.id]),n=i.map(e=>e.type),o=r.filter(e=>!(1&e)),s=e[t.id]>>1;function a(e){let i=[];for(let t=0;te(O)),O,l,s)}}function el(e,t){if(1&t)return 2;let i=t>>1,r=e.status[i];if(4==r)throw Error("Cyclic dependency between fields and/or facets");if(2&r)return r;e.status[i]=4;let n=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|n}function eh(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}let ec=L.define(),ef=L.define({combine:e=>e.some(e=>e),static:!0}),eu=L.define({combine:e=>e.length?e[0]:void 0,static:!0}),ed=L.define(),ep=L.define(),eQ=L.define(),eg=L.define({combine:e=>!!e.length&&e[0]});class em{constructor(e,t){this.type=e,this.value=t}static define(){return new e$}}class e${of(e){return new em(this,e)}}class eb{constructor(e){this.map=e}of(e){return new eX(this,e)}}class eX{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new eX(this.type,t)}is(e){return this.type==e}static define(e={}){return new eb(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let r of e){let e=r.map(t);e&&i.push(e)}return i}}eX.reconfigure=eX.define(),eX.appendConfig=eX.define();class eS{constructor(e,t,i,r,n,o){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=n,this.scrollIntoView=o,this._doc=null,this._state=null,i&&B(i,t.newLength),n.some(e=>e.type==eS.time)||(this.annotations=n.concat(eS.time.of(Date.now())))}static create(e,t,i,r,n,o){return new eS(e,t,i,r,n,o)}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(eS.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function ey(e,t,i){var r;let n,o,s;return i?(n=t.changes,o=C.empty(t.changes.length),s=e.changes.compose(t.changes)):(n=t.changes.map(e.changes),o=e.changes.mapDesc(t.changes,!0),s=e.changes.compose(n)),{changes:s,selection:t.selection?t.selection.map(o):null===(r=e.selection)||void 0===r?void 0:r.map(n),effects:eX.mapEffects(e.effects,n).concat(eX.mapEffects(t.effects,o)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function ex(e,t,i){let r=t.selection,n=eP(t.annotations);return t.userEvent&&(n=n.concat(eS.userEvent.of(t.userEvent))),{changes:t.changes instanceof C?t.changes:C.of(t.changes||[],i,e.facet(eu)),selection:r&&(r instanceof M?r:M.single(r.anchor,r.head)),effects:eP(t.effects),annotations:n,scrollIntoView:!!t.scrollIntoView}}eS.time=em.define(),eS.userEvent=em.define(),eS.addToHistory=em.define(),eS.remote=em.define();let ev=[];function eP(e){return null==e?ev:Array.isArray(e)?e:[e]}var ew=((a=ew||(ew={}))[a.Word=0]="Word",a[a.Space=1]="Space",a[a.Other=2]="Other",a);let eT=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{r=RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}class ek{constructor(e,t,i,r,n,o){this.config=e,this.doc=t,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,o&&(o._state=this);for(let e=0;e=0;n--){let o=i[n](e);o&&Object.keys(o).length&&(r=ey(r,ex(t,o,e.changes.newLength),!0))}return r==e?e:eS.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}(r?function(t){let i=t.startState,r=!0;for(let e of i.facet(ed)){let i=e(t);if(!1===i){r=!1;break}Array.isArray(i)&&(r=!0===r?i:function(e,t){let i=[];for(let r=0,n=0;;){let o,s;if(r=e[r]))o=e[r++],s=e[r++];else{if(!(n=0;r--){let o=n[r](t);t=o instanceof eS?o:Array.isArray(o)&&1==o.length&&o[0]instanceof eS?o[0]:e(i,eP(o),!1)}return t}(o):o)}(this,e,!0)}applyTransaction(e){let t,i=this.config,{base:r,compartments:n}=i;for(let t of e.effects)t.is(es.reconfigure)?(i&&(n=new Map,i.compartments.forEach((e,t)=>n.set(t,e)),i=null),n.set(t.value.compartment,t.value.extension)):t.is(eX.reconfigure)?(i=null,r=t.value):t.is(eX.appendConfig)&&(i=null,r=eP(r).concat(t.value));t=i?e.startState.values.slice():new ek(i=eO.resolve(r,n,this),this.doc,this.selection,i.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values;let o=e.startState.facet(ef)?e.newSelection:e.newSelection.asSingle();new ek(i,e.newDoc,o,t,(t,i)=>i.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:M.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),r=this.changes(i.changes),n=[i.range],o=eP(i.effects);for(let i=1;in.spec.fromJSON(o,e)))}}return ek.create({doc:e.doc,selection:M.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=eO.resolve(e.extensions||[],new Map),i=e.doc instanceof g?e.doc:g.of((e.doc||"").split(t.staticFacet(ek.lineSeparator)||q)),r=e.selection?e.selection instanceof M?e.selection:M.single(e.selection.anchor,e.selection.head):M.single(0);return B(r,i.length),t.staticFacet(ef)||(r=r.asSingle()),new ek(t,i,r,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(ek.tabSize)}get lineBreak(){return this.facet(ek.lineSeparator)||"\n"}get readOnly(){return this.facet(eg)}phrase(e,...t){for(let t of this.facet(ek.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,i)=>{if("$"==i)return"$";let r=+(i||1);return!r||r>t.length?e:t[r-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let n of this.facet(ec))for(let o of n(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){var t;return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return ew.Space;if(function(e){if(r)return r.test(e);for(let t=0;t"€"&&(i.toUpperCase()!=i.toLowerCase()||eT.test(i)))return!0}return!1}(e))return ew.Word;for(let i=0;i-1)return ew.Word;return ew.Other}}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),o=e-i,s=e-i;for(;o>0;){let e=T(t,o,!1);if(n(t.slice(e,o))!=ew.Word)break;o=e}for(;se.length?e[0]:4}),ek.lineSeparator=eu,ek.readOnly=eg,ek.phrases=L.define({compare(e,t){let i=Object.keys(e),r=Object.keys(t);return i.length==r.length&&i.every(i=>e[i]==t[i])}}),ek.languageData=ec,ek.changeFilter=ed,ek.transactionFilter=ep,ek.transactionExtender=eQ,es.reconfigure=eX.define();class eR{eq(e){return this==e}range(e,t=e){return e_.create(e,t,this)}}eR.prototype.startSide=eR.prototype.endSide=0,eR.prototype.point=!1,eR.prototype.mapMode=A.TrackDel;let e_=class e{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(t,i,r){return new e(t,i,r)}};function eV(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class eZ{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,r=0){let n=i?this.to:this.from;for(let o=r,s=n.length;;){if(o==s)return o;let r=o+s>>1,a=n[r]-e||(i?this.value[r].endSide:this.value[r].startSide)-t;if(r==o)return a>=0?o:s;a>=0?s=r:o=r+1}}between(e,t,i,r){for(let n=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,n);n(l=t.mapPos(f,h.endSide))||O==l&&h.startSide>0&&h.endSide<=0)continue;0>(l-O||h.endSide-h.startSide)||(o<0&&(o=O),h.point&&(s=Math.max(s,l-O)),i.push(h),r.push(O-o),n.push(l-o))}return{mapped:i.length?new eZ(r,n,i,s):null,pos:o}}}class eq{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 eq(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:n=this.length}=e,o=e.filter;if(0==t.length&&!o)return this;if(i&&(t=t.slice().sort(eV)),this.isEmpty)return t.length?eq.of(t):this;let s=new eC(this,null,-1).goto(0),a=0,O=[],l=new eA;for(;s.value||a=0){let e=t[a++];l.addInner(e.from,e.to,e.value)||O.push(e)}else 1==s.rangeIndex&&s.chunkIndexthis.chunkEnd(s.chunkIndex)||ns.to||n=n&&e<=n+o.length&&!1===o.between(n,e-n,t-n,i))return}this.nextLayer.between(e,t,i)}}iter(e=0){return eU.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return eU.from(e).goto(t)}static compare(e,t,i,r,n=-1){let o=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n),s=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n),a=eW(o,s,i),O=new ej(o,a,n),l=new ej(s,a,n);i.iterGaps((e,t,i)=>eE(O,e,l,t,i,r)),i.empty&&0==i.length&&eE(O,0,l,0,0,r)}static eq(e,t,i=0,r){null==r&&(r=0x3b9ac9ff);let n=e.filter(e=>!e.isEmpty&&0>t.indexOf(e)),o=t.filter(t=>!t.isEmpty&&0>e.indexOf(t));if(n.length!=o.length)return!1;if(!n.length)return!0;let s=eW(n,o),a=new ej(n,s,0).goto(i),O=new ej(o,s,0).goto(i);for(;;){if(a.to!=O.to||!ez(a.active,O.active)||a.point&&(!O.point||!a.point.eq(O.point)))return!1;if(a.to>r)return!0;a.next(),O.next()}}static spans(e,t,i,r,n=-1){let o=new ej(e,null,n).goto(t),s=t,a=o.openStart;for(;;){let e=Math.min(o.to,i);if(o.point){let i=o.activeForPoint(o.to),n=o.pointFroms&&(r.span(s,e,o.active,a),a=o.openEnd(e));if(o.to>i)return a+(o.point&&o.to>i?1:0);s=o.to,o.next()}}static of(e,t=!1){let i=new eA;for(let r of e instanceof e_?[e]:t?function(e){if(e.length>1)for(let t=e[0],i=1;i0)return e.slice().sort(eV);t=r}return e}(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return eq.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=eq.empty;r=r.nextLayer)t=new eq(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}}eq.empty=new eq([],[],null,-1),eq.empty.nextLayer=eq.empty;class eA{finishChunk(e){this.chunks.push(new eZ(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 eA)).add(e,t,i)}addInner(e,t,i){let r=e-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&0>(e-this.lastFrom||i.startSide-this.last.startSide))throw Error("Ranges must be added sorted by `from` position and `startSide`");return!(r<0)&&(250==this.from.length&&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(0>(e-this.lastTo||t.value[0].startSide-this.last.endSide))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(eq.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=eq.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function eW(e,t,i){let r=new Map;for(let t of e)for(let e=0;e(this.to-e||this.endSide-t)&&this.gotoInner(e,t,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{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=i&&r.push(new eC(o,t,i,n));return 1==r.length?r[0]:new eU(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 e=this.heap.length>>1;e>=0;e--)eN(this.heap,e);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)eN(this.heap,e);0>(this.to-e||this.value.endSide-t)&&this.next()}next(){if(0==this.heap.length)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(),eN(this.heap,0)}}}function eN(e,t){for(let i=e[t];;){let r=1+(t<<1);if(r>=e.length)break;let n=e[r];if(r+1=0&&(n=e[r+1],r++),0>i.compare(n))break;e[r]=i,e[t]=n,t=r}}class ej{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=eU.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&&0>(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t);)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){eG(this.active,e),eG(this.activeTo,e),eG(this.activeRank,e),this.minActive=eM(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:r,rank:n}=this.cursor;for(;t0;)t++;eD(this.active,t,i),eD(this.activeTo,t,r),eD(this.activeRank,t,n),e&&eD(e,t,this.cursor.from),this.minActive=eM(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&&0>(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&eG(i,r)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[t]=0&&!(this.activeRank[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 eE(e,t,i,r,n,o){e.goto(t),i.goto(r);let s=r+n,a=r,O=r-t;for(;;){let t=e.to+O-i.to||e.endSide-i.endSide,r=t<0?e.to+O:i.to,n=Math.min(r,s);if(e.point||i.point?e.point&&i.point&&(e.point==i.point||e.point.eq(i.point))&&ez(e.activeForPoint(e.to),i.activeForPoint(i.to))||o.comparePoint(a,n,e.point,i.point):n>a&&!ez(e.active,i.active)&&o.compareRange(a,n,e.active,i.active),r>s)break;a=r,t<=0&&e.next(),t>=0&&i.next()}}function ez(e,t){if(e.length!=t.length)return!1;for(let i=0;i=t;i--)e[i+1]=e[i];e[t]=i}function eM(e,t){let i=-1,r=1e9;for(let n=0;n(t[n]-r||e[n].endSide-e[i].endSide)&&(i=n,r=t[n]);return i}function eB(e,t,i=e.length){let r=0;for(let n=0;n=t)return r;if(r==e.length)break;n+=9==e.charCodeAt(r)?i-n%i:1,r=T(e,r)}return!0===r?-1:e.length}let eL=0;class eK{constructor(e,t){this.from=e,this.to=t}}class eF{constructor(e={}){this.id=eL++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=e1.match(e)),t=>{let i=e(t);return void 0===i?null:[this,i]}}}eF.closedBy=new eF({deserialize:e=>e.split(" ")}),eF.openedBy=new eF({deserialize:e=>e.split(" ")}),eF.group=new eF({deserialize:e=>e.split(" ")}),eF.isolate=new eF({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw RangeError("Invalid value for isolate: "+e);return e||"auto"}}),eF.contextHash=new eF({perNode:!0}),eF.lookAhead=new eF({perNode:!0}),eF.mounted=new eF({perNode:!0});class eH{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[eF.mounted.id]}}let eJ=Object.create(null);class e1{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):eJ,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),r=new e1(e.name||"",t,e.id,i);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(r)),i){if(i[0].perNode)throw RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(eF.group);return!!t&&t.indexOf(e)>-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 e=>{for(let i=e.prop(eF.group),r=-1;r<(i?i.length:0);r++){let n=t[r<0?e.name:i[r]];if(n)return n}}}}e1.none=new e1("",Object.create(null),0,8);class e0{constructor(e){this.types=e;for(let t=0;t=t){let s=new te(o.tree,o.overlay[0].from+e.from,-1,e);(n||(n=[r])).push(e7(s,t,i,!1))}}return n?to(n):r}(this,e,t)}iterate(e){let{enter:t,leave:i,from:r=0,to:n=this.length}=e,o=e.mode||0,s=(o&u.IncludeAnonymous)>0;for(let e=this.cursor(o|u.IncludeAnonymous);;){let o=!1;if(e.from<=n&&e.to>=r&&(!s&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;o=!0}for(;o&&i&&(s||!e.type.isAnonymous)&&i(e),!e.nextSibling();){if(!e.parent())return;o=!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:tc(e1.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,i)=>new e4(this.type,e,t,i,this.propValues),e.makeTree||((e,t,i)=>new e4(e1.none,e,t,i)))}static build(e){return function(e){var t;let{buffer:i,nodeSet:r,maxBufferLength:n=1024,reused:o=[],minRepeatType:s=r.types.length}=e,a=Array.isArray(i)?new e3(i,i.length):i,O=r.types,l=0,h=0;function c(e,t,i,n,o,s,a,O){let l=[],h=[];for(;e.length>n;)l.push(e.pop()),h.push(t.pop()+i-o);e.push(f(r.types[a],l,h,s-o,O-s)),t.push(o-i)}function f(e,t,i,r,n=0,o){if(l){let e=[eF.contextHash,l];o=o?[e].concat(o):[e]}if(n>25){let e=[eF.lookAhead,n];o=o?[e].concat(o):[e]}return new e4(e,t,i,r,o)}let u=[],d=[];for(;a.pos>0;)!function e(t,i,u,d,p,Q){let{id:g,start:m,end:$,size:b}=a,X=h;for(;b<0;){if(a.next(),-1==b){let e=o[g];return u.push(e),void d.push(m-t)}if(-3==b)return void(l=g);if(-4==b)return void(h=g);throw RangeError(`Unrecognized record size: ${b}`)}let S,y,x=O[g],v=m-t;if($-m<=n&&(y=function(e,t){let i=a.fork(),r=0,o=0,O=0,l=i.end-n,h={size:0,start:0,skip:0};e:for(let n=i.pos-e;i.pos>n;){let e=i.size;if(i.id==t&&e>=0){h.size=r,h.start=o,h.skip=O,O+=4,r+=4,i.next();continue}let a=i.pos-e;if(e<0||a=s?4:0,f=i.start;for(i.next();i.pos>a;){if(i.size<0){if(-3!=i.size)break e;c+=4}else i.id>=s&&(c+=4);i.next()}o=f,r+=e,O+=c}return(t<0||r==e)&&(h.size=r,h.start=o,h.skip=O),h.size>4?h:void 0}(a.pos-i,p))){let e=new Uint16Array(y.size-y.skip),i=a.pos-y.size,n=e.length;for(;a.pos>i;)n=function e(t,i,r){let{id:n,start:o,end:O,size:c}=a;if(a.next(),c>=0&&n4){let n=a.pos-(c-4);for(;a.pos>n;)r=e(t,i,r)}i[--r]=s,i[--r]=O-t,i[--r]=o-t,i[--r]=n}else -3==c?l=n:-4==c&&(h=n);return r}(y.start,e,n);S=new e9(e,$-y.start,r),v=y.start-t}else{let t=a.pos-b;a.next();let i=[],o=[],O=g>=s?g:-1,l=0,h=$;for(;a.pos>t;)O>=0&&a.id==O&&a.size>=0?(a.end<=h-n&&(c(i,o,m,l,a.end,h,O,X),l=i.length,h=a.end),a.next()):Q>2500?function(e,t,i,o){let s=[],O=0,l=-1;for(;a.pos>t;){let{id:e,start:t,end:i,size:r}=a;if(r>4)a.next();else{if(l>-1&&t=0;e-=3)t[i++]=s[e],t[i++]=s[e+1]-n,t[i++]=s[e+2]-n,t[i++]=i;i.push(new e9(t,s[2]-n,r)),o.push(n-e)}}(m,t,i,o):e(m,t,i,o,O,Q+1);if(O>=0&&l>0&&l-1&&l>0){let e=(e,t,i)=>{let r,n,o=0,s=e.length-1;if(s>=0&&(r=e[s])instanceof e4){if(!s&&r.type==x&&r.length==i)return r;(n=r.prop(eF.lookAhead))&&(o=t[s]+r.length+n)}return f(x,e,t,i,o)};S=tc(x,i,o,0,i.length,0,$-m,e,e)}else S=f(x,i,o,$-m,X-$)}u.push(S),d.push(v)}(e.start||0,e.bufferStart||0,u,d,-1,0);let p=null!==(t=e.length)&&void 0!==t?t:u.length?d[0]+u[0].length:0;return new e4(O[e.topID],u.reverse(),d.reverse(),p)}(e)}}e4.empty=new e4(e1.none,[],[],0);class e3{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 e3(this.buffer,this.index)}}class e9{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return e1.none}toString(){let e=[];for(let t=0;t0));a=o[a+3]);return s}slice(e,t,i){let r=this.buffer,n=new Uint16Array(t-e),o=0;for(let s=e,a=0;s=t&&it;case 1:return i<=t&&r>t;case 2:return r>t;case 4:return!0}}function e7(e,t,i,r){for(var n;e.from==e.to||(i<1?e.from>=t:e.from>t)||(i>-1?e.to<=t:e.to0?s.length:-1;e!=O;e+=t){let O=s[e],l=a[e]+o.from;if(e8(r,i,l,l+O.length)){if(O instanceof e9){if(n&u.ExcludeBuffers)continue;let s=O.findChild(0,O.buffer.length,t,i-l,r);if(s>-1)return new tn(new tr(o,O,e,l),null,s)}else if(n&u.IncludeAnonymous||!O.type.isAnonymous||tO(O)){let s;if(!(n&u.IgnoreMounts)&&(s=eH.get(O))&&!s.overlay)return new te(s.tree,l,e,o);let a=new te(O,l,e,o);return n&u.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?O.children.length-1:0,t,i,r)}}}if(n&u.IncludeAnonymous||!o.type.isAnonymous||(e=o.index>=0?o.index+t:t<0?-1:o._parent._tree.children.length,!(o=o._parent)))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)}enter(e,t,i=0){let r;if(!(i&u.IgnoreOverlays)&&(r=eH.get(this._tree))&&r.overlay){let i=e-this.from;for(let{from:e,to:n}of r.overlay)if((t>0?e<=i:e=i:n>i))return new te(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 tt(e,t,i,r){let n=e.cursor(),o=[];if(!n.firstChild())return o;if(null!=i){for(let e=!1;!e;)if(e=n.type.is(i),!n.nextSibling())return o}for(;;){if(null!=r&&n.type.is(r))return o;if(n.type.is(t)&&o.push(n.node),!n.nextSibling())return null==r?o:[]}}function ti(e,t,i=t.length-1){for(let r=e.parent;i>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(t[i]&&t[i]!=r.name)return!1;i--}}return!0}class tr{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}}class tn extends e6{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,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new tn(this.context,this,n)}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)}enter(e,t,i=0){if(i&u.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new tn(this.context,this,n)}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 tn(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 tn(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,n=i.buffer[this.index+3];if(n>r){let o=i.buffer[this.index+1];e.push(i.slice(r,n,o)),t.push(0)}return new e4(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function to(e){if(!e.length)return null;let t=0,i=e[0];for(let r=1;ri.from||n.to0){if(this.index-1)for(let r=t+e,n=e<0?-1:i._tree.children.length;r!=n;r+=e){let e=i._tree.children[r];if(this.mode&u.IncludeAnonymous||e instanceof e9||!e.type.isAnonymous||tO(e))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=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,i=n+1;break e}r=this.stack[--n]}for(let e=i;e=0;n--){if(n<0)return ti(this.node,e,r);let o=i[t.buffer[this.stack[n]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}}function tO(e){return e.children.some(e=>e instanceof e9||!e.type.isAnonymous||tO(e))}let tl=new WeakMap;function th(e,t){if(!e.isAnonymous||t instanceof e9||t.type!=e)return 1;let i=tl.get(t);if(null==i){for(let r of(i=1,t.children)){if(r.type!=e||!(r instanceof e4)){i=1;break}i+=th(e,r)}tl.set(t,i)}return i}function tc(e,t,i,r,n,o,s,a,O){let l=0;for(let i=r;i=h)break;d+=t}if(l==n+1){if(d>h){let e=i[n];t(e.children,e.positions,0,e.children.length,r[n]+a);continue}c.push(i[n])}else{let t=r[l-1]+i[l-1].length-u;c.push(tc(e,i,r,n,l,u,t,null,O))}f.push(u+a-o)}}(t,i,r,n,0),(a||O)(c,f,s)}class tf{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 tn?this.setBuffer(e.context.buffer,e.index,t):e instanceof te&&this.map.set(e.tree,t)}get(e){return e instanceof tn?this.getBuffer(e.context.buffer,e.index):e instanceof te?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 tu{constructor(e,t,i,r,n=!1,o=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(n?1:0)|(o?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],i=!1){let r=[new tu(0,e.length,e,0,!1,i)];for(let i of t)i.to>e.length&&r.push(i);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],n=1,o=e.length?e[0]:null;for(let s=0,a=0,O=0;;s++){let l=s=i)for(;o&&o.from=t.from||h<=t.to||O){let e=Math.max(t.from,a)-O,i=Math.min(t.to,h)-O;t=e>=i?null:new tu(e,i,t.tree,t.offset+O,s>0,!!l)}if(t&&r.push(t),o.to>h)break;o=nnew eK(e.from,e.to)):[new eK(0,0)]:[new eK(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let e=r.advance();if(e)return e}}}class tp{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 tQ(e){return(t,i,r,n)=>new tX(t,e,i,r,n)}class tg{constructor(e,t,i,r,n){this.parser=e,this.parse=t,this.overlay=i,this.target=r,this.from=n}}function tm(e){if(!e.length||e.some(e=>e.from>=e.to))throw RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class t${constructor(e,t,i,r,n,o,s){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=n,this.target=o,this.prev=s,this.depth=0,this.ranges=[]}}let tb=new eF({perNode:!0});class tX{constructor(e,t,i,r,n){this.nest=t,this.input=i,this.fragments=r,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new e4(e.type,e.children,e.positions,e.length,e.propValues.concat([[tb,this.stoppedAt]]))),e}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[eF.mounted.id]=new eH(t,e.overlay,e.parser),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.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let e=t.mounts.find(e=>e.frag.from<=r.from&&e.frag.to>=r.to&&e.mount.overlay);if(e)for(let i of e.mount.overlay){let n=i.from+e.pos,o=i.to+e.pos;n>=r.from&&o<=r.to&&!t.ranges.some(e=>e.fromn)&&t.ranges.push({from:n,to:o})}}a=!1}else if(i&&(o=function(e,t,i){for(let r of e){if(r.from>=i)break;if(r.to>t)return r.from<=t&&r.to>=i?2:1}return 0}(i.ranges,r.from,r.to)))a=2!=o;else if(!r.type.isAnonymous&&(n=this.nest(r,this.input))&&(r.fromnew eK(e.from-r.from,e.to-r.from)):null,r.tree,e.length?e[0].from:r.from)),n.overlay?e.length&&(i={ranges:e,depth:0,prev:i}):a=!1}}else t&&(s=t.predicate(r))&&(!0===s&&(s=new eK(r.from,r.to)),s.fromnew eK(e.from-t.start,e.to-t.start)),t.target,e[0].from))),t=t.prev}!i||--i.depth||(i=i.prev)}}}}function tS(e,t,i,r,n,o){if(t=e&&t.enter(i,1,u.IgnoreOverlays|u.ExcludeBuffers)||t.next(!1)||(this.done=!0)}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&&0==t.positions[0]&&t.children[0]instanceof e4))break;t=t.children[0]}return!1}}let tx=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=null!==(t=i.tree.prop(tb))&&void 0!==t?t:i.to,this.inner=new ty(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=null!==(e=t.tree.prop(tb))&&void 0!==e?e:t.to,this.inner=new ty(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let n=null===(i=e.tree)||void 0===i?void 0:i.prop(eF.mounted);if(n&&n.parser==t)for(let t=this.fragI;t=e.to)break;i.tree==this.curFrag.tree&&r.push({frag:i,pos:e.from-i.offset,mount:n})}}}return r}};function tv(e,t){let i=null,r=t;for(let n=1,o=0;n=a)break;e.to<=s||(i||(r=i=t.slice()),e.froma&&i.splice(o+1,0,new eK(a,e.to))):e.to>a?i[o--]=new eK(a,e.to):i.splice(o--,1))}}return r}function tP(e,t){let i=[];for(let{pos:r,mount:n,frag:o}of e){let e=r+(n.overlay?n.overlay[0].from:0),s=e+n.tree.length,a=Math.max(o.from,e),O=Math.min(o.to,s);if(n.overlay){let s=function(e,t,i,r){let n=0,o=0,s=!1,a=!1,O=-1e9,l=[];for(;;){let h=n==e.length?1e9:s?e[n].to:e[n].from,c=o==t.length?1e9:a?t[o].to:t[o].from;if(s!=a){let e=Math.max(O,i),t=Math.min(h,c,r);enew eK(e.from+r,e.to+r)),a,O);for(let t=0,r=a;;t++){let a=t==s.length,l=a?O:s[t].from;if(l>r&&i.push(new tu(r,l,n.tree,-e,o.from>=r||o.openStart,o.to<=l||o.openEnd)),a)break;r=s[t].to}}else i.push(new tu(a,O,n.tree,-e,o.from>=e||o.openStart,o.to<=s||o.openEnd))}return i}class tw{constructor(e,t,i,r,n,o,s,a,O,l=0,h){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=n,this.score=o,this.buffer=s,this.bufferBase=a,this.curContext=O,this.lookAhead=l,this.parent=h}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 tw(e,[],t,i,i,0,[],0,r?new tT(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=65535&e,{parser:n}=this.p,o=n.dynamicPrecedence(r);if(o&&(this.score+=o),0==i)return this.pushState(n.getGoto(this.state,r,!0),this.reducePos),r=2e3&&!(null===(t=this.p.parser.nodeSet.types[r])||void 0===t?void 0:t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=O):this.p.lastBigReductionSizes;)this.stack.pop();this.reduceContext(r,a)}storeNode(e,t,i,r=4,n=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==e.buffer[r-4]&&e.buffer[r-1]>-1){if(t==i)return;if(e.buffer[r-2]>=t)return void(e.buffer[r-2]=i)}}if(n&&this.pos!=i){let n=this.buffer.length;if(n>0&&0!=this.buffer[n-4])for(;n>0&&this.buffer[n-2]>i;)this.buffer[n]=this.buffer[n-4],this.buffer[n+1]=this.buffer[n-3],this.buffer[n+2]=this.buffer[n-2],this.buffer[n+3]=this.buffer[n-1],n-=4,r>4&&(r-=4);this.buffer[n]=e,this.buffer[n+1]=t,this.buffer[n+2]=i,this.buffer[n+3]=r}else this.buffer.push(e,t,i,r)}shift(e,t,i,r){if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let{parser:n}=this.p;(r>this.pos||t<=n.maxNode)&&(this.pos=r,n.stateFlag(e,1)||(this.reducePos=r)),this.pushState(e,i),this.shiftContext(t,i),t<=n.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){65536&e?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>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 tw(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 tk(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(0==(65536&i))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 i=[];for(let r,n=0;n1&t&&e==r)||i.push(t[e],r)}t=i}let i=[];for(let e=0;e>19,r=65535&t,n=this.stack.length-3*i;if(n<0||0>e.getGoto(this.stack[n],r,!1)){let e=this.findForcedReduction();if(null==e)return!1;t=e}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,n)=>{if(!t.includes(r))return t.push(r),e.allActions(r,t=>{if(393216&t);else if(65536&t){let i=(t>>19)-n;if(i>1){let r=65535&t,n=this.stack.length-3*i;if(n>=0&&e.getGoto(this.stack[n],r,!1)>=0)return i<<19|65536|r}}else{let e=i(t,n+1);if(null!=e)return e}})};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(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!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;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class tT{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class tk{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e>>19;0==t?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(t-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],65535&e,!0);this.state=i}}class tY{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new tY(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(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,0==this.index&&this.maybeNext()}fork(){return new tY(this.stack,this.pos,this.index)}}function tR(e,t=Uint16Array){if("string"!=typeof e)return e;let i=null;for(let r=0,n=0;r=92&&t--,t>=34&&t--;let n=t-32;if(n>=46&&(n-=46,i=!0),o+=n,i)break;o*=46}i?i[n++]=o:i=new t(o)}return i}class t_{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}let tV=new t_;class tZ{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=tV,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,n=this.pos+e;for(;ni.to:n>=i.to;){if(r==this.ranges.length-1)return null;let e=this.ranges[++r];n+=e.from-i.to,i=e}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,i,r=this.chunkOff+e;if(r>=0&&r=this.chunk2Pos&&tr.to&&(this.chunk2=this.chunk2.slice(0,r.to-t)),i=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),i}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i=this.chunk2Pos&&this.posthis.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=tV,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&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 tq{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;tC(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}tq.prototype.contextual=tq.prototype.fallback=tq.prototype.extend=!1;class tA{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data="string"==typeof e?tR(e):e}token(e,t){let i=e.pos,r=0;for(;;){let i=e.next<0,n=e.resolveOffset(1,1);if(tC(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(i||r++,null==n)break;e.reset(n,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}}tA.prototype.contextual=tq.prototype.fallback=tq.prototype.extend=!1;class tW{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function tC(e,t,i,r,n,o){let s=0,a=1<0){let i=e[r];if(O.allows(i)&&(-1==t.token.value||t.token.value==i||function(e,t,i,r){let n=tU(i,r,t);return n<0||tU(i,r,e)l&&65535==e[i+3*h-3]&&65535==e[i+3*h-3])){for(;l>1,o=i+n+(n<<1),a=e[o],O=e[o+1]||65536;if(r=O)){s=e[o+2],t.advance();continue e}l=n+1}}break}s=e[i+3*h-1]}}function tU(e,t,i){for(let r,n=t;65535!=(r=e[n]);n++)if(r==i)return n-t;return -1}let tN=void 0!==Q&&Q.env&&/\bparse\b/.test(void 0),tj=null;function tE(e,t,i){let r=e.cursor(u.IncludeAnonymous);for(r.moveTo(t);;)if(!(i<0?r.childBefore(t):r.childAfter(t)))for(;;){if((i<0?r.tot)&&!r.type.isError)return i<0?Math.max(0,Math.min(r.to-1,t-25)):Math.min(e.length,Math.max(r.from+1,t+25));if(i<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return i<0?0:e.length}}let tz=class{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?tE(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?tE(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(ee)return this.nextStart=o,null;if(n instanceof e4){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+n.length}}};class tG{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new t_)}getActions(e){let t=0,i=null,{parser:r}=e.p,{tokenizers:n}=r,o=r.stateSlot(e.state,3),s=e.curContext?e.curContext.hash:0,a=0;for(let r=0;rl.end+25&&(a=Math.max(l.lookAhead,a)),0!=l.value)){let r=t;if(l.extended>-1&&(t=this.addActions(e,l.extended,l.end,t)),t=this.addActions(e,l.value,l.end,t),!O.extend&&(i=l,t>r))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),i||e.pos!=this.stream.end||((i=new t_).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 t_,{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:t}=i.p;for(let r=0;r=0&&i.p.parser.dialect.allows(n>>1)){0==(1&n)?e.value=n>>1:e.extended=n>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let t=0;t4*e.bufferLength?new tz(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,i=this.stacks,r=this.minStackPos,n=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){let[e]=i;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;or)n.push(s);else{if(this.advanceStack(s,n,i))continue;{e||(e=[],t=[]),e.push(s);let i=this.tokens.getMainToken(s);t.push(i.value,i.end)}}break}}if(!n.length){let t=e&&function(e){let t=null;for(let i of e){let e=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=e&&i.pos>e)&&i.p.parser.stateFlag(i.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,n);if(i)return tN&&console.log("Force-finish "+this.stackID(i)),this.stackToTree(i.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(n.length>e)for(n.sort((e,t)=>t.score-e.score);n.length>e;)n.pop();n.some(e=>e.reducePos>r)&&this.recovering--}else if(n.length>1){e:for(let e=0;e500&&r.buffer.length>500){if(!((t.score-r.score||t.buffer.length-r.buffer.length)>0)){n.splice(e--,1);continue e}n.splice(i--,1)}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let e=1;e ":"";if(null!=this.stoppedAt&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,i=t?e.curContext.hash:0;for(let s=this.fragments.nodeAt(r);s;){let r=this.parser.nodeSet.types[s.type.id]==s.type?n.getGoto(e.state,s.type.id):-1;if(r>-1&&s.length&&(!t||(s.prop(eF.contextHash)||0)==i))return e.useNode(s,r),tN&&console.log(o+this.stackID(e)+` (via reuse of ${n.getName(s.type.id)})`),!0;if(!(s instanceof e4)||0==s.children.length||s.positions[0]>0)break;let a=s.children[0];if(!(a instanceof e4&&0==s.positions[0]))break;s=a}}let s=n.stateSlot(e.state,4);if(s>0)return e.reduce(s),tN&&console.log(o+this.stackID(e)+` (via always-reduce ${n.getName(65535&s)})`),!0;if(e.stack.length>=9e3)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let s=0;sr?t.push(f):i.push(f)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return tM(e,t),!0}}runRecovery(e,t,i){let r=null,n=!1;for(let o=0;o ":"";if(s.deadEnd&&(n||(n=!0,s.restart(),tN&&console.log(l+this.stackID(s)+" (restarted)"),this.advanceFully(s,i))))continue;let h=s.split(),c=l;for(let e=0;h.forceReduce()&&e<10&&(tN&&console.log(c+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,i));e++)tN&&(c=this.stackID(h)+" -> ");for(let e of s.recoverByInsert(a))tN&&console.log(l+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,i);this.stream.end>s.pos?(O==s.pos&&(O++,a=0),s.recoverByDelete(a,O),tN&&console.log(l+this.stackID(s)+` (via recover-delete ${this.parser.getName(a)})`),tM(s,i)):(!r||r.scoree;class tL{constructor(e){this.start=e.start,this.shift=e.shift||tI,this.reduce=e.reduce||tI,this.reuse=e.reuse||tI,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class tK extends td{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let i=0;ie.topRules[t][1]),r=[];for(let e=0;e=0)n(r,e,t[i++]);else{let o=t[i+-r];for(let s=-r;s>0;s--)n(t[i++],e,o);i++}}}this.nodeSet=new e0(t.map((t,n)=>e1.define({name:n>=this.minRepeatTerm?void 0:t,id:n,props:r[n],top:i.indexOf(n)>-1,error:0==n,skipped:e.skippedNodes&&e.skippedNodes.indexOf(n)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=tR(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new tq(o,e):e),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 tD(this,e,t,i);for(let n of this.wrappers)r=n(r,e,t,i);return r}getGoto(e,t,i=!1){let r=this.goto;if(t>=r[0])return -1;for(let n=r[t+1];;){let t=r[n++],o=1&t,s=r[n++];if(o&&i)return s;for(let i=n+(t>>1);n0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let i=this.stateSlot(e,4),r=i?t(i):void 0;for(let i=this.stateSlot(e,1);null==r;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=tF(this.data,i+2)}r=t(tF(this.data,i+1))}return r}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=tF(this.data,i+2)}if(0==(1&this.data[i+2])){let e=this.data[i+1];t.some((t,i)=>1&i&&t==e)||t.push(this.data[i],e)}}return t}configure(e){let t=Object.assign(Object.create(tK.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let i=e.tokenizers.find(e=>e.from==t);return i?i.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,r)=>{let n=e.specializers.find(e=>e.from==i.external);if(!n)return i;let o=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[r]=tH(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(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 null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let r of e.split(" ")){let e=t.indexOf(r);e>=0&&(i[e]=!0)}let r=null;for(let e=0;ee.external(i,r)<<1|t}return e.get}let tJ=/^\p{Lu}/u,t1=/^\p{Ll}/u,t0=/^\p{Lt}/u,t5=/^\p{Lm}/u,t2=/^\p{Lo}/u,t4=/^\p{Me}/u,t3=/^\p{Mn}/u,t9=/^\p{Mc}/u,t8=/^\p{Nd}/u,t7=/^\p{Nl}/u,t6=/^\p{No}/u,ie=/^\p{Pc}/u,it=/^\p{Sc}/u,ii=/^\p{Sk}/u,ir=/^\p{So}/u,io=/^\p{Emoji}/u,is=new tW((e,t)=>{10===e.peek(0)&&t.canShift(256)&&e.acceptToken(256,1)});function ia(e,t){return tJ.test(e)||t1.test(e)||t0.test(e)||t5.test(e)||t2.test(e)||t7.test(e)||it.test(e)||io.test(e)||ir.test(e)&&!(t>=8592&&t<=8703)&&65532!=t&&65533!=t&&9023!=t&&166!=t||t>=8512&&t<=10780&&(t>=8512&&t<=8516||8767==t||8894==t||8895==t||8868==t||8869==t||t>=8706&&t<=8755&&(8706==t||8709==t||8710==t||8711==t||8718==t||8719==t||8720==t||8721==t||8734==t||8735==t||t>=8747)||t>=8896&&t<=8899||t>=9720&&t<=9727||t>=9839&&(9839==t||10200==t||10201==t||t>=10176&&t<=10177||t>=10672&&t<=10676||t>=10752&&t<=10758||t>=10761&&t<=10774||10779==t||10780==t))||t>=120513&&(120513==t||120539==t||120571==t||120597==t||120629==t||120655==t||120687==t||120713==t||120745==t||120771==t)||t>=8314&&t<=8318||t>=8330&&t<=8334||t>=8736&&t<=8738||t>=10651&&t<=10671||8472==t||8494==t||t>=12443&&t<=12444||t>=120782&&t<=120801}function iO(e,t){let i=e.peek(t);if(i>=65&&i<=90||i>=97&&i<=122||95==i)return 1;if(i<161||i>1114111)return 0;{let r=il(e,t);return ia(r,i)?r.length:0}}function il(e,t){let i=1,r=e.peek(t),n=String.fromCodePoint(r);for(;;){let o=e.peek(t+i);if(!(55296<=r&&r<=56319&&56320<=o&&o<=57343))break;n+=String.fromCodePoint(o),r=o,i+=1}return n}let ih=e=>new tW((t,i)=>{let r=!0,n=0,o=1;for(;;){let e=t.peek(n);if(-1===e)break;if(r){if(r=!1,0===(o=iO(t,n)))break}else if(e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||95==e||33==e);else{if(e<161||e>1114111)break;{let i=il(t,n);if(o=i.length,ia(i,e));else if(!(t3.test(i)||t9.test(i)||t8.test(i)||ie.test(i)||ii.test(i)||t4.test(i)||t6.test(i)||e>=8242&&e<=8247||8279==e))break}}n+=o,o=1}0!==n&&t.acceptToken(e,n)}),ic=ih(1),iu=ih(257),id=(e,t)=>{let i=e.peek(t),r=e.peek(t+1);return 36===i&&(0!==iO(e,t+1)||40==r)},ip=({till:e,term:t})=>new tW((i,r)=>{let n=0,o=!1;for(;;){let r=i.peek(n);if(-1===r)break;if(o)o=!1;else if(92===r)o=!0;else if(id(i,n)||e(i,n))return void(n>0&&i.acceptToken(t,n));n+=1}}),iQ=({till:e,term:t})=>new tW((i,r)=>{let n=0,o=!1;for(;;){let r=i.peek(n);if(-1===r)break;if(o)o=!1;else if(92===r)o=!0;else if(e(i,n))return void(n>0&&i.acceptToken(t,n));n+=1}}),ig=(e,t)=>34===e.peek(t)&&34===e.peek(t+1)&&34===e.peek(t+2),im=(e,t)=>34===e.peek(t),i$=(e,t)=>96===e.peek(t),ib=ip({term:258,till:ig}),iX=ip({term:259,till:im}),iS=ip({term:260,till:i$}),iy=iQ({term:261,till:ig}),ix=iQ({term:262,till:im}),iv=iQ({term:263,till:i$}),iP=(e,t)=>35===e.peek(t)&&61===e.peek(t+1),iw=(e,t)=>61===e.peek(t)&&35===e.peek(t+1),iT=new tW((e,t)=>{if(iP(e,0)){let t=1,i=2;for(;-1!==e.peek(i);)if(iw(e,i)){if(0==(t-=1))return void e.acceptToken(2,i+2);i+=2}else iP(e,i)?(t+=1,i+=2):i+=1;e.acceptToken(2,i)}}),ik=(e,t)=>{let i=e.peek(t);return i>=9&&i<14||i>=32&&i<33||i>=133&&i<134||i>=160&&i<161||i>=5760&&i<5761||i>=8192&&i<8203||i>=8232&&i<8234||i>=8239&&i<8240||i>=8287&&i<8288||i>=12288&&i<12289},iY=new tW((e,t)=>{40!==e.peek(0)||ik(e,-1)||!t.canShift(247)?58!==e.peek(0)||ik(e,-1)||!t.canShift(248)?123!==e.peek(0)||ik(e,-1)||!t.canShift(249)?91!==e.peek(0)||ik(e,-1)||!t.canShift(250)?39!==e.peek(0)||ik(e,-1)||!t.canShift(251)?34!==e.peek(0)||ik(e,-1)||!t.canShift(252)?96!==e.peek(0)||ik(e,-1)||!t.canShift(253)?46!==e.peek(0)||ik(e,-1)||!t.canShift(254)?ik(e,-1)||ik(e,0)||-1===e.peek(0)||!t.canShift(255)||e.acceptToken(255,0):e.acceptToken(254,0):e.acceptToken(253,0):e.acceptToken(252,0):e.acceptToken(251,0):e.acceptToken(250,0):e.acceptToken(249,0):e.acceptToken(248,0):e.acceptToken(247,0)},{extend:!0}),iR={__proto__:null,if:14,elseif:20,else:24,end:26,try:30,catch:34,finally:42,for:46,primitive:76,type:78,abstract:86,mutable:92,struct:94,module:100,baremodule:106,macro:112,in:134,isa:136,function:154,do:166,where:172,true:206,false:206,begin:266,while:324,let:330,const:338,global:346,local:350,quote:354,break:358,continue:362,return:366,using:370,import:372,as:380,export:388},i_=tK.deserialize({version:14,states:"%?dQ$tQNSOOOOQj'#IR'#IROOQj'#Gv'#GvO${QNSO'#IQO*cQNTO'#DpO*mQNTO'#DpO/eQNTO'#ITO0OQMyO'#InOOQk'#In'#InO0TQNTO'#InOOQk'#Dp'#DpO;VQNTO'#DpO>{QNQO'#DuOOQk'#Id'#IdO@WQNUO'#EXO@bONzO'#EiO@mONYO'#EmO@xO!!^O'#EnOATQMyO'#EpOD[QNTO'#EpODcQMyO'#EoOG|QNQO'#FjOOQk'#I^'#I^OJgQNTO'#I^O! qQNTO'#I^O!#lQNTO'#IQO!$nQNSO'#IQOOQk'#IU'#IUO!$xQNTO'#GhO!&bQNTO'#GhO!'wQNQO'#GlO!+YQMxO'#GpO!+_QNTO'#ITOOQk'#IT'#ITO!$SQNSO'#IQO!$SQNSO'#IQQOQMxOOO!+iQNQO'#CbOOQk'#Iu'#IuO!'wQNQO'#FzO!.zQNQO'#GOO!2]QNQO'#GQOOQk'#GU'#GUOOQk'#GW'#GWO!5nQNTO'#GYO!6}QNQO'#G[O!7VQNQO'#GeO!7_QNSO'#CaO!7lQNSO'#CjO!7|QNQO'#DRO!8RQNQO'#DWO!8WQNQO'#DZO!9zQNQO'#DZO!:PQNQO'#D_O!:UQNQO'#DbO!;bQNQO'#DeO!=YQNQO'#DzO!=dQNQO'#CrO!+iQNQO'#FsO!=lQNSO'#FvO!7eQNSO'#GSO!7eQNSO'#GgO!=|QNSO-E:tO!>jQNTO,5>VO!@bQNSO,5>VO!?dQNSO,5>VO!@lQNSO,5>lO!8WQNQO,59gO!AWQNUO,59jOOQh'#Cx'#CxOOQh'#Cy'#CyO!A_QMxO,59hO!AdQMxO,5:jO!AiQMyO,5:jO!AqQMxO,59kO!AvQMxO,5<]O!8WQNQO,5lO!'wQNQO'#HfO#2uQNSO,5PQNTO,5=WOOQj-E;i-E;iO#C}QNTO,58|O#HYQNRO'#F}O#HdQMxO'#F|OOQk,5VO$FXQNSO,5>VOOQj,5>V,5>VO$FyQNSO1G4WO$GaQNSO1G4WO$LrQNTO1G/RO%#|QNTO1G/UOOQk'#Ea'#EaOOQk1G0f1G0fO%$rQM}O1G/SO%$yQNQO'#DuOOQk'#Ix'#IxO%%QQNTO1G0UO!AdQMxO1G0UO%-oQNQO1G/VO%-yQNQO'#DmOOQk1G1w1G1wO%.TQNTO'#CzOOQk1G1u1G1uO%2vQNTO1G1vOOQk1G4t1G4tO#.PQNQO,59bO%7|QNQO'#IwOOQ`,5:b,5:bO%8_QNQO'#DwOOQk1G1t1G1tO%8gQNQO,5?bO%8wQMxO,5?bO%QOOQk-E;d-E;dO&#PQNTO1G2SOOQk1G2S1G2SO&$_QNSO1G2SO&)SQNTO1G2tO&+gQNTO1G2tO&-zQNTO1G2tO&.RQNTO1G2tO&0`QNTO1G2tO&0mQNTO1G2tO&2}QNTO1G2tO&3XQNTO1G2tO&5oQNTO1G2tO&5vQNTO1G2tO&7_QNRO1G2uOOQk1G2y1G2yO&9iQNTO1G2tO&9yQM|O1G2oOOQk-E;h-E;hOOQk'#Jg'#JgO&:OQNTO1G2nOOQk1G2n1G2nP]QNSO'#GvOOQk,5oQNQO,5tQNQO'#HgO&>|QNTO,5ROOQk,5>R,5>ROOQk-E;e-E;eO(+oQNQO1G2iOOQk1G2g1G2gOOQk,5>T,5>TOOQk-E;g-E;gOOQh,59O,59OOOQh-E:u-E:uOOQk7+$R7+$RO(+|QNQO7+$RO(,RQNTO,59POOQh,59R,59RO(.yQNTO'#CnOOQh,59W,59WO(4hQNSO,59WOOQh,59Z,59ZOOQh,59[,59[OOQk7+$[7+$[O(4oQNQO7+$[O(4tQNQO7+$[O(4|QNQO7+$sOOQk7+$x7+$xO%$aQM}O1G/SO(5RQNQO,5>rO(5]QMxO,5>rOOQk7+${7+${O(5hQNQO7+${OOQk7+%P7+%POOQk7+%S7+%SO(5mQM|O1G/nO(5xQNQO1G/oOOQa1G/r1G/rO$:gQNQO,5:ZO(6SQNQO1G/tO(6gQMxO1G/tOOQa1G/t1G/tO!7eQNSO7+%VO(6oQNTO'#IxOOQj1G0Z1G0ZOOQj1G0T1G0TOOQk7+%l7+%lOOQj'#EV'#EVO!7eQNSO7+%lO(O,5>OOOQj-E;b-E;bO(>{QNQO7+$dOOQk7+$d7+$dOOQk7+'e7+'eO(?QQNTO1G2PO(?_QMzO1G2POOQb,5>P,5>POOQb-E;c-E;cOOQk7+'h7+'hO(?mQNQO7+'hO(?rQNTO'#IyOOQj'#Iy'#IyO(BgQNSO'#ESO!7eQNSO,5:lOOQk<]AN>]OOQkAN>rAN>rO+6kQNTO<SOOQk,5>S,5>SO,%^QNTO,5>SOOQk-E;f-E;fOOQk1G2j1G2jO,%eQNRO1G/pOOQaAN>aAN>aO,%oQNQOAN>aO,%vQNQO<jQNRO,5QO/1^QNRO,5>QO/3[QNRO,5>QO/3uQNTO,5>QO/6SQNTO,5>QO/6gQNTO,5>QO/7{QNRO,5>QO/8iQNTO1G2SO/OQNRO1G2tO0BWQNTO1G2tO0DeQNTO1G2tO0FPQNRO1G2tO0F^QNRO1G2tO0FwQNTO1G2tO0GOQNRO1G2tO0GlQNRO1G2tO0HSQNTO1G2tO0HZQNTO1G2tO0HbQNRO1G2tO0JYQNRO1G2tO0NzQNTO1G2tO1!xQNRO1G2tO1$pQNRO1G2tO1(xQNTO1G2tO1+VQNTO1G2tO1,nQNRO1G2tO1,xQNRO1G2tO1-SQNTO1G2tO1-^QNRO1G2tO1-hQNRO1G2tO1-rQNTO1G2tO1-|QNTO1G2tO1.WQNRO1G2tO10UQNRO1G2tO14vQNTO1G2tO16tQNRO1G2tO18lQNRO1G2tO1PQNRO<TQNRO1G1dO3?lQNRO1G1dO3?sQNRO1G1dO3BeQNRO1G1dO3BuQNRO1G1dO3B|QNRO1G1dO3CTQNRO1G1dO3C[QNRO1G1dO3CcQNRO1G1dO3CjQNRO1G1dO3F[QNRO1G1dO3HSQNRO1G1dO3I}QNRO1G1dO3KrQNRO1G1dO4 tQNRO1G1dO4#`QNRO1G1dO4#mQNRO1G1dO4&nQNRO1G1dO4&uQNRO1G1dO4&|QNRO1G1dO4'TQNRO1G1dO4'[QNRO1G1dO4'cQNRO1G1dO4+nQNRO1G1dO4-lQNRO1G1dO4/dQNRO1G1dO41_QNRO1G1dO43SQNRO1G1dO47UQNRO1G1dO48mQNRO1G1dO48wQNRO1G1dO49RQNRO1G1dO49]QNRO1G1dO49gQNRO1G1dO49qQNRO1G1dO49{QNRO1G1dO4:VQNRO1G1dO4>hQNRO1G1dO4@fQNRO1G1dO4B^QNRO1G1dO4DXQNRO1G1dO4E|QNRO1G1dO4JOQNRO1G1dO4KgQNRO1G1dO4KnQNRO1G1dO4KuQNRO1G1dO4K|QNRO1G1dO4LTQNRO1G1dO4L[QNRO1G1dO4LcQNRO1G1dO4LjQNRO1G1dO4LqQNRO1G1dO5 fQNRO1G1dO5 yQNRO1G1dO5!ZQNRO1G1dO5!kQNRO1G1dO5!{QNRO1G1dO5$dQNRO1G1dO'<_QNQO,5;{O2.VQNQO,5;{O)2XQNQO,5;{O)#cQNQO,5;{O'<_QNQO7+'PO2.VQNQO7+'PO*FrQNQO7+'PO)2XQNQO7+'PO)9uQNQO7+'PO)#cQNQO7+'PO)6[QNQO7+'PO5$tQNRO1G1gO5'uQNRO1G1gO5)mQNRO1G1gO5*ZQNRO1G1gO5,xQNRO<QQNTO'#EpO5>eQNRO'#EpO5@dQNTO'#EpO5DmQMxO'#GpO5DrQMxO'#GpO5DwQMxO'#GpO5D|QMxO'#GpO!'wQNQO'#FzO!'wQNQO'#FzO!'wQNQO'#FzO!.zQNQO'#GOO!.zQNQO'#GOO!.zQNQO'#GOO5ERQNQO'#GOO5HdQNQO'#GOO5KuQNQO'#GOO5ERQNQO'#GOO5ERQNQO'#GOO5HdQNQO'#GOO5KuQNQO'#GOO!2]QNQO'#GQO!2]QNQO'#GQO!2]QNQO'#GQO6 WQNQO'#GQO6$iQNQO'#GQO6'zQNQO'#GQO6 WQNQO'#GQO6 WQNQO'#GQO6$iQNQO'#GQO6'zQNQO'#GQO!8WQNQO,59gO!8WQNQO,59gO!8WQNQO,59gO!AWQNUO,59jO6+]QMxO,5:aO6+eQNQO,5=[O!'wQNQO'#HfO6.vQNTO,5gQMxO,5:SO6?yQNRO'#IXO6@^QNRO'#EpO6@qQNRO'#EpO6CUQNRO'#EpO6EoQNRO'#EpO6HQQMxO'#F`O6HVQMxO'#F`O6H[QMxO'#F`O6HaQMxO'#F`O6+eQNQO,5=]O6+eQNQO7+(aO6HfQNRO1G2wO6HvQNRO<wQNRO<mQNRO<PO'T({O&a!sa&i!sa~O'p^O~P%$aO'_)PO~P;aO!u)RO!e!ri!f!ri!g!ri!h!ri!x!ri&`!ri&a!ri&c!ri&d!ri&e!ri&h!ri&i!ri&j!ri&v!ri&|!ri&}!ri'O!ri'P!ri'R!ri'S!ri'T!ri'Y!ri'`!ri'c!ri'd!ri'e!ri'f!ri'g!ri'h!ri'}!ri(O!ri(P!ri(Q!ri(V!rig!ri'_!riP!riV!ri_!riv!riy!ri{!ri!O!ri!P!ri!S!ri!V!ri!Y!ri!o!ri#Z!ri#[!ri#y!ri$h!ri$k!ri$o!ri$s!ri$u!ri$w!ri$y!ri${!ri$}!ri%P!ri%Q!ri%Y!ri&y!ri'U!ri'Z!ri'a!ri'p!ri'u!ri'w!ri'x!riY!ri[!ri]!ria!rie!ri(R!ri']!ri~OP)XOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$o=OO$s=RO$u=]O$w!^O$yzO${{O$}3UO%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a)UO'cWO'd)TO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O'Y)eO'Z)dO~P%*ZO'O!gO'P!hO~P#.PO!enX!fnX!gnX!hnX&`nX&enX&jnX&vnX&|nX&}nX'RnX'SnX'TnX'YnX'`nX'cnX'dnX'enX'fnX'gnX'hnX'}nX(OnX(PnX(QnX(VnX'_nXgnXPnXVnX_nXvnXynX{nX!OnX!PnX!SnX!VnX!YnX!onX#ZnX#[nX#ynX$hnX$knX$onX$snX$unX$wnX$ynX${nX$}nX%PnX%QnX%YnX&ynX'UnX'ZnX'anX'pnX'unX'wnX'xnXYnX[nX]nXanXenX!xnX']nX(RnX~P$5PO&c!mO&d!lO&h(QO!e$di!f$di!g$di!h$di&`$di&a$di&e$di&i$di&j$di&v$di&|$di&}$di'O$di'P$di'R$di'S$di'T$di'Y$di'`$di'c$di'd$di'e$di'f$di'g$di'h$di'}$di(O$di(P$di(Q$di(V$dig$di'_$diP$diV$di_$div$diy$di{$di!O$di!P$di!S$di!V$di!Y$di!o$di#Z$di#[$di#y$di$h$di$k$di$o$di$s$di$u$di$w$di$y$di${$di$}$di%P$di%Q$di%Y$di&y$di'U$di'Z$di'a$di'p$di'u$di'w$di'x$diY$di[$di]$dia$die$di(R$di']$di!x$di~OV)mOg%yO&v'kX'_'kX'Z'kX~OP=|O&y%QO~O&v&za&v'ja'_&za'_'ja~P!DiO'Y)qO&v&za&v'ja'_&za'_'ja~OPCpOVuO_!QOg!ZOv!ROyhO{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#ZfO#[fO#y!_O$h![O$k!]O$owO$s=XO$u=cO$w!^O$yzO${{O$}|O%P}O%Q}O%Y!OO&y[O&|YO&}YO'O!gO'P!hO'RSO'SVO'TTO'UeO'`YO'aZO'cWO'dXO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O'_)tO~P%9YO&v)uO'_)tO~O'Y)wO&v'jX'_'jX~O&aii&cii&dii&hii&iii'Oii'Pii~O!eii!fii!gii!hii&`ii&eii&jii&vii&|ii&}ii'Rii'Sii'Tii'Yii'`ii'cii'dii'eii'fii'gii'hii'}ii(Oii(Pii(Qii(S!ii(Viigii'_iiPiiVii_iiviiyii{ii!Oii!Pii!Sii!Vii!Yii!oii#Zii#[ii#yii$hii$kii$oii$sii$uii$wii$yii${ii$}ii%Pii%Qii%Yii&yii'Uii'Zii'aii'pii'uii'wii'xiiYii[ii]iiaiieii(Rii']ii~P%=]O&v!tO'_)yO~O&v!tO'_)zO~O&y){O~O&k(zO~O!evO!fvO!g#qO!h#rO&e#vO&|*OO&}*OO'R#oO'SVO'T#xO'`#lO'cWO'dWO'e#nO'f#kO'g#qO'}#mO(O#sO(P#tO(Q#uO(V#wO~O'h#pO&`%di&j%di&v%di'Y%diY%di[%di]%dia%die%di']%di'_%di'Z%di(R%di~P%CRO&p*PO~O&o*QO~O&q*RO~O'Z*TO~P#.PO'Y*UO'Z*TO~O'Z*WO~O!g?rO!h?vO'R?jO'T@SO'`?^O'e?fO'f?YO'g?rO'h?nO'}?bO(O?zO(P@OO(QDjOg&UX'Z&UX~P#&YO'Z*YO~P#*[O&v*ZO'Z*YO~O!evO!fvO!g4qO!h4xO&e#vO'R4cO'SVO'T5_O'Y3gO'`3|O'cWO'dWO'e4[O'f3uO'g4qO'h4jO'}4TO(O5PO(P5WO(QCxO(V#wO~O&`%ii&j%ii&v%iiY%ii[%ii]%iia%iie%ii~P%GmO&|*]O&}*]O~O&a=hO&i=hO~O&a*^O&h*_O!e$WX!f$WX!g$WX!h$WX&`$WX&e$WX&f#dX&g#dX&j$WX&v$WX&|$WX&}$WX'R$WX'S$WX'T$WX'Y$WX'`$WX'c$WX'd$WX'e$WX'f$WX'g$WX'h$WX'}$WX(O$WX(P$WX(Q$WX(V$WXg$WX'_$WXP$WXV$WX_$WXv$WXy$WX{$WX!O$WX!P$WX!S$WX!V$WX!Y$WX!o$WX#Z$WX#[$WX#y$WX$h$WX$k$WX$o$WX$s$WX$u$WX$w$WX$y$WX${$WX$}$WX%P$WX%Q$WX%Y$WX&y$WX'U$WX'Z$WX'a$WX'p$WX'u$WX'w$WX'x$WXY$WX[$WX]$WXa$WXe$WX(R$WX']$WX~O!evO!fvO!g#qO!h#rO&e#vO'R#oO'SVO'T#xO'`#lO'cWO'dWO'e#nO'f#kO'g#qO'}#mO(O#sO(P#tO(Q#uO(V#wO&`&Ya&j&Ya&v&Ya&|&Ya&}&Ya'Y&YaY&Ya[&Ya]&Yaa&Yae&Ya~O'h#pO~P%NxO&|#jO&}#jO&`$pi&j$pi&v$piY$pi[$pi]$pia$pie$pi~P#FuO&`$pi&j$pi&v$piY$pi[$pi]$pia$pie$pi~O&|#jO&}#jO~P&#sO&e#vO(V#wO!e%bi!f%bi!g%bi!h%bi&`%bi&j%bi&v%bi&|%bi&}%bi'R%bi'S%bi'T%bi'Y%bi'`%bi'c%bi'd%bi'e%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%big%bi'_%biP%biV%bi_%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&y%bi'U%bi'Z%bi'a%bi'p%bi'u%bi'w%bi'x%biY%bi[%bi]%bia%bie%bi(R%bi']%bi~O'f%bi~P&$iO&e#vO'f#kO(V#wO!e%bi!f%bi!g%bi!h%bi&`%bi&j%bi&v%bi&|%bi&}%bi'R%bi'S%bi'T%bi'Y%bi'c%bi'd%bi'e%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%biY%bi[%bi]%bia%bie%bi'_%bi']%bi'Z%bi(R%bi~O'`%bi~P&)ZO!evO!fvO!g#qO!h#rO&e#vO'R#oO'SVO'T#xO'`#lO'cWO'dWO'e#nO'f#kO'g#qO'}#mO(O#sO(P#tO(Q#uO(V#wO&`%bi&j%bi&v%bi&|%bi&}%bi'Y%biY%bi[%bi]%bia%bie%bi'_%bi']%bi'Z%bi(R%bi~O'h%bi~P&+nO'`#lO~P&)ZO&e#vO(V#wO!e%bi!f%bi!g%bi!h%bi&`%bi&j%bi&v%bi&|%bi&}%bi'R%bi'S%bi'T%bi'Y%bi'c%bi'd%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%biY%bi[%bi]%bia%bie%bi'_%bi']%bi'Z%bi(R%bi~O'`#lO'e#nO'f#kO~P&.YO'h#pO~P&+nO&e#vO'R#oO'SVO'T#xO'`#lO'cWO'dWO'e#nO'f#kO(V#wO!e%bi!f%bi&`%bi&j%bi&v%bi&|%bi&}%bi'Y%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%biY%bi[%bi]%bia%bie%bi'_%bi']%bi'Z%bi(R%bi~O!g#qO!h#rO~P&0tO!g%bi!h%bi~P&0tO!evO!fvO!g#qO!h#rO&e#vO'R#oO'SVO'T#xO'`#lO'cWO'dWO'e#nO'f#kO'g#qO(P#tO(V#wO&`%bi&j%bi&v%bi&|%bi&}%bi'Y%bi'h%bi'}%bi(Q%biY%bi[%bi]%bia%bie%bi'_%bi']%bi'Z%bi(R%bi~O(O#sO~P&3cO(O%bi~P&3cO!evO!fvO!g4rO!h4yO&e#vO'R4dO'SVO'T5`O'`3}O'cWO'dWO'e4]O'f3vO'g4rO'h4kO'}4UO(O5QO(P5XO(QCyO(V#wO~O(R*`O~P&5}O&e#vO'SVO'cWO'dWO(V#wO!e%bi!f%bi!g%bi!h%bi&`%bi&j%bi&v%bi&|%bi&}%bi'T%bi'Y%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%biY%bi[%bi]%bia%bie%bi'_%bi']%bi'Z%bi(R%bi~O'R#oO'`#lO'e#nO'f#kO~P&7fO&k*aO~O!u)RO!e%[i!f%[i!g%[i!h%[i&`%[i&e%[i&j%[i&v%[i&|%[i&}%[i'R%[i'S%[i'T%[i'Y%[i'`%[i'c%[i'd%[i'e%[i'f%[i'g%[i'h%[i'}%[i(O%[i(P%[i(Q%[i(V%[ig%[i'_%[iP%[iV%[i_%[iv%[iy%[i{%[i!O%[i!P%[i!S%[i!V%[i!Y%[i!o%[i#Z%[i#[%[i#y%[i$h%[i$k%[i$o%[i$s%[i$u%[i$w%[i$y%[i${%[i$}%[i%P%[i%Q%[i%Y%[i&y%[i'U%[i'Z%[i'a%[i'p%[i'u%[i'w%[i'x%[iY%[i[%[i]%[ia%[ie%[i(R%[i']%[i~OP*cO~OP*dO'S$cO~O'Y'hO!e%Ra!f%Ra!g%Ra!h%Ra&`%Ra&e%Ra&j%Ra&v%Ra&|%Ra&}%Ra'R%Ra'S%Ra'T%Ra'`%Ra'c%Ra'd%Ra'e%Ra'f%Ra'g%Ra'h%Ra'}%Ra(O%Ra(P%Ra(Q%Ra(V%Rag%Ra'_%RaP%RaV%Ra_%Rav%Ray%Ra{%Ra!O%Ra!P%Ra!S%Ra!V%Ra!Y%Ra!o%Ra#Z%Ra#[%Ra#y%Ra$h%Ra$k%Ra$o%Ra$s%Ra$u%Ra$w%Ra$y%Ra${%Ra$}%Ra%P%Ra%Q%Ra%Y%Ra&y%Ra'U%Ra'Z%Ra'a%Ra'p%Ra'u%Ra'w%Ra'x%RaY%Ra[%Ra]%Raa%Rae%Ra(R%Ra']%Ra~O'T*gO~OP*hO~OP*iO'p^O~O'Y'lO!e%Xi!f%Xi!g%Xi!h%Xi&`%Xi&e%Xi&j%Xi&v%Xi&|%Xi&}%Xi'R%Xi'S%Xi'T%Xi'`%Xi'c%Xi'd%Xi'e%Xi'f%Xi'g%Xi'h%Xi'}%Xi(O%Xi(P%Xi(Q%Xi(V%Xig%Xi'_%XiP%XiV%Xi_%Xiv%Xiy%Xi{%Xi!O%Xi!P%Xi!S%Xi!V%Xi!Y%Xi!o%Xi#Z%Xi#[%Xi#y%Xi$h%Xi$k%Xi$o%Xi$s%Xi$u%Xi$w%Xi$y%Xi${%Xi$}%Xi%P%Xi%Q%Xi%Y%Xi&y%Xi'U%Xi'Z%Xi'a%Xi'p%Xi'u%Xi'w%Xi'x%XiY%Xi[%Xi]%Xia%Xie%Xi(R%Xi']%Xi~OY'qO['rO]*mO~OVuO_!QOg!ZOv!ROyhO{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#ZfO#[fO#y!_O$h![O$k!]O$owO$sxO$uyO$w!^O$yzO${{O$}|O%P}O%Q}O%Y!OO&jPO&vPO&y[O&|YO&}YO'RSO'SVO'TTO'UeO'`YO'aZO'cWO'dXO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO[&tP]&tPe&tP~OP*qO~P&HuO]&tPe&tP~P]O]*vO~O]*vOe'wO~O['vO]*vOe'wO~OyxX~P$5POy*yO~O]|X~P$5PO]*zO~O'S*{O~O&v%}O'Y*|O'_&PO~O'_%zO~O]+OO~O]+QO~O]+RO~O'S+SO~O'U+TO~O&c(^O&d(]O&h>fO&|+VO&}+VO&v'^X'_'^X~O&v+WO'_+YO~O]+_O~OP+`O'[%pO~O!evO!fvO!g#qO!h#rO&e#vO'R#oO'SVO'T#xO'`#lO'cWO'dWO'e#nO'f#kO'g#qO'h#pO'}#mO(O#sO(P#tO(Q#uO(V#wO~O&|%vO&}%vO'Y&{X&v&{X'_&{X~P' uO'Y*|O~O]+fO~O]+gO~OP%WO&y$nO~P!;lO'Y(sO&j$la&v$la~O]+lO~O&`&tqY&tq[&tq]&tqa&tqe&tq~P]O&a7|O&i7|O~O&jPO&vPO'O!gO'P!hO~PDkO!u)RO!e!rq!f!rq!g!rq!h!rq!x!rq&`!rq&a!rq&c!rq&d!rq&e!rq&h!rq&i!rq&j!rq&v!rq&|!rq&}!rq'O!rq'P!rq'R!rq'S!rq'T!rq'Y!rq'`!rq'c!rq'd!rq'e!rq'f!rq'g!rq'h!rq'}!rq(O!rq(P!rq(Q!rq(V!rqg!rq'_!rqP!rqV!rq_!rqv!rqy!rq{!rq!O!rq!P!rq!S!rq!V!rq!Y!rq!o!rq#Z!rq#[!rq#y!rq$h!rq$k!rq$o!rq$s!rq$u!rq$w!rq$y!rq${!rq$}!rq%P!rq%Q!rq%Y!rq&y!rq'U!rq'Z!rq'a!rq'p!rq'u!rq'w!rq'x!rqY!rq[!rq]!rqa!rqe!rq(R!rq']!rq~OP$PXV$PX]$PX_$PXg$PXg'bXv$PXy$PX{$PX!O$PX!P$PX!S$PX!V$PX!Y$PX!e$PX!e'bX!f$PX!f'bX!g$PX!g'bX!h$PX!h'bX!o$PX#Z$PX#[$PX#y$PX$h$PX$k$PX$o$PX$s$PX$u$PX$w$PX$y$PX${$PX$}$PX%P$PX%Q$PX%Y$PX&a'bX&c'bX&d'bX&e'bX&h'bX&i'bX&y$PX&|$PX&|'bX&}$PX&}'bX'O'bX'R$PX'R'bX'S$PX'S'bX'T$PX'T'bX'U$PX'Y'bX'Z'bX'`$PX'`'bX'a$PX'c$PX'c'bX'd$PX'd'bX'e$PX'e'bX'f$PX'f'bX'g$PX'g'bX'h$PX'h'bX'p$PX'u$PX'w$PX'x$PX'}'bX(O'bX(P'bX(Q'bX(V'bX&v'bX'_'bX~OP$PXV$PX]$PX_$PXv$PXy$PX{$PX!O$PX!P$PX!S$PX!V$PX!Y$PX!e!dX!f!dX!g!dX!h!dX!o$PX#Z$PX#[$PX#y$PX$h$PX$k$PX$o$PX$s$PX$u$PX$w$PX$y$PX${$PX$}$PX%P$PX%Q$PX%Y$PX&a!dX&c!dX&d!dX&e!dX&h!dX&i!dX&y$PX&|!dX&}!dX'O!dX'R!dX'S!dX'T!dX'U$PX'Y!dX'Z!dX'`!dX'a$PX'c!dX'd!dX'e!dX'f!dX'g!dX'h!dX'p$PX'u$PX'w$PX'x$PX'}!dX(O!dX(P!dX(Q!dX(V!dX&v!dX'_!dX~Og!dX~P'0ZOg'VX!e'VX!f'VX!g'VX!h'VX&e'VX&|'VX&}'VX'R'VX'S'VX'T'VX'Y'VX'Z'VX'`'VX'c'VX'd'VX'e'VX'f'VX'g'VX'h'VX'}'VX(O'VX(P'VX(Q'VX(V'VX&v'VX'_'VXP'VXV'VX]'VX_'VXv'VXy'VX{'VX!O'VX!P'VX!S'VX!V'VX!Y'VX!o'VX#Z'VX#['VX#y'VX$h'VX$k'VX$o'VX$s'VX$u'VX$w'VX$y'VX${'VX$}'VX%P'VX%Q'VX%Y'VX&y'VX'U'VX'a'VX'p'VX'u'VX'w'VX'x'VX(R'VX']'VX~O&a+uO&c+wO&d+tO&h+sO&i+uO'O!gO~P'4uO&v+}O'O!gO'P!hO'_,QO~P%*ZOg'qX!e'qX!f'qX!g'qX!h'qX&a'qX&c'qX&d'qX&e'qX&f#dX&g#dX&h'qX&i'qX&|'qX&}'qX'O'qX'R'qX'S'qX'T'qX'Y'qX'Z'qX'`'qX'c'qX'd'qX'e'qX'f'qX'g'qX'h'qX'}'qX(O'qX(P'qX(Q'qX(V'qX&v'qX'_'qX~O(S,TO~P'9wOP>hOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$o=PO$s=SO$u=^O$w!^O$yzO${{O$}3VO%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'aYO'cWO'd8SO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O'Z,UO~P'<_Og'qX!e'qX!f'qX!g'qX!h'qX&c'qX&d'qX&e'qX&h'qX&|'qX&}'qX'O'qX'R'qX'S'qX'T'qX'Y'qX'Z'qX'`'qX'c'qX'd'qX'e'qX'f'qX'g'qX'h'qX'}'qX(O'qX(P'qX(Q'qX(V'qX&v'qX'_'qXP'qXV'qX]'qX_'qXv'qXy'qX{'qX!O'qX!P'qX!S'qX!V'qX!Y'qX!o'qX#Z'qX#['qX#y'qX$h'qX$k'qX$o'qX$s'qX$u'qX$w'qX$y'qX${'qX$}'qX%P'qX%Q'qX%Y'qX&y'qX'U'qX'a'qX'p'qX'u'qX'w'qX'x'qX(R'qX']'qX~O&a,YO&i,YO~P'?zO&a,`O&c,aO&h,ZO&e!zX'Y!zX'Z!zX'}!zX(O!zX(P!zX(Q!zX(V!zX&v!zX'_!zX(R!zX']!zX~P'<_O&a,`O&c,aO&e!zX'Y!zX'Z!zX'}!zX(O!zX(P!zX(Q!zX(V!zX&v!zX'_!zX(R!zX']!zX~P'<_Og,wO!evO!fvO!g,mO!h,nO&e,rO'R,kO'SVO'T,xO'`,hO'cWO'dWO'e,jO'f,gO'g,mO'h,lO'},iO(O,oO(P,pO(Q,qO(V,sO~O&|,uO&},uO'Y,dO'Z,vO~P'FoO(S,TO~O&a,YO&i,YO~P'4uO'Z,vO~O'Y,yO'Z,vO~O'Y,dO'Z,vO~O!evO!fvO!g4qO!h4xO&e#vO'R4cO'SVO'T5_O'`3|O'cWO'dWO'e4[O'f3uO'g4qO'h4jO'}4TO(O5PO(P5WO(QCxO(V#wO~O'Y,zO'],|O~P'IYO'Y,zO'],|O~O&vji'Yji'_ji~P'IYOV)mOg%yO&v'ka'_'ka'Z'ka~OPDYOVuO_!QOg!ZOv!ROyhO{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#ZfO#[fO#y!_O$h![O$k!]O$o=QO$s=WO$u=bO$w!^O$yzO${{O$}3XO%P}O%Q}O%Y!OO&y[O&|YO&}YO'RSO'SVO'TTO'UeO'`YO'a2}O'cWO'd2yO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O'Y-POV!kag!ka&v!ka'_!ka'Z!ka~O&v&zi&v'ji'_&zi'_'ji~O&v&zi&v'ji'_&zi'_'ji~P!DiO'_-TO~P%9YO&v'ja'_'ja~P!DiO'Y-WO&v'ja'_'ja~OPCpOVuO_!QOg!ZOv!ROyhO{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#ZfO#[fO#y!_O$h![O$k!]O$owO$s=[O$u=fO$w!^O$yzO${{O$}3ZO%P}O%Q}O%Y!OO&y[O&|YO&}YO'RSO'SVO'TTO'UeO'`YO'a3OO'cWO'd2zO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O'u-[O~O'w-]O~O'x-^O~O'Y&Ta'Z&Ta~P'IYO'Z-_O~P#.PO'Z-aO~P#*[O'S-gO~O%U'kO'S'gO!e&Za!f&Za!g&Za!h&Za&`&Za&e&Za&j&Za&v&Za&|&Za&}&Za'R&Za'T&Za'Y&Za'`&Za'c&Za'd&Za'e&Za'f&Za'g&Za'h&Za'}&Za(O&Za(P&Za(Q&Za(V&Zag&Za'_&ZaP&ZaV&Za_&Zav&Zay&Za{&Za!O&Za!P&Za!S&Za!V&Za!Y&Za!o&Za#Z&Za#[&Za#y&Za$h&Za$k&Za$o&Za$s&Za$u&Za$w&Za$y&Za${&Za$}&Za%P&Za%Q&Za%Y&Za&y&Za'U&Za'Z&Za'a&Za'p&Za'u&Za'w&Za'x&ZaY&Za[&Za]&Zaa&Zae&Za(R&Za']&Za~OP-jO'S-iO'p^O~P?SO]-oO~OPXaVXaYXa[Xa]Xa_XagXavXayXa{Xa!OXa!PXa!SXa!VXa!YXa!oXa#ZXa#[Xa#yXa$hXa$kXa$oXa$sXa$uXa$wXa$yXa${Xa$}Xa%PXa%QXa%YXa&jXa&vXa&yXa&|Xa&}Xa'UXa'aXa'pXa'uXa'wXa'xXa~P#BmO(S#]OPbXVbX[bX['QX]bX]'QX_bXebXe'QXgbXvbXybX{bX!ObX!PbX!SbX!VbX!YbX!ebX!e'QX!fbX!f'QX!gbX!g'QX!hbX!h'QX!obX#ZbX#[bX#ybX$hbX$kbX$obX$sbX$ubX$wbX$ybX${bX$}bX%PbX%QbX%YbX&e'QX&jbX&j'QX&vbX&v'QX&ybX&|bX&|'QX&}bX&}'QX'RbX'R'QX'SbX'S'QX'TbX'T'QX'UbX'Y'QX'`bX'`'QX'abX'cbX'c'QX'dbX'd'QX'ebX'e'QX'fbX'f'QX'gbX'g'QX'hbX'h'QX'pbX'ubX'wbX'xbX'}'QX(O'QX(P'QX(Q'QX(V'QX~P$:}OPcO~P&HuO]-qO~O]-qOe'wO~O]-sO~O&v&za'_&za~P!DiO'Y-uO&v&za'_&za~O]-vO~O&k(zO'R>RO'T8PO~O'Y-zO'Z-yO~P%*ZO'O!gO'P!hO'RCmO'T={O'_.PO~P!:ZO&v.QO'_.PO~OP'nXV'nX]'nX_'nXg'nXv'nXy'nX{'nX!O'nX!P'nX!S'nX!V'nX!Y'nX!e'nX!f'nX!g'nX!h'nX!o'nX!u'lX!x'nX#Z'nX#['nX#y'nX$h'nX$k'nX$o'nX$s'nX$u'nX$w'nX$y'nX${'nX$}'nX%P'nX%Q'nX%Y'nX&a'lX&c'lX&d'lX&h'lX&i'lX&j'nX&v'nX&y'nX&|'nX&}'nX'O'lX'P'lX'R'nX'S'nX'T'nX'U'nX'`'nX'a'nX'c'nX'd'nX'e'nX'f'nX'g'nX'h'nX'p'nX'u'nX'w'nX'x'nX~O!evO!fvO!g4mO!h4tO&e#vO'R4_O'SVO'T5ZO'`3xO'cWO'dWO'e4WO'f3qO'g4mO'h4fO'}4PO(O4{O(P5SO(QCtO(V#wO~OPhiVhi]hi_highivhiyhi{hi!Ohi!Phi!Shi!Vhi!Yhi!ohi#Zhi#[hi#yhi$hhi$khi$ohi$shi$uhi$whi$yhi${hi$}hi%Phi%Qhi%Yhi&jhi&vhi&yhi&|hi&}hi'Uhi'Yhi'ahi'phi'uhi'whi'xhi~P(:vO].UO~O&j$mi&v$mi'Y$mi~P'IYO&}.VO&j$mi&v$mi'Y$mi~O].WO~OP'mXV'mX]'mX_'mXg'mXv'mXy'mX{'mX!O'mX!P'mX!S'mX!V'mX!Y'mX!o'mX#Z'mX#['mX#y'mX$h'mX$k'mX$o'mX$s'mX$u'mX$w'mX$y'mX${'mX$}'mX%P'mX%Q'mX%Y'mX&j'mX&v'mX&y'mX&|'mX&}'mX'U'mX'Y'mX'a'mX'p'mX'u'mX'w'mX'x'mX~P(:vO'Y.XOP!vXV!vX]!vX_!vXg!vXv!vXy!vX{!vX!O!vX!P!vX!S!vX!V!vX!Y!vX!e!vX!f!vX!g!vX!h!vX!o!vX#Z!vX#[!vX#y!vX$h!vX$k!vX$o!vX$s!vX$u!vX$w!vX$y!vX${!vX$}!vX%P!vX%Q!vX%Y!vX&j!vX&v!vX&y!vX&|!vX&}!vX'R!vX'S!vX'T!vX'U!vX'`!vX'a!vX'c!vX'd!vX'e!vX'f!vX'g!vX'h!vX'p!vX'u!vX'w!vX'x!vX~O'S.[O~O'U.]O~O&y.^O~O&a.aO&i.aO~O'[.bO~O&|.eO&}.eO&v'tX'Y'tX'_'tX~P'FoO'_.fO&v'sX'_'sX~O&v.iO'Y.gO'_.kO&v'sX'_'sX~O'O!gO'P!hO&v#YX'_#YX~P%*ZO&v+}O'_.pO~Og#ja!e#ja!f#ja!g#ja!h#ja&a#ja&c#ja&d#ja&e#ja&h#ja&i#ja&|#ja&}#ja'O#ja'R#ja'S#ja'T#ja'Y#ja'Z#ja'`#ja'c#ja'd#ja'e#ja'f#ja'g#ja'h#ja'}#ja(O#ja(P#ja(Q#ja(S#Wa(V#ja&v#ja'_#jaP#jaV#ja]#ja_#jav#jay#ja{#ja!O#ja!P#ja!S#ja!V#ja!Y#ja!o#ja#Z#ja#[#ja#y#ja$h#ja$k#ja$o#ja$s#ja$u#ja$w#ja$y#ja${#ja$}#ja%P#ja%Q#ja%Y#ja&y#ja'U#ja'a#ja'p#ja'u#ja'w#ja'x#ja(R#ja']#ja~O&v+}O'_.rO~O&v+}O'_.tO~O!evO!fvO&e,rO'SVO'cWO'dWO(V,sOP%}XV%}X]%}X_%}Xv%}Xy%}X{%}X!O%}X!P%}X!S%}X!V%}X!Y%}X!o%}X#Z%}X#[%}X#y%}X$h%}X$k%}X$o%}X$s%}X$u%}X$w%}X$y%}X${%}X$}%}X%P%}X%Q%}X%Y%}X&v%}X&y%}X&|%}X&}%}X'U%}X'a%}X'p%}X'u%}X'w%}X'x%}X~Og,wO!g9qO!h9xO'R9cO'T:_O'Y.wO'Z.yO'`8|O'e9[O'f8uO'g9qO'h9jO'}9TO(O:PO(P:WO(QC}O~P(M^OP>kOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$o=PO$s=YO$u=dO$w!^O$yzO${{O$}3]O%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'aYO'cWO'd8SO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O&v#tX'Z#tX~P)#cO&v.}O'Z/PO~O'S/RO~O&|/UO&}/UOP&QXV&QX]&QX_&QXg&QXv&QXy&QX{&QX!O&QX!P&QX!S&QX!V&QX!Y&QX!o&QX#Z&QX#[&QX#y&QX$h&QX$k&QX$o&QX$s&QX$u&QX$w&QX$y&QX${&QX$}&QX%P&QX%Q&QX%Y&QX&y&QX'U&QX'Z&QX'a&QX'p&QX'u&QX'w&QX'x&QX&v&QX'_&QX(R&QX']&QX~O!evO!fvO!g9qO!h9xO&e,rO'R9cO'SVO'T:_O'Y/SO'`8|O'cWO'dWO'e9[O'f8uO'g9qO'h9jO'}9TO(O:PO(P:WO(QC}O(V,sO~P)'`O!e&QX!f&QX!g&QX!h&QX&e&QX'R&QX'S&QX'T&QX'Y&QX'`&QX'c&QX'd&QX'e&QX'f&QX'g&QX'h&QX'}&QX(O&QX(P&QX(Q&QX(V&QX~P)'`O&e#{X'Y#{X'Z#{X'}#{X(O#{X(P#{X(Q#{X(V#{X&v#{X'_#{X(R#{X']#{X~P'<_O(V,sOg$Oa!e$Oa!f$Oa!g$Oa!h$Oa&e$Oa&|$Oa&}$Oa'R$Oa'S$Oa'T$Oa'Y$Oa'Z$Oa'`$Oa'c$Oa'd$Oa'e$Oa'f$Oa'g$Oa'h$Oa'}$Oa(O$Oa(P$Oa(Q$Oa&v$Oa'_$OaP$OaV$Oa]$Oa_$Oav$Oay$Oa{$Oa!O$Oa!P$Oa!S$Oa!V$Oa!Y$Oa!o$Oa#Z$Oa#[$Oa#y$Oa$h$Oa$k$Oa$o$Oa$s$Oa$u$Oa$w$Oa$y$Oa${$Oa$}$Oa%P$Oa%Q$Oa%Y$Oa&y$Oa'U$Oa'a$Oa'p$Oa'u$Oa'w$Oa'x$Oa(R$Oa']$Oa~OP>jOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$owO$sxO$uyO$w!^O$yzO${{O$}|O%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8XO'cWO'd8VO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O'Z/]O~P)2XO'Y/^O'Z/]O~OV/bOg,wO'Y'zX'Z'zX~OPDbOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$owO$s=[O$u=fO$w!^O$yzO${{O$}3[O%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8[O'cWO'd8WO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O(T/nO~OP>jOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$owO$s=ZO$u=eO$w!^O$yzO${{O$}3ZO%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8[O'cWO'd8WO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~OP/qO&y/pO~O'O!gO'P!hO']/vO~P#.PO'Y/wO']/vO~O!evO!fvO!g?tO!h?xO&e#vO'R?lO'SVO'T@UO'`?`O'cWO'dWO'e?hO'f?[O'g?tO'h?pO'}?dO(O?|O(P@QO(QDlO(V#wO~OV!lag!la&v!la'_!la'Z!la~P)=xO'Y-POV!kig!ki&v!ki'_!ki'Z!ki~O&v&zq&v'jq'_&zq'_'jq~O'O!gO'P!hO~P!'wO&v'ji'_'ji~P!DiO!evO!fvO!g?uO!h?yO&e#vO'R?mO'SVO'T@VO'`?aO'cWO'dWO'e?iO'f?]O'g?uO'h?qO'}?eO(O?}O(P@RO(QDmO(V#wO~O'_/|O~P)@uO&`%ei&j%ei&v%ei'Y%ei'h%eiY%ei[%ei]%eia%eie%ei']%ei'_%ei'Z%ei(R%ei~P%CRO&`%iy&j%iy&v%iyY%iy[%iy]%iya%iye%iy~P%GmO&k(zO'R&wO'T8QO~O!evO!fvO&e#vO'SVO'cWO'dWO(V#wO&`%cy&j%cy&v%cy&|%cy&}%cy'Y%cy'h%cy'}%cyY%cy[%cy]%cya%cye%cy'_%cy']%cy'Z%cy(R%cy~O!g#qO!h#rO'R#oO'T#xO'`#lO'e#nO'f#kO'g#qO(O#sO(P#tO(Q#uO~P)DVOP'fO&i!pO'S$cO~O%U0RO'Y0PO!e(YX!f(YX!g(YX!h(YX&`(YX&e(YX&j(YX&v(YX&|(YX&}(YX'R(YX'T(YX'`(YX'c(YX'd(YX'e(YX'f(YX'g(YX'h(YX'}(YX(O(YX(P(YX(Q(YX(V(YXg(YX'_(YXP(YXV(YX_(YXv(YXy(YX{(YX!O(YX!P(YX!S(YX!V(YX!Y(YX!o(YX#Z(YX#[(YX#y(YX$h(YX$k(YX$o(YX$s(YX$u(YX$w(YX$y(YX${(YX$}(YX%P(YX%Q(YX%Y(YX&y(YX'U(YX'Z(YX'a(YX'p(YX'u(YX'w(YX'x(YXY(YX[(YX](YXa(YXe(YX(R(YX'](YX~O'S'gO~P)FuO%U0RO'S'gO~O'Y0PO!e(YX!f(YX!g(YX!h(YX&`(YX&e(YX&j(YX&v(YX&|(YX&}(YX'R(YX'S(YX'T(YX'`(YX'c(YX'd(YX'e(YX'f(YX'g(YX'h(YX'}(YX(O(YX(P(YX(Q(YX(V(YXg(YX'_(YXP(YXV(YX_(YXv(YXy(YX{(YX!O(YX!P(YX!S(YX!V(YX!Y(YX!o(YX#Z(YX#[(YX#y(YX$h(YX$k(YX$o(YX$s(YX$u(YX$w(YX$y(YX${(YX$}(YX%P(YX%Q(YX%Y(YX&y(YX'U(YX'Z(YX'a(YX'p(YX'u(YX'w(YX'x(YXY(YX[(YX](YXa(YXe(YX(R(YX'](YX~O'S(YX~P)FuO]0SO~O&v&zi'_&zi~P!DiO&|0UO&}0UO'Y0VO'Z0XO~P'FoO'Z0XO~O'Y0YO'Z0XO~O'Y0VO'Z0XO~O&c(^O&d(]O&h>fO&v!ci'_!ci~O'O!gO'P!hO'RCmO'T={O'_0ZO~P!:ZO]0]O~O]0^O~O'Y.XOP!vaV!va]!va_!vag!vav!vay!va{!va!O!va!P!va!S!va!V!va!Y!va!e!va!f!va!g!va!h!va!o!va#Z!va#[!va#y!va$h!va$k!va$o!va$s!va$u!va$w!va$y!va${!va$}!va%P!va%Q!va%Y!va&j!va&v!va&y!va&|!va&}!va'R!va'S!va'T!va'U!va'`!va'a!va'c!va'd!va'e!va'f!va'g!va'h!va'p!va'u!va'w!va'x!va~O]0bO~O&k(zO'R>QO'T8RO'p^O&a#Va&i#Va~O'Y0gO'Z0fO~P%*ZO&v+}O'O!gO'P!hO'_0kO~P%*ZO!u)ROg#Ui!e#Ui!f#Ui!g#Ui!h#Ui&a#Ui&c#Ui&d#Ui&e#Ui&h#Ui&i#Ui&|#Ui&}#Ui'O#Ui'R#Ui'S#Ui'T#Ui'Y#Ui'Z#Ui'`#Ui'c#Ui'd#Ui'e#Ui'f#Ui'g#Ui'h#Ui'}#Ui(O#Ui(P#Ui(Q#Ui(V#Ui&v#Ui'_#UiP#UiV#Ui]#Ui_#Uiv#Uiy#Ui{#Ui!O#Ui!P#Ui!S#Ui!V#Ui!Y#Ui!o#Ui#Z#Ui#[#Ui#y#Ui$h#Ui$k#Ui$o#Ui$s#Ui$u#Ui$w#Ui$y#Ui${#Ui$}#Ui%P#Ui%Q#Ui%Y#Ui&y#Ui'U#Ui'a#Ui'p#Ui'u#Ui'w#Ui'x#Ui(R#Ui']#Ui~O'O!gO'P!hO~P)9uO'O!gO'P!hO&v'sa&v'ya'_'sa'_'ya~P%*ZO'Y0sO&v'sa&v'ya'_'sa'_'ya~OPDbOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$owO$s=XO$u=cO$w!^O$yzO${{O$}|O%P}O%Q}O%Y!OO&y)WO&|YO&}YO'O!gO'P!hO'RCnO'SVO'TCoO'U)YO'`YO'a8XO'cWO'd8VO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O'_0wO~P*/TO&v0xO'_0wO~O'Y0zO&v'sX'_'sX~Og#ji!e#ji!f#ji!g#ji!h#ji&a#ji&c#ji&d#ji&e#ji&h#ji&i#ji&|#ji&}#ji'O#ji'R#ji'S#ji'T#ji'Y#ji'Z#ji'`#ji'c#ji'd#ji'e#ji'f#ji'g#ji'h#ji'}#ji(O#ji(P#ji(Q#ji(S#Wi(V#ji&v#ji'_#jiP#jiV#ji]#ji_#jiv#jiy#ji{#ji!O#ji!P#ji!S#ji!V#ji!Y#ji!o#ji#Z#ji#[#ji#y#ji$h#ji$k#ji$o#ji$s#ji$u#ji$w#ji$y#ji${#ji$}#ji%P#ji%Q#ji%Y#ji&y#ji'U#ji'a#ji'p#ji'u#ji'w#ji'x#ji(R#ji']#ji~O&v+}O'_0|O~O&v+}O'_0}O~O!evO!fvO!g,mO!h,nO&e,rO&|1OO&}1OO'R,kO'SVO'T,xO'`,hO'cWO'dWO'e,jO'f,gO'g,mO'},iO(O,oO(P,pO(Q,qO(V,sO~O'h,lOg$Si'Y$Si'Z$Si&v$Si'_$Si~P*8[O'Z1QO~P)9uO'Y1RO'Z1QO~O'Z1TO~O!g9vO!h9}O'R9hO'T:dO'`9RO'e9aO'f8zO'g9vO'h9oO'}9YO(O:UO(P:]O(QDSOg%}X'Z%}X~P(M^O'Z1VO~P)#cO&v1WO'Z1VO~O&k1YO~O'Y/SOP#}aV#}a]#}a_#}ag#}av#}ay#}a{#}a!O#}a!P#}a!S#}a!V#}a!Y#}a!e#}a!f#}a!g#}a!h#}a!o#}a#Z#}a#[#}a#y#}a$h#}a$k#}a$o#}a$s#}a$u#}a$w#}a$y#}a${#}a$}#}a%P#}a%Q#}a%Y#}a&e#}a&y#}a&|#}a&}#}a'R#}a'S#}a'T#}a'U#}a'Z#}a'`#}a'a#}a'c#}a'd#}a'e#}a'f#}a'g#}a'h#}a'p#}a'u#}a'w#}a'x#}a'}#}a(O#}a(P#}a(Q#}a(V#}a&v#}a'_#}a(R#}a']#}a~O!u)ROg!zi!e!zi!f!zi!g!zi!h!zi&e!zi&|!zi&}!zi'R!zi'S!zi'T!zi'Y!zi'Z!zi'`!zi'c!zi'd!zi'e!zi'f!zi'g!zi'h!zi'}!zi(O!zi(P!zi(Q!zi(V!zi&v!zi'_!ziP!ziV!zi]!zi_!ziv!ziy!zi{!zi!O!zi!P!zi!S!zi!V!zi!Y!zi!o!zi#Z!zi#[!zi#y!zi$h!zi$k!zi$o!zi$s!zi$u!zi$w!zi$y!zi${!zi$}!zi%P!zi%Q!zi%Y!zi&y!zi'U!zi'a!zi'p!zi'u!zi'w!zi'x!zi(R!zi']!zi~O!evO!fvO!g9tO!h9{O&e,rO'R9fO'SVO'T:bO'`9PO'cWO'dWO'e9_O'f8xO'g9tO'h9mO'}9WO(O:SO(P:ZO(QDQO(V,sO~O&|1aO&}1aO'Y%la'Z%la~P*DkO'Z1bO~P)2XOV/bOg,wO'Y'za'Z'za~OP>iOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$o=QO$s=VO$u=aO$w!^O$yzO${{O$}3XO%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8ZO'cWO'd8UO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O&e,rO(V,sOg$Qi!e$Qi!f$Qi!g$Qi!h$Qi&|$Qi&}$Qi'R$Qi'S$Qi'T$Qi'Y$Qi'Z$Qi'`$Qi'c$Qi'd$Qi'e$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi&v$Qi'_$QiP$QiV$Qi]$Qi_$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&y$Qi'U$Qi'a$Qi'p$Qi'u$Qi'w$Qi'x$Qi(R$Qi']$Qi~O'f$Qi~P*JWO&e,rO'f,gO(V,sOg$Qi!e$Qi!f$Qi!g$Qi!h$Qi&|$Qi&}$Qi'R$Qi'S$Qi'T$Qi'Y$Qi'Z$Qi'c$Qi'd$Qi'e$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi&v$Qi'_$Qi~O'`$Qi~P*NfO!evO!fvO!g,mO!h,nO&e,rO'R,kO'SVO'T,xO'`,hO'cWO'dWO'e,jO'f,gO'g,mO'},iO(O,oO(P,pO(Q,qO(V,sOg$Qi&|$Qi&}$Qi'Y$Qi'Z$Qi&v$Qi'_$Qi~O'h$Qi~P+!aO'`,hO~P*NfO&e,rO(V,sOg$Qi!e$Qi!f$Qi!g$Qi!h$Qi&|$Qi&}$Qi'R$Qi'S$Qi'T$Qi'Y$Qi'Z$Qi'c$Qi'd$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi&v$Qi'_$Qi~O'`,hO'e,jO'f,gO~P+$cO'h,lO~P+!aO&e,rO'R,kO'SVO'T,xO'`,hO'cWO'dWO'e,jO'f,gO(V,sOg$Qi!e$Qi!f$Qi&|$Qi&}$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi&v$Qi'_$Qi~O!g,mO!h,nO~P+&eO!g$Qi!h$Qi~P+&eO!evO!fvO!g,mO!h,nO&e,rO'R,kO'SVO'T,xO'`,hO'cWO'dWO'e,jO'f,gO'g,mO(P,pO(V,sOg$Qi&|$Qi&}$Qi'Y$Qi'Z$Qi'h$Qi'}$Qi(Q$Qi&v$Qi'_$Qi~O(O,oO~P+(jO(O$Qi~P+(jO!evO!fvO!g9wO!h:OO&e,rO'R9iO'SVO'T:eO'`9SO'cWO'dWO'e9bO'f8{O'g9wO'h9pO'}9ZO(O:VO(P:^O(QDTO(V,sO~O(R1fO~P+*lO!evO!fvO!g9uO!h9|O&e,rO'R9gO'SVO'T:cO'`9QO'cWO'dWO'e9`O'f8yO'g9uO'h9nO'}9XO(O:TO(P:[O(QDRO(V,sO~O'Y$]i'Z$]i~P+,TO&v+}O'O!gO'P!hO'_1iO~P)2XO!e1kO&}(iO'{(jO~O'Y1lOV#mag#ma'Z#ma&v#ma'_#ma~O&e,rO'SVO'cWO'dWO(V,sOg$Qi!e$Qi!f$Qi!g$Qi!h$Qi&|$Qi&}$Qi'T$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi&v$Qi'_$Qi~O'R,kO'`,hO'e,jO'f,gO~P+.pO'Y%ma']%ma~P'IYO'O!gO'P!hO']1nO~P#.POP1pO'S-iO'p^O~P?SO'Y0PO!e(Ya!f(Ya!g(Ya!h(Ya&`(Ya&e(Ya&j(Ya&v(Ya&|(Ya&}(Ya'R(Ya'S(Ya'T(Ya'`(Ya'c(Ya'd(Ya'e(Ya'f(Ya'g(Ya'h(Ya'}(Ya(O(Ya(P(Ya(Q(Ya(V(Yag(Ya'_(YaP(YaV(Ya_(Yav(Yay(Ya{(Ya!O(Ya!P(Ya!S(Ya!V(Ya!Y(Ya!o(Ya#Z(Ya#[(Ya#y(Ya$h(Ya$k(Ya$o(Ya$s(Ya$u(Ya$w(Ya$y(Ya${(Ya$}(Ya%P(Ya%Q(Ya%Y(Ya&y(Ya'U(Ya'Z(Ya'a(Ya'p(Ya'u(Ya'w(Ya'x(YaY(Ya[(Ya](Yaa(Yae(Ya(R(Ya'](Ya~OP1tO'SVO'p^O~P?SO'Z1vO~P)2XO'Y1wO'Z1vO~O&j$my&v$my'Y$my~P'IYO&|1zO&}1zO'Y1xO'Z1{O~P'FoO'Z1{O~O'Y1|O'Z1{O~O'Y1xO'Z1{O~O!u)ROg#Uq!e#Uq!f#Uq!g#Uq!h#Uq&a#Uq&c#Uq&d#Uq&e#Uq&h#Uq&i#Uq&|#Uq&}#Uq'O#Uq'R#Uq'S#Uq'T#Uq'Y#Uq'Z#Uq'`#Uq'c#Uq'd#Uq'e#Uq'f#Uq'g#Uq'h#Uq'}#Uq(O#Uq(P#Uq(Q#Uq(V#Uq&v#Uq'_#UqP#UqV#Uq]#Uq_#Uqv#Uqy#Uq{#Uq!O#Uq!P#Uq!S#Uq!V#Uq!Y#Uq!o#Uq#Z#Uq#[#Uq#y#Uq$h#Uq$k#Uq$o#Uq$s#Uq$u#Uq$w#Uq$y#Uq${#Uq$}#Uq%P#Uq%Q#Uq%Y#Uq&y#Uq'U#Uq'a#Uq'p#Uq'u#Uq'w#Uq'x#Uq(R#Uq']#Uq~O'Y2OO']2QO~P+,TO'Y2OO']2QO~O&v#Xi'Y#Xi'_#Xi~P+,TO&v'si&v'yi'_'si'_'yi~O'O!gO'P!hO&v'si&v'yi'_'si'_'yi~P%*ZO!evO!fvO!gAzO!hBOO&e,rO'RArO'SVO'TB[O'`AfO'cWO'dWO'eAnO'fAbO'gAzO'hAvO'}AjO(OBSO(PBWO(QDpO(V,sO~O&|>tO&}>tO&v'tX'_'tX~P+=uO'_2TO~P*/TO'O!gO'P!hO&v'sa'_'sa~P%*ZO'Y2WO&v'sa'_'sa~O'Y%za'Z%za~P+,TO'Z2ZO~P)9uO'Z2]O~P)#cO!evO!fvO!g9qO!h9xO&e,rO'R9cO'SVO'T:_O'`8|O'cWO'dWO'e9[O'f8uO'g9qO'}9TO(O:PO(P:WO(QC}O(V,sO~OP&RaV&Ra]&Ra_&Rag&Rav&Ray&Ra{&Ra!O&Ra!P&Ra!S&Ra!V&Ra!Y&Ra!o&Ra#Z&Ra#[&Ra#y&Ra$h&Ra$k&Ra$o&Ra$s&Ra$u&Ra$w&Ra$y&Ra${&Ra$}&Ra%P&Ra%Q&Ra%Y&Ra&y&Ra&|&Ra&}&Ra'U&Ra'Y&Ra'Z&Ra'a&Ra'h&Ra'p&Ra'u&Ra'w&Ra'x&Ra&v&Ra'_&Ra(R&Ra']&Ra~P+@sO&|/UO&}/UO'Y/SOP#|iV#|i]#|i_#|ig#|iv#|iy#|i{#|i!O#|i!P#|i!S#|i!V#|i!Y#|i!o#|i#Z#|i#[#|i#y#|i$h#|i$k#|i$o#|i$s#|i$u#|i$w#|i$y#|i${#|i$}#|i%P#|i%Q#|i%Y#|i&y#|i'U#|i'Z#|i'a#|i'h#|i'p#|i'u#|i'w#|i'x#|i&v#|i'_#|i(R#|i']#|i~P+@sO&|/UO&}/UOP#|iV#|i]#|i_#|ig#|iv#|iy#|i{#|i!O#|i!P#|i!S#|i!V#|i!Y#|i!e#|i!f#|i!g#|i!h#|i!o#|i#Z#|i#[#|i#y#|i$h#|i$k#|i$o#|i$s#|i$u#|i$w#|i$y#|i${#|i$}#|i%P#|i%Q#|i%Y#|i&e#|i&y#|i'R#|i'S#|i'T#|i'U#|i'Y#|i'Z#|i'`#|i'a#|i'c#|i'd#|i'e#|i'f#|i'g#|i'h#|i'p#|i'u#|i'w#|i'x#|i'}#|i(O#|i(P#|i(Q#|i(V#|i&v#|i'_#|i(R#|i']#|i~O!evO!fvO!g9sO!h9zO&e,rO'R9eO'SVO'T:aO'`9OO'cWO'dWO'e9^O'f8wO'g9sO'h9lO'}9VO(O:RO(P:YO(QDPO(V,sO~OV#rag#ra'Y#ra'Z#ra~P+L^O'Y2aO~O'Y1lOV#mig#mi'Z#mi&v#mi'_#mi~O%U0RO!e&[a!f&[a!g&[a!h&[a&`&[a&e&[a&j&[a&v&[a&|&[a&}&[a'R&[a'T&[a'Y&[a'`&[a'c&[a'd&[a'e&[a'f&[a'g&[a'h&[a'}&[a(O&[a(P&[a(Q&[a(V&[ag&[a'_&[aP&[aV&[a_&[av&[ay&[a{&[a!O&[a!P&[a!S&[a!V&[a!Y&[a!o&[a#Z&[a#[&[a#y&[a$h&[a$k&[a$o&[a$s&[a$u&[a$w&[a$y&[a${&[a$}&[a%P&[a%Q&[a%Y&[a&y&[a'U&[a'Z&[a'a&[a'p&[a'u&[a'w&[a'x&[aY&[a[&[a]&[aa&[ae&[a(R&[a']&[a~O'S'gO~P+NiO'S&[a~P+NiO'Y!^i'Z!^i~P+,TO'Z2fO~P)2XO'Z2gO~P)2XO'Y2hO'Z2gO~O'O!gO'P!hO']2lO~P)9uO'Y2mO']2lO~O&v'sq&v'yq'_'sq'_'yq~O'O!gO'P!hO~P)2XO'O!gO'P!hO&v'si'_'si~P%*ZOg$Ti'Y$Ti'Z$Ti'h$Ti&v$Ti'_$Ti~P*8[O'Y!_i'Z!_i~P+,TO!evO!fvO&e,rO'SVO'cWO'dWO(V,sOg$Ry&|$Ry&}$Ry'Y$Ry'Z$Ry'h$Ry'}$Ry&v$Ry'_$Ry~O!g,mO!h,nO'R,kO'T,xO'`,hO'e,jO'f,gO'g,mO(O,oO(P,pO(Q,qO~P,(WO'O!gO'P!hO&v'ya'_'ya~P%*ZO'Y2qO&v'ya'_'ya~OV#nig#ni'Y#ni'Z#ni&v#ni'_#ni~P+L^O'Z2rO~P)2XO'Y#Ri'Z#Ri~P+,TO'Y&Pa']&Pa~P+,TO'O!gO'P!hO']2sO~P)9uO'O!gO'P!hO&v'yi'_'yi~P%*ZOP%aXV%aX_%aXg%aXg'bXv%aXy%aX{%aX!O%aX!P%aX!S%aX!V%aX!Y%aX!e%aX!e'bX!f%aX!f'bX!g%aX!g'bX!h%aX!h'bX!o%aX#Z%aX#[%aX#y%aX$h%aX$k%aX$o%aX$s%aX$u%aX$w%aX$y%aX${%aX$}%aX%P%aX%Q%aX%Y%aX&a'bX&c'bX&d'bX&e'bX&h'bX&i'bX&v'bX&y%aX&|%aX&|'bX&}%aX&}'bX'O'bX'P'bX'R%aX'R'bX'S%aX'S'bX'T%aX'T'bX'U%aX'Y'bX'_'bX'`%aX'`'bX'a%aX'c%aX'c'bX'd%aX'd'bX'e%aX'e'bX'f%aX'f'bX'g%aX'g'bX'h%aX'h'bX'p%aX'u%aX'w%aX'x%aX'}'bX(O'bX(P'bX(Q'bX(V'bX'Z'bX~OP'bXV'bX_'bXg'bXv'bXy'bX{'bX!O'bX!P'bX!S'bX!V'bX!Y'bX!o'bX#Z'bX#['bX#y'bX$h'bX$k'bX$o'bX$s'bX$u'bX$w'bX$y'bX${'bX$}'bX%P'bX%Q'bX%Y'bX&y'bX'U'bX'a'bX'p'bX'u'bX'w'bX'x'bX~P0TOV'bX~P,,`OP%aXV%aX_%aXg%aXv%aXy%aX{%aX!O%aX!P%aX!S%aX!V%aX!Y%aX!e%aX!e'bX!f%aX!f'bX!g%aX!g'bX!h%aX!h'bX!o%aX#Z%aX#[%aX#y%aX$h%aX$k%aX$o%aX$s%aX$u%aX$w%aX$y%aX${%aX$}%aX%P%aX%Q%aX%Y%aX&a'bX&c'bX&d'bX&e'bX&h'bX&i'bX&v'bX&y%aX&|%aX&}%aX'O'bX'P'bX'R%aX'R'bX'S%aX'S'bX'T%aX'T'bX'U%aX'_'bX'`%aX'`'bX'a%aX'c%aX'c'bX'd%aX'd'bX'e%aX'e'bX'f%aX'f'bX'g%aX'g'bX'h%aX'h'bX'p%aX'u%aX'w%aX'x%aX'}'bX(O'bX(P'bX(Q'bX(V'bX'Z'bX'Y'bX~OV'bXg'bX~P,4eO&`'bX&j'bX(R'bX']'bXY'bX['bX]'bXa'bXe'bX~P,4eOP%aX_%aXg!dXv%aXy%aX{%aX!O%aX!P%aX!S%aX!V%aX!Y%aX!e!dX!f!dX!g!dX!h!dX!o%aX#Z%aX#[%aX#y%aX$h%aX$k%aX$o%aX$s%aX$u%aX$w%aX$y%aX${%aX$}%aX%P%aX%Q%aX%Y%aX&a!dX&c!dX&d!dX&e!dX&h!dX&i!dX&v!dX&y%aX&|!dX&}!dX'O!dX'P!dX'R!dX'S!dX'T!dX'U%aX'Y!dX'_!dX'`!dX'a%aX'c!dX'd!dX'e!dX'f!dX'g!dX'h!dX'p%aX'u%aX'w%aX'x%aX'}!dX(O!dX(P!dX(Q!dX(V!dX'Z!dX~OV%aX~P,:rOV!dX~P,:rOP%aX_%aXv%aXy%aX{%aX!O%aX!P%aX!S%aX!V%aX!Y%aX!e!dX!f!dX!g!dX!h!dX!o%aX#Z%aX#[%aX#y%aX$h%aX$k%aX$o%aX$s%aX$u%aX$w%aX$y%aX${%aX$}%aX%P%aX%Q%aX%Y%aX&a!dX&c!dX&d!dX&e!dX&h!dX&i!dX&v!dX&y%aX&|%aX&}%aX'O!dX'P!dX'R!dX'S!dX'T!dX'U%aX'_!dX'`!dX'a%aX'c!dX'd!dX'e!dX'f!dX'g!dX'h!dX'p%aX'u%aX'w%aX'x%aX'}!dX(O!dX(P!dX(Q!dX(V!dX'Z!dX'Y!dX~OV!dXg!dX~P,?eO&|%aX&}%aX~P6YOP`O&e#vO'`3|O'e4[O'f3uO(V#wO!e%bi!f%bi!g%bi!h%bi&`%bi&j%bi&v%bi'T%bi'Y%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi']%bi'_%bi'Z%bi(R%biY%bi[%bi]%bia%bie%bi~O'R%bi'S%bi'c%bi'd%bi~P0BhO&e#vO(V#wO!e%bi!f%bi!g%bi!h%bi'R%bi'S%bi'T%bi'c%bi'd%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi(R%bi~O'`3}O'e4]O'f3vO~P0DuOg%bi&v%bi&|%bi&}%bi'Y%bi'_%bi'Z%bi~P!BTO'h4fO~P0$sOV%big%bi&v%bi&|%bi&}%bi'Y%bi'_%bi'Z%bi~P.?[OV%big%bi&v%bi'Y%bi'_%bi'Z%bi~P.AYO'h4iO~P0*oO'h4jO~P0.wO(R%bi~P&5}O&e#vO'R4^O'SVO'T5YO'`3wO'cWO'dWO'e4VO'f3pO(V#wOg%bi!e%bi!f%bi&v%bi&|%bi&}%bi'Y%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi'Z%bi~O!g4lO!h4sO~P0HiO&e#vO'R4_O'SVO'T5ZO'`3xO'cWO'dWO'e4WO'f3qO(V#wOP%biV%bi_%big%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!e%bi!f%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&v%bi&y%bi&|%bi&}%bi'U%bi'Y%bi'Z%bi'a%bi'g%bi'h%bi'p%bi'u%bi'w%bi'x%bi'}%bi(O%bi(P%bi(Q%bi&`%bi&j%bi'_%biY%bi[%bi]%bia%bie%bi(R%bi']%bi~O!g4mO!h4tO~P0JdO&e#vO'R4`O'SVO'T5[O'`3yO'cWO'dWO'e4XO'f3rO(V#wOV%big%bi!e%bi!f%bi&v%bi&|%bi&}%bi'Y%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi'Z%bi~O!g4nO!h4uO~P1 UO&e#vO'R4aO'SVO'T5]O'`3zO'cWO'dWO'e4YO'f3sO(V#wOV%big%bi!e%bi!f%bi&v%bi'Y%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi'Z%bi~O!g4oO!h4vO~P1#SO&e#vO'R4bO'SVO'T5^O'`3{O'cWO'dWO'e4ZO'f3tO(V#wOP%biV%biY%bi[%bi]%bi_%big%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!e%bi!f%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&j%bi&v%bi&y%bi&|%bi&}%bi'U%bi'a%bi'g%bi'h%bi'p%bi'u%bi'w%bi'x%bi'}%bi(O%bi(P%bi(Q%bi~O!g4pO!h4wO~P1$zO&e#vO'R4cO'SVO'T5_O'`3|O'cWO'dWO'e4[O'f3uO(V#wO!e%bi!f%bi&`%bi&j%bi&v%bi'Y%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi']%bi'_%bi'Z%bi(R%biY%bi[%bi]%bia%bie%bi~O!g4qO!h4xO~P1)SO&e#vO'R4dO'SVO'T5`O'`3}O'cWO'dWO'e4]O'f3vO(V#wO!e%bi!f%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi(R%bi~O!g4rO!h4yO~P1+aO!g%bi!h%bi~P0HiO!g%bi!h%bi~P0JdO!g%bi!h%bi~P1 UO!g%bi!h%bi~P1#SO!g%bi!h%bi~P1$zO!g%bi!h%bi~P1)SO!g%bi!h%bi~P1+aO!evO!fvO!g4lO!h4sO&e#vO'R4^O'SVO'T5YO'`3wO'cWO'dWO'e4VO'f3pO'g4lO(P5RO(V#wOg%bi&v%bi&|%bi&}%bi'Y%bi'_%bi'h%bi'}%bi(Q%bi'Z%bi~O(O4zO~P1.bO!evO!fvO!g4mO!h4tO&e#vO'R4_O'SVO'T5ZO'`3xO'cWO'dWO'e4WO'f3qO'g4mO(P5SO(V#wOP%biV%bi_%big%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&v%bi&y%bi&|%bi&}%bi'U%bi'Y%bi'Z%bi'a%bi'h%bi'p%bi'u%bi'w%bi'x%bi'}%bi(Q%bi&`%bi&j%bi'_%biY%bi[%bi]%bia%bie%bi(R%bi']%bi~O(O4{O~P10]O!evO!fvO!g4nO!h4uO&e#vO'R4`O'SVO'T5[O'`3yO'cWO'dWO'e4XO'f3rO'g4nO(P5TO(V#wOV%big%bi&v%bi&|%bi&}%bi'Y%bi'_%bi'h%bi'}%bi(Q%bi'Z%bi~O(O4|O~P14}O!evO!fvO!g4oO!h4vO&e#vO'R4aO'SVO'T5]O'`3zO'cWO'dWO'e4YO'f3sO'g4oO(P5UO(V#wOV%big%bi&v%bi'Y%bi'_%bi'h%bi'}%bi(Q%bi'Z%bi~O(O4}O~P16{O!evO!fvO!g4pO!h4wO&e#vO'R4bO'SVO'T5^O'`3{O'cWO'dWO'e4ZO'f3tO'g4pO(P5VO(V#wOP%biV%biY%bi[%bi]%bi_%big%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&j%bi&v%bi&y%bi&|%bi&}%bi'U%bi'a%bi'h%bi'p%bi'u%bi'w%bi'x%bi'}%bi(Q%bi~O(O5OO~P18sO!evO!fvO!g4qO!h4xO&e#vO'R4cO'SVO'T5_O'`3|O'cWO'dWO'e4[O'f3uO'g4qO(P5WO(V#wO&`%bi&j%bi&v%bi'Y%bi'h%bi'}%bi(Q%bi']%bi'_%bi'Z%bi(R%biY%bi[%bi]%bia%bie%bi~O(O5PO~P1<{O!evO!fvO!g4rO!h4yO&e#vO'R4dO'SVO'T5`O'`3}O'cWO'dWO'e4]O'f3vO'g4rO(P5XO(V#wO'h%bi'}%bi(Q%bi(R%bi~O(O5QO~P1?YO(O%bi~P1.bO(O%bi~P10]O(O%bi~P14}O(O%bi~P16{O(O%bi~P18sO(O%bi~P1<{O(O%bi~P1?YO&e#vO'SVO'cWO'dWO(V#wOg%bi!e%bi!f%bi!g%bi!h%bi&v%bi&|%bi&}%bi'T%bi'Y%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi'Z%bi~O'R4^O'`3wO'e4VO'f3pO~P1AtO'R4_O'`3xO'e4WO'f3qOP%biV%bi_%big%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&y%bi'U%bi'a%bi'p%bi'u%bi'w%bi'x%bi~P&7fO'R4`O'`3yO'e4XO'f3rOV%bi~P1AtO'R4aO'SVO'cWO'dWO~P0`O'R4cO'SVO'cWO'dWO~P0BhO&e#vO'SVO'cWO'dWO(V#wO!e%bi!f%bi!g%bi!h%bi'T%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi(R%bi~O'R4dO'`3}O'e4]O'f3vO~P1GsO&a(ZO&i(ZO~O&a7{O&i7{O~O&a7}O&i7}O~OP'bXV'bX]'bX_'bXv'bXy'bX{'bX!O'bX!P'bX!S'bX!V'bX!Y'bX!o'bX#Z'bX#['bX#y'bX$h'bX$k'bX$o'bX$s'bX$u'bX$w'bX$y'bX${'bX$}'bX%P'bX%Q'bX%Y'bX&y'bX'U'bX'a'bX'p'bX'u'bX'w'bX'x'bX(R'bX']'bX~P'*nOV'bX~P'*nOP$PXV$PX]$PX_$PXg$PXv$PXy$PX{$PX!O$PX!P$PX!S$PX!V$PX!Y$PX!e$PX!e'bX!f$PX!f'bX!g$PX!g'bX!h$PX!h'bX!o$PX#Z$PX#[$PX#y$PX$h$PX$k$PX$o$PX$s$PX$u$PX$w$PX$y$PX${$PX$}$PX%P$PX%Q$PX%Y$PX&a'bX&c'bX&d'bX&e'bX&h'bX&i'bX&y$PX&|$PX&}$PX'O'bX'R$PX'R'bX'S$PX'S'bX'T$PX'T'bX'U$PX'Y'bX'Z'bX'`$PX'`'bX'a$PX'c$PX'c'bX'd$PX'd'bX'e$PX'e'bX'f$PX'f'bX'g$PX'g'bX'h$PX'h'bX'p$PX'u$PX'w$PX'x$PX'}'bX(O'bX(P'bX(Q'bX(V'bX&v'bX'_'bX~OV'bXg'bX~P1LdO&|'bX&}'bX(R'bX']'bX~P1LdOg$PX(R!dX']!dX~P'0ZOP$PXV!dX]$PX_$PXg!dXv$PXy$PX{$PX!O$PX!P$PX!S$PX!V$PX!Y$PX!e!dX!f!dX!g!dX!h!dX!o$PX#Z$PX#[$PX#y$PX$h$PX$k$PX$o$PX$s$PX$u$PX$w$PX$y$PX${$PX$}$PX%P$PX%Q$PX%Y$PX&a!dX&c!dX&d!dX&e!dX&h!dX&i!dX&y$PX'O!dX'R!dX'S!dX'T!dX'U$PX'Y!dX'Z!dX'`!dX'a$PX'c!dX'd!dX'e!dX'f!dX'g!dX'h!dX'p$PX'u$PX'w$PX'x$PX'}!dX(O!dX(P!dX(Q!dX(V!dX&v!dX'_!dX~O&|!dX&}!dX~P2$oO&|$PX&}$PX~P2$oO!e!dX!f!dX!g!dX!h!dX&c!dX&d!dX&e!dX&h!dX'O!dX'R!dX'S!dX'T!dX'`!dX'c!dX'd!dX'e!dX'f!dX'g!dX'h!dX'}!dX(O!dX(P!dX(Q!dX(R!dX(V!dX'Y!dX'Z!dX']!dX&v!dX'_!dX~OP$PXV$PX]$PX_$PXg$PXv$PXy$PX{$PX!O$PX!P$PX!S$PX!V$PX!Y$PX!o$PX#Z$PX#[$PX#y$PX$h$PX$k$PX$o$PX$s$PX$u$PX$w$PX$y$PX${$PX$}$PX%P$PX%Q$PX%Y$PX&a!dX&i!dX&y$PX&|$PX&}$PX'U$PX'a$PX'p$PX'u$PX'w$PX'x$PX~P2)eOP>iOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$o=QO$s=TO$u=_O$w!^O$yzO${{O$}3WO%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8YO'cWO'd8TO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~OVhighi&vhi'Yhi'_hi'Zhi~P.AYO&|8dO&}8dOg%ei&v%ei'Y%ei'_%ei'h%ei'Z%ei~P/6nO!evO!fvO&e#vO'SVO'cWO'dWO(V#wOP%eiV%ei_%eig%eiv%eiy%ei{%ei!O%ei!P%ei!S%ei!V%ei!Y%ei!o%ei#Z%ei#[%ei#y%ei$h%ei$k%ei$o%ei$s%ei$u%ei$w%ei$y%ei${%ei$}%ei%P%ei%Q%ei%Y%ei&v%ei&y%ei'U%ei'a%ei'h%ei'p%ei'u%ei'w%ei'x%ei&j%eiY%ei[%ei]%ei~O!g4mO!h4tO&|8eO&}8eO'R4_O'T5ZO'`3xO'e4WO'f3qO'g4mO'}4PO(O4{O(P5SO(QCtO'Y%ei'Z%ei&`%ei'_%eia%eie%ei(R%ei']%ei~P22oO&|8fO&}8fOV%eig%ei&v%ei'Y%ei'_%ei'h%ei'Z%ei~P/0PO!g4pO!h4wO&|8gO&}8gO'R4bO'T5^O'`3{O'e4ZO'f3tO'g4pO'}4SO(O5OO(P5VO(QCwO~P22oO!evO!fvO&e#vO'SVO'cWO'dWO(V#wOg%cy&v%cy&|%cy&}%cy'Y%cy'_%cy'h%cy'}%cy'Z%cy~O!g4lO!h4sO'R4^O'T5YO'`3wO'e4VO'f3pO'g4lO(O4zO(P5RO(QCsO~P29QO!g4mO!h4tO'R4_O'T5ZO'`3xO'e4WO'f3qO'g4mO(O4{O(P5SO(QCtOP%cyV%cy_%cyg%cyv%cyy%cy{%cy!O%cy!P%cy!S%cy!V%cy!Y%cy!o%cy#Z%cy#[%cy#y%cy$h%cy$k%cy$o%cy$s%cy$u%cy$w%cy$y%cy${%cy$}%cy%P%cy%Q%cy%Y%cy&y%cy'U%cy'a%cy'p%cy'u%cy'w%cy'x%cy~P)DVO!g4nO!h4uO'R4`O'T5[O'`3yO'e4XO'f3rO'g4nO(O4|O(P5TO(QCuOV%cy~P29QO!evO!fvO&e#vO'SVO'cWO'dWO(V#wOV%cyg%cy&v%cy'_%cy'h%cy'}%cy'Z%cy~O!g4oO!h4vO'R4aO'T5]O'`3zO'e4YO'f3sO'g4oO(O4}O(P5UO(QCvO'Y%cy~P2>yO!evO!fvO&e#vO'SVO'cWO'dWO(V#wOP%cyV%cy_%cyg%cyv%cyy%cy{%cy!O%cy!P%cy!S%cy!V%cy!Y%cy!o%cy#Z%cy#[%cy#y%cy$h%cy$k%cy$o%cy$s%cy$u%cy$w%cy$y%cy${%cy$}%cy%P%cy%Q%cy%Y%cy&v%cy&y%cy&|%cy&}%cy'U%cy'a%cy'h%cy'p%cy'u%cy'w%cy'x%cy'}%cy~O!g4pO!h4wO'R4bO'T5^O'`3{O'e4ZO'f3tO'g4pO(O5OO(P5VO(QCwOY%cy[%cy]%cy&j%cy~P2@qO!evO!fvO&e#vO'SVO'cWO'dWO(V#wO&v%cy'h%cy'}%cy'_%cy(R%cy~O!g4qO!h4xO'R4cO'T5_O'`3|O'e4[O'f3uO'g4qO(O5PO(P5WO(QCxO&`%cy&j%cy'Y%cy']%cy'Z%cyY%cy[%cy]%cya%cye%cy~P2DyO!evO!fvO!g4rO!h4yO&e#vO'R4dO'SVO'T5`O'`3}O'cWO'dWO'e4]O'f3vO'g4rO(O5QO(P5XO(QCyO(V#wO~O'h%cy'}%cy(R%cy~P2GWO&|<_O&}<_O'h9jOP$SiV$Si]$Si_$Sig$Siv$Siy$Si{$Si!O$Si!P$Si!S$Si!V$Si!Y$Si!o$Si#Z$Si#[$Si#y$Si$h$Si$k$Si$o$Si$s$Si$u$Si$w$Si$y$Si${$Si$}$Si%P$Si%Q$Si%Y$Si&v$Si&y$Si'U$Si'Y$Si'Z$Si'a$Si'p$Si'u$Si'w$Si'x$Si'_$Si(R$Si']$Si~P+@sO!evO!fvO!g9rO!h9yO&e,rO&|<`O&}<`O'R9dO'SVO'T:`O'`8}O'cWO'dWO'e9]O'f8vO'g9rO'}9UO(O:QO(P:XO(QDOO(V,sO~O'h9kOV$Sig$Si'Y$Si'Z$Si&v$Si'_$Si~P2KpO&|[O'`8|O'f8uOP$QiV$Qi]$Qi_$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&y$Qi'U$Qi'a$Qi'e$Qi'p$Qi'u$Qi'w$Qi'x$Qi(R$Qi']$Qi~P+$cO'`8}O'f8vOV$Qi'e$Qi~P+$cO'`9OO~P3$rO'`9PO~P3&jO'`9QO~P3(eO'`9RO~P3*YO'`9SO~P3.[O'`8|O'e9[O'f8uOP$QiV$Qi]$Qi_$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&y$Qi'U$Qi'a$Qi'p$Qi'u$Qi'w$Qi'x$Qi(R$Qi']$Qi~P+$cO'`8}O'e9]O'f8vOV$Qi~P+$cO&e,rO'`9OO'e9^O'f8wO(V,sOV$Qig$Qi!e$Qi!f$Qi!g$Qi!h$Qi'T$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi&v$Qi'_$Qi~O'R$Qi'S$Qi'c$Qi'd$Qi~P3FlO&e,rO'`9PO'e9_O'f8xO(V,sO!e$Qi!f$Qi!g$Qi!h$Qi&|$Qi&}$Qi'T$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi']$Qi&v$Qi'_$Qi~O'R$Qi'S$Qi'c$Qi'd$Qi~P3HdO&e,rO'`9QO'e9`O'f8yO(V,sO!e$Qi!f$Qi!g$Qi!h$Qi'T$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi']$Qi&v$Qi'_$Qi~O'R$Qi'S$Qi'c$Qi'd$Qi~P3J_O&e,rO'`9RO'e9aO'f8zO(V,sOP$QiV$Qi]$Qi_$Qig$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!e$Qi!f$Qi!g$Qi!h$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&v$Qi&y$Qi&|$Qi&}$Qi'T$Qi'U$Qi'Z$Qi'a$Qi'g$Qi'h$Qi'p$Qi'u$Qi'w$Qi'x$Qi'}$Qi(O$Qi(P$Qi(Q$Qi~O'R$Qi'S$Qi'c$Qi'd$Qi~P3LSO&e,rO(V,sO!e$Qi!f$Qi!g$Qi!h$Qi'R$Qi'S$Qi'T$Qi'c$Qi'd$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi(R$Qi~O'`9SO'e9bO'f8{O~P4!UO'h9jOP$QiV$Qi]$Qi_$Qig$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&v$Qi&y$Qi&|$Qi&}$Qi'U$Qi'Y$Qi'Z$Qi'a$Qi'p$Qi'u$Qi'w$Qi'x$Qi'_$Qi(R$Qi']$Qi~P+@sO'h9kO~P32tO'h9lO~P34rO'h9mO~P36jO'h9nO~P38eO'h9oO~P3:YO(R$Qi~P+*lO&e,rO'R9cO'SVO'T:_O'`8|O'cWO'dWO'e9[O'f8uO(V,sOP$QiV$Qi]$Qi_$Qig$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!e$Qi!f$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&v$Qi&y$Qi&|$Qi&}$Qi'U$Qi'Y$Qi'Z$Qi'a$Qi'g$Qi'h$Qi'p$Qi'u$Qi'w$Qi'x$Qi'}$Qi(O$Qi(P$Qi(Q$Qi'_$Qi(R$Qi']$Qi~O!g9qO!h9xO~P4'jO&e,rO'R9dO'SVO'T:`O'`8}O'cWO'dWO'e9]O'f8vO(V,sOV$Qig$Qi!e$Qi!f$Qi&|$Qi&}$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi&v$Qi'_$Qi~O!g9rO!h9yO~P4+xO&e,rO'R9eO'SVO'T:aO'`9OO'cWO'dWO'e9^O'f8wO(V,sOV$Qig$Qi!e$Qi!f$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi&v$Qi'_$Qi~O!g9sO!h9zO~P4-vO&e,rO'R9fO'SVO'T:bO'`9PO'cWO'dWO'e9_O'f8xO(V,sO!e$Qi!f$Qi&|$Qi&}$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi']$Qi&v$Qi'_$Qi~O!g9tO!h9{O~P4/nO&e,rO'R9gO'SVO'T:cO'`9QO'cWO'dWO'e9`O'f8yO(V,sO!e$Qi!f$Qi'Y$Qi'Z$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi']$Qi&v$Qi'_$Qi~O!g9uO!h9|O~P41iO&e,rO'R9hO'SVO'T:dO'`9RO'cWO'dWO'e9aO'f8zO(V,sOP$QiV$Qi]$Qi_$Qig$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!e$Qi!f$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&v$Qi&y$Qi&|$Qi&}$Qi'U$Qi'Z$Qi'a$Qi'g$Qi'h$Qi'p$Qi'u$Qi'w$Qi'x$Qi'}$Qi(O$Qi(P$Qi(Q$Qi~O!g9vO!h9}O~P43^O&e,rO'R9iO'SVO'T:eO'`9SO'cWO'dWO'e9bO'f8{O(V,sO!e$Qi!f$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi(R$Qi~O!g9wO!h:OO~P47`O!g$Qi!h$Qi~P4'jO!g$Qi!h$Qi~P4+xO!g$Qi!h$Qi~P4-vO!g$Qi!h$Qi~P4/nO!g$Qi!h$Qi~P41iO!g$Qi!h$Qi~P43^O!g$Qi!h$Qi~P47`O!evO!fvO!g9qO!h9xO&e,rO'R9cO'SVO'T:_O'`8|O'cWO'dWO'e9[O'f8uO'g9qO(P:WO(V,sOP$QiV$Qi]$Qi_$Qig$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&v$Qi&y$Qi&|$Qi&}$Qi'U$Qi'Y$Qi'Z$Qi'a$Qi'h$Qi'p$Qi'u$Qi'w$Qi'x$Qi'}$Qi(Q$Qi'_$Qi(R$Qi']$Qi~O(O:PO~P4:aO!evO!fvO!g9rO!h9yO&e,rO'R9dO'SVO'T:`O'`8}O'cWO'dWO'e9]O'f8vO'g9rO(P:XO(V,sOV$Qig$Qi&|$Qi&}$Qi'Y$Qi'Z$Qi'h$Qi'}$Qi(Q$Qi&v$Qi'_$Qi~O(O:QO~P4>oO!evO!fvO!g9sO!h9zO&e,rO'R9eO'SVO'T:aO'`9OO'cWO'dWO'e9^O'f8wO'g9sO(P:YO(V,sOV$Qig$Qi'Y$Qi'Z$Qi'h$Qi'}$Qi(Q$Qi&v$Qi'_$Qi~O(O:RO~P4@mO!evO!fvO!g9tO!h9{O&e,rO'R9fO'SVO'T:bO'`9PO'cWO'dWO'e9_O'f8xO'g9tO(P:ZO(V,sO&|$Qi&}$Qi'Y$Qi'Z$Qi'h$Qi'}$Qi(Q$Qi']$Qi&v$Qi'_$Qi~O(O:SO~P4BeO!evO!fvO!g9uO!h9|O&e,rO'R9gO'SVO'T:cO'`9QO'cWO'dWO'e9`O'f8yO'g9uO(P:[O(V,sO'Y$Qi'Z$Qi'h$Qi'}$Qi(Q$Qi']$Qi&v$Qi'_$Qi~O(O:TO~P4D`O!evO!fvO!g9vO!h9}O&e,rO'R9hO'SVO'T:dO'`9RO'cWO'dWO'e9aO'f8zO'g9vO(P:]O(V,sOP$QiV$Qi]$Qi_$Qig$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&v$Qi&y$Qi&|$Qi&}$Qi'U$Qi'Z$Qi'a$Qi'h$Qi'p$Qi'u$Qi'w$Qi'x$Qi'}$Qi(Q$Qi~O(O:UO~P4FTO!evO!fvO!g9wO!h:OO&e,rO'R9iO'SVO'T:eO'`9SO'cWO'dWO'e9bO'f8{O'g9wO(P:^O(V,sO'h$Qi'}$Qi(Q$Qi(R$Qi~O(O:VO~P4JVO(O$Qi~P4:aO(O$Qi~P4>oO(O$Qi~P4@mO(O$Qi~P4BeO(O$Qi~P4D`O(O$Qi~P4FTO(O$Qi~P4JVO'R9cO'`8|O'e9[O'f8uOP$QiV$Qi]$Qi_$Qiv$Qiy$Qi{$Qi!O$Qi!P$Qi!S$Qi!V$Qi!Y$Qi!o$Qi#Z$Qi#[$Qi#y$Qi$h$Qi$k$Qi$o$Qi$s$Qi$u$Qi$w$Qi$y$Qi${$Qi$}$Qi%P$Qi%Q$Qi%Y$Qi&y$Qi'U$Qi'a$Qi'p$Qi'u$Qi'w$Qi'x$Qi(R$Qi']$Qi~P+.pO'R9dO'`8}O'e9]O'f8vOV$Qi~P+.pO'R9eO'SVO'cWO'dWO~P3FlO'R9fO'SVO'cWO'dWO~P3HdO'R9gO'SVO'cWO'dWO~P3J_O'R9hO'SVO'cWO'dWO~P3LSO&e,rO'SVO'cWO'dWO(V,sO!e$Qi!f$Qi!g$Qi!h$Qi'T$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi(R$Qi~O'R9iO'`9SO'e9bO'f8{O~P5#]O&|<_O&}<_OP$TiV$Ti]$Ti_$Tig$Tiv$Tiy$Ti{$Ti!O$Ti!P$Ti!S$Ti!V$Ti!Y$Ti!o$Ti#Z$Ti#[$Ti#y$Ti$h$Ti$k$Ti$o$Ti$s$Ti$u$Ti$w$Ti$y$Ti${$Ti$}$Ti%P$Ti%Q$Ti%Y$Ti&v$Ti&y$Ti'U$Ti'Y$Ti'Z$Ti'a$Ti'h$Ti'p$Ti'u$Ti'w$Ti'x$Ti'_$Ti(R$Ti']$Ti~P+@sOV$Tig$Ti'Y$Ti'Z$Ti'h$Ti&v$Ti'_$Ti~P2KpO!evO!fvO!g9tO!h9{O&e,rO'R9fO'SVO'T:bO'`9PO'cWO'dWO'e9_O'f8xO'g9tO'}9WO(O:SO(P:ZO(QDQO(V,sO~O&|pO&}>pO'R=tO'SVO'T=zO'`=qO'cWO'dWO'e=sO'f=pO'g=vO'}=rO(O=xO(P=yO(QDiO(V#wO~O'h=uO(R%di&v%di'_%di~P61[O&a!eO&i!eO~O&a=iO&i=iO~O&a=gO&i=gO~O&|=oO&}=oO!e$pi!f$pi!g$pi!h$pi&e$pi'R$pi'S$pi'T$pi'Y$pi'`$pi'c$pi'd$pi'e$pi'f$pi'g$pi'h$pi'}$pi(O$pi(P$pi(Q$pi(V$pi(R$pi']$pi'_$pi'Z$pi~P&#sO'f=pO&v%bi&|%bi&}%bi'_%bi'`%bi'e%bi~P0DuO!evO!fvO!g=vO!h=wO&e#vO'R=tO'SVO'T=zO'`=qO'cWO'dWO'e=sO'f=pO'g=vO'}=rO(O=xO(P=yO(QDiO(V#wO&v%bi&|%bi&}%bi'_%bi(R%bi~O'h%bi~P65{O'`=qO'f=pO&v%bi&|%bi&}%bi'_%bi'e%bi~P0DuO'`=qO'e=sO'f=pO&v%bi&|%bi&}%bi'_%bi~P0DuO'h=uO~P65{O&e#vO'R=tO'SVO'T=zO'`=qO'cWO'dWO'e=sO'f=pO(V#wO!e%bi!f%bi&v%bi&|%bi&}%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi(R%bi~O!g=vO!h=wO~P68{O!g%bi!h%bi~P68{O!evO!fvO!g=vO!h=wO&e#vO'R=tO'SVO'T=zO'`=qO'cWO'dWO'e=sO'f=pO'g=vO(P=yO(V#wO&v%bi&|%bi&}%bi'_%bi'h%bi'}%bi(Q%bi(R%bi~O(O=xO~P6:zO(O%bi~P6:zO(R8hO~P&5}O(R8iO~P&5}O(R8jO~P&5}O(R8kO~P&5}O(R8lO~P&5}O(R8mO~P&5}O(R8nO~P&5}O'R=tO'`=qO'e=sO'f=pO&v%bi&|%bi&}%bi'_%bi~P1GsO'S8oO~O!evO!fvO!g=vO!h=wO&e#vO'R=tO'SVO'T=zO'`=qO'cWO'dWO'e=sO'f=pO'g=vO'}=rO(O=xO(P=yO(QDiO(V#wO~O&|=}O&}=}O'h=uO&v&{X'_&{X~P6>lO(S8qO&a'qX&f#dX&g#dX&i'qX~P'?zO(S8rOV'qX~P'9wO!e'qX!f'qX!g'qX!h'qX&a'qX&c'qX&d'qX&e'qX&f#dX&g#dX&h'qX&i'qX&|'qX&}'qX'O'qX'R'qX'S'qX'T'qX'Z'qX'`'qX'c'qX'd'qX'e'qX'f'qX'g'qX'h'qX'}'qX(O'qX(P'qX(Q'qX(V'qX&v'qX'_'qX~O(S8sO'Y'qX']'qX~P6@{OV'qXg'qX!e'qX!f'qX!g'qX!h'qX&a'qX&c'qX&d'qX&e'qX&f#dX&g#dX&h'qX&i'qX&v'qX&|'qX&}'qX'O'qX'R'qX'S'qX'T'qX'Z'qX'`'qX'c'qX'd'qX'e'qX'f'qX'g'qX'h'qX'}'qX(O'qX(P'qX(Q'qX(V'qX~O(S8tOP'qX]'qX_'qXv'qXy'qX{'qX!O'qX!P'qX!S'qX!V'qX!Y'qX!o'qX#Z'qX#['qX#y'qX$h'qX$k'qX$o'qX$s'qX$u'qX$w'qX$y'qX${'qX$}'qX%P'qX%Q'qX%Y'qX&y'qX'U'qX'a'qX'p'qX'u'qX'w'qX'x'qX~P6CcO(S8qO~O(S8rO~O(S8sO~O(S8tO~O'h%ei(R%ei&v%ei'_%ei~P61[O!g=vO!h=wO'R=tO'T=zO'`=qO'e=sO'f=pO'g=vO(O=xO(P=yO(QDiO&|%cy&}%cy~P2DyOPDbOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$owO$s=[O$u=fO$w!^O$yzO${{O$}3ZO%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8[O'cWO'd8WO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~OPDaOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$o=QO$s=WO$u=bO$w!^O$yzO${{O$}3XO%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8ZO'cWO'd8UO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~O(RUO!evO!fvO!g?uO!h?yO&e#vO'R?mO'SVO'T@VO'`?aO'cWO'dWO'e?iO'f?]O'g?uO'}?eO(O?}O(P@RO(QDmO(V#wO'_%bi&v%bi~O'h%bi~P7?yO'`?^O~P7/RO'`?_O~P73QO'`?`O~P74{O'`?aO~P76pO&e#vO'`?^O'e?fO'f?YO(V#wOP%biV%bi_%big%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!e%bi!f%bi!g%bi!h%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&v%bi&y%bi&|%bi&}%bi'T%bi'U%bi'Z%bi'a%bi'g%bi'h%bi'p%bi'u%bi'w%bi'x%bi'}%bi(O%bi(P%bi(Q%bi~O'R%bi'S%bi'c%bi'd%bi~P7BRO&e#vO'`?_O'e?gO'f?ZO(V#wOV%big%bi!e%bi!f%bi!g%bi!h%bi&v%bi&|%bi&}%bi'T%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi'Z%bi~O'R%bi'S%bi'c%bi'd%bi~P7FQO&e#vO'`?`O'e?hO'f?[O(V#wOV%big%bi!e%bi!f%bi!g%bi!h%bi&v%bi'T%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi'Z%bi~O'R%bi'S%bi'c%bi'd%bi~P7G{O&e#vO'`?aO'e?iO'f?]O(V#wO!e%bi!f%bi!g%bi!h%bi'T%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi&v%bi~O'R%bi'S%bi'c%bi'd%bi~P7IpO'h?nO~P78[O'h?oO~P7UO'h?qO~P7?yO&e#vO'R?jO'SVO'T@SO'`?^O'cWO'dWO'e?fO'f?YO(V#wOP%biV%bi_%big%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!e%bi!f%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&v%bi&y%bi&|%bi&}%bi'U%bi'Z%bi'a%bi'g%bi'h%bi'p%bi'u%bi'w%bi'x%bi'}%bi(O%bi(P%bi(Q%bi~O!g?rO!h?vO~P7KxO&e#vO'R?kO'SVO'T@TO'`?_O'cWO'dWO'e?gO'f?ZO(V#wOV%big%bi!e%bi!f%bi&v%bi&|%bi&}%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi'Z%bi~O!g?sO!h?wO~P8 wO&e#vO'R?lO'SVO'T@UO'`?`O'cWO'dWO'e?hO'f?[O(V#wOV%big%bi!e%bi!f%bi&v%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi'Z%bi~O!g?tO!h?xO~P8#rO&e#vO'R?mO'SVO'T@VO'`?aO'cWO'dWO'e?iO'f?]O(V#wO!e%bi!f%bi'_%bi'g%bi'h%bi'}%bi(O%bi(P%bi(Q%bi&v%bi~O!g?uO!h?yO~P8%gO!g%bi!h%bi~P7KxO!g%bi!h%bi~P8 wO!g%bi!h%bi~P8#rO!g%bi!h%bi~P8%gO!evO!fvO!g?rO!h?vO&e#vO'R?jO'SVO'T@SO'`?^O'cWO'dWO'e?fO'f?YO'g?rO(P@OO(V#wOP%biV%bi_%big%biv%biy%bi{%bi!O%bi!P%bi!S%bi!V%bi!Y%bi!o%bi#Z%bi#[%bi#y%bi$h%bi$k%bi$o%bi$s%bi$u%bi$w%bi$y%bi${%bi$}%bi%P%bi%Q%bi%Y%bi&v%bi&y%bi&|%bi&}%bi'U%bi'Z%bi'a%bi'h%bi'p%bi'u%bi'w%bi'x%bi'}%bi(Q%bi~O(O?zO~P8'{O!evO!fvO!g?sO!h?wO&e#vO'R?kO'SVO'T@TO'`?_O'cWO'dWO'e?gO'f?ZO'g?sO(P@PO(V#wOV%big%bi&v%bi&|%bi&}%bi'_%bi'h%bi'}%bi(Q%bi'Z%bi~O(O?{O~P8+zO!evO!fvO!g?tO!h?xO&e#vO'R?lO'SVO'T@UO'`?`O'cWO'dWO'e?hO'f?[O'g?tO(P@QO(V#wOV%big%bi&v%bi'_%bi'h%bi'}%bi(Q%bi'Z%bi~O(O?|O~P8-uO!evO!fvO!g?uO!h?yO&e#vO'R?mO'SVO'T@VO'`?aO'cWO'dWO'e?iO'f?]O'g?uO(P@RO(V#wO'_%bi'h%bi'}%bi(Q%bi&v%bi~O(O?}O~P8/jO(O%bi~P8'{O(O%bi~P8+zO(O%bi~P8-uO(O%bi~P8/jO'R?jO'SVO'cWO'dWO~P7BRO'R?kO'SVO'cWO'dWO~P7FQO'R?lO'SVO'cWO'dWO~P7G{O'R?mO'SVO'cWO'dWO~P7IpOPDaOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$o=QO$s=UO$u=`O$w!^O$yzO${{O$}3WO%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8YO'cWO'd8TO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~OPDbOVuO])ZO_!QOg!ZOv!ROy)[O{!SO!O!UO!P!TO!S!VO!V!WO!Y!XO!evO!fvO!gYO!hYO!o!YO#Z)ZO#[)ZO#y)ZO$h![O$k!]O$owO$s=XO$u=cO$w!^O$yzO${{O$}|O%P}O%Q}O%Y!OO&y)WO&|YO&}YO'RCnO'SVO'TCoO'U)YO'`YO'a8XO'cWO'd8VO'eYO'fYO'gYO'hYO'p^O'u_O'w`O'xaO~OP%eiV%ei_%eig%eiv%eiy%ei{%ei!O%ei!P%ei!S%ei!V%ei!Y%ei!o%ei#Z%ei#[%ei#y%ei$h%ei$k%ei$o%ei$s%ei$u%ei$w%ei$y%ei${%ei$}%ei%P%ei%Q%ei%Y%ei&v%ei&y%ei'U%ei'Z%ei'a%ei'h%ei'p%ei'u%ei'w%ei'x%ei~P7)XOV%eig%ei&v%ei'_%ei'h%ei'Z%ei~P7-WO!g?rO!h?vO'R?jO'T@SO'`?^O'e?fO'f?YO'g?rO(O?zO(P@OO(QDjO'Z%cy~P2@qO!g?sO!h?wO'R?kO'T@TO'`?_O'e?gO'f?ZO'g?sO(O?{O(P@PO(QDkO&|%cy&}%cy~P2>yO!g?tO!h?xO'R?lO'T@UO'`?`O'e?hO'f?[O'g?tO(O?|O(P@QO(QDlO~P2>yO!evO!fvO!g?uO!h?yO&e#vO'R?mO'SVO'T@VO'`?aO'cWO'dWO'e?iO'f?]O'g?uO(O?}O(P@RO(QDmO(V#wO~O'_%cy'h%cy'}%cy&v%cy~P8?nO!evO!fvO!gAxO!hA|O&e,rO&|C`O&}C`O'RApO'SVO'TBYO'`AdO'cWO'dWO'eAlO'fA`O'gAxO'}AhO(OBQO(PBUO(QDnO(V,sO~O'hAtOV$Sig$Si&v$Si'_$Si'Z$Si~P8AYO&|CaO&}CaO(R$Si&v$Si'_$Si~P+=uO&e,rO'fA`O(V,sOV$Qig$Qi!e$Qi!f$Qi!g$Qi!h$Qi&v$Qi&|$Qi&}$Qi'R$Qi'S$Qi'T$Qi'_$Qi'c$Qi'd$Qi'e$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi'Z$Qi~O'`$Qi~P8ChO&e,rO'fAaO(V,sOV$Qig$Qi!e$Qi!f$Qi!g$Qi!h$Qi&v$Qi'R$Qi'S$Qi'T$Qi'_$Qi'c$Qi'd$Qi'e$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi'Z$Qi~O'`$Qi~P8EcO'fAbO&v$Qi&|$Qi&}$Qi'_$Qi'`$Qi'e$Qi~P4!UO&e,rO'fAcO(V,sO!e$Qi!f$Qi!g$Qi!h$Qi&v$Qi'R$Qi'S$Qi'T$Qi'_$Qi'c$Qi'd$Qi'e$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi~O'`$Qi~P8GqO!evO!fvO!gAxO!hA|O&e,rO'RApO'SVO'TBYO'`AdO'cWO'dWO'eAlO'fA`O'gAxO'}AhO(OBQO(PBUO(QDnO(V,sOV$Qig$Qi&v$Qi&|$Qi&}$Qi'_$Qi'Z$Qi~O'h$Qi~P8I]O!evO!fvO!gAyO!hA}O&e,rO'RAqO'SVO'TBZO'`AeO'cWO'dWO'eAmO'fAaO'gAyO'}AiO(OBRO(PBVO(QDoO(V,sOV$Qig$Qi&v$Qi'_$Qi'Z$Qi~O'h$Qi~P8KWO!evO!fvO!gAzO!hBOO&e,rO'RArO'SVO'TB[O'`AfO'cWO'dWO'eAnO'fAbO'gAzO'}AjO(OBSO(PBWO(QDpO(V,sO&v$Qi&|$Qi&}$Qi'_$Qi(R$Qi~O'h$Qi~P8L{O!evO!fvO!gA{O!hBPO&e,rO'RAsO'SVO'TB]O'`AgO'cWO'dWO'eAoO'fAcO'gA{O'}AkO(OBTO(PBXO(QDqO(V,sO&v$Qi'_$Qi~O'h$Qi~P8NpO'`AdO~P8ChO'`AeO~P8EcO'`AfO'fAbO&v$Qi&|$Qi&}$Qi'_$Qi'e$Qi~P4!UO'`AgO~P8GqO&e,rO'`AdO'eAlO'fA`O(V,sOV$Qig$Qi!e$Qi!f$Qi!g$Qi!h$Qi&v$Qi&|$Qi&}$Qi'T$Qi'_$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi'Z$Qi~O'R$Qi'S$Qi'c$Qi'd$Qi~P9#[O&e,rO'`AeO'eAmO'fAaO(V,sOV$Qig$Qi!e$Qi!f$Qi!g$Qi!h$Qi&v$Qi'T$Qi'_$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi'Z$Qi~O'R$Qi'S$Qi'c$Qi'd$Qi~P9%VO'`AfO'eAnO'fAbO&v$Qi&|$Qi&}$Qi'_$Qi~P4!UO&e,rO'`AgO'eAoO'fAcO(V,sO!e$Qi!f$Qi!g$Qi!h$Qi&v$Qi'T$Qi'_$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi~O'R$Qi'S$Qi'c$Qi'd$Qi~P9'eO'hAtO~P8I]O'hAuO~P8KWO'hAvO~P8L{O'hAwO~P8NpO&e,rO'RApO'SVO'TBYO'`AdO'cWO'dWO'eAlO'fA`O(V,sOV$Qig$Qi!e$Qi!f$Qi&v$Qi&|$Qi&}$Qi'_$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi'Z$Qi~O!gAxO!hA|O~P9)mO&e,rO'RAqO'SVO'TBZO'`AeO'cWO'dWO'eAmO'fAaO(V,sOV$Qig$Qi!e$Qi!f$Qi&v$Qi'_$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi'Z$Qi~O!gAyO!hA}O~P9+hO&e,rO'RArO'SVO'TB[O'`AfO'cWO'dWO'eAnO'fAbO(V,sO!e$Qi!f$Qi&v$Qi&|$Qi&}$Qi'_$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi(R$Qi~O!gAzO!hBOO~P9-]O&e,rO'RAsO'SVO'TB]O'`AgO'cWO'dWO'eAoO'fAcO(V,sO!e$Qi!f$Qi&v$Qi'_$Qi'g$Qi'h$Qi'}$Qi(O$Qi(P$Qi(Q$Qi~O!gA{O!hBPO~P9/QO!g$Qi!h$Qi~P9)mO!g$Qi!h$Qi~P9+hO!g$Qi!h$Qi~P9-]O!g$Qi!h$Qi~P9/QO!evO!fvO!gAxO!hA|O&e,rO'RApO'SVO'TBYO'`AdO'cWO'dWO'eAlO'fA`O'gAxO(PBUO(V,sOV$Qig$Qi&v$Qi&|$Qi&}$Qi'_$Qi'h$Qi'}$Qi(Q$Qi'Z$Qi~O(OBQO~P91fO!evO!fvO!gAyO!hA}O&e,rO'RAqO'SVO'TBZO'`AeO'cWO'dWO'eAmO'fAaO'gAyO(PBVO(V,sOV$Qig$Qi&v$Qi'_$Qi'h$Qi'}$Qi(Q$Qi'Z$Qi~O(OBRO~P93aO!evO!fvO!gAzO!hBOO&e,rO'RArO'SVO'TB[O'`AfO'cWO'dWO'eAnO'fAbO'gAzO(PBWO(V,sO&v$Qi&|$Qi&}$Qi'_$Qi'h$Qi'}$Qi(Q$Qi(R$Qi~O(OBSO~P95UO!evO!fvO!gA{O!hBPO&e,rO'RAsO'SVO'TB]O'`AgO'cWO'dWO'eAoO'fAcO'gA{O(PBXO(V,sO&v$Qi'_$Qi'h$Qi'}$Qi(Q$Qi~O(OBTO~P96yO(O$Qi~P91fO(O$Qi~P93aO(O$Qi~P95UO(O$Qi~P96yO'RApO'SVO'cWO'dWO~P9#[O'RAqO'SVO'cWO'dWO~P9%VO'RArO'`AfO'eAnO'fAbO&v$Qi&|$Qi&}$Qi'_$Qi~P5#]O'RAsO'SVO'cWO'dWO~P9'eOV$Tig$Ti&v$Ti'_$Ti'h$Ti'Z$Ti~P8AYO!evO!fvO!gAzO!hBOO&e,rO'RArO'SVO'TB[O'`AfO'cWO'dWO'eAnO'fAbO'gAzO(OBSO(PBWO(QDpO(V,sO~O&|CaO&}CaO'}AjO'h$Ti(R$Ti&v$Ti'_$Ti~P9;XO!gAxO!hA|O'RApO'TBYO'`AdO'eAlO'fA`O'gAxO(OBQO(PBUO(QDnO'_$Ry~P56dO!gAyO!hA}O'RAqO'TBZO'`AeO'eAmO'fAaO'gAyO(OBRO(PBVO(QDoO~P50|O&v$Ry&|$Ry&}$Ry'_$Ry'h$Ry'}$Ry(R$Ry~P9;XO!evO!fvO!gA{O!hBPO&e,rO'RAsO'SVO'TB]O'`AgO'cWO'dWO'eAoO'fAcO'gA{O(OBTO(PBXO(QDqO(V,sO~O&v$Ry'_$Ry'h$Ry'}$Ry~P9?WO&a=gO&i=gO&c!dX&d!dX&h!dX~O&a=hO&i=hO~P60iO&a=iO&i=iOg!dX&|!dX&}!dXP!dXV!dX]!dX_!dXv!dXy!dX{!dX!O!dX!P!dX!S!dX!V!dX!Y!dX!o!dX#Z!dX#[!dX#y!dX$h!dX$k!dX$o!dX$s!dX$u!dX$w!dX$y!dX${!dX$}!dX%P!dX%Q!dX%Y!dX&y!dX'U!dX'a!dX'p!dX'u!dX'w!dX'x!dX~P2)eO&a=jO&i=jOg!dX&|!dX&}!dXP!dXV!dX]!dX_!dXv!dXy!dX{!dX!O!dX!P!dX!S!dX!V!dX!Y!dX!o!dX#Z!dX#[!dX#y!dX$h!dX$k!dX$o!dX$s!dX$u!dX$w!dX$y!dX${!dX$}!dX%P!dX%Q!dX%Y!dX&y!dX'U!dX'a!dX'p!dX'u!dX'w!dX'x!dX~P2)eO(S=lO!e'QX!f'QX!g'QX!h'QX&e'QX'R'QX'S'QX'T'QX'`'QX'c'QX'd'QX'e'QX'f'QX'g'QX'h'QX'}'QX(O'QX(P'QX(Q'QX(R'QX(V'QX&v'QX&|'QX&}'QX'_'QX~P$:}O(S=lO~O(R>qO~P&5}O&vji'_ji~P)@uOV>uOg,wO&v'zX'_'zX'Z'zX~OV>uOg,wO&v'za'_'za'Z'za~O'hAwO'}AkO&v#Xi'_#Xi~P9?WO!evO!fvO&e,rO'SVO'cWO'dWO(V,sO~O!gAyO!hA}O'RAqO'TBZO'`AeO'eAmO'fAaO'gAyO'hAuO'}AiO(OBRO(PBVO(QDoOV#rag#ra&v#ra'_#ra'Z#ra~P9JRO(S?UOP'QXV'QX_'QXg'QXv'QXy'QX{'QX!O'QX!P'QX!S'QX!V'QX!Y'QX!e'QX!f'QX!g'QX!h'QX!o'QX#Z'QX#['QX#y'QX$h'QX$k'QX$o'QX$s'QX$u'QX$w'QX$y'QX${'QX$}'QX%P'QX%Q'QX%Y'QX&e'QX&v'QX&y'QX&|'QX&}'QX'R'QX'S'QX'T'QX'U'QX'Z'QX'`'QX'a'QX'c'QX'd'QX'e'QX'f'QX'g'QX'h'QX'p'QX'u'QX'w'QX'x'QX'}'QX(O'QX(P'QX(Q'QX(V'QX~P$:}O(S?VOV'QXg'QX!e'QX!f'QX!g'QX!h'QX&e'QX&v'QX'R'QX'S'QX'T'QX'_'QX'`'QX'c'QX'd'QX'e'QX'f'QX'g'QX'h'QX'}'QX(O'QX(P'QX(Q'QX(V'QX'Z'QX&|'QX&}'QX~P$:}O(S?UO~O(S?VO~O(RAYO~P&5}O(RAZO~P&5}O(RA[O~P&5}O(RA]O~P&5}O(SA^O'_'qX~P6CcO(SA_O!e'qX!f'qX!g'qX!h'qX&a'qX&c'qX&d'qX&e'qX&f#dX&g#dX&h'qX&i'qX'O'qX'R'qX'S'qX'T'qX'`'qX'c'qX'd'qX'e'qX'f'qX'g'qX'h'qX'}'qX(O'qX(P'qX(Q'qX(R'qX(V'qX&v'qX&|'qX&}'qX'_'qX~O(SA^O~O(SA_O~O(RCbO~P+*lO(RCcO~P+*lO(RCdO~P+*lO(RCeO~P+*lOy!g!h'P'g&}&|'a'c'S(Q(R&s&|~",goto:")/_([PPPPP(]4bP@g@kP@oPP(]P@uP@x@{ARP(]PA]AiI`IsKSLhMxNU!-q!5[!5m!-q!Br!CfPP# kP!CfP# n!CfPP# q!CfP# w!CfP# z!CfP# }#!Q#!Q#!Y#!]#!Q#!f#!Q#!x##OPPPP#0R#7w#8f#8j#8n!CfP#9O#9R#9U#@u#AXP#Ak#9RP#An#Aq#Fu$%c$%f$%i$*m$*m$/q$/t$p>q>t>u?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VASATAUAVAWAXAYAZA[A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeCqCsCtCuCvCwCxCyC}DODPDQDRDSDTDiDjDkDlDmDnDoDpDq9V!POR[elmnuwxy|!P!Q![!^!_!`!t#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$n$o$r$t%P%Q%S%U%[%d%k%o%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(k(n(q(v(y)R)W)Y)])^)_)m)q)u)w)|*O*U*Z*]*`*s*|+T+Z+a+q+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x,z-S-U-W-`-b-u.V.X.].^.b.e.g.i.w.}/S/U/^/b/p/w0U0V0s0x0z1O1R1W1a1c1f1j1o1w1x1z2O2S2U2W2[2^2a2h2m2q2t3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`8O8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`p>q>t>u?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VASATAUAVAWAXAYAZA[A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeCqCsCtCuCvCwCxCyC}DODPDQDRDSDTDiDjDkDlDmDnDoDpDqT'o$h'pT'n$h'pQ't$hR*n'pR'{$iR*s'uQ'z$iR*x'{Q'y$iS*w'z'{R-r*xQ%S!ZQ)n%yQ+c(mR/y-P0OfOR[elmnuwxy|!P!Q!T!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q+x,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmS%R!Z(mS&z#f,YT=|%y-Ps!y[!t$n%Q%k%{%}&y)q)u)w*|-S-U-W-up>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmW$Yx=R=S=TW$^y=]=^=_[$x!X$w+V+W.Q0[S%X!](sS&z#f,YS(|%j*{+S)Z%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqS-w+S8oQ0O-gQ0c.[U5j=U=X=YS5k=V=ZS5l=W=[U5p=`=c=dS5q=a=eT5r=b=f0PfOR[elmnuwxy|!P!Q!T!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q+x,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmS(|%j*{Q)}&dS-w+S8oQ0O-gR0c.[0OfOR[elmnuwxy|!P!Q!T!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q+x,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDm[$x!X$w+V+W.Q0[S(|%j*{+S)Z%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqS-w+S8oQ0O-gR0c.[Q)f%oQ+{)WQ-{+TS.l+}.^Q0h.]Q0r.gQ2R0sQ2V0zQ2o2WQ2p2aR2u2q9V]OR[elmnuwxy|!P!Q![!^!_!`!t#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$n$o$r$t%P%Q%S%U%[%d%k%o%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(k(n(q(v(y)R)W)Y)])^)_)m)q)u)w)|*O*U*Z*]*`*s*|+T+Z+a+q+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x,z-S-U-W-`-b-u.V.X.].^.b.e.g.i.w.}/S/U/^/b/p/w0U0V0s0x0z1O1R1W1a1c1f1j1o1w1x1z2O2S2U2W2[2^2a2h2m2q2t3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`8O8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`p>q>t>u?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VASATAUAVAWAXAYAZA[A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeCqCsCtCuCvCwCxCyC}DODPDQDRDSDTDiDjDkDlDmDnDoDpDqR'}$jR(P$kQ$o!TR(W$pR$r!VR$t!WR$y!X]$x!X$w+V+W.Q0[R-|+T_/[,d/^0V1c1w1x2hQ%q!mQ&v#eQ'd$PQ+U(^Q+`(fR+i(rX(`$w+W.Q0[0OfOR[elmnuwxy|!P!Q!T!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q+x,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmQ!}^[$x!X$w+V+W.Q0[+S)Z%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqQ-m*gQ1r0PR1t0R%poORnwxy|!P!Q!^!_!`#]#d#g#h#j#k#l#m#n#o#p#q#r#s#t#x$o$r$t%P%Q%S%U%[%d%p%v&k&y'e'n'r'u'v'w(W(n(q(v(y*O*U*]*`*s+Z+a+q,z-S-`.V/w1o3T3Z3[3g3u3|4T4[4c4j4q4x5P5W5_8m=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=]=^=_=`=a=b=c=d=e=f=m=o?WQ${!YS%l!j%nQ'b$OQ+Z(bQ+[(cQ-e*^![p>q?S?T?]?a?e?i?m?q?u?y?}@R@VA]CqCsCtCuCvCwCxCyDiDjDkDlDmvDZ#b&q*Z-b?P?U?Y?^?b?f?j?n?r?v?z@O@SAWAY!]D[)m?Q?R?V?Z?[?_?`?c?d?g?h?k?l?o?p?s?t?w?x?{?|@P@Q@T@UAXAZA[S!r[p>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDm!^gOR!P!Q!^!_!`#g$o$r$t%P%S%U%[%d'e'n'r'u'v'w(W(n(v(y*s+Z+a+qQ%O!YT%Y!](sq!kU$l$z%V%f%g%r%t'|(O5x5y5z5{5|5}Q)Q%mQ*b'cQ+r)SQ0l.`Q1`/XR1}0mR+q)RR+a(f+T)c%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDq/QlOR[elmnuwxy|!P!Q![!^!_!`!t#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$n$o$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(k(n(q(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmQ$g!OQ(}%j+S)]%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqQ*i'lQ-m*gQ0d.[Q1r0PR1t0RR#O^R!}^+T)^%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDq+T)Z%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqR0i.]0OfOR[elmnuwxy|!P!Q!T!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q+x,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDm+T)Z%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqT%i!f=jR+v)V!W)a%o)W)_+T+},T,g,h,i,j,k,l,m,n,o,p,x.].^.g0s0z1O1f2W2a2qS._+u.aQ/W,`z>l)Y)])^,_/S/U8]8q8u8|9T9[9c9j9q9x:P:W:_<_m/b1j8^8_8r8v8w8}9O9U9V9]9^9d9e9k9l9r9s9y9z:Q:R:X:Y:`:a<`n,d,u.b.e.w/^/p0U0V1R1a1c1w1x1z2O2S2[2h2m2t8`8a8s8x8y9P9Q9W9X9_9`9f9g9m9n9t9u9{9|:S:T:Z:[:b:co,W.}1W2^8b8t8z9R9Y9a9h9o9v9}:U:]:duASATA^A`AaAdAeAhAiAlAmApAqAtAuAxAyA|A}BQBRBUBVBYBZC`CbCc#gDd,q.i0x2U8c8{9S9Z9b9i9p9w:O:V:^:etAUAVA_AbAcAfAgAjAkAnAoArAsAvAwAzA{BOBPBSBTBWBXB[B]CaCdCeC}DODPDQDRDSDTDnDoDpDqm+z)W+}.^.g.i/p0s0x0z2S2U2W2a2qe,O)W,P,R,S.^.q.s/p0j1g]#T_`a#R#V#YR)|&_R/}-X0OfOR[elmnuwxy|!P!Q!T!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q+x,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmS&z#f,Y+T)Z%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDq:XdOR[elmnuwxy|!P!Q!T!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#f#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%o%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)W)Y)])^)_)m)q)u)w)|*O*U*Z*]*`*s*|+T+Z+a+q+x+},T,W,Y,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x,z-S-U-W-`-b-u.V.X.].^.b.e.g.i.w.}/S/U/^/b/p/w0U0V0s0x0z1O1R1W1a1c1f1j1o1w1x1z2O2S2U2W2[2^2a2h2m2q2t3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`p>q>t>u?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VASATAUAVAWAXAYAZA[A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeCqCsCtCuCvCwCxCyC}DODPDQDRDSDTDiDjDkDlDmDnDoDpDq9ebO[enuwxy!P!Q!T!Y![!]!^!_!e!f!n!o!t!{#]#b#d#f#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%o%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)W)Y)_)m)q)u)w)|*O*U*Z*]*`*s*|+T+Z+a+q+x+},T,W,Y,d,g,h,i,j,k,l,m,n,o,p,q,u,x,z-S-U-W-`-b-u.V.X.].^.b.e.g.i.w.}/S/U/^/b/p/w0U0V0s0x0z1O1R1W1a1c1f1j1o1w1x1z2O2S2U2W2[2^2a2h2m2q2t3P3Q3R3S3T3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`p>q>t>u?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VASATAUAVAWAXAYAZA[A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeCqCsCtCuCvCwCxCyC}DODPDQDRDSDTDiDjDkDlDmDnDoDpDqR&i#^R&i#_+S)Z%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqT/q,w1lU,f)`-x0eW/`,f/aC|DUTC|+y,VQ/r,wR2d1lR1j/qS(l%R=|R1k/qX/`,f/aC|DUQ,X)YV1U.}1W2^Q.c+wR/Y,aR0d/RT,b)])^U,^)])^,_R1^/UU,])])^,_R1_/U!W)_%o)W)_+T+},T,g,h,i,j,k,l,m,n,o,p,x.].^.g0s0z1O1f2W2a2qz8])Y)])^,_/S/U8]8q8u8|9T9[9c9j9q9x:P:W:_<_uATAaAeAiAmAqAuAyA}BRBVBZCctAU.i0x2UAUA_AbAfAjAnArAvAzBOBSBWB[CaCdmAV>tAVAcAgAkAoAsAwA{BPBTBXB]Ce^.v,T8q8r8s8tA^A__2Y1O<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqQ&{#fR/Q,YT&z#f,Y0OfOR[elmnuwxy|!P!Q!T!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q+x,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmT&z#f,YR)g%oQ#ceV*X&q*Z-bQ(k%RR8O=|R%U![R%]!]Q%Z!]R+j(s!QsO!P!Q!^!_$o$r$t%P%S%U%['n'r'u'v'w(W(n(v*s+Z+a+qQ!cRU#|lm#}W$Ww=O=P=Qf$Zx=R=S=T=U=V=W=X=Y=Z=[f$_y=]=^=_=`=a=b=c=d=e=fY%c!`#g%d'e(yZ'P#j3m3n3o=o!QjO!P!Q!^!_$o$r$t%P%S%U%['n'r'u'v'w(W(n(v*s+Z+a+qQ!bRU#zlm#}b$Vwxy=X=Z=[=c=e=fb$b|3U3V3W3X3Y3Z3[3]Y%b!`#g%d'e(yQ&u#dQ'Q#jQ-d*]U5d=O=R=]Y5e=P=S=Y=^=db5f=Q=T=U=V=W=_=`=a=bQ6`3mQ6a3nQ6b3oR>S=oR$f}Q$d}S'f$c-iQ*d'hT-k*g0PQ$e}R*e'hQ-l*gR1q0P/RqOR[elmnuwxy|!P!Q![!^!_!`!t#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$n$o$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(k(n(q(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDm/RmOR[elmnuwxy|!P!Q![!^!_!`!t#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$n$o$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(k(n(q(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmR(}'`T$Qlm$dnORnwxy|!P!Q!^!_!`#]#g#h#j#k#l#m#n#o#p#q#r#s#t#x$o$r$t%P%Q%S%U%[%d&y'e'n'r'u'v'w(W(n(v(y*O*`*s+Z+a+q-S=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=]=^=_=`=a=b=c=d=e=f=m=o![3P[!t$n%k%{)q)w*|-W-u3P3U3_3f3o3p3w4O4V4^4e4l4s4z5R5Y8d8hp>qCq`&f#]3_3`3a3b=l?U?Va-Z*O8d8e8f8g>pAWAX/RpOR[elmnuwxy|!P!Q![!^!_!`!t#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$n$o$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(k(n(q(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDm!QsO!P!Q!^!_$o$r$t%P%S%U%['n'r'u'v'w(W(n(v*s+Z+a+qQ!cRZ%c!`#g%d'e(y!QRO!P!Q!^!_$o$r$t%P%S%U%['n'r'u'v'w(W(n(v*s+Z+a+qQ!`RW#gijrsW%`#g%d'e(yW%d!a!b!c!dR(y%eQ'p$hR*l'pS,e)`)gU/_,e0W1yS0W-x-|T1y0e0iS,{)h)iR/x,{Q+X(aR.R+XQ-Q)nR/z-QQ)l%wR,})lQ%|!sU)r%|)x*}Q)x&RT*}(S(hQ!v[[&T!v&V&X(R)O=kQ&V!xQ&X!zU(R$n%Q&yQ)O%kR=kO=lQ>T=qQ>U=rQ>V=sQ>W=tQ>X=uQ>Y=vQ>Z=wQ>[=xQ>]=yQ>^CsQ>_CtQ>`CuQ>aCvQ>bCwQ>cCxQ>dCyQ>e=zU>g%})u-UQ>r>pQ>s>qQ@W?UQ@X?VQ@Y?^Q@Z?_Q@[?`Q@]?aQ@^?bQ@_?cQ@`?dQ@a?eQ@b?fQ@c?gQ@d?hQ@e?iQ@f?jQ@g?kQ@h?lQ@i?mQ@j?nQ@k?oQ@l?pQ@m?qQ@n?rQ@o?sQ@p?tQ@q?uQ@r?vQ@s?wQ@t?xQ@u?yQ@v?zQ@w?{Q@x?|Q@y?}Q@z@OQ@{@PQ@|@QQ@}@RQAO@SQAP@TQAQ@UQAR@VQB^AWQB_AXQB`AYQBaAZQBbA[QBcA]QCzDiQC{=}QD]DjQD^DkQD_DlRD`Dm/QqOR[elmnuwxy|!P!Q![!^!_!`!t#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$n$o$r$t%P%Q%S%U%[%d%k%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(k(n(q(v(y)R)m)q)u)w)|*O*U*Z*]*`*s*|+Z+a+q,z-S-U-W-`-b-u.V.X/w1o3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`8O8d8e8f8g8h8i8j8k8l8m8np>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDm+T)c%o)W)Y)])^)_+T+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x.].^.b.e.g.i.w.}/S/U/^/b/p0U0V0s0x0z1O1R1W1a1c1f1j1w1x1z2O2S2U2W2[2^2a2h2m2q2t8]8^8_8`8a8b8c8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`t>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqZ!z[$n%Q&yp>q?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VAWAXAYAZA[A]CqCsCtCuCvCwCxCyDiDjDkDlDmS$l!T$pQ$z!YS%V!](sQ%f!eS%g!f7|W%r!n!{(d+xQ%t!oQ'|$jQ(O$kQ5x=gQ5y=hQ5z=iQ5{(ZQ5|7{T5}7}=jQ)`%ob+y)W+}.^.g0s0z2W2a2qQ,V)YU,[)])^,_h,c)_8]8^8_8`8a8b8cASATAUAVQ-x+TQ.u,TW.{,W.}1W2^^/Z,d/^0V1c1w1x2hh/c,g8u8v8w8x8y8z8{A`AaAbAcQ/d,hQ/e,iQ/f,jQ/g,kQ/h,lQ/i,mQ/j,nQ/k,oQ/l,pQ/m,qQ/o,uQ/s,xQ0e.]Q0n.bQ0p.eU0u.i0x2UU1P.w1R2[Q1Z/SQ1]/UQ1e/bQ1u0UQ2X1OQ2_1aQ2`1fQ2c1jQ2i1zU2j2O2m2tQ:q8qQ:r8rQ:s8sQ:t8tQ:u8|Q:v8}Q:w9OQ:x9PQ:y9QQ:z9RQ:{9SQ:|9TQ:}9UQ;O9VQ;P9WQ;Q9XQ;R9YQ;S9ZQ;T9[Q;U9]Q;V9^Q;W9_Q;X9`Q;Y9aQ;Z9bQ;[9cQ;]9dQ;^9eQ;_9fQ;`9gQ;a9hQ;b9iQ;c9jQ;d9kQ;e9lQ;f9mQ;g9nQ;h9oQ;i9pQ;j9qQ;k9rQ;l9sQ;m9tQ;n9uQ;o9vQ;p9wQ;q9xQ;r9yQ;s9zQ;t9{Q;u9|Q;v9}Q;w:OQ;x:PQ;y:QQ;z:RQ;{:SQ;|:TQ;}:UQvC}Q>wDOQ>xDPQ>yDQQ>zDRQ>{DSQ>|DTS>}/p2SQBdA^QBeA_QBfAdQBgAeQBhAfQBiAgQBjAhQBkAiQBlAjQBmAkQBnAlQBoAmQBpAnQBqAoQBrApQBsAqQBtArQBuAsQBvAtQBwAuQBxAvQByAwQBzAxQB{AyQB|AzQB}A{QCOA|QCPA}QCQBOQCRBPQCSBQQCTBRQCUBSQCVBTQCWBUQCXBVQCYBWQCZBXQC[BYQC]BZQC^B[QC_B]QCfC`QCgCaQChCbQCiCcQCjCdQCkCeQDV>tQDW>uQDeDnQDfDoQDgDpRDhDqQ$v!XW(_$w+W.Q0[R-}+VQ(a$wV.O+W.Q0[:hYOR[^elmnuwxy|!P!Q!T!X!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t$w%P%Q%S%U%[%d%k%o%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)W)Y)])^)_)m)q)u)w)|*O*U*Z*]*`*g*s*|+T+V+W+Z+a+q+x+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x,z-S-U-W-`-b-u.Q.V.X.].^.b.e.g.i.w.}/S/U/^/b/p/w0P0R0U0V0[0s0x0z1O1R1W1a1c1f1j1o1w1x1z2O2S2U2W2[2^2a2h2m2q2t3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`p>q>t>u?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VASATAUAVAWAXAYAZA[A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeCqCsCtCuCvCwCxCyC}DODPDQDRDSDTDiDjDkDlDmDnDoDpDq!O#oi!a$U$a%a&e&|'O'T'W'X'Y'Z'['_(g-Y-h5a5b5c6W6^l,k)`+y-x.u/e/h/i/j/k/l/s0e2X2`l4^!q5s6P6Z6_6j7P7W7_7f7m7t:f:jr4_#a#y+b+n5t6Q6T6[6k7Q7X7`7g7n7u:g:kj4`5u6R6U6]6l7R7Y7a7h7o7v:h:lf4a5v6V6m7S7Z7b7i7p7w8p:mj4b$T%T*o6S6n7T7[7c7j7q7x:i:nv4c&t)h)j*S+h-c/t0_5w6X6Y6o7U7]7d7k7r7y:oz4d']6p7V7^7e7l7s7z:p>^>_>`>a>b>c>dCzD]D^D_D`l9c,V,[1Z1]:q:|;c;j;q;x}p9g/o0n0p1P1u2_2i2j;Q;g;n;u;|v>w>x>y>z>{>|DeDfDgDhf=t>O>U>X>Y>Z>[>]>e>g>r>sf?j&o@W@^@j@n@r@v@zAOB^B`d?k@X@_@k@o@s@w@{APB_Bab?l-O@`@l@p@t@x@|AQBbd?m-X@a@m@q@u@y@}ARBcC{dApBdBjBvBzCOCSCWC[CfChbAqBkBwB{CPCTCXC]CiDWfAr0uBeBlBxB|CQCUCYC^CgCjcAsBmByB}CRCVCZC_CkDV:hYOR[^elmnuwxy|!P!Q!T!X!Y![!]!^!_!`!e!f!n!o!t!{#]#b#d#g#h#j#k#l#m#n#o#p#q#r#s#t#u#x#}$j$k$n$o$p$r$t$w%P%Q%S%U%[%d%k%o%p%v%{%}&k&q&y'e'n'q'r'u'v'w(W(Z(d(k(n(q(s(v(y)R)W)Y)])^)_)m)q)u)w)|*O*U*Z*]*`*g*s*|+T+V+W+Z+a+q+x+},T,W,_,d,g,h,i,j,k,l,m,n,o,p,q,u,x,z-S-U-W-`-b-u.Q.V.X.].^.b.e.g.i.w.}/S/U/^/b/p/w0P0R0U0V0[0s0x0z1O1R1W1a1c1f1j1o1w1x1z2O2S2U2W2[2^2a2h2m2q2t3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3_3`3a3b3c3d3e3f3g3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`7{7|7}8O8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e<_<`p>q>t>u?O?P?Q?R?S?T?U?V?W?Y?Z?[?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}@O@P@Q@R@S@T@U@VASATAUAVAWAXAYAZA[A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeCqCsCtCuCvCwCxCyC}DODPDQDRDSDTDiDjDkDlDmDnDoDpDqx#qi!a$U$a%a&e&|'O'T'W'Z'[(g-Y-h5a5b5c6W6^f,m)`+y-x.u/e/h/k/l0e2X2`f4l!q5s6P6Z6_6j7P7f7m:f:jl4m#a#y+b+n5t6Q6T6[6k7Q7g7n:g:kd4n5u6R6U6]6l7R7h7o:h:l`4o5v6V6m7S7i7p8p:md4p$T%T*o6S6n7T7j7q:i:np4q&t)h)j*S+h-c/t0_5w6X6Y6o7U7k7r:ot4r']6p7V7l7s:p>^>_>`>a>b>c>dCzD]D^D_D`f9q,V,[1Z1]:q:|;c;x}j9u/o0n0p1P1u2_2i2j;Q;g;|v>w>x>y>z>{>|DeDfDgDh`=v>O>U>X>[>]>g>r>s`?r&o@W@^@j@v@zB^B`^?s@X@_@k@w@{B_Ba[?t-O@`@l@x@|Bb^?u-X@a@m@y@}BcC{^AxBdBjBvCSCWCfCh[AyBkBwCTCXCiDW`Az0uBeBlBxCUCYCgCj]A{BmByCVCZCkDVU!x[%kt>uASATAUAVA^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}BOBPBQBRBSBTBUBVBWBXBYBZB[B]C`CaCbCcCdCeC}DODPDQDRDSDTDnDoDpDqQ.`+uR0m.aS,R)W.^R.n+}Q+|)WS.m+}.^^0q.g0s0z2S2W2a2qU0v.i0x2UR1h/pS#Q_#RS#U`#VT#Xa#YT,S)W/pW,t)`+y-x0eR.z,VR/X,`R-f*^g$[x=R=S=T=U=V=W=X=Y=Z=[g$`y=]=^=_=`=a=b=c=d=e=fR-n*gR'c$O",nodeNames:"⚠ Identifier BlockComment Comment SourceFile IfStatement IfClause if ElseifClause IfClause elseif ElseClause else end TryStatement try CatchClause catch CatchBinding TryElseClause FinallyClause finally ForStatement for ForBinding TupleExpression AssignmentExpression LonelyType :: <: Type InterpolationExpression FieldExpression FieldName QuoteExpression SubscriptExpression ListCompherension PrimitiveDefinition primitive type Definition Number AbstractDefinition abstract Definition StructDefinition mutable struct Definition ModuleDefinition module Definition BareModuleDefinition baremodule Definition MacroDefinition macro Definition FieldExpression SubscriptExpression AssignmentExpression AssignmentExpression ParameterizedIdentifier TypeArgumentList ParenthesizedExpression AssignmentExpression Operator in isa pipe< pipe> ArgumentList ListCompherension ForClause IfClause Parameters FunctionDefinition function Definition TypedExpression CallExpression BroadcastDot DoClause do DoClauseArguments CallExpression where TypeParameters MacroExpression MacroIdentifier MacroName Operator MacroFieldExpression FieldExpression SubscriptExpression AssignmentExpression Symbol SymbolName CallExpression BroadcastDot ArgumentList AssignmentExpression Parameters BooleanLiteral Character String $ ( ) TripleString CommandString PrefixedString Prefix FieldEpxression String TripleString CommandString ParenthesizedExpression TupleExpression ArrayExpression ArrayComprehensionExpression ForClause ForBinding AssignOperator = ∈ IfClause MatrixExpression MatrixRow GeneratorExpression TypedExpression ParameterizedIdentifier TypeArgumentList begin MacroFieldName MacroArgumentList AssignmentExpression BareTupleExpression UnaryExpression Operator BinaryExpression TernaryExpression FunctionExpression AssignmentExpression CoefficientExpression TransposeExpression Coefficient CallExpression FieldExpression ParenthesizedExpression SpreadExpression AssignmentExpression ArrayExpression ArrayComprehensionExpression MatrixExpression MatrixRow GeneratorExpression TypedExpression SubtypedExpression ParameterizedIdentifier AssignOperator WhileStatement while WhileBinding LetStatement let LetBinding VariableDeclaration ConstStatement const AssignmentExpression BareTupleExpression GlobalStatement global LocalStatement local QuoteStatement quote BreakStatement break ContinueStatement continue ReturnStatement return ImportStatement using import Import ScopedIdentifier RenamedIdentifier as SelectedImport RenamedImport ExportStatement export CompoundExpression MacroExpression MacroFieldExpression MacroFieldName MacroArgumentList UnaryExpression Operator BinaryExpression TernaryExpression FunctionExpression AssignmentExpression CoefficientExpression TransposeExpression SpreadExpression FunctionAssignmentExpression",maxTerm:333,nodeProps:[["closedBy",-2,5,8,"end else elseif",-15,11,20,22,37,42,45,49,52,55,76,82,161,164,176,195,"end",14,"end catch else finally",16,"end else finally",19,"finally end",-9,35,59,94,119,120,127,152,153,154,"]",-2,63,132,"}",-7,64,71,100,117,129,149,156,")"],["group",-35,7,10,12,13,15,17,21,23,38,39,43,46,47,50,53,56,67,68,77,83,86,133,162,165,169,173,175,177,179,181,183,185,186,190,194,"keyword",-9,28,29,66,91,106,107,108,124,125,"operator"]],skippedNodes:[0,2,3],repeatNodeCount:36,tokenData:"#%S~R.[XYHwYZHwpqHwqrJursK[stKotuLWuvL]vwLjwxLzxyNWyzN]z{L]{|Nb|}Nj}!ONo!O!P! _!P!Q!He!Q!R!Me!R![!N_![!]#!c!]!^#!s!^!_#!x!_!`##b!`!a!Js!b!c##o!}#O##t#O#P!Kc#P#Q##y#Q#R!Kh#S#T#$O#o#p#$T#p#q#$Y#q#r#$v#r#s!Lx$r$s!KR$w$x!L_%o%p!Kc&a&bL]%!]%!^!Kc%#t%#u! T%#u%#v!MP%#v%#w! T%#w%#x!MP%#x%#y! T%$O%$P! T%$P%$Q! T%$Q%$R! T%$R%$S! T%$S%$T! T%$U%$V! T%$W%$X! T%$X%$Y! T%$Y%$Z! T%$[%$]! T%$_%$`! T%$`%$a! T%$a%$b! T%$b%$c! T%$d%$e! T%$r%$s! T%$s%$t! T%$v%$w! T%$w%$x! T%$z%${! T%$|%$}! T%$}%%O! T%%P%%Q! T%%R%%S! T%%S%%T! T%%T%%U! T%%U%%V! T%%V%%W! T%%W%%X! T%%Y%%Z! T%%[%%]! T%%b%%c! T%%c%%d! T%%d%%e! T%%e%%f! T%%h%%i! T%%j%%k! T%%|%%}! T%%}%&O!MP%&O%&P! T%&P%&Q! T%&Q%&R! T%&R%&S! T%&S%&T! T%&T%&U! T%&U%&V! T%&V%&W! T%&W%&X! T%&X%&Y! T%&b%&c#${%&c%&dKV%&d%&eKV%&e%&fKV%&f%&gKV%&g%&hKV%&m%&n!L_%&n%&o!L_%&q%&r!Kc%&r%&s!Kc%&s%&t!Kc%&t%&u!KR%&u%&v!KR%&v%&w!KR%&w%&xKV%'O%'P!Kc%'P%'QKV%'Q%'RKV%'R%'S!Kc%'S%'T!L_%'T%'U!Kc%'U%'V!L_%'c%'dKV%'d%'e!L_%'f%'gKV%'g%'hKV%'i%'jKV%'j%'kKV%'l%'m!Kc%'m%'nKV%'n%'o!MU%'o%'pKV%'p%'qKV%'q%'rKV%'r%'sKV%'s%'tKV%'t%'uKV%'u%'vKV%'v%'wKV%'w%'xKV%'x%'yKV%'y%'zKV%'z%'{KV%'{%'|!L_%'|%'}KV%'}%(OKV%(O%(PKV%(P%(QKV%(Q%(RLe%(R%(SLe%(S%(TKV%(T%(UKV%(U%(VKV%(V%(WKV%(W%(XKV%(X%(YKV%(Y%(ZKV%(Z%([KV%([%(]KV%(]%(^KV%(^%(_KV%(_%(`KV%(`%(aKV%(a%(bKV%(b%(cKV%(c%(dKV%(d%(eKV%(e%(fKV%(f%(gKV%(g%(hKV%(h%(iKV%(i%(jKV%(j%(kKV%(k%(lKV%(l%(mKV%(m%(nKV%(n%(oKV%(o%(pKV%(p%(qKV%(q%(rKV%(r%(sKV%(s%(tKV%(t%(uKV%(u%(vKV%(v%(wKV%(w%(xKV%(x%(yKV%(y%(zKV%(z%({KV%({%(|KV%(|%(}KV%(}%)OKV%)O%)PKV%)P%)QKV%)Q%)RKV%)R%)SKV%)S%)TKV%)T%)UKV%)U%)VKV%)V%)WKV%)W%)XKV%)X%)YKV%)Y%)ZKV%)Z%)[KV%)]%)^!Kc%)^%)_!L_%)_%)`KV%)`%)aKV%)a%)bKV%)b%)cKV%)c%)d!Kc%)d%)e!L_%)e%)f!L_%)f%)g!L_%)g%)h!Kc%)h%)i!Kc%)i%)j!Kc%)j%)k!Kc%)k%)l!Kc%)l%)mKV%)n%)o!L_%)o%)p!L_%)p%)q!Kc%)q%)r!Kc%)r%)sKV%)s%)tKV%)y%)zKV%)|%)}KV%*O%*PKV%*Q%*RKV%*R%*SKV%*S%*TKV%*T%*UKV%*U%*VKV%*V%*WKV%*W%*XKV%*X%*YKV%*]%*^!M]%*^%*_!Kc%*_%*`!L_%*f%*g!Kc%*g%*h!Kc%*h%*i!Kc%*i%*j!Kc%*k%*l!Kc%*l%*m!Kc%*m%*n!Kc%*n%*o!Kc%*o%*pKV%*p%*q!L_%*q%*r!Kc%*r%*sKV%*s%*tKV%*t%*u!Kc%*u%*v!L_%*w%*xKV%*x%*yKV%*y%*zKV%*z%*{KV%*{%*|KV%*|%*}KV%*}%+OKV%+O%+PKV%+P%+QKV%+Q%+RKV%+R%+SKV%+S%+TKV%+T%+UKV%+U%+VKV%+V%+WKV%+W%+XKV%+X%+YKV%+Y%+ZKV%+Z%+[KV%+[%+]KV%+]%+^KV%+^%+_KV%+_%+`KV%+`%+aKV%+a%+bKV%+f%+gKV%+g%+hKV%+h%+iKV%+i%+jKV%+j%+kKV%+k%+lKV%+l%+mKV%+m%+nKV%+n%+oKV%+o%+pKV%+p%+qKV%+q%+rKV%+r%+sKV%+s%+tKV%:y%:z!Kc%F[%F]KV%Fb%FcKV%Fc%FdKV%Fk%Fl!Kc%Fl%FmKV%Fo%Fp!Kc%Fp%Fq!Kc%Fq%Fr!Kc%G[%G]!MP%G]%G^!MP%Ga%Gb! T%Gb%Gc! T%Gc%Gd! T%Ge%Gf! T%Gf%Gg! T%Gg%Gh! T%Gh%Gi! T%Gi%Gj! T%Gj%Gk! T%Gk%Gl! T%MW%MX! T%MX%MY! T%MY%MZ! T%MZ%M[! T%M[%M]! T%M]%M^! T%M^%M_! T%M_%M`! T%M`%Ma!MP%Ma%Mb!MP%Mb%Mc!MP%Mc%Md!MP%Md%Me! T%Me%Mf! T%Mf%Mg! T%Mg%Mh! T%Mh%Mi! T%Mi%Mj! T%Mj%Mk!MP%Mk%Ml!MP%Ml%Mm! T%Mm%Mn! T%Mn%Mo! T%Mo%Mp! T%Mp%Mq! T%Mu%Mv! T%Mv%Mw! T%Mw%Mx! T%Mx%My! T%Nn%No! T%No%Np! T%Np%Nq! T%Nq%Nr! T%Nr%Ns! T%Ns%Nt!MP%Nt%Nu! T%Nu%Nv! T%Nv%Nw!MP%Nw%Nx!MP%Nx%Ny! T%Ny%Nz!MP%Nz%N{! T%N{%N|!MP%N|%N}! T%N}& O! T& O& P!MP& P& Q!MP& Q& R! T& R& S! T& S& T!MP& T& U!MP& U& V! T& V& W! T& W& X!MP& X& Y!MP& Y& Z! T& Z& [! T& [& ]!MP& ]& ^!MP& ^& _! T& _& `!MP& `& a! T& a& b!MP& b& c! T& c& d! T& d& e! T& e& f! T& f& g! T& g& h! T& h& i! T& i& j! T& j& k!MP& k& l!MP& l& m! T&#V&#WKV&#W&#X!Kc&#[&#]!Kc&#^&#_!Kc&#_&#`!Kc&#`&#aKV&#a&#bKV&$R&$SKV&$T&$UKV&$U&$VKV&$V&$WKV&$f&$g! T&$h&$i!Kc&$i&$j!Kc&$l&$m!L_&$m&$n!L_&$y&$z!Kc&$z&${!L_&%a&%b!Kc&%f&%g!L_&%g&%h!L_&%h&%i!L_&%i&%j!L_&%j&%k!L_&%k&%l!L_&%l&%m!L_&%m&%n!L_&%n&%o!L_&%o&%p!L_&%p&%q!L_&%q&%r!L_&%r&%s!L_&%t&%u!Kc&%u&%v!Kc&%v&%w!Kc&%w&%x!Kc&%x&%y!Kc&%y&%z!Kc&%z&%{!Kc&%{&%|!Kc&%|&%}!Kc&%}&&O!L_&&O&&P!L_&&P&&Q!Kc&&Q&&R!Kc&&R&&S!Kc&&U&&V!Kc&&V&&W!L_&&W&&X!L_&&X&&Y!Kc&&Y&&Z!Kc&&Z&&[!L_&&`&&a!L_&&a&&b!Kc&&b&&c!L_&&c&&d!Kc&&d&&e!Kc&&e&&f!L_&&f&&g!L_&&g&&h!Kc&&h&&i!L_&&i&&j!Kc&&j&&k!L_&&k&&l!Kc&&l&&m!L_&&m&&n!L_&&n&&o!Kc&&p&&q!Kc&&q&&r!L_&&r&&s!Kc&&s&&t!L_&&t&&u!Kc&&u&&v!Kc&&v&&w!Kc&&w&&x!L_&&x&&y!L_&&y&&z!L_&&|&&}KV&&}&'OKV&'Q&'RKV&'R&'SKV&'S&'TKV&'T&'UKV&'U&'VKV&'V&'WKV&'W&'XKV&'X&'YKV&'Y&'ZKV&'Z&'[KV&'[&']Le&']&'^KV&'^&'_KV&'_&'`KV&'`&'aKV&'a&'bKV&'b&'cKV&'c&'dKV&'d&'eKV&'e&'fKV&'f&'gKV&'g&'hKV&'h&'iKV&'i&'jKV&'j&'kKV&'k&'lKV&'l&'mKV&'m&'nKV&'n&'oKV&'o&'pKV&'p&'qKV&'q&'rKV&'r&'sKV&'s&'tKV&'t&'uKV&'u&'vKV&'v&'wKV&'w&'xKV&'x&'yKV&'y&'zKV&'z&'{KV&'{&'|KV&'|&'}KV&'}&(OKV&(O&(PKV&(P&(QKV&(Q&(RKV&(R&(SKV&(S&(TKV&(T&(UKV&(U&(VKV&(V&(WKV&(W&(XKV&(X&(YKV&(Y&(ZKV&(Z&([KV&([&(]KV&(]&(^KV&(^&(_KV&(_&(`KV&(`&(aKV&(a&(bKV&(b&(cKV&(c&(dKV&(d&(eKV&(e&(fKV&(f&(gKV&(g&(hKV&(h&(iKV&(i&(jKV&(j&(kKV&(k&(lKV&(l&(mKV&(m&(nKV&(n&(oKV&(o&(pKV&(p&(qKV&(q&(rKV&(r&(sKV&(s&(tKV&(t&(uKV&(u&(vKV&(v&(wKV&(w&(xKV&(x&(yKV&(y&(zKV&(z&({KV&({&(|KV&(|&(}KV&(}&)OKV&)O&)PKV&)P&)QKV&)Q&)RKV&)R&)SKV&)S&)TKV&)T&)UKV&)U&)VKV&)V&)WKV&)W&)XKV&)X&)YKV&)Y&)ZKV&)Z&)[KV&)[&)]KV&)]&)^KV&)^&)_KV&)_&)`KV&)`&)aKV&)a&)bKV&)b&)cKV&)c&)dKV&)d&)eKV&)e&)fKV&)g&)h!Kc&*T&*UKV&*U&*VKV&*V&*WKV&*W&*XKV&+`&+a! T&+a&+b! T&+b&+c! T&+c&+d! T&+d&+e! T&+e&+f! T&+f&+g! T&+g&+h! T&+h&+i! T&+i&+j! T&+j&+k! T&+k&+l! T&+l&+m! T&+m&+n! T&+n&+o! T&+o&+p! T&+p&+q! T&+q&+r! T&+r&+s! T&+s&+t! T&+t&+u! T&+w&+x! T&+x&+y! T&+y&+z! T&+z&+{! T&+{&+|! T&+|&+}! T?MX?MY! T?MY?MZ!MP?MZ?M[! T?M[?M]!MP~H|T&s~XYI]YZI]pqI]![!]Io!a!bJZ~I`TXYI]YZI]pqI]![!]Io!a!bJZ~IrRXYI{YZI{pqI{~JQR(R~XYI{YZI{pqI{~J^RXYJgYZJgpqJg~JlR(Q~XYJgYZJgpqJg~JzP'a~!_!`J}PKSP'gP!_!`KVPK[O'gP~KaP'u~rsKd~KgPrsKj~KoO'w~~KtSR~OYKoZ;'SKo;'S;=`LQ<%lOKo~LTP;=`<%lKo~L]O'R~~LbP'e~!_!`Le~LjO&|~~LoQ'e~vwLu!_!`Le~LzO(P~RMPU(TQOwMcx#OMc#O#PMn#P;'SMc;'S;=`NQ<%lOMcPMfPwxMiPMnO#[PPMqTOwMcwxMix;'SMc;'S;=`NQ<%lOMcPNTP;=`<%lMc~N]O&y~~NbO'_~~NgP'd~!_!`Le~NoO'Y~~NtR'd~}!ON}!_!`Le!`!a! Y~! QP!`!a! T~! YO'h~~! _O(S~~! d-w'S~qrJuuvL]vwL]z{L]{|Nb}!O!G}!O!P!HY!P!Q!He!Q![!Hv!^!_!Is!_!`!Jc!`!a!Js#O#P!Kc#Q#R!Kh#p#q!Kp#r#s!Lx$r$s!KR$w$x!L_%o%p!Kc&a&bL]%!]%!^!Kc%#t%#u! T%#u%#v!MP%#v%#w! T%#w%#x!MP%#x%#y! T%$O%$P! T%$P%$Q! T%$Q%$R! T%$R%$S! T%$S%$T! T%$U%$V! T%$W%$X! T%$X%$Y! T%$Y%$Z! T%$[%$]! T%$_%$`! T%$`%$a! T%$a%$b! T%$b%$c! T%$d%$e! T%$r%$s! T%$s%$t! T%$v%$w! T%$w%$x! T%$z%${! T%$|%$}! T%$}%%O! T%%P%%Q! T%%R%%S! T%%S%%T! T%%T%%U! T%%U%%V! T%%V%%W! T%%W%%X! T%%Y%%Z! T%%[%%]! T%%b%%c! T%%c%%d! T%%d%%e! T%%e%%f! T%%h%%i! T%%j%%k! T%%|%%}! T%%}%&O!MP%&O%&P! T%&P%&Q! T%&Q%&R! T%&R%&S! T%&S%&T! T%&T%&U! T%&U%&V! T%&V%&W! T%&W%&X! T%&X%&Y! T%&b%&cKV%&c%&dKV%&d%&eKV%&e%&fKV%&f%&gKV%&g%&hKV%&m%&n!L_%&n%&o!L_%&q%&r!Kc%&r%&s!Kc%&s%&t!Kc%&t%&u!KR%&u%&v!KR%&v%&w!KR%&w%&xKV%'O%'P!Kc%'P%'QKV%'Q%'RKV%'R%'S!Kc%'S%'T!L_%'T%'U!Kc%'U%'V!L_%'c%'dKV%'d%'e!L_%'f%'gKV%'g%'hKV%'i%'jKV%'j%'kKV%'l%'m!Kc%'m%'nKV%'n%'o!MU%'o%'pKV%'p%'qKV%'q%'rKV%'r%'sKV%'s%'tKV%'t%'uKV%'u%'vKV%'v%'wKV%'w%'xKV%'x%'yKV%'y%'zKV%'z%'{KV%'{%'|!L_%'|%'}KV%'}%(OKV%(O%(PKV%(P%(QKV%(Q%(RLe%(R%(SLe%(S%(TKV%(T%(UKV%(U%(VKV%(V%(WKV%(W%(XKV%(X%(YKV%(Y%(ZKV%(Z%([KV%([%(]KV%(]%(^KV%(^%(_KV%(_%(`KV%(`%(aKV%(a%(bKV%(b%(cKV%(c%(dKV%(d%(eKV%(e%(fKV%(f%(gKV%(g%(hKV%(h%(iKV%(i%(jKV%(j%(kKV%(k%(lKV%(l%(mKV%(m%(nKV%(n%(oKV%(o%(pKV%(p%(qKV%(q%(rKV%(r%(sKV%(s%(tKV%(t%(uKV%(u%(vKV%(v%(wKV%(w%(xKV%(x%(yKV%(y%(zKV%(z%({KV%({%(|KV%(|%(}KV%(}%)OKV%)O%)PKV%)P%)QKV%)Q%)RKV%)R%)SKV%)S%)TKV%)T%)UKV%)U%)VKV%)V%)WKV%)W%)XKV%)X%)YKV%)Y%)ZKV%)Z%)[KV%)]%)^!Kc%)^%)_!L_%)_%)`KV%)`%)aKV%)a%)bKV%)b%)cKV%)c%)d!Kc%)d%)e!L_%)e%)f!L_%)f%)g!L_%)g%)h!Kc%)h%)i!Kc%)i%)j!Kc%)j%)k!Kc%)k%)l!Kc%)l%)mKV%)n%)o!L_%)o%)p!L_%)p%)q!Kc%)q%)r!Kc%)r%)sKV%)s%)tKV%)y%)zKV%)|%)}KV%*O%*PKV%*Q%*RKV%*R%*SKV%*S%*TKV%*T%*UKV%*U%*VKV%*V%*WKV%*W%*XKV%*X%*YKV%*]%*^!M]%*^%*_!Kc%*_%*`!L_%*f%*g!Kc%*g%*h!Kc%*h%*i!Kc%*i%*j!Kc%*k%*l!Kc%*l%*m!Kc%*m%*n!Kc%*n%*o!Kc%*o%*pKV%*p%*q!L_%*q%*r!Kc%*r%*sKV%*s%*tKV%*t%*u!Kc%*u%*v!L_%*w%*xKV%*x%*yKV%*y%*zKV%*z%*{KV%*{%*|KV%*|%*}KV%*}%+OKV%+O%+PKV%+P%+QKV%+Q%+RKV%+R%+SKV%+S%+TKV%+T%+UKV%+U%+VKV%+V%+WKV%+W%+XKV%+X%+YKV%+Y%+ZKV%+Z%+[KV%+[%+]KV%+]%+^KV%+^%+_KV%+_%+`KV%+`%+aKV%+a%+bKV%+f%+gKV%+g%+hKV%+h%+iKV%+i%+jKV%+j%+kKV%+k%+lKV%+l%+mKV%+m%+nKV%+n%+oKV%+o%+pKV%+p%+qKV%+q%+rKV%+r%+sKV%+s%+tKV%:y%:z!Kc%F[%F]KV%Fb%FcKV%Fc%FdKV%Fk%Fl!Kc%Fl%FmKV%Fo%Fp!Kc%Fp%Fq!Kc%Fq%Fr!Kc%G[%G]!MP%G]%G^!MP%Ga%Gb! T%Gb%Gc! T%Gc%Gd! T%Ge%Gf! T%Gf%Gg! T%Gg%Gh! T%Gh%Gi! T%Gi%Gj! T%Gj%Gk! T%Gk%Gl! T%MW%MX! T%MX%MY! T%MY%MZ! T%MZ%M[! T%M[%M]! T%M]%M^! T%M^%M_! T%M_%M`! T%M`%Ma!MP%Ma%Mb!MP%Mb%Mc!MP%Mc%Md!MP%Md%Me! T%Me%Mf! T%Mf%Mg! T%Mg%Mh! T%Mh%Mi! T%Mi%Mj! T%Mj%Mk!MP%Mk%Ml!MP%Ml%Mm! T%Mm%Mn! T%Mn%Mo! T%Mo%Mp! T%Mp%Mq! T%Mu%Mv! T%Mv%Mw! T%Mw%Mx! T%Mx%My! T%Nn%No! T%No%Np! T%Np%Nq! T%Nq%Nr! T%Nr%Ns! T%Ns%Nt!MP%Nt%Nu! T%Nu%Nv! T%Nv%Nw!MP%Nw%Nx!MP%Nx%Ny! T%Ny%Nz!MP%Nz%N{! T%N{%N|!MP%N|%N}! T%N}& O! T& O& P!MP& P& Q!MP& Q& R! T& R& S! T& S& T!MP& T& U!MP& U& V! T& V& W! T& W& X!MP& X& Y!MP& Y& Z! T& Z& [! T& [& ]!MP& ]& ^!MP& ^& _! T& _& `!MP& `& a! T& a& b!MP& b& c! T& c& d! T& d& e! T& e& f! T& f& g! T& g& h! T& h& i! T& i& j! T& j& k!MP& k& l!MP& l& m! T&#V&#WKV&#W&#X!Kc&#[&#]!Kc&#^&#_!Kc&#_&#`!Kc&#`&#aKV&#a&#bKV&$R&$SKV&$T&$UKV&$U&$VKV&$V&$WKV&$f&$g! T&$h&$i!Kc&$i&$j!Kc&$l&$m!L_&$m&$n!L_&$y&$z!Kc&$z&${!L_&%a&%b!Kc&%f&%g!L_&%g&%h!L_&%h&%i!L_&%i&%j!L_&%j&%k!L_&%k&%l!L_&%l&%m!L_&%m&%n!L_&%n&%o!L_&%o&%p!L_&%p&%q!L_&%q&%r!L_&%r&%s!L_&%t&%u!Kc&%u&%v!Kc&%v&%w!Kc&%w&%x!Kc&%x&%y!Kc&%y&%z!Kc&%z&%{!Kc&%{&%|!Kc&%|&%}!Kc&%}&&O!L_&&O&&P!L_&&P&&Q!Kc&&Q&&R!Kc&&R&&S!Kc&&U&&V!Kc&&V&&W!L_&&W&&X!L_&&X&&Y!Kc&&Y&&Z!Kc&&Z&&[!L_&&`&&a!L_&&a&&b!Kc&&b&&c!L_&&c&&d!Kc&&d&&e!Kc&&e&&f!L_&&f&&g!L_&&g&&h!Kc&&h&&i!L_&&i&&j!Kc&&j&&k!L_&&k&&l!Kc&&l&&m!L_&&m&&n!L_&&n&&o!Kc&&p&&q!Kc&&q&&r!L_&&r&&s!Kc&&s&&t!L_&&t&&u!Kc&&u&&v!Kc&&v&&w!Kc&&w&&x!L_&&x&&y!L_&&y&&z!L_&&|&&}KV&&}&'OKV&'Q&'RKV&'R&'SKV&'S&'TKV&'T&'UKV&'U&'VKV&'V&'WKV&'W&'XKV&'X&'YKV&'Y&'ZKV&'Z&'[KV&'[&']Le&']&'^KV&'^&'_KV&'_&'`KV&'`&'aKV&'a&'bKV&'b&'cKV&'c&'dKV&'d&'eKV&'e&'fKV&'f&'gKV&'g&'hKV&'h&'iKV&'i&'jKV&'j&'kKV&'k&'lKV&'l&'mKV&'m&'nKV&'n&'oKV&'o&'pKV&'p&'qKV&'q&'rKV&'r&'sKV&'s&'tKV&'t&'uKV&'u&'vKV&'v&'wKV&'w&'xKV&'x&'yKV&'y&'zKV&'z&'{KV&'{&'|KV&'|&'}KV&'}&(OKV&(O&(PKV&(P&(QKV&(Q&(RKV&(R&(SKV&(S&(TKV&(T&(UKV&(U&(VKV&(V&(WKV&(W&(XKV&(X&(YKV&(Y&(ZKV&(Z&([KV&([&(]KV&(]&(^KV&(^&(_KV&(_&(`KV&(`&(aKV&(a&(bKV&(b&(cKV&(c&(dKV&(d&(eKV&(e&(fKV&(f&(gKV&(g&(hKV&(h&(iKV&(i&(jKV&(j&(kKV&(k&(lKV&(l&(mKV&(m&(nKV&(n&(oKV&(o&(pKV&(p&(qKV&(q&(rKV&(r&(sKV&(s&(tKV&(t&(uKV&(u&(vKV&(v&(wKV&(w&(xKV&(x&(yKV&(y&(zKV&(z&({KV&({&(|KV&(|&(}KV&(}&)OKV&)O&)PKV&)P&)QKV&)Q&)RKV&)R&)SKV&)S&)TKV&)T&)UKV&)U&)VKV&)V&)WKV&)W&)XKV&)X&)YKV&)Y&)ZKV&)Z&)[KV&)[&)]KV&)]&)^KV&)^&)_KV&)_&)`KV&)`&)aKV&)a&)bKV&)b&)cKV&)c&)dKV&)d&)eKV&)e&)fKV&)g&)h!Kc&*T&*UKV&*U&*VKV&*V&*WKV&*W&*XKV&+`&+a! T&+a&+b! T&+b&+c! T&+c&+d! T&+d&+e! T&+e&+f! T&+f&+g! T&+g&+h! T&+h&+i! T&+i&+j! T&+j&+k! T&+k&+l! T&+l&+m! T&+m&+n! T&+n&+o! T&+o&+p! T&+p&+q! T&+q&+r! T&+r&+s! T&+s&+t! T&+t&+u! T&+w&+x! T&+x&+y! T&+y&+z! T&+z&+{! T&+{&+|! T&+|&+}! T?MX?MY! T?MY?MZ!MP?MZ?M[! T?M[?M]!MP~!HSQ'd~}!ON}!_!`Le~!H]P!O!P!H`~!HeO(V~~!HjQ'e~!P!Q!Hp!_!`Le~!HsP!_!`Le~!H{Sy~!Q![!Hv!g!h!IX#R#S!Hv#X#Y!IX~!I[R{|!Ie}!O!Ie!Q![!Ik~!IhP!Q![!Ik~!IpPy~!Q![!Ik~!IxS'gP![!]KV!^!_!JU!_!`KV#p#q!J^~!JZP'`~!_!`Le~!JcO!g~~!JhQ&|~!_!`J}!`!a!Jn~!JsO'}~~!JxR'gP![!]!KR!_!`KV!`!a!KW~!KWO'a~~!K]Q'`~!_!`Le!`!a!JU~!KhO'e~~!KmP'f~!_!`Le~!KuS'd~{|!LR!_!`!Ld!`!a!Lj#p#q!Lo~!LUP{|!LX~!L[P#p#q!L_~!LdO'c~~!LgP#p#qLe~!LoO!h~~!LrQ!_!`!Ld#p#q!L_~!MPO&|~'a~~!MUO'f~~!M]O'gP'c~~!MbP'c~!_!`Le~!MjVy~!O!P!NP!Q![!N_!g!h!IX!z!{!Ns#R#S!N_#X#Y!IX#l#m!Ns~!NURy~!Q![!Hv!g!h!IX#X#Y!IX~!NdTy~!O!P!NP!Q![!N_!g!h!IX#R#S!N_#X#Y!IX~!NvR!Q![# P!c!i# P#T#Z# P~# UWy~!Q![# P!c!g# P!g!h# n!h!i# P#R#S# P#T#X# P#X#Y# n#Y#Z# P~# sYy~{|!Ie}!O!Ie!Q![# P!c!g# P!g!h# n!h!i# P#R#S# P#T#X# P#X#Y# n#Y#Z# P~#!hQ'T~![!]#!n!_!`Le~#!sO'O~~#!xO&v~~#!}S'gP![!]##Z!^!_!JU!_!`KV#p#q!J^~##bO'P~'gP~##iQ&}~&|~!_!`J}!`!a!Jn~##tO'p~~##yO'U~~#$OO'Z~~#$TO'x~~#$YO'[~~#$_S'd~{|!LR!_!`!Ld!`!a!Lj#p#q#$k~#$pQ(O~!_!`!Ld#p#q!L_~#${O']~R#%SO'{Q'gP",tokenizers:[iY,is,iu,ic,iT,ib,iX,iS,iy,ix,iv,0,1],topRules:{SourceFile:[0,4]},dynamicPrecedences:{31:2,34:2,96:10,144:5,191:1,206:5,304:1,306:1,307:10,310:1,320:1,328:1,330:10,331:10,333:1},specialized:[{term:1,get:e=>iR[e]||-1}],tokenPrec:53216}),iV="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),iZ="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),iq="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class iA{constructor(e,t){this.rules=[];let{finish:i}=t||{};function r(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}for(let t in e)!function e(t,n,o,s){let a=[],O=/^@(\w+)\b/.exec(t[0]),l=O&&"keyframes"==O[1];if(O&&null==n)return o.push(t[0]+";");for(let i in n){let s=n[i];if(/&/.test(i))e(i.split(/,\s*/).map(e=>t.map(t=>e.replace(/&/,t))).reduce((e,t)=>e.concat(t)),s,o);else if(s&&"object"==typeof s){if(!O)throw RangeError("The value of a property ("+i+") should be a primitive value.");e(r(i),s,a,l)}else null!=s&&a.push(i.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+s+";")}(a.length||l)&&o.push((!i||O||s?t:t.map(i)).join(", ")+" {"+a.join(" ")+"}")}(r(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=iq[iV]||1;return iq[iV]=e+1,"ͼ"+e.toString(36)}static mount(e,t,i){let r=e[iZ],n=i&&i.nonce;r?n&&r.setNonce(n):r=new iC(e,n),r.mount(Array.isArray(t)?t:[t])}}let iW=new Map;class iC{constructor(e,t){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let t=iW.get(i);if(t)return e.adoptedStyleSheets=[t.sheet,...e.adoptedStyleSheets],e[iZ]=t;this.sheet=new r.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],iW.set(i,this)}else{this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);let r=e.head||e;r.insertBefore(this.styleTag,r.firstChild)}this.modules=[],e[iZ]=this}mount(e){let t=this.sheet,i=0,r=0;for(let n=0;n-1&&(this.modules.splice(s,1),r--,s=-1),-1==s){if(this.modules.splice(r++,0,o),t)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},ij="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),iE="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),iz=0;iz<10;iz++)iU[48+iz]=iU[96+iz]=String(iz);for(iz=1;iz<=24;iz++)iU[iz+111]="F"+iz;for(iz=65;iz<=90;iz++)iU[iz]=String.fromCharCode(iz+32),iN[iz]=String.fromCharCode(iz);for(var iG in iU)iN.hasOwnProperty(iG)||(iN[iG]=iU[iG]);function iD(e){return(11==e.nodeType?e.getSelection?e:e.ownerDocument:e).getSelection()}function iM(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function iB(e,t){if(!t.anchorNode)return!1;try{return iM(e,t.anchorNode)}catch(e){return!1}}function iI(e){return 3==e.nodeType?i9(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function iL(e,t,i,r){return!!i&&(iH(e,t,i,r,-1)||iH(e,t,i,r,1))}function iK(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function iF(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function iH(e,t,i,r,n){for(;;){if(e==i&&t==r)return!0;if(t==(n<0?0:iJ(e))){if("DIV"==e.nodeName)return!1;let i=e.parentNode;if(!i||1!=i.nodeType)return!1;t=iK(e)+(n<0?0:1),e=i}else{if(1!=e.nodeType||1==(e=e.childNodes[t+(n<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=n<0?iJ(e):0}}}function iJ(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function i1(e,t){let i=t?e.left:e.right;return{left:i,right:i,top:e.top,bottom:e.bottom}}function i0(e,t){let i=t.width/e.offsetWidth,r=t.height/e.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||1>Math.abs(t.width-e.offsetWidth))&&(i=1),(r>.995&&r<1.005||!isFinite(r)||1>Math.abs(t.height-e.offsetHeight))&&(r=1),{scaleX:i,scaleY:r}}class i5{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?iJ(t):0),i,Math.min(e.focusOffset,i?iJ(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}}let i2,i4=null;function i3(e){if(e.setActive)return e.setActive();if(i4)return e.focus(i4);let t=[];for(let i=e;i&&(t.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(e.focus(null==i4?{get preventScroll(){return i4={preventScroll:!0},!0}}:void 0),!i4){i4=!1;for(let e=0;eMath.max(1,e.scrollHeight-e.clientHeight-4)}function re(e,t){for(let i=e,r=t;;){if(3==i.nodeType&&r>0)return{node:i,offset:r};if(1==i.nodeType&&r>0){if("false"==i.contentEditable)return null;r=iJ(i=i.childNodes[r-1])}else{if(!i.parentNode||iF(i))return null;r=iK(i),i=i.parentNode}}}function rt(e,t){for(let i=e,r=t;;){if(3==i.nodeType&&rt)return i.domBoundsAround(e,t,O);if(h>=e&&-1==r&&(r=a,n=O),O>t&&i.dom.parentNode==this.dom){o=a,s=l;break}l=h,O=h+i.breakAfter}return{from:n,to:s<0?i+this.length:s,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=rr){this.markDirty();for(let r=e;ri.indexOf(e)&&e.destroy()}this.children.splice(e,t-e,...i);for(let e=0;ethis.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function ra(e,t,i,r,n,o,s,a,O){let{children:l}=e,h=l.length?l[t]:null,c=o.length?o[o.length-1]:null,f=c?c.breakAfter:s;if(!(t==r&&h&&!s&&!f&&o.length<2&&h.merge(i,n,o.length?c:null,0==i,a,O))){if(r0&&(!s&&o.length&&h.merge(i,h.length,o[0],!1,a,0)?h.breakAfter=o.shift().breakAfter:(i2);var rb={mac:r$||/Mac/.test(rl.platform),windows:/Win/.test(rl.platform),linux:/Linux|X11/.test(rl.platform),ie:rd,ie_version:rf?rh.documentMode||6:ru?+ru[1]:rc?+rc[1]:0,gecko:rp,gecko_version:rp?+(/Firefox\/(\d+)/.exec(rl.userAgent)||[0,0])[1]:0,chrome:!!rQ,chrome_version:rQ?+rQ[1]:0,ios:r$,android:/Android\b/.test(rl.userAgent),webkit:rg,safari:rm,webkit_version:rg?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=rh.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class rX extends rn{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,i){return!(8&this.flags||i&&(!(i instanceof rX)||this.length-(t-e)+i.length>256||8&i.flags))&&(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new rX(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new ri(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,i){let r=e.nodeValue.length;t>r&&(t=r);let n=t,o=t,s=0;0==t&&i<0||t==r&&i>=0?rb.chrome||rb.gecko||(t?(n--,s=1):o=0)?0:a.length-1];return rb.safari&&!s&&0==O.width&&(O=Array.prototype.find.call(a,e=>e.width)||O),s?i1(O,s<0):O||null}(this.dom,e,t)}}class rS extends rn{constructor(e,t=[],i=0){for(let r of(super(),this.mark=e,this.children=t,this.length=i,t))r.setParent(this)}setAttrs(e){if(i7(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,r,n,o){return(!i||!(!(i instanceof rS&&i.mark.eq(this.mark))||e&&n<=0||te&&t.push(i=e&&(r=n),i=s,n++}let o=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new rS(this.mark,t,o)}domAtPos(e){return rv(this,e)}coordsAt(e,t){return rP(this,e,t)}}class ry extends rn{static create(e,t,i){return new ry(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){let t=ry.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,i,r,n,o){return!(i&&(!(i instanceof ry&&this.widget.compare(i.widget))||e>0&&n<=0||t0)?ri.before(this.dom):ri.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let r=this.dom.getClientRects(),n=null;if(!r.length)return null;let o=this.side?this.side<0:e>0;for(let t=o?r.length-1:0;n=r[t],!(e>0?0==t:t==r.length-1||n.top0?ri.before(this.dom):ri.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return g.empty}get isHidden(){return!0}}function rv(e,t){let i=e.dom,{children:r}=e,n=0;for(let e=0;n=o.getSide())){if(t>e&&t0;e--){let t=r[e-1];if(t.dom.parentNode==i)return t.domAtPos(t.length)}for(let e=n;e=a&&(h.children.length?e(h,a-l):(!o||o.isHidden&&i>0)&&(c>a||l==c&&h.getSide()>0)?(o=h,s=a-l):(lh.getSide()&&!h.isHidden)&&(r=h,n=a-l)),l=c}}(e,t);let a=(i<0?r:o)||r||o;return a?a.coordsAt(Math.max(0,a==r?n:s),i):function(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let i=iI(t);return i[i.length-1]||null}(e)}function rw(e,t){for(let i in e)"class"==i&&t.class?t.class+=" "+e.class:"style"==i&&t.style?t.style+=";"+e.style:t[i]=e[i];return t}rX.prototype.children=ry.prototype.children=rx.prototype.children=rr;let rT=Object.create(null);function rk(e,t,i){if(e==t)return!0;e||(e=rT),t||(t=rT);let r=Object.keys(e),n=Object.keys(t);if(r.length-(i&&r.indexOf(i)>-1?1:0)!=n.length-(i&&n.indexOf(i)>-1?1:0))return!1;for(let o of r)if(o!=i&&(-1==n.indexOf(o)||e[o]!==t[o]))return!1;return!0}function rY(e,t,i){let r=!1;if(t)for(let n in t)i&&n in i||(r=!0,"style"==n?e.style.cssText="":e.removeAttribute(n));if(i)for(let n in i)t&&t[n]==i[n]||(r=!0,"style"==n?e.style.cssText=i[n]:e.setAttribute(n,i[n]));return r}class rR extends rn{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,r,n,o){if(i){if(!(i instanceof rR))return!1;this.dom||i.transferDOM(this)}return r&&this.setDeco(i?i.attrs:null),rO(this,e,t,i?i.children.slice():[],n,o),!0}split(e){let t=new rR;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:i,off:r}=this.childPos(e);r&&(t.append(this.children[i].split(r),0),this.children[i].merge(r,this.children[i].length,null,!1,0,0),i++);for(let e=i;e0&&0==this.children[i-1].length;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){rk(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){!function e(t,i,r){let n,{children:o}=t;r>0&&i instanceof rS&&o.length&&(n=o[o.length-1])instanceof rS&&n.mark.eq(i.mark)?e(n,i.children[0],r-1):(o.push(i),i.setParent(t)),t.length+=i.length}(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=rw(t,this.attrs||{})),i&&(this.attrs=rw({class:i},this.attrs||{}))}domAtPos(e){return rv(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?4&this.flags&&(i7(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(rY(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&rn.get(r)instanceof rS;)r=r.lastChild;if(!(r&&this.length&&("BR"==r.nodeName||0!=(null===(i=rn.get(r))||void 0===i?void 0:i.isEditable)||rb.ios&&this.children.some(e=>e instanceof rX)))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let i of this.children){if(!(i instanceof rX)||/[^ -~]/.test(i.text))return null;let r=iI(i.dom);if(1!=r.length)return null;t+=r[0].width,e=r[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let i=rP(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=i.bottom-i.top;if(2>Math.abs(t-e.lineHeight)&&e.textHeight=t){if(n instanceof rR)return n;if(o>t)break}r=o+n.breakAfter}return null}}class r_ extends rn{constructor(e,t,i){super(),this.widget=e,this.length=t,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,r,n,o){return!(i&&(!(i instanceof r_&&this.widget.compare(i.widget))||e>0&&n<=0||t0)}}class rV{eq(e){return!1}updateDOM(e,t){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 rZ=((l=rZ||(rZ={}))[l.Text=0]="Text",l[l.WidgetBefore=1]="WidgetBefore",l[l.WidgetAfter=2]="WidgetAfter",l[l.WidgetRange=3]="WidgetRange",l);class rq extends eR{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 rA(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 rC(e,t,t,i,e.widget||null,!1)}static replace(e){let t,i,r=!!e.block;if(e.isBlockGap)t=-5e8,i=4e8;else{let{start:n,end:o}=rU(e,r);t=(n?r?-3e8:-1:5e8)-1,i=1+(o?r?2e8:1:-6e8)}return new rC(e,t,i,r,e.widget||null,!0)}static line(e){return new rW(e)}static set(e,t=!1){return eq.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}rq.none=eq.empty;class rA extends rq{constructor(e){let{start:t,end:i}=rU(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof rA&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(i=e.attrs)||void 0===i?void 0:i.class))&&rk(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw RangeError("Mark decorations may not be empty");return super.range(e,t)}}rA.prototype.point=!1;class rW extends rq{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof rW&&this.spec.class==e.spec.class&&rk(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}rW.prototype.mapMode=A.TrackBefore,rW.prototype.point=!0;class rC extends rq{constructor(e,t,i,r,n,o){super(t,i,n,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?A.TrackBefore:A.TrackAfter:A.TrackDel}get type(){return this.startSide!=this.endSide?rZ.WidgetRange:this.startSide<=0?rZ.WidgetBefore:rZ.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){var t,i;return e instanceof rC&&((t=this.widget)==(i=e.widget)||!!(t&&i&&t.compare(i)))&&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 RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function rU(e,t=!1){let{inclusiveStart:i,inclusiveEnd:r}=e;return null==i&&(i=e.inclusive),null==r&&(r=e.inclusive),{start:null!=i?i:t,end:null!=r?r:t}}function rN(e,t,i,r=0){let n=i.length-1;n>=0&&i[n]+r>=e?i[n]=Math.max(i[n],t):i.push(e,t)}rC.prototype.point=!0;class rj{constructor(e,t,i,r){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof r_&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new rR),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(rE(new rx(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof r_||this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:i,done:r}=this.cursor.next(this.skip);if(this.skip=0,r)throw Error("Ran out of text content when drawing inline views");if(i){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(rE(new rX(this.text.slice(this.textOff,this.textOff+r)),t),i),this.atCursorPos=!0,this.textOff+=r,e-=r,i=0}}span(e,t,i,r){this.buildText(t-e,i,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,i,r,n,o){if(this.disallowBlockEffectsFor[o]&&i instanceof rC){if(i.block)throw RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}let s=t-e;if(i instanceof rC){if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new r_(i.widget||rz.block,s,i));else{let o=ry.create(i.widget||rz.inline,s,s?0:i.startSide),a=this.atCursorPos&&!o.isEditable&&n<=r.length&&(e0),O=!o.isEditable&&(er.length||i.startSide<=0),l=this.getLine();2!=this.pendingBuffer||a||o.isEditable||(this.pendingBuffer=0),this.flushBuffer(r),a&&(l.append(rE(new rx(1),r),n),n=r.length+Math.max(0,n-r.length)),l.append(rE(o,r),n),this.atCursorPos=O,this.pendingBuffer=O?er.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);s&&(this.textOff+s<=this.text.length?this.textOff+=s:(this.skip+=s-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=n)}static build(e,t,i,r,n){let o=new rj(e,t,i,n);return o.openEnd=eq.spans(r,t,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}}function rE(e,t){for(let i of t)e=new rS(i,[e],e.length);return e}class rz extends rV{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}}rz.inline=new rz("span"),rz.block=new rz("div");var rG=((h=rG||(rG={}))[h.LTR=0]="LTR",h[h.RTL=1]="RTL",h);let rD=rG.LTR,rM=rG.RTL;function rB(e){let t=[];for(let i=0;i=t){if(s.level==i)return o;(n<0||(0!=r?r<0?s.fromt:e[n].level>s.level))&&(n=o)}}if(n<0)throw RangeError("Index out of range");return n}}let r0=[];function r5(e){return[new r1(0,e,0)]}let r2="",r4=L.define(),r3=L.define(),r9=L.define(),r8=L.define(),r7=L.define(),r6=L.define(),ne=L.define(),nt=L.define({combine:e=>e.some(e=>e)}),ni=L.define({combine:e=>e.some(e=>e)}),nr=L.define();class nn{constructor(e,t="nearest",i="nearest",r=5,n=5,o=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=n,this.isSnapshot=o}map(e){return e.empty?this:new nn(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 nn(M.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}let no=eX.define({map:(e,t)=>e.map(t)});function ns(e,t,i){let r=e.facet(r8);r.length?r[0](t):window.onerror?window.onerror(String(t),i,void 0,void 0,t):i?console.error(i+":",t):console.error(t)}let na=L.define({combine:e=>!e.length||e[0]}),nO=0,nl=L.define();class nh{constructor(e,t,i,r,n){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=r,this.extension=n(this)}static define(e,t){let{eventHandlers:i,eventObservers:r,provide:n,decorations:o}=t||{};return new nh(nO++,e,i,r,e=>{let t=[nl.of(e)];return o&&t.push(nd.of(t=>{let i=t.plugin(e);return i?o(i):rq.none})),n&&t.push(n(e)),t})}static fromClass(e,t){return nh.define(t=>new e(t),t)}}class nc{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(ns(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){ns(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){ns(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}let nf=L.define(),nu=L.define(),nd=L.define(),np=L.define(),nQ=L.define(),ng=L.define();function nm(e,t){let i=e.state.facet(ng);if(!i.length)return i;let r=i.map(t=>t instanceof Function?t(e):t),n=[];return eq.spans(r,t.from,t.to,{point(){},span(e,i,r,o){let s=e-t.from,a=i-t.from,O=n;for(let e=r.length-1;e>=0;e--,o--){let i,n=r[e].spec.bidiIsolate;if(null==n&&(n=function(e,t,i){for(let r=t;r0&&O.length&&(i=O[O.length-1]).to==s&&i.direction==n)i.to=a,O=i.inner;else{let e={from:s,to:a,direction:n,inner:[]};O.push(e),O=e.inner}}}}),n}let n$=L.define();function nb(e){let t=0,i=0,r=0,n=0;for(let o of e.state.facet(n$)){let s=o(e);s&&(null!=s.left&&(t=Math.max(t,s.left)),null!=s.right&&(i=Math.max(i,s.right)),null!=s.top&&(r=Math.max(r,s.top)),null!=s.bottom&&(n=Math.max(n,s.bottom)))}return{left:t,right:i,top:r,bottom:n}}let nX=L.define();class nS{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new nS(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.toAl)break;n+=2}if(!a)return i;new nS(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),o=a.toA,s=a.toB}}}class ny{constructor(e,t,i){for(let r of(this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=C.empty(this.startState.doc.length),i))this.changes=this.changes.compose(r.changes);let r=[];this.changes.iterChangedRanges((e,t,i,n)=>r.push(new nS(e,t,i,n))),this.changedRanges=r}static create(e,t,i){return new ny(e,t,i)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class nx extends rn{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.compositionBarrier=rq.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.setDOM(e.contentDOM),this.children=[new rR],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new nS(0,0,0,e.state.doc.length)],0,null)}update(e){var t,i,r,n,o,s;let a,O;let l=e.changedRanges;this.minWidth>0&&l.length&&(l.every(({fromA:e,toA:t})=>tthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let h=-1;this.view.inputState.composing>=0&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?h=this.domChanged.newSel.head:(i=e.changes,r=this.hasComposition,a=!1,r&&i.iterChangedRanges((e,t)=>{er.from&&(a=!0)}),a||e.selectionSet||(h=e.state.selection.main.head)));let c=h>-1?function(e,t,i){let r=nw(e,i);if(!r)return null;let{node:n,from:o,to:s}=r,a=n.nodeValue;if(/[\n\r]/.test(a)||e.state.doc.sliceString(r.from,r.to)!=a)return null;let O=t.invertedDesc,l=new nS(O.mapPos(o),O.mapPos(s),o,s),h=[];for(let t=n.parentNode;;t=t.parentNode){let i=rn.get(t);if(i instanceof rS)h.push({node:t,deco:i.mark});else{if(i instanceof rR||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:l,text:n,marks:h,line:t};if(t==e.contentDOM)return null;h.push({node:t,deco:new rA({inclusive:!0,attributes:function(e){let t=Object.create(null);for(let i=0;i{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=rb.chrome||rb.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||r.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(e=>e.flags&=-9);let n=[];if(this.view.viewport.from||this.view.viewport.to=0?r[e]:null;if(!t)break;let o,s,a,O,{fromA:l,toA:h,fromB:c,toB:f}=t;if(i&&i.range.fromBc){let e=rj.build(this.view.state.doc,c,i.range.fromB,this.decorations,this.dynamicDecorationMap),t=rj.build(this.view.state.doc,i.range.toB,f,this.decorations,this.dynamicDecorationMap);s=e.breakAtStart,a=e.openStart,O=t.openEnd;let r=this.compositionView(i);t.breakAtStart?r.breakAfter=1:t.content.length&&r.merge(r.length,r.length,t.content[0],!1,t.openStart,0)&&(r.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&r.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),o=e.content.concat(r).concat(t.content)}else({content:o,breakAtStart:s,openStart:a,openEnd:O}=rj.build(this.view.state.doc,c,f,this.decorations,this.dynamicDecorationMap));let{i:u,off:d}=n.findPos(h,1),{i:p,off:Q}=n.findPos(l,-1);ra(this,p,Q,u,d,o,s,a,O)}i&&this.fixCompositionDOM(i)}compositionView(e){let t=new rX(e.text.nodeValue);for(let{deco:i}of(t.flags|=8,e.marks))t=new rS(i,[t],t.length);let i=new rR;return i.append(t,0),i}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some(e=>7&e.flags)?1:0),this.markedForComposition.add(t);let i=rn.get(e);i&&i!=t&&(i.dom=null),t.setDOM(e)},i=this.childPos(e.range.fromB,1),r=this.children[i.i];t(e.line,r);for(let n=e.marks.length-1;n>=-1;n--)i=r.childPos(i.off,1),r=r.children[i.i],t(n>=0?e.marks[n].node:e.text,r)}updateSelection(e=!1,t=!1){var i;!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let r=this.view.root.activeElement,n=r==this.dom,o=!n&&iB(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(n||t||o))return;let s=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,O=this.moveToLine(this.domAtPos(a.anchor)),l=a.empty?O:this.moveToLine(this.domAtPos(a.head));if(rb.gecko&&a.empty&&!this.hasComposition&&1==(i=O).node.nodeType&&i.node.firstChild&&(0==i.offset||"false"==i.node.childNodes[i.offset-1].contentEditable)&&(i.offset==i.node.childNodes.length||"false"==i.node.childNodes[i.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore(()=>O.node.insertBefore(e,O.node.childNodes[O.offset]||null)),O=l=new ri(e,0),s=!0}let h=this.view.observer.selectionRange;!s&&h.focusNode&&(iL(O.node,O.offset,h.anchorNode,h.anchorOffset)&&iL(l.node,l.offset,h.focusNode,h.focusOffset)||this.suppressWidgetCursorChange(h,a))||(this.view.observer.ignore(()=>{rb.android&&rb.chrome&&this.dom.contains(h.focusNode)&&function(e,t){for(let i=e;i&&i!=t;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=iD(this.view.root);if(e){if(a.empty){if(rb.gecko){var t,i;let e=(t=O.node,i=O.offset,1!=t.nodeType?0:(i&&"false"==t.childNodes[i-1].contentEditable?1:0)|(ia.head&&([O,l]=[l,O]),t.setEnd(l.node,l.offset),t.setStart(O.node,O.offset),e.removeAllRanges(),e.addRange(t)}}o&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(O,l)),this.impreciseAnchor=O.precise?null:new ri(h.anchorNode,h.anchorOffset),this.impreciseHead=l.precise?null:new ri(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&!this.compositionBarrier.size&&iL(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=iD(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!(i&&t.empty&&t.assoc&&i.modify))return;let o=rR.find(this,t.head);if(!o)return;let s=o.posAtStart;if(t.head==s||t.head==s+o.length)return;let a=this.coordsAt(t.head,-1),O=this.coordsAt(t.head,1);if(!a||!O||a.bottom>O.top)return;let l=this.domAtPos(t.head+t.assoc);i.collapse(l.node,l.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&i.collapse(r,n)}moveToLine(e){let t,i=this.dom;if(e.node!=i)return e;for(let r=e.offset;!t&&r=0;r--){let e=rn.get(i.childNodes[r]);e instanceof rR&&(t=e.domAtPos(e.length))}return t?new ri(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=rn.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t=0;o--){let s=this.children[o],a=n-s.breakAfter,O=a-s.length;if(ae||s.covers(1))&&(!i||s instanceof rR&&!(i instanceof rR&&t>=0))&&(i=s,r=O),n=O}return i?i.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:i}=this.childPos(e,1),r=this.children[t];if(!(r instanceof rR))return null;for(;r.children.length;){let{i:e,off:t}=r.childPos(i,1);for(;;e++){if(e==r.children.length)return null;if((r=r.children[e]).length)break}i=t}if(!(r instanceof rX))return null;let n=T(r.text,i);if(n==i)return null;let o=i9(r.dom,i,n).getClientRects();for(let e=0;eMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,s=-1,a=this.view.textDirection==rG.LTR;for(let e=0,O=0;Or)break;if(e>=i){let i=l.dom.getBoundingClientRect();if(t.push(i.height),o){let t=l.dom.lastChild,r=t?iI(t):[];if(r.length){let t=r[r.length-1],o=a?t.right-i.left:i.right-t.left;o>s&&(s=o,this.minWidth=n,this.minWidthFrom=e,this.minWidthTo=h)}}}e=h+l.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?rG.RTL:rG.LTR}measureTextSize(){for(let e of this.children)if(e instanceof rR){let t=e.measureTextSize();if(t)return t}let e,t,i,r=document.createElement("div");return r.className="cm-line",r.style.width="99999px",r.style.position="absolute",r.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(r);let n=iI(r.firstChild)[0];e=r.getBoundingClientRect().height,t=n?n.width/27:7,i=n?n.height:e,r.remove()}),{lineHeight:e,charWidth:t,textHeight:i}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new rs(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let n=r==t.viewports.length?null:t.viewports[r],o=n?n.from-1:this.length;if(o>i){let r=(t.lineBlockAt(o).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(rq.replace({widget:new nP(r),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!n)break;i=n.to+1}return rq.set(e)}updateDeco(){let e=1,t=this.view.state.facet(nd).map(t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t),i=!1,r=this.view.state.facet(np).map((e,t)=>{let r="function"==typeof e;return r&&(i=!0),r?e(this.view):e});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(eq.join(r))),this.decorations=[this.compositionBarrier,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e{n.point?i=!1:n.endSide<0&&ti.anchor?-1:1);if(!r)return;!i.empty&&(t=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(r={left:Math.min(r.left,t.left),top:Math.min(r.top,t.top),right:Math.max(r.right,t.right),bottom:Math.max(r.bottom,t.bottom)});let n=nb(this.view),o={left:r.left-n.left,top:r.top-n.top,right:r.right+n.right,bottom:r.bottom+n.bottom},{offsetWidth:s,offsetHeight:a}=this.view.scrollDOM;!function(e,t,i,r,n,o,s,a){let O=e.ownerDocument,l=O.defaultView||window;for(let h=e,c=!1;h&&!c;)if(1==h.nodeType){let e,f=h==O.body,u=1,d=1;if(f)e=function(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(c=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let t=h.getBoundingClientRect();({scaleX:u,scaleY:d}=i0(h,t)),e={left:t.left,right:t.left+h.clientWidth*u,top:t.top,bottom:t.top+h.clientHeight*d}}let p=0,Q=0;if("nearest"==n)t.top0&&t.bottom>e.bottom+Q&&(Q=t.bottom-e.bottom+Q+s)):t.bottom>e.bottom&&(Q=t.bottom-e.bottom+s,i<0&&t.top-Q0&&t.right>e.right+p&&(p=t.right-e.right+p+o)):t.right>e.right&&(p=t.right-e.right+o,i<0&&t.leftMath.abs(e-p)&&(r="nearest"),i&&1>Math.abs(i-Q)&&(n="nearest")}}if(f)break;h=h.assignedSlot||h.parentNode}else{if(11!=h.nodeType)break;h=h.host}}(this.view.scrollDOM,o,i.headt.top+1}function nY(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function n_(e,t,i){let r=e.nodeValue.length,n=-1,o=1e9,s=0;for(let a=0;ai?l.top-i:i-l.bottom)-1;if(l.left-1<=t&&l.right+1>=t&&h=(l.left+l.right)/2,r=i;if((rb.chrome||rb.gecko)&&i9(e,a).getBoundingClientRect().left==l.right&&(r=!i),h<=0)return{node:e,offset:a+(r?1:0)};n=a+(r?1:0),o=h}}}return{node:e,offset:n>-1?n:s>0?e.nodeValue.length:0}}function nV(e,t,i,r=-1){var n,o;let s,a=e.contentDOM.getBoundingClientRect(),O=a.top+e.viewState.paddingTop,{docHeight:l}=e.viewState,{x:h,y:c}=t,f=c-O;if(f<0)return 0;if(f>l)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,n=!1;(s=e.elementAtHeight(f)).type!=rZ.Text;)for(;!((f=r>0?s.bottom+t:s.top-t)>=0&&f<=l);){if(n)return i?null:0;n=!0,r=-r}c=O+f;let u=s.from;if(ue.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:i?null:nZ(e,a,s,h,c);let d=e.dom.ownerDocument,p=e.root.elementFromPoint?e.root:d,Q=p.elementFromPoint(h,c);Q&&!e.contentDOM.contains(Q)&&(Q=null),Q||(h=Math.max(a.left+1,Math.min(a.right-1,h)),(Q=p.elementFromPoint(h,c))&&!e.contentDOM.contains(Q)&&(Q=null));let g,m=-1;if(Q&&0!=(null===(n=e.docView.nearest(Q))||void 0===n?void 0:n.isEditable)){if(d.caretPositionFromPoint){let e=d.caretPositionFromPoint(h,c);e&&({offsetNode:g,offset:m}=e)}else if(d.caretRangeFromPoint){let t=d.caretRangeFromPoint(h,c);t&&({startContainer:g,startOffset:m}=t,(!e.contentDOM.contains(g)||rb.safari&&function(e,t,i){let r;if(3!=e.nodeType||t!=(r=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return i9(e,r-1,r).getBoundingClientRect().left>i}(g,m,h)||rb.chrome&&function(e,t,i){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return i-(1==e.nodeType?e.getBoundingClientRect():i9(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(g,m,h))&&(g=void 0))}}if(!g||!e.docView.dom.contains(g)){let t=rR.find(e.docView,u);if(!t)return f>s.top+s.height/2?s.to:s.from;({node:g,offset:m}=function e(t,i,r){let n,o,s,a,O,l,h,c,f=!1;for(let p=t.firstChild;p;p=p.nextSibling){let t=iI(p);for(let Q=0;Qi?u.left-i:Math.max(0,i-u.right),$=(d=g).top>r?d.top-r:Math.max(0,r-d.bottom);if(0==m&&0==$)return 3==p.nodeType?n_(p,i,r):e(p,i,r);if(!n||a>$||a==$&&s>m){n=p,o=g,s=m,a=$;let e=$?r0?Q0)}0==m?r>g.bottom&&(!h||h.bottomg.top)&&(l=p,c=g):h&&nk(h,g)?h=nR(h,g.bottom):c&&nk(c,g)&&(c=nY(c,g.top))}}if(h&&h.bottom>=r?(n=O,o=h):c&&c.top<=r&&(n=l,o=c),!n)return{node:t,offset:0};let p=Math.max(o.left,Math.min(o.right,i));return 3==n.nodeType?n_(n,p,r):f&&"false"!=n.contentEditable?e(n,p,r):{node:t,offset:Array.prototype.indexOf.call(t.childNodes,n)+(i>=(o.left+o.right)/2?1:0)}}(t.dom,h,c))}let $=e.docView.nearest(g);if(!$)return null;if($.isWidget&&1==(null===(o=$.dom)||void 0===o?void 0:o.nodeType)){let e=$.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;o+=Math.floor((n-i.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let s=e.state.sliceDoc(i.from,i.to);return i.from+eI(s,o,e.state.tabSize)}function nq(e,t){let i=e.lineBlockAt(t);if(Array.isArray(i.type)){for(let e of i.type)if(e.to>t||e.to==t&&(e.to==i.to||e.type==rZ.Text))return e}return i}function nA(e,t,i,r){let n=e.state.doc.lineAt(t.head),o=e.bidiSpans(n),s=e.textDirectionAt(n.from);for(let a=t,O=null;;){let t=function(e,t,i,r,n){var o;let s=r.head-e.from,a=r1.find(t,s,null!==(o=r.bidiLevel)&&void 0!==o?o:-1,r.assoc),O=t[a],l=O.side(n,i);if(s==l){let e=a+=n?1:-1;if(e<0||e>=t.length)return null;s=(O=t[a=e]).side(!n,i),l=O.side(n,i)}let h=T(e.text,s,O.forward(n,i));(hO.to)&&(h=l),r2=e.text.slice(Math.min(s,h),Math.max(s,h));let c=a==(n?t.length-1:0)?null:t[a+(n?1:-1)];return c&&h==l&&c.level+(n?0:1){if(t>e&&tt(e)),i.from,t.head>i.from?-1:1);return r==i.from?i:M.cursor(r,rnull),rb.gecko&&(t=e.contentDOM.ownerDocument,oe.has(t)||(oe.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{})))}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let i,r=t.target;r!=e.contentDOM;r=r.parentNode)if(!r||11==r.nodeType||(i=rn.get(r))&&i.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let e of i.observers)e(this.view,t);for(let e of i.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=function(e){let t=Object.create(null);function i(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec;if(e&&e.domEventHandlers)for(let r in e.domEventHandlers){let n=e.domEventHandlers[r];n&&i(r).handlers.push(nN(t.value,n))}if(e&&e.domEventObservers)for(let r in e.domEventObservers){let n=e.domEventObservers[r];n&&i(r).observers.push(nN(t.value,n))}}for(let e in nM)i(e).handlers.push(nM[e]);for(let e in nB)i(e).observers.push(nB[e]);return t}(e),i=this.handlers,r=this.view.contentDOM;for(let e in t)if("scroll"!=e){let n=!t[e].handlers.length,o=i[e];o&&!o.handlers.length!=n&&(r.removeEventListener(e,this.handleEvent),o=null),o||r.addEventListener(e,this.handleEvent,{passive:n})}for(let e in i)"scroll"==e||t[e]||r.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){let t;return this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),!!(9==e.keyCode&&Date.now()nz.indexOf(e.keyCode)&&(this.view.inputState.lastEscPress=0),rb.android&&rb.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))?(this.view.observer.delayAndroidKey(e.key,e.keyCode),!0):!rb.ios||e.synthetic||e.altKey||e.metaKey||!((t=nj.find(t=>t.keyCode==e.keyCode))&&!e.ctrlKey||nE.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0))}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&!("Enter"==t.key&&e&&e.from0||!!(rb.safari&&!rb.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}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 nN(e,t){return(i,r)=>{try{return t.call(e,r,i)}catch(e){ns(i.state,e)}}}let nj=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],nE="dthko",nz=[16,17,18,20,91,92,224,225];function nG(e){return .7*Math.max(0,e)+8}class nD{constructor(e,t,i,r){let n;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.scrollParent=function(e){let t=e.ownerDocument;for(let i=e.parentNode;i&&i!=t.body;)if(1==i.nodeType){if(i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}(e.contentDOM),this.atoms=e.state.facet(nQ).map(t=>t(e));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ek.allowMultipleSelections)&&((n=e.state.facet(r4)).length?n[0](t):rb.mac?t.metaKey:t.ctrlKey),this.dragging=!(!function(e,t){let{main:i}=e.state.selection;if(i.empty)return!1;let r=iD(e.root);if(!r||0==r.rangeCount)return!0;let n=r.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&i.top<=t.clientY&&i.bottom>=t.clientY)return!0}return!1}(e,t)||1!=n4(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t,i;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&10>Math.max(Math.abs((i=this.startEvent).clientX-e.clientX),Math.abs(i.clientY-e.clientY)))return;this.select(this.lastEvent=e);let r=0,n=0,o=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},s=nb(this.view);e.clientX-s.left<=o.left+6?r=-nG(o.left-e.clientX):e.clientX+s.right>=o.right-6&&(r=nG(e.clientX-o.right)),e.clientY-s.top<=o.top+6?n=-nG(o.top-e.clientY):e.clientY+s.bottom>=o.bottom-6&&(n=nG(e.clientY-o.bottom)),this.setScrollSpeed(r,n)}up(e){null==this.dragging&&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(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let i=0;ithis.select(this.lastEvent),20)}}let nM=Object.create(null),nB=Object.create(null),nI=rb.ie&&rb.ie_version<15||rb.ios&&rb.webkit_version<604;function nL(e,t){let i,{state:r}=e,n=1,o=r.toText(t),s=o.lines==r.selection.ranges.length;if(null!=n9&&r.selection.ranges.every(e=>e.empty)&&n9==o.toString()){let e=-1;i=r.changeByRange(i=>{let a=r.doc.lineAt(i.from);if(a.from==e)return{range:i};e=a.from;let O=r.toText((s?o.line(n++).text:t)+r.lineBreak);return{changes:{from:a.from,insert:O},range:M.cursor(i.from+O.length)}})}else i=s?r.changeByRange(e=>{let t=o.line(n++);return{changes:{from:e.from,to:e.to,insert:t.text},range:M.cursor(e.from+t.length)}}):r.replaceSelection(o);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function nK(e,t,i,r){if(1==r)return M.cursor(t,i);if(2==r)return function(e,t,i=1){let r=e.charCategorizer(t),n=e.doc.lineAt(t),o=t-n.from;if(0==n.length)return M.cursor(t);0==o?i=1:o==n.length&&(i=-1);let s=o,a=o;i<0?s=T(n.text,o,!1):a=T(n.text,o);let O=r(n.text.slice(s,a));for(;s>0;){let e=T(n.text,s,!1);if(r(n.text.slice(e,s))!=O)break;s=e}for(;a{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},nM.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now()),!1),nB.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},nB.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},nM.mousedown=(e,t)=>{let i,r,n;if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let o=null;for(let i of e.state.facet(r9))if(o=i(e,t))break;if(o||0!=t.button||(i=nJ(e,t),r=n4(t),n=e.state.selection,o={update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),n=n.map(e.changes))},get(t,o,s){let a,O=nJ(e,t),l=nK(e,O.pos,O.bias,r);if(i.pos!=O.pos&&!o){let t=nK(e,i.pos,i.bias,r),n=Math.min(t.from,l.from),o=Math.max(t.to,l.to);l=n1&&(a=function(e,t){for(let i=0;i=t)return M.create(e.ranges.slice(0,i).concat(e.ranges.slice(i+1)),e.mainIndex==i?0:e.mainIndex-(e.mainIndex>i?1:0))}return null}(n,O.pos))?a:s?n.addRange(l):M.create([l])}}),o){let i=!e.hasFocus;e.inputState.startMouseSelection(new nD(e,t,o,i)),i&&e.observer.ignore(()=>i3(e.contentDOM));let r=e.inputState.mouseSelection;if(r)return r.start(t),!1===r.dragging}return!1};let nF=(e,t)=>e>=t.top&&e<=t.bottom,nH=(e,t,i)=>nF(t,i)&&e>=i.left&&e<=i.right;function nJ(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:i,bias:function(e,t,i,r){let n=rR.find(e.docView,t);if(!n)return 1;let o=t-n.posAtStart;if(0==o)return 1;if(o==n.length)return -1;let s=n.coordsAt(o,-1);if(s&&nH(i,r,s))return -1;let a=n.coordsAt(o,1);return a&&nH(i,r,a)?1:s&&nF(r,s)?-1:1}(e,i,t.clientX,t.clientY)}}let n1=rb.ie&&rb.ie_version<=11,n0=null,n5=0,n2=0;function n4(e){if(!n1)return e.detail;let t=n0,i=n2;return n0=e,n2=Date.now(),n5=!t||i>Date.now()-400&&2>Math.abs(t.clientX-e.clientX)&&2>Math.abs(t.clientY-e.clientY)?(n5+1)%3:1}function n3(e,t,i,r){let n;if(!i)return;let o=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:s}=e.inputState,a=r&&s&&((n=e.state.facet(r3)).length?n[0](t):rb.mac?!t.altKey:!t.ctrlKey)?{from:s.from,to:s.to}:null,O={from:o,insert:i},l=e.state.changes(a?[a,O]:O);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(o,-1),head:l.mapPos(o,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}nM.dragstart=(e,t)=>{let{selection:{main:i}}=e.state;if(t.target.draggable){let r=e.docView.nearest(t.target);if(r&&r.isWidget){let e=r.posAtStart,t=e+r.length;(e>=i.to||t<=i.from)&&(i=M.range(e,t))}}let{inputState:r}=e;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=i,t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(i.from,i.to)),t.dataTransfer.effectAllowed="copyMove"),!1},nM.dragend=e=>(e.inputState.draggedContent=null,!1),nM.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let i=t.dataTransfer.files;if(i&&i.length){let r=Array(i.length),n=0,o=()=>{++n==i.length&&n3(e,t,r.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(r[e]=t.result),o()},t.readAsText(i[e])}return!0}{let i=t.dataTransfer.getData("Text");if(i)return n3(e,t,i,!0),!0}return!1},nM.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let i=nI?null:t.clipboardData;return i?(nL(e,i.getData("text/plain")||i.getData("text/uri-list")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{e.focus(),i.remove(),nL(e,i.value)},50)}(e),!1)};let n9=null;nM.copy=nM.cut=(e,t)=>{let{text:i,ranges:r,linewise:n}=function(e){let t=[],i=[],r=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),i.push(r));if(!t.length){let n=-1;for(let{from:r}of e.selection.ranges){let o=e.doc.lineAt(r);o.number>n&&(t.push(o.text),i.push({from:o.from,to:Math.min(e.doc.length,o.to+1)})),n=o.number}r=!0}return{text:t.join(e.lineBreak),ranges:i,linewise:r}}(e.state);if(!i&&!n)return!1;n9=n?i:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let o=nI?null:t.clipboardData;return o?(o.clearData(),o.setData("text/plain",i),!0):(function(e,t){let i=e.dom.parentNode;if(!i)return;let r=i.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=t,r.focus(),r.selectionEnd=t.length,r.selectionStart=0,setTimeout(()=>{r.remove(),e.focus()},50)}(e,i),!1)};let n8=em.define();function n7(e,t){let i=[];for(let r of e.facet(ne)){let n=r(e,t);n&&i.push(n)}return i?e.update({effects:i,annotations:n8.of(!0)}):null}function n6(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let i=n7(e.state,t);i?e.dispatch(i):e.update([])}},10)}nB.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),n6(e)},nB.blur=e=>{e.observer.clearSelectionRange(),n6(e)},nB.compositionstart=nB.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0,e.docView.maybeCreateCompositionBarrier()&&(e.update([]),e.docView.clearCompositionBarrier()))},nB.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,rb.chrome&&rb.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50)},nB.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},nM.beforeinput=(e,t)=>{var i;let r;if(rb.chrome&&rb.android&&(r=nj.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(r.key,r.keyCode),"Backspace"==r.key||"Delete"==r.key)){let t=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout(()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return rb.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),rb.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout(()=>nB.compositionend(e,t),20),!1};let oe=new Set,ot=["pre-wrap","normal","pre-line","break-spaces"];class oi{constructor(e){this.lineWrapping=e,this.doc=g.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}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)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return ot.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=n,a){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>.001&&(e.heightChanged=!0),this.height=t)}replace(e,t,i){return os.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let n=this,o=i.doc;for(let s=r.length-1;s>=0;s--){let{fromA:a,toA:O,fromB:l,toB:h}=r[s],c=n.lineAt(a,oo.ByPosNoHeight,i.setDoc(t),0,0),f=c.to>=O?c:n.lineAt(O,oo.ByPosNoHeight,i,0,0);for(h+=f.to-O,O=f.to;s>0&&c.from<=r[s-1].toA;)a=r[s-1].fromA,l=r[s-1].fromB,s--,a2*n){let n=e[t-1];n.break?e.splice(--t,1,n.left,null,n.right):e.splice(--t,1,n.left,n.right),i+=1+n.break,r-=n.size}else{if(!(n>2*r))break;{let t=e[i];t.break?e.splice(i,1,t.left,null,t.right):e.splice(i,1,t.left,t.right),i+=2+t.break,n-=t.size}}}else if(r=n&&o(this.blockAt(0,i,r,n))}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(e,r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class oO extends oa{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,i,r){return new on(r,this.length,i,this.height,this.breaks)}replace(e,t,i){let r=i[0];return 1==i.length&&(r instanceof oO||r instanceof ol&&4&r.flags)&&10>Math.abs(this.length-r.length)?(r instanceof ol?r=new oO(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):os.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setHeight(e,r.heights[r.index++]):(i||this.outdated)&&this.setHeight(e,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 ol extends os{constructor(e){super(e,0)}heightMetrics(e,t){let i,r=e.doc.lineAt(t).number,n=e.doc.lineAt(t+this.length).number,o=n-r+1,s=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*o);i=t/o,this.length>o+1&&(s=(this.height-t)/(this.length-o-1))}else i=this.height/o;return{firstLine:r,lastLine:n,perLine:i,perChar:s}}blockAt(e,t,i,r){let{firstLine:n,lastLine:o,perLine:s,perChar:a}=this.heightMetrics(t,r);if(t.lineWrapping){let n=r+(e0){let e=i[i.length-1];e instanceof ol?i[i.length-1]=new ol(e.length+r):i.push(null,new ol(r-1))}if(e>0){let t=i[0];t instanceof ol?i[0]=new ol(e+t.length):i.unshift(new ol(e-1),null)}return os.of(i)}decomposeLeft(e,t){t.push(new ol(e-1),null)}decomposeRight(e,t){t.push(null,new ol(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let n=t+this.length;if(r&&r.from<=t+this.length&&r.more){let i=[],o=Math.max(t,r.from),s=-1;for(r.from>t&&i.push(new ol(r.from-t-1).updateHeight(e,t));o<=n&&r.more;){let t=e.doc.lineAt(o).length;i.length&&i.push(null);let n=r.heights[r.index++];-1==s?s=n:Math.abs(n-s)>=.001&&(s=-2);let a=new oO(t,n);a.outdated=!1,i.push(a),o+=t+1}o<=n&&i.push(null,new ol(n-o).updateHeight(e,o));let a=os.of(i);return(s<0||Math.abs(a.height-this.height)>=.001||Math.abs(s-this.heightMetrics(e,t).perLine)>=.001)&&(e.heightChanged=!0),a}return(i||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class oh extends os{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 1&this.flags}blockAt(e,t,i,r){let n=i+this.left.height;return es))return O;let l=t==oo.ByPosNoHeight?oo.ByPosNoHeight:oo.ByPos;return a?O.join(this.right.lineAt(s,l,i,o,s)):this.left.lineAt(s,l,i,r,n).join(O)}forEachLine(e,t,i,r,n,o){let s=r+this.left.height,a=n+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,t,i,s,a,o);else{let O=this.lineAt(a,oo.ByPos,i,r,n);e=e&&O.from<=t&&o(O),t>O.to&&this.right.forEachLine(O.to+1,t,i,s,a,o)}}replace(e,t,i){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let n=[];e>0&&this.decomposeLeft(e,n);let o=n.length;for(let e of i)n.push(e);if(e>0&&oc(n,o-1),t=++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);e2*t.size||t.size>2*e.size?os.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=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:n,right:o}=this,s=t+n.length+this.break,a=null;return r&&r.from<=t+n.length&&r.more?a=n=n.updateHeight(e,t,i,r):n.updateHeight(e,t,i),r&&r.from<=s+o.length&&r.more?a=o=o.updateHeight(e,s,i,r):o.updateHeight(e,s,i),a?this.balanced(n,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function oc(e,t){let i,r;null==e[t]&&(i=e[t-1])instanceof ol&&(r=e[t+1])instanceof ol&&e.splice(t-1,3,new ol(i.length+1+r.length))}class of{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 e=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof oO?i.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new oO(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=5)&&this.addLineDeco(r,n,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new oO(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new ol(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 oO)return e;let t=new oO(0,-1);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=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof oO||this.isCovered?(this.writtenTo"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new oi(t),this.stateDeco=e.facet(nd).filter(e=>"function"!=typeof e),this.heightMap=os.empty().applyChanges(this.stateDeco,g.empty,this.heightOracle.setDoc(e.doc),[new nS(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=rq.set(this.lineGaps.map(e=>e.draw(this,!1))),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:e,to:t})=>r>=e&&r<=t)){let{from:t,to:i}=this.lineBlockAt(r);e.push(new og(t,i))}}this.viewports=e.sort((e,t)=>e.from-t.from),this.scaler=this.heightMap.height<=7e6?ob:new oX(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(1==this.scaler.scale?e:oS(e,this.scaler))})}update(e,t=null){var i,r;let n;this.state=e.state;let o=this.stateDeco;this.stateDeco=this.state.facet(nd).filter(e=>"function"!=typeof e);let s=e.changedRanges,a=nS.extendWithRanges(s,(i=this.stateDeco,r=e?e.changes:C.empty(this.state.doc.length),n=new ou,eq.compare(o,i,r,n,0),n.changes)),O=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),a),this.heightMap.height!=O&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let h=a.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headh.to)||!this.viewportIsAppropriate(h))&&(h=this.getViewport(0,t));let c=!e.changes.empty||2&e.flags||h.from!=this.viewport.from||h.to!=this.viewport.to;this.viewport=h,this.updateForViewport(),c&&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(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(ni)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,n=i.whiteSpace;this.defaultTextDirection="rtl"==i.direction?rG.RTL:rG.LTR;let o=this.heightOracle.mustRefreshForWrapping(n),s=t.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let O=0,l=0;if(s.width&&s.height){let{scaleX:e,scaleY:i}=i0(t,s);(e>.005&&Math.abs(this.scaleX-e)>.005||i>.005&&Math.abs(this.scaleY-i)>.005)&&(this.scaleX=e,this.scaleY=i,O|=8,o=a=!0)}let h=(parseInt(i.paddingTop)||0)*this.scaleY,c=(parseInt(i.paddingBottom)||0)*this.scaleY;this.paddingTop==h&&this.paddingBottom==c||(this.paddingTop=h,this.paddingBottom=c,O|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,O|=8);let f=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=f&&(this.scrollAnchorHeight=-1,this.scrollTop=f),this.scrolledToBottom=i6(e.scrollDOM);let u=(this.printing?function(e,t){let i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}:function(e,t){let i=e.getBoundingClientRect(),r=e.ownerDocument,n=r.defaultView||window,o=Math.max(0,i.left),s=Math.min(n.innerWidth,i.right),a=Math.max(0,i.top),O=Math.min(n.innerHeight,i.bottom);for(let t=e.parentNode;t&&t!=r.body;)if(1==t.nodeType){let i=t,r=window.getComputedStyle(i);if((i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=r.overflow){let r=i.getBoundingClientRect();o=Math.max(o,r.left),s=Math.min(s,r.right),a=Math.max(a,r.top),O=t==e.parentNode?r.bottom:Math.min(O,r.bottom)}t="absolute"==r.position||"fixed"==r.position?i.offsetParent:i.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:o-i.left,right:Math.max(o,s)-i.left,top:a-(i.top+t),bottom:Math.max(a,O)-(i.top+t)}})(t,this.paddingTop),d=u.top-this.pixelViewport.top,p=u.bottom-this.pixelViewport.bottom;this.pixelViewport=u;let Q=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(Q!=this.inView&&(this.inView=Q,Q&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let m=s.width;if(this.contentDOMWidth==m&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=e.scrollDOM.clientHeight,O|=8),a){let t=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(t)&&(o=!0),o||r.lineWrapping&&Math.abs(m-this.contentDOMWidth)>r.charWidth){let{lineHeight:i,charWidth:s,textHeight:a}=e.docView.measureTextSize();(o=i>0&&r.refresh(n,i,s,a,m/s,t))&&(e.docView.minWidth=0,O|=8)}for(let i of(d>0&&p>0?l=Math.max(d,p):d<0&&p<0&&(l=Math.min(d,p)),r.heightChanged=!1,this.viewports)){let n=i.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(i);this.heightMap=(o?os.empty().applyChanges(this.stateDeco,g.empty,this.heightOracle,[new nS(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new or(i.from,n))}r.heightChanged&&(O|=2)}let $=!this.viewportIsAppropriate(this.viewport,l)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return $&&(this.viewport=this.getViewport(l,this.scrollTarget)),this.updateForViewport(),(2&O||$)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),O|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),O}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,n=this.heightOracle,{visibleTop:o,visibleBottom:s}=this,a=new og(r.lineAt(o-1e3*i,oo.ByHeight,n,0,0).from,r.lineAt(s+1e3*(1-i),oo.ByHeight,n,0,0).to);if(t){let{head:e}=t.range;if(ea.to){let i,o=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),s=r.lineAt(e,oo.ByPos,n,0,0);i="center"==t.y?(s.top+s.bottom)/2-o/2:"start"==t.y||"nearest"==t.y&&e=s+Math.max(10,Math.min(i,250)))&&r>o-2e3&&n>1,o=r<<1;if(this.defaultTextDirection!=rG.LTR&&!i)return[];let s=[],a=(r,o,O,l)=>{if(o-rr&&ee.from>=O.from&&e.to<=O.to&&Math.abs(e.from-r)e.fromt));if(!f){if(oe.from<=o&&e.to>=o)){let e=t.moveToLineBoundary(M.cursor(o),!1,!0).head;e>r&&(o=e)}f=new od(r,o,this.gapSize(O,r,o,l))}s.push(f)};for(let e of this.viewportLines){if(e.lengthn&&(r.push({from:n,to:e}),o+=e-n),n=t}},20),ne.from&&a(e.from,n,e,t),se.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];eq.spans(e,this.viewport.from,this.viewport.to,{span(e,i){t.push({from:e,to:i})},point(){}},20);let i=t.length!=this.visibleRanges.length||this.visibleRanges.some((e,i)=>e.from!=t[i].from||e.to!=t[i].to);return this.visibleRanges=t,i?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||oS(this.heightMap.lineAt(e,oo.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return oS(this.heightMap.lineAt(this.scaler.fromDOM(e),oo.ByHeight,this.heightOracle,0,0),this.scaler)}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 oS(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 og{constructor(e,t){this.from=e,this.to=t}}function om({total:e,ranges:t},i){if(i<=0)return t[0].from;if(i>=1)return t[t.length-1].to;let r=Math.floor(e*i);for(let e=0;;e++){let{from:i,to:n}=t[e],o=n-i;if(r<=o)return i+r;r-=o}}function o$(e,t){let i=0;for(let{from:r,to:n}of e.ranges){if(t<=n){i+=t-r;break}i+=n-r}return i/e.total}let ob={toDOM:e=>e,fromDOM:e=>e,scale:1};class oX{constructor(e,t,i){let r=0,n=0,o=0;for(let s of(this.viewports=i.map(({from:i,to:n})=>{let o=t.lineAt(i,oo.ByPos,e,0,0).top,s=t.lineAt(n,oo.ByPos,e,0,0).bottom;return r+=s-o,{from:i,to:n,top:o,bottom:s,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r),this.viewports))s.domTop=o+(s.top-n)*this.scale,o=s.domBottom=s.domTop+(s.bottom-s.top),n=s.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let n=toS(e,t)):e._content)}let oy=L.define({combine:e=>e.join(" ")}),ox=L.define({combine:e=>e.indexOf(!0)>-1}),ov=iA.newName(),oP=iA.newName(),ow=iA.newName(),oT={"&light":"."+oP,"&dark":"."+ow};function ok(e,t,i){return new iA(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!i||!i[t])throw RangeError(`Unsupported selector: ${t}`);return i[t]}):e+" "+t})}let oY=ok("."+ov,{"&":{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},".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":{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:"#444"},".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",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&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},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".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"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',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"}},oT);class oR{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(ek.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+="￿"}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let r=e;;){this.findPointBefore(i,r);let e=this.text.length;this.readNode(r);let n=r.nextSibling;if(n==t)break;let o=rn.get(r),s=rn.get(n);(o&&s?o.breakAfter:(o?o.breakAfter:iF(r))||iF(n)&&("BR"!=r.nodeName||r.cmIgnore)&&this.text.length>e)&&this.lineBreak(),r=n}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 n,o=-1,s=1;if(this.lineSeparator?(o=t.indexOf(this.lineSeparator,i),s=this.lineSeparator.length):(n=r.exec(t))&&(o=n.index,s=n[0].length),this.append(t.slice(i,o<0?t.length:o)),o<0)break;if(this.lineBreak(),s>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=s-1);i=o+s}}readNode(e){if(e.cmIgnore)return;let t=rn.get(e),i=t&&t.overrideDOMText;if(null!=i){this.findPointInside(e,i.length);for(let e=i.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&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)(3==e.nodeType?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(!function(e,t,i){for(;;){if(!t||i-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let t=n||o?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:i,anchorOffset:r,focusNode:n,focusOffset:o}=e.observer.selectionRange;return i&&(t.push(new o_(i,r)),n==i&&o==r||t.push(new o_(n,o))),t}(e),i=new oR(t,e.state);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=function(e,t){if(0==e.length)return null;let i=e[0].pos,r=2==e.length?e[1].pos:i;return i>-1&&r>-1?M.single(i+t,r+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,i=n&&n.node==t.focusNode&&n.offset==t.focusOffset||!iM(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),r=o&&o.node==t.anchorNode&&o.offset==t.anchorOffset||!iM(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),s=e.viewport;if((rb.ios||rb.chrome)&&e.state.selection.main.empty&&i!=r&&(s.from>0||s.toDate.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:r,to:s}=t.bounds,a=n.from,O=null;(8===o||rb.android&&t.text.length0&&a>0&&e.charCodeAt(s-1)==t.charCodeAt(a-1);)s--,a--;return"end"==r&&(i-=s+Math.max(0,o-Math.min(s,a))-o),s=s?o-i:0,a=o+(a-s),s=o):a=a?o-i:0,s=o+(s-a),a=o),{from:o,toA:s,toB:a}}(e.state.doc.sliceString(r,s,"￿"),t.text,a-r,O);l&&(rb.chrome&&13==o&&l.toB==l.from+2&&"￿￿"==t.text.slice(l.from,l.toB)&&l.toB--,i={from:r+l.from,to:r+l.toA,insert:g.of(t.text.slice(l.from,l.toB).split("￿"))})}else r&&(!e.hasFocus&&e.state.facet(na)||r.main.eq(n))&&(r=null);if(!i&&!r)return!1;if(!i&&t.typeOver&&!n.empty&&r&&r.main.empty?i={from:n.from,to:n.to,insert:e.state.doc.slice(n.from,n.to)}:i&&i.from>=n.from&&i.to<=n.to&&(i.from!=n.from||i.to!=n.to)&&n.to-n.from-(i.to-i.from)<=4?i={from:n.from,to:n.to,insert:e.state.doc.slice(n.from,i.from).append(i.insert).append(e.state.doc.slice(i.to,n.to))}:(rb.mac||rb.android)&&i&&i.from==i.to&&i.from==n.head-1&&/^\. ?$/.test(i.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(r&&2==i.insert.length&&(r=M.single(r.main.anchor-1,r.main.head-1)),i={from:n.from,to:n.to,insert:g.of([" "])}):rb.chrome&&i&&i.from==i.to&&i.from==n.head&&"\n "==i.insert.toString()&&e.lineWrapping&&(r&&(r=M.single(r.main.anchor-1,r.main.head-1)),i={from:n.from,to:n.to,insert:g.of([" "])}),i){if(rb.ios&&e.inputState.flushIOSKey(i)||rb.android&&(i.to==n.to&&(i.from==n.from||i.from==n.from-1&&" "==e.state.sliceDoc(i.from,n.from))&&1==i.insert.length&&2==i.insert.lines&&i8(e.contentDOM,"Enter",13)||(i.from==n.from-1&&i.to==n.to&&0==i.insert.length||8==o&&i.insert.lengthn.head)&&i8(e.contentDOM,"Backspace",8)||i.from==n.from&&i.to==n.to+1&&0==i.insert.length&&i8(e.contentDOM,"Delete",46)))return!0;let t,s=i.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let a=()=>t||(t=function(e,t,i){let r,n=e.state,o=n.selection.main;if(t.from>=o.from&&t.to<=o.to&&t.to-t.from>=(o.to-o.from)/3&&(!i||i.main.empty&&i.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let i=o.fromt.to?n.sliceDoc(t.to,o.to):"";r=n.replaceSelection(e.state.toText(i+t.insert.sliceString(0,void 0,e.state.lineBreak)+s))}else{let s=n.changes(t),a=i&&i.main.to<=s.newLength?i.main:void 0;if(n.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=o.to&&t.to>=o.to-10){let O,l=e.state.sliceDoc(t.from,t.to),h=i&&nw(e,i.main.head);if(h){let e=t.insert.length-(t.to-t.from);O={from:h.from,to:h.to-e}}else O=e.state.doc.lineAt(o.head);let c=o.to-t.to,f=o.to-o.from;r=n.changeByRange(i=>{if(i.from==o.from&&i.to==o.to)return{changes:s,range:a||i.map(s)};let r=i.to-c,h=r-l.length;if(i.to-i.from!=f||e.state.sliceDoc(h,r)!=l||i.to>=O.from&&i.from<=O.to)return{range:i};let u=n.changes({from:h,to:r,insert:t.insert}),d=i.to-o.to;return{changes:u,range:a?M.range(Math.max(0,a.anchor+d),Math.max(0,a.head+d)):i.map(u)}})}else r={changes:s,selection:a&&n.selection.replaceRange(a)}}let s="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,s+=".compose",e.inputState.compositionFirstChange&&(s+=".start",e.inputState.compositionFirstChange=!1)),n.update(r,{userEvent:s,scrollIntoView:!0})}(e,i,r));return e.state.facet(r6).some(t=>t(e,i.from,i.to,s,a))||e.dispatch(a()),!0}if(r&&!r.main.eq(n)){let t=!1,i="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),i=e.inputState.lastSelectionOrigin),e.dispatch({selection:r,scrollIntoView:t,userEvent:i}),!0}return!1}let oq={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},oA=rb.ie&&rb.ie_version<=11;class oW{constructor(e){this.view=e,this.active=!1,this.selectionRange=new i5,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 e of t)this.queue.push(e);(rb.ie&&rb.ie_version<=11||rb.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),oA&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.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(e=>{e.length>0&&e[e.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.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){("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]))){for(let t of(this.gapIntersection.disconnect(),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(na)?i.root.activeElement!=this.dom:!iB(i.dom,r))return;let n=r.anchorNode&&i.docView.nearest(r.anchorNode);n&&n.ignoreEvent(e)?t||(this.selectionChanged=!1):(rb.ie&&rb.ie_version<=11||rb.android&&rb.chrome)&&!i.state.selection.main.empty&&r.focusNode&&iL(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=rb.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e){let t=null;function i(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),!t)return null;let r=t.startContainer,n=t.startOffset,o=t.endContainer,s=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor);return iL(a.node,a.offset,o,s)&&([r,n,o,s]=[o,s,r,n]),{anchorNode:r,anchorOffset:n,focusNode:o,focusOffset:s}}(this.view)||iD(e.root);if(!t||this.selectionRange.eq(t))return!1;let i=iB(this.dom,t);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&i8(this.dom,e.key,e.keyCode))})),this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{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 n of e){let e=this.readMutation(n);e&&(e.typeOver&&(r=!0),-1==t?{from:t,to:i}=e:(t=Math.min(e.from,t),i=Math.max(e.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&iB(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 n=new oV(this.view,e,t,i);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}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=oZ(this.view,t);return this.view.state==i&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let i=oC(t,e.previousSibling||e.target.previousSibling,-1),r=oC(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{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("change",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("change",this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,i;for(let r of(this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect(),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)}}function oC(e,t,i){for(;t;){let r=rn.get(t);if(r&&r.parent==e)return r;let n=t.parentNode;t=n!=e.dom?n:i>0?t.nextSibling:t.previousSibling}return null}class oU{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.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){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:t}=e;for(let i of(this.dispatchTransactions=e.dispatchTransactions||t&&(e=>e.forEach(e=>t(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new oQ(e.state||ek.create(e)),e.scrollTo&&e.scrollTo.is(no)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(nl).map(e=>new nc(e)),this.plugins))i.update(this);this.observer=new oW(this),this.inputState=new nU(this),this.inputState.ensureHandlers(this.plugins),this.docView=new nx(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure()}dispatch(...e){let t=1==e.length&&e[0]instanceof eS?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let t,i=!1,r=!1,n=this.state;for(let t of e){if(t.startState!=n)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=t.state}if(this.destroyed)return void(this.viewState.state=n);let o=this.hasFocus,s=0,a=null;e.some(e=>e.annotation(n8))?(this.inputState.notifiedFocused=o,s=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,(a=n7(n,o))||(s=1));let O=this.observer.delayedAndroidKey,l=null;if(O?(this.observer.clearDelayedAndroidKey(),((l=this.observer.readChange())&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(l=null)):this.observer.clear(),n.facet(ek.phrases)!=this.state.facet(ek.phrases))return this.setState(n);t=ny.create(this,n,e),t.flags|=s;let h=this.viewState.scrollTarget;try{for(let t of(this.updateState=2,e)){if(h&&(h=h.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;h=new nn(e.empty?e:M.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(no)&&(h=e.value.clip(this.state))}this.viewState.update(t,h),this.bidiCache=oE.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),i=this.docView.update(t),this.state.facet(nX)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(oy)!=t.state.facet(oy)&&(this.viewState.mustMeasureContent=!0),(i||r||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!t.empty)for(let e of this.state.facet(r7))try{e(t)}catch(e){ns(this.state,e,"update listener")}(a||l)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),l&&!oZ(this,l)&&O.force&&i8(this.contentDOM,O.key,O.keyCode)})}setState(e){if(0!=this.updateState)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);for(let t of(this.viewState=new oQ(e),this.plugins=e.facet(nl).map(e=>new nc(e)),this.pluginMap.clear(),this.plugins))t.update(this);this.docView.destroy(),this.docView=new nx(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(nl),i=e.state.facet(nl);if(t!=i){let r=[];for(let n of i){let i=t.indexOf(n);if(i<0)r.push(new nc(n));else{let t=this.plugins[i];t.mustUpdate=e,r.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,r=i.scrollTop*this.scaleY,{scrollAnchorPos:n,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(o<0){if(i6(i))n=-1,o=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(r);n=e.from,o=e.top}}this.updateState=1;let s=this.viewState.measure(this);if(!s&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let a=[];4&s||([this.measureRequests,a]=[a,this.measureRequests]);let O=a.map(e=>{try{return e.read(this)}catch(e){return ns(this.state,e),oj}}),l=ny.create(this,this.state,[]),h=!1;l.flags|=s,t?t.flags|=s:t=l,this.updateState=2,l.empty||(this.updatePlugins(l),this.inputState.update(l),this.updateAttrs(),(h=this.docView.update(l))&&this.docViewUpdate());for(let e=0;e1||e<-1){r+=e,i.scrollTop=r/this.scaleY,o=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(r7))e(t)}get themeClasses(){return ov+" "+(this.state.facet(ox)?ow:oP)+" "+this.state.facet(oy)}updateAttrs(){let e=oz(this,nf,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(na)?"true":"false",class:"cm-content",style:`${rb.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),oz(this,nu,t);let i=this.observer.ignore(()=>{let i=rY(this.contentDOM,this.contentAttrs,t),r=rY(this.dom,this.editorAttrs,e);return i||r});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let e of i.effects)e.is(oU.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(nX);let e=this.state.facet(oU.cspNonce);iA.mount(this.root,this.styleModules.concat(oY).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e&&!(this.measureRequests.indexOf(e)>-1)){if(null!=e.key){for(let t=0;tt.spec==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 nC(this,e,nA(this,e,t,i))}moveByGroup(e,t){return nC(this,e,nA(this,e,t,t=>{var i;let r,n;return i=e.head,n=(r=this.state.charCategorizer(i))(t),e=>{let t=r(e);return n==ew.Space&&(n=t),n==t}}))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=i[t?i.length-1:0];return M.cursor(n.side(t,r)+e.from,n.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return function(e,t,i,r){let n=nq(e,t.head),o=r&&n.type==rZ.Text&&(e.lineWrapping||n.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>n.from?t.head-1:t.head):null;if(o){let t=e.dom.getBoundingClientRect(),r=e.textDirectionAt(n.from),s=e.posAtCoords({x:i==(r==rG.LTR)?t.right-1:t.left+1,y:(o.top+o.bottom)/2});if(null!=s)return M.cursor(s,i?-1:1)}return M.cursor(i?n.to:n.from,i?-1:1)}(this,e,t,i)}moveVertically(e,t,i){return nC(this,e,function(e,t,i,r){let n=t.head,o=i?1:-1;if(n==(i?e.state.doc.length:0))return M.cursor(n,t.assoc);let s,a=t.goalColumn,O=e.contentDOM.getBoundingClientRect(),l=e.coordsAtPos(n,t.assoc||-1),h=e.documentTop;if(l)null==a&&(a=l.left-O.left),s=o<0?l.top:l.bottom;else{let t=e.viewState.lineBlockAt(n);null==a&&(a=Math.min(O.right-O.left,e.defaultCharacterWidth*(n-t.from))),s=(o<0?t.top:t.bottom)+h}let c=O.left+a,f=null!=r?r:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let i=s+(f+t)*o,r=nV(e,{x:c,y:i},!1,o);if(iO.bottom||(o<0?rn)){let t=e.docView.coordsForChar(r),n=!t||i0)}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(nt)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>oN)return r5(e.length);let t,i=this.textDirectionAt(e.from);for(let r of this.bidiCache)if(r.from==e.from&&r.dir==i&&(r.fresh||function e(t,i){if(t.length!=i.length)return!1;for(let r=0;rr0.length;)r0[r0.length]=256;let r=[],n=t==rD?0:1;return function e(t,i,r,n,o,s,a){let O=i%2?2:1;(function(e,t,i,r,n){for(let o=0;o<=r.length;o++){let s=o?r[o-1].to:t,a=o=0;e-=3)if(rF[e+1]==-i){let t=rF[e+2],i=2&t?n:4&t?1&t?o:n:0;i&&(r0[s]=r0[rF[e]]=i),a=e;break}}else{if(189==rF.length)break;rF[a++]=s,rF[a++]=t,rF[a++]=O}}else if(2==(r=r0[s])||1==r){let e=r==n;O=e?0:1;for(let t=a-3;t>=0;t-=3){let i=rF[t+2];if(2&i)break;if(e)rF[t+2]|=2;else{if(4&i)break;rF[t+2]|=4}}}}}(t,o,s,n,O),function(e,t,i,r){for(let n=0,o=r;n<=i.length;n++){let s=n?i[n-1].to:e,a=nO;)t==o&&(t=i[--r].from,o=r?i[r-1].to:e),r0[--t]=h;O=s}else o=s,O++}}}(o,s,n,O),function t(i,r,n,o,s,a,O){let l=o%2?2:1;if(o%2==s%2)for(let h=r,c=0;hh&&O.push(new r1(h,t.from,d)),e(i,t.direction==rD!=!(d%2)?o+1:o,s,t.inner,t.from,t.to,O),h=t.to),p=t.to}else{if(p==n||(r?r0[p]!=l:r0[p]==l))break;p++}u?t(i,h,p,o+1,s,u,O):hr;){let n=!0,f=!1;if(!c||h>a[c-1].to){let e=r0[h-1];e!=l&&(n=!1,f=16==e)}let u=n||1!=l?null:[],d=n?o:o+1,p=h;e:for(;;)if(c&&p==a[c-1].to){if(f)break;let t=a[--c];if(!n)for(let e=t.from,i=c;;){if(e==r)break e;if(!i||a[i-1].to!=e){if(r0[e-1]==l)break e;break}e=a[--i].from}u?u.push(t):(t.toDate.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{i3(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){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={}){return no.of(new nn("number"==typeof e?M.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return no.of(new nn(M.cursor(i.from),"start","start",i.top-e,t,!0))}static domEventHandlers(e){return nh.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return nh.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=iA.newName(),r=[oy.of(i),nX.of(ok(`.${i}`,e))];return t&&t.dark&&r.push(ox.of(!0)),r}static baseTheme(e){return en.lowest(nX.of(ok("."+ov,e,oT)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&rn.get(i)||rn.get(e);return(null===(t=null==r?void 0:r.rootView)||void 0===t?void 0:t.view)||null}}oU.styleModule=nX,oU.inputHandler=r6,oU.scrollHandler=nr,oU.focusChangeEffect=ne,oU.perLineTextDirection=nt,oU.exceptionSink=r8,oU.updateListener=r7,oU.editable=na,oU.mouseSelectionStyle=r9,oU.dragMovesSelection=r3,oU.clickAddsSelectionRange=r4,oU.decorations=nd,oU.outerDecorations=np,oU.atomicRanges=nQ,oU.bidiIsolatedRanges=ng,oU.scrollMargins=n$,oU.darkTheme=ox,oU.cspNonce=L.define({combine:e=>e.length?e[0]:""}),oU.contentAttributes=nu,oU.editorAttributes=nf,oU.lineWrapping=oU.contentAttributes.of({class:"cm-lineWrapping"}),oU.announce=eX.define();let oN=4096,oj={};class oE{constructor(e,t,i,r,n,o){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=n,this.order=o}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:rG.LTR;for(let n=Math.max(0,e.length-10);n=0;n--){let t=r[n],o="function"==typeof t?t(e):t;o&&rw(o,i)}return i}let oG=rb.mac?"mac":rb.windows?"win":rb.linux?"linux":"key";function oD(e,t,i){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==i&&t.shiftKey&&(e="Shift-"+e),e}let oM=en.default(oU.domEventHandlers({keydown:(e,t)=>oF(oL(t.state),e,t,"editor")})),oB=L.define({enables:oM}),oI=new WeakMap;function oL(e){let t=e.facet(oB),i=oI.get(t);return i||oI.set(t,i=function(e,t=oG){let i=Object.create(null),r=Object.create(null),n=(e,t)=>{let i=r[e];if(null==i)r[e]=t;else if(i!=t)throw Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},o=(e,r,o,s,a)=>{var O,l;let h=i[e]||(i[e]=Object.create(null)),c=r.split(/ (?!$)/).map(e=>(function(e,t){let i=e.split(/-(?!$)/),r,n,o,s,a=i[i.length-1];"Space"==a&&(a=" ");for(let e=0;e{let r=oK={view:t,prefix:i,scope:e};return setTimeout(()=>{oK==r&&(oK=null)},4e3),!0}]})}let f=c.join(" ");n(f,!1);let u=h[f]||(h[f]={preventDefault:!1,stopPropagation:!1,run:(null===(l=null===(O=h._any)||void 0===O?void 0:O.run)||void 0===l?void 0:l.slice())||[]});o&&u.run.push(o),s&&(u.preventDefault=!0),a&&(u.stopPropagation=!0)};for(let r of e){let e=r.scope?r.scope.split(" "):["editor"];if(r.any)for(let t of e){let e=i[t]||(i[t]=Object.create(null));for(let t in e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]}),e)e[t].run.push(r.any)}let n=r[t]||r.key;if(n)for(let t of e)o(t,n,r.run,r.preventDefault,r.stopPropagation),r.shift&&o(t,"Shift-"+n,r.shift,r.preventDefault,r.stopPropagation)}return i}(t.reduce((e,t)=>e.concat(t),[]))),i}let oK=null;function oF(e,t,i,r){var n;let o=("Esc"==(n=!(ij&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||iE&&t.shiftKey&&t.key&&1==t.key.length||"Unidentified"==t.key)&&t.key||(t.shiftKey?iN:iU)[t.keyCode]||t.key||"Unidentified")&&(n="Escape"),"Del"==n&&(n="Delete"),"Left"==n&&(n="ArrowLeft"),"Up"==n&&(n="ArrowUp"),"Right"==n&&(n="ArrowRight"),"Down"==n&&(n="ArrowDown"),n),s=Z(_(o,0))==o.length&&" "!=o,a="",O=!1,l=!1,h=!1;oK&&oK.view==i&&oK.scope==r&&(a=oK.prefix+" ",0>nz.indexOf(t.keyCode)&&(l=!0,oK=null));let c,f,u=new Set,d=e=>{if(e){for(let r of e.run)if(!u.has(r)&&(u.add(r),r(i,t)))return e.stopPropagation&&(h=!0),!0;e.preventDefault&&(e.stopPropagation&&(h=!0),l=!0)}return!1},p=e[r];return p&&(d(p[a+oD(o,t,!s)])?O=!0:s&&(t.altKey||t.metaKey||t.ctrlKey)&&!(rb.windows&&t.ctrlKey&&t.altKey)&&(c=iU[t.keyCode])&&c!=o?(d(p[a+oD(c,t,!0)])||t.shiftKey&&(f=iN[t.keyCode])!=o&&f!=c&&d(p[a+oD(f,t,!1)]))&&(O=!0):s&&t.shiftKey&&d(p[a+oD(o,t,!0)])&&(O=!0),!O&&d(p._any)&&(O=!0)),l&&(O=!0),O&&h&&t.stopPropagation(),O}class oH{constructor(e,t,i,r,n){this.className=e,this.left=t,this.top=i,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(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 n=oJ(e);return[new oH(t,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}return function(e,t,i){if(i.to<=e.viewport.from||i.from>=e.viewport.to)return[];let r=Math.max(i.from,e.viewport.from),n=Math.min(i.to,e.viewport.to),o=e.textDirection==rG.LTR,s=e.contentDOM,a=s.getBoundingClientRect(),O=oJ(e),l=s.querySelector(".cm-line"),h=l&&window.getComputedStyle(l),c=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=a.right-(h?parseInt(h.paddingRight):0),u=nq(e,r),d=nq(e,n),p=u.type==rZ.Text?u:null,Q=d.type==rZ.Text?d:null;if(p&&(e.lineWrapping||u.widgetLineBreaks)&&(p=o1(e,r,p)),Q&&(e.lineWrapping||d.widgetLineBreaks)&&(Q=o1(e,n,Q)),p&&Q&&p.from==Q.from)return m($(i.from,i.to,p));{let t=p?$(i.from,null,p):b(u,!1),r=Q?$(null,i.to,Q):b(d,!0),n=[];return(p||u).to<(Q||d).from-(p&&Q?1:0)||u.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2l&&r.from=o)break;a>n&&O(Math.max(e,n),null==t&&e<=l,Math.min(a,o),null==i&&a>=h,s.dir)}if((n=r.to+1)>=o)break}return 0==a.length&&O(l,null==t,h,null==i,e.textDirection),{top:n,bottom:s,horizontal:a}}function b(e,t){let i=a.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}(e,t,i)}}function oJ(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==rG.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function o1(e,t,i){let r=M.cursor(t);return{from:Math.max(i.from,e.moveToLineBoundary(r,!1,!0).from),to:Math.min(i.to,e.moveToLineBoundary(r,!0,!0).from),type:rZ.Text}}class o0{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(o5)!=e.state.facet(o5)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(o5);for(;t{var i;return i=this.drawn[t],!(e.constructor==i.constructor&&e.eq(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 e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}let o5=L.define();function o2(e){return[nh.define(t=>new o0(t,e)),o5.of(e)]}let o4=!rb.ios,o3=L.define({combine:e=>eY(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function o9(e={}){return[o3.of(e),o7,se,si,ni.of(!0)]}function o8(e){return e.startState.facet(o3)!=e.state.facet(o3)}let o7=o2({above:!0,markers(e){let{state:t}=e,i=t.facet(o3),r=[];for(let n of t.selection.ranges){let o=n==t.selection.main;if(n.empty?!o||o4:i.drawRangeCursor){let t=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=n.empty?n:M.cursor(n.head,n.head>n.anchor?-1:1);for(let n of oH.forRange(e,t,i))r.push(n)}}return r},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let i=o8(e);return i&&o6(e.state,t),e.docChanged||e.selectionSet||i},mount(e,t){o6(t.state,e)},class:"cm-cursorLayer"});function o6(e,t){t.style.animationDuration=e.facet(o3).cursorBlinkRate+"ms"}let se=o2({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:oH.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||o8(e),class:"cm-selectionLayer"}),st={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};o4&&(st[".cm-line"].caretColor="transparent !important",st[".cm-content"]={caretColor:"transparent !important"});let si=en.highest(oU.theme(st));function sr(e,t,i,r,n){t.lastIndex=0;for(let o,s=e.iterRange(i,r),a=i;!s.next().done;a+=s.value.length)if(!s.lineBreak)for(;o=t.exec(s.value);)n(a+o.index,o)}class sn{constructor(e){let{regexp:t,decoration:i,decorate:r,boundary:n,maxLength:o=1e3}=e;if(!t.global)throw RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(e,t,i,n)=>r(n,i,i+e[0].length,e,t);else if("function"==typeof i)this.addMatch=(e,t,r,n)=>{let o=i(e,t,r);o&&n(r,r+e[0].length,o)};else{if(!i)throw RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,r,n)=>n(r,r+e[0].length,i)}this.boundary=n,this.maxLength=o}createDeco(e){let t=new eA,i=t.add.bind(t);for(let{from:t,to:r}of function(e,t){let i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;let r=[];for(let{from:n,to:o}of i)n=Math.max(e.state.doc.lineAt(n).from,n-t),o=Math.min(e.state.doc.lineAt(o).to,o+t),r.length&&r[r.length-1].to>=n?r[r.length-1].to=o:r.push({from:n,to:o});return r}(e,this.maxLength))sr(e.state.doc,this.regexp,t,r,(t,r)=>this.addMatch(r,e,t,i));return t.finish()}updateDeco(e,t){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((t,n,o,s)=>{s>e.view.viewport.from&&o1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),i,r):t}updateRange(e,t,i,r){for(let n of e.visibleRanges){let o=Math.max(n.from,i),s=Math.min(n.to,r);if(s>o){let i=e.state.doc.lineAt(o),r=i.toi.from;o--)if(this.boundary.test(i.text[o-1-i.from])){a=o;break}for(;sh.push(i.range(e,t));if(i==r)for(this.regexp.lastIndex=a-i.from;(l=this.regexp.exec(i.text))&&l.indexthis.addMatch(i,e,t,c));t=t.update({filterFrom:a,filterTo:O,filter:(e,t)=>eO,add:h})}}return t}}let so=null!=/x/.unicode?"gu":"g",ss=RegExp("[\0-\b\n-\x1f-Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]",so),sa={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"},sO=null,sl=L.define({combine(e){let t=eY(e,{render:null,specialChars:ss,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==sO&&"undefined"!=typeof document&&document.body){let t=document.body.style;sO=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return sO||!1}())&&(t.specialChars=RegExp(" |"+t.specialChars.source,so)),t.addSpecialChars&&(t.specialChars=RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,so)),t}});function sh(e={}){return[sl.of(e),sc||(sc=nh.fromClass(class{constructor(e){this.view=e,this.decorations=rq.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(sl)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new sn({regexp:e.specialChars,decoration:(t,i,r)=>{let{doc:n}=i.state,o=_(t[0],0);if(9==o){let e=n.lineAt(r),t=i.state.tabSize,o=eB(e.text,t,r-e.from);return rq.replace({widget:new su((t-o%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=rq.replace({widget:new sf(e,o)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(sl);e.startState.facet(sl)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let sc=null;class sf extends rV{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){var t;let i=(t=this.code)>=32?"•":10==t?"␤":String.fromCharCode(9216+t),r=e.state.phrase("Control character")+" "+(sa[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,i);if(n)return n;let o=document.createElement("span");return o.textContent=i,o.title=r,o.setAttribute("aria-label",r),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class su extends rV{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}}class sd extends rV{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?iI(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),r=i1(t[0],"rtl"!=i.direction),n=parseInt(i.lineHeight);return r.bottom-r.top>1.5*n?{left:r.left,right:r.right,top:r.top,bottom:r.top+n}:r}ignoreEvent(){return!1}}function sp(e){return nh.fromClass(class{constructor(t){this.view=t,this.placeholder=e?rq.set([rq.widget({widget:new sd(e),side:1}).range(0)]):rq.none}get decorations(){return this.view.state.doc.length?rq.none:this.placeholder}},{decorations:e=>e.decorations})}function sQ(e,t){var i;let r;let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),o=e.state.doc.lineAt(n),s=n-o.from,a=s>2e3?-1:s==o.length?(i=t.clientX,(r=e.coordsAtPos(e.viewport.from))?Math.round(Math.abs((r.left-i)/e.defaultCharacterWidth)):-1):eB(o.text,e.state.tabSize,n-o.from);return{line:o.number,col:a,off:s}}function sg(e){let t=(null==e?void 0:e.eventFilter)||(e=>e.altKey&&0==e.button);return oU.mouseSelectionStyle.of((e,i)=>{let r,n;return t(i)?(r=sQ(e,i),n=e.state.selection,r?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(r.line).from),i=e.state.doc.lineAt(t);r={line:i.number,col:r.col,off:Math.min(r.off,i.length)},n=n.map(e.changes)}},get(t,i,o){let s=sQ(e,t);if(!s)return n;let a=function(e,t,i){let r=Math.min(t.line,i.line),n=Math.max(t.line,i.line),o=[];if(t.off>2e3||i.off>2e3||t.col<0||i.col<0){let s=Math.min(t.off,i.off),a=Math.max(t.off,i.off);for(let t=r;t<=n;t++){let i=e.doc.line(t);i.length<=a&&o.push(M.range(i.from+s,i.to+a))}}else{let s=Math.min(t.col,i.col),a=Math.max(t.col,i.col);for(let t=r;t<=n;t++){let i=e.doc.line(t),r=eI(i.text,s,e.tabSize,!0);if(r<0)o.push(M.cursor(i.to));else{let t=eI(i.text,a,e.tabSize);o.push(M.range(i.from+r,i.from+t))}}}return o}(e.state,r,s);return a.length?o?M.create(a.concat(n.ranges)):M.create(a):n}}:null):null})}let sm="-10000px";class s${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(e=>e);let n=null;this.tooltipViews=this.tooltips.map(e=>n=i(e,n))}update(e,t){var i;let r=e.state.facet(this.facet),n=r.filter(e=>e);if(r===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let o=[],s=t?[]:null;for(let i=0;io.indexOf(e)&&(this.removeTooltipView(e),null===(i=e.destroy)||void 0===i||i.call(e));return t&&(s.forEach((e,i)=>t[i]=e),t.length=s.length),this.input=r,this.tooltips=n,this.tooltipViews=o,!0}}function sb(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}let sX=L.define({combine:e=>{var t,i,r;return{position:rb.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(i=e.find(e=>e.parent))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(r=e.find(e=>e.tooltipSpace))||void 0===r?void 0:r.tooltipSpace)||sb}}}),sS=new WeakMap,sy=nh.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(sX);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new s$(e,sP,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.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)for(let e of(this.intersectionObserver.disconnect(),this.manager.tooltipViews))this.intersectionObserver.observe(e.dom)}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let i=t||e.geometryChanged,r=e.state.facet(sX);if(r.position!=this.position&&!this.madeAbsolute){for(let e of(this.position=r.position,this.manager.tooltipViews))e.dom.style.position=this.position;i=!0}if(r.parent!=this.parent){for(let e of(this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer(),this.manager.tooltipViews))this.container.appendChild(e.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(e,t){let i=e.create(this.view),r=t?t.dom:null;if(i.dom.classList.add("cm-tooltip"),e.arrow&&!i.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",i.dom.insertBefore(e,r)}return i.dom.style.position=this.position,i.dom.style.top=sm,i.dom.style.left="0px",this.container.insertBefore(i.dom,r),i.mount&&i.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(i.dom),i}destroy(){var e,t,i;for(let t of(this.view.win.removeEventListener("resize",this.measureSoon),this.manager.tooltipViews))t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(i=this.intersectionObserver)||void 0===i||i.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect(),t=1,i=1,r=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(rb.gecko)r=e.offsetParent!=this.container.ownerDocument.body;else if(e.style.top==sm&&"0px"==e.style.left){let t=e.getBoundingClientRect();r=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(r||"absolute"==this.position){if(this.parent){let e=this.parent.getBoundingClientRect();e.width&&e.height&&(t=e.width/this.parent.offsetWidth,i=e.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:i}=this.view.viewState)}return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map((e,t)=>{let i=this.manager.tooltipViews[t];return i.getCoords?i.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(sX).tooltipSpace(this.view),scaleX:t,scaleY:i,makeAbsolute:r}}writeMeasure(e){var t;if(e.makeAbsolute)for(let e of(this.madeAbsolute=!0,this.position="absolute",this.manager.tooltipViews))e.dom.style.position="absolute";let{editor:i,space:r,scaleX:n,scaleY:o}=e,s=[];for(let a=0;a=Math.min(i.bottom,r.bottom)||c.rightMath.min(i.right,r.right)+.1){h.style.top=sm;continue}let u=O.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,d=u?7:0,p=f.right-f.left,Q=null!==(t=sS.get(l))&&void 0!==t?t:f.bottom-f.top,g=l.offset||sv,m=this.view.textDirection==rG.LTR,$=f.width>r.right-r.left?m?r.left:r.right-f.width:m?Math.min(c.left-(u?14:0)+g.x,r.right-p):Math.max(r.left,c.left-p+(u?14:0)-g.x),b=this.above[a];!O.strictSide&&(b?c.top-(f.bottom-f.top)-g.yr.bottom)&&b==r.bottom-c.bottom>c.top-r.top&&(b=this.above[a]=!b);let X=(b?c.top-r.top:r.bottom-c.bottom)-d;if(X$&&e.topS&&(S=b?e.top-Q-2-d:e.bottom+d+2);if("absolute"==this.position?(h.style.top=(S-e.parent.top)/o+"px",h.style.left=($-e.parent.left)/n+"px"):(h.style.top=S/o+"px",h.style.left=$/n+"px"),u){let e=c.left+(m?g.x:-g.x)-($+14-7);u.style.left=e/n+"px"}!0!==l.overlap&&s.push({left:$,top:S,right:y,bottom:S+Q}),h.classList.toggle("cm-tooltip-above",b),h.classList.toggle("cm-tooltip-below",!b),l.positioned&&l.positioned(e.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 e of this.manager.tooltipViews)e.dom.style.top=sm}},{eventObservers:{scroll(){this.maybeMeasure()}}}),sx=oU.baseTheme({".cm-tooltip":{zIndex:100,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"}}}),sv={x:0,y:0},sP=L.define({enables:[sy,sx]}),sw=L.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])});class sT{static create(e){return new sT(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new s$(e,sw,(e,t)=>this.createHostedView(e,t),e=>e.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)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(void 0!==r){if(void 0===t)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")}}let sk=sP.compute([sw],e=>{let t=e.facet(sw);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos})),create:sT.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class sY{constructor(e,t,i,r,n){this.view=e,this.source=t,this.field=i,this.setHover=r,this.hoverTime=n,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(){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;ei.bottom||t.xi.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find(e=>e.from<=r&&e.to>=r),s=o&&o.dir==rG.RTL?-1:1;n=t.x{this.pending==t&&(this.pending=null,!i||Array.isArray(i)&&!i.length||e.dispatch({effects:this.setHover.of(Array.isArray(i)?i:[i])}))},t=>ns(e.state,t,"hover tooltip"))}else!o||Array.isArray(o)&&!o.length||e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(sy),t=e?e.manager.tooltips.findIndex(e=>e.create==sT.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;let r;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:n,tooltip:o}=this;if(n.length&&o&&(r=o.dom.getBoundingClientRect(),!(e.clientX>=r.left-4)||!(e.clientX<=r.right+4)||!(e.clientY>=r.top-4)||!(e.clientY<=r.bottom+4))||this.pending){let{pos:r}=n[0]||this.pending,o=null!==(i=null===(t=n[0])||void 0===t?void 0:t.end)&&void 0!==i?i:r;(r==o?this.view.posAtCoords(this.lastMove)==r:function(e,t,i,r,n,o){let s=e.scrollDOM.getBoundingClientRect(),a=e.documentTop+e.documentPadding.top+e.contentHeight;if(s.left>r||s.rightn||Math.min(s.bottom,a)=t&&O<=i}(this.view,r,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){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function sR(e,t){let i=e.plugin(sy);if(!i)return null;let r=i.manager.tooltips.indexOf(t);return r<0?null:i.manager.tooltipViews[r]}let s_=eX.define(),sV=L.define({combine(e){let t,i;for(let r of e)t=t||r.topContainer,i=i||r.bottomContainer;return{topContainer:t,bottomContainer:i}}});function sZ(e,t){let i=e.plugin(sq),r=i?i.specs.indexOf(t):-1;return r>-1?i.panels[r]:null}let sq=nh.fromClass(class{constructor(e){this.input=e.state.facet(sC),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(sV);for(let i of(this.top=new sA(e,!0,t.topContainer),this.bottom=new sA(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top)),this.panels))i.dom.classList.add("cm-panel"),i.mount&&i.mount()}update(e){let t=e.state.facet(sV);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new sA(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new sA(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=e.state.facet(sC);if(i!=this.input){let t=i.filter(e=>e),r=[],n=[],o=[],s=[];for(let i of t){let t,a=this.specs.indexOf(i);a<0?(t=i(e.view),s.push(t)):(t=this.panels[a]).update&&t.update(e),r.push(t),(t.top?n:o).push(t)}for(let e of(this.specs=t,this.panels=r,this.top.sync(n),this.bottom.sync(o),s))e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>oU.scrollMargins.of(t=>{let i=t.plugin(e);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class sA{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&&0>e.indexOf(t)&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=sW(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=sW(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 sW(e){let t=e.nextSibling;return e.remove(),t}let sC=L.define({enables:sq});class sU extends eR{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}sU.prototype.elementClass="",sU.prototype.toDOM=void 0,sU.prototype.mapMode=A.TrackBefore,sU.prototype.startSide=sU.prototype.endSide=-1,sU.prototype.point=!0;let sN=L.define(),sj=L.define(),sE=L.define({combine:e=>e.some(e=>e)}),sz=nh.fromClass(class{constructor(e){for(let t of(this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(sj).map(t=>new sB(e,t)),this.gutters))this.dom.appendChild(t.dom);this.fixed=!e.state.facet(sE),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,i=e.view.viewport,r=Math.min(t.to,i.to)-Math.max(t.from,i.from);this.syncGutters(r<.8*(i.to-i.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(sE)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let i=eq.iter(this.view.state.facet(sN),this.view.viewport.from),r=[],n=this.gutters.map(e=>new sM(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(e.type)){let t=!0;for(let o of e.type)if(o.type==rZ.Text&&t){for(let e of(sD(i,r,o.from),n))e.line(this.view,o,r);t=!1}else if(o.widget)for(let e of n)e.widget(this.view,o)}else if(e.type==rZ.Text)for(let t of(sD(i,r,e.from),n))t.line(this.view,e,r);else if(e.widget)for(let t of n)t.widget(this.view,e);for(let e of n)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(sj),i=e.state.facet(sj),r=e.docChanged||e.heightChanged||e.viewportChanged||!eq.eq(e.startState.facet(sN),e.state.facet(sN),e.view.viewport.from,e.view.viewport.to);if(t==i)for(let t of this.gutters)t.update(e)&&(r=!0);else{r=!0;let n=[];for(let r of i){let i=t.indexOf(r);i<0?n.push(new sB(this.view,r)):(this.gutters[i].update(e),n.push(this.gutters[i]))}for(let e of this.gutters)e.dom.remove(),0>n.indexOf(e)&&e.destroy();for(let e of n)this.dom.appendChild(e.dom);this.gutters=n}return r}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>oU.scrollMargins.of(t=>{let i=t.plugin(e);return i&&0!=i.gutters.length&&i.fixed?t.textDirection==rG.LTR?{left:i.dom.offsetWidth*t.scaleX}:{right:i.dom.offsetWidth*t.scaleX}:null})});function sG(e){return Array.isArray(e)?e:[e]}function sD(e,t,i){for(;e.value&&e.from<=i;)e.from==i&&t.push(e.value),e.next()}class sM{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=eq.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,n=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==r.elements.length){let t=new sI(e,o,n,i);r.elements.push(t),r.dom.appendChild(t.dom)}else r.elements[this.i].update(e,o,n,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];sD(this.cursor,r,t.from),i.length&&(r=r.concat(i));let n=this.gutter.config.lineMarker(e,t,r);n&&r.unshift(n);let o=this.gutter;(0!=r.length||o.config.renderEmptyElements)&&this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t);i&&this.addElement(e,t,[i])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class sB{constructor(e,t){for(let i in 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:""),t.domEventHandlers)this.dom.addEventListener(i,r=>{let n,o=r.target;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let e=o.getBoundingClientRect();n=(e.top+e.bottom)/2}else n=r.clientY;let s=e.lineBlockAtHeight(n-e.documentTop);t.domEventHandlers[i](e,s,r)&&r.preventDefault()});this.markers=sG(t.markers(e)),t.initialSpacer&&(this.spacer=new sI(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=sG(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let i=e.view.viewport;return!eq.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class sI{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":""),function(e,t){if(e.length!=t.length)return!1;for(let i=0;ieY(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let e in t){let r=i[e],n=t[e];i[e]=r?(e,t,i)=>r(e,t,i)||n(e,t,i):n}return i}})});class sF extends sU{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function sH(e,t){return e.state.facet(sK).formatNumber(t,e.state)}let sJ=sj.compute([sK],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(sL),lineMarker:(e,t,i)=>i.some(e=>e.toDOM)?null:new sF(sH(e,e.state.doc.lineAt(t.from).number)),widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(sK)!=e.state.facet(sK),initialSpacer:e=>new sF(sH(e,s0(e.state.doc.lines))),updateSpacer(e,t){let i=sH(t.view,s0(t.view.state.doc.lines));return i==e.number?e:new sF(i)},domEventHandlers:e.facet(sK).domEventHandlers}));function s1(e={}){return[sK.of(e),[sz],sJ]}function s0(e){let t=9;for(;tt.modified.indexOf(e)>-1?t:s3.get(t.base||t,t.modified.concat(e).sort((e,t)=>e.id-t.id))}}let s4=0;class s3{constructor(){this.instances=[],this.id=s4++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(i=>{var r;return i.base==e&&(r=i.modified,t.length==r.length&&t.every((e,t)=>e==r[t]))});if(i)return i;let r=[],n=new s2(r,e,t);for(let e of t)e.instances.push(n);let o=function(e){let t=[[]];for(let i=0;it.length-e.length)}(t);for(let t of e.set)if(!t.modified.length)for(let e of o)r.push(s3.get(t,e));return n}}function s9(e){let t=Object.create(null);for(let i in e){let r=e[i];for(let e of(Array.isArray(r)||(r=[r]),i.split(" ")))if(e){let i=[],n=2,o=e;for(let t=0;;){if("..."==o&&t>0&&t+3==e.length){n=1;break}let r=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!r)throw RangeError("Invalid path: "+e);if(i.push("*"==r[0]?"":'"'==r[0][0]?JSON.parse(r[0]):r[0]),(t+=r[0].length)==e.length)break;let s=e[t++];if(t==e.length&&"!"==s){n=0;break}if("/"!=s)throw RangeError("Invalid path: "+e);o=e.slice(t)}let s=i.length-1,a=i[s];if(!a)throw RangeError("Invalid path: "+e);let O=new s7(r,n,s>0?i.slice(0,s):null);t[a]=O.sort(t[a])}}return s8.add(t)}let s8=new eF;class s7{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=n;for(let r of e)for(let e of r.set){let r=i[e.id];if(r){t=t?t+" "+r:r;break}}return t},scope:r}}s7.empty=new s7([],2,null);class ae{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,n){let{type:o,from:s,to:a}=e;if(s>=i||a<=t)return;o.isTop&&(n=this.highlighters.filter(e=>!e.scope||e.scope(o)));let O=r,l=function(e){let t=e.type.prop(s8);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||s7.empty,h=function(e,t){let i=null;for(let r of e){let e=r.style(t);e&&(i=i?i+" "+e:e)}return i}(n,l.tags);if(h&&(O&&(O+=" "),O+=h,1==l.mode&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(t,s),O),l.opaque)return;let c=e.tree&&e.tree.prop(eF.mounted);if(c&&c.overlay){let o=e.node.enter(c.overlay[0].from+s,1),l=this.highlighters.filter(e=>!e.scope||e.scope(c.tree.type)),h=e.firstChild();for(let f=0,u=s;;f++){let d=f=p)&&e.nextSibling()););if(!d||p>i)break;(u=d.to+s)>t&&(this.highlightRange(o.cursor(),Math.max(t,d.from+s),Math.min(i,u),"",l),this.startSpan(Math.min(i,u),O))}h&&e.parent()}else if(e.firstChild()){c&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,n),this.startSpan(Math.min(i,e.to),O)}while(e.nextSibling())e.parent()}}}let at=s2.define,ai=at(),ar=at(),an=at(ar),ao=at(ar),as=at(),aa=at(as),aO=at(as),al=at(),ah=at(al),ac=at(),af=at(),au=at(),ad=at(au),ap=at(),aQ={comment:ai,lineComment:at(ai),blockComment:at(ai),docComment:at(ai),name:ar,variableName:at(ar),typeName:an,tagName:at(an),propertyName:ao,attributeName:at(ao),className:at(ar),labelName:at(ar),namespace:at(ar),macroName:at(ar),literal:as,string:aa,docString:at(aa),character:at(aa),attributeValue:at(aa),number:aO,integer:at(aO),float:at(aO),bool:at(as),regexp:at(as),escape:at(as),color:at(as),url:at(as),keyword:ac,self:at(ac),null:at(ac),atom:at(ac),unit:at(ac),modifier:at(ac),operatorKeyword:at(ac),controlKeyword:at(ac),definitionKeyword:at(ac),moduleKeyword:at(ac),operator:af,derefOperator:at(af),arithmeticOperator:at(af),logicOperator:at(af),bitwiseOperator:at(af),compareOperator:at(af),updateOperator:at(af),definitionOperator:at(af),typeOperator:at(af),controlOperator:at(af),punctuation:au,separator:at(au),bracket:ad,angleBracket:at(ad),squareBracket:at(ad),paren:at(ad),brace:at(ad),content:al,heading:ah,heading1:at(ah),heading2:at(ah),heading3:at(ah),heading4:at(ah),heading5:at(ah),heading6:at(ah),contentSeparator:at(al),list:at(al),quote:at(al),emphasis:at(al),strong:at(al),link:at(al),monospace:at(al),strikethrough:at(al),inserted:at(),deleted:at(),changed:at(),invalid:at(),meta:ap,documentMeta:at(ap),annotation:at(ap),processingInstruction:at(ap),definition:s2.defineModifier(),constant:s2.defineModifier(),function:s2.defineModifier(),standard:s2.defineModifier(),local:s2.defineModifier(),special:s2.defineModifier()};s6([{tag:aQ.link,class:"tok-link"},{tag:aQ.heading,class:"tok-heading"},{tag:aQ.emphasis,class:"tok-emphasis"},{tag:aQ.strong,class:"tok-strong"},{tag:aQ.keyword,class:"tok-keyword"},{tag:aQ.atom,class:"tok-atom"},{tag:aQ.bool,class:"tok-bool"},{tag:aQ.url,class:"tok-url"},{tag:aQ.labelName,class:"tok-labelName"},{tag:aQ.inserted,class:"tok-inserted"},{tag:aQ.deleted,class:"tok-deleted"},{tag:aQ.literal,class:"tok-literal"},{tag:aQ.string,class:"tok-string"},{tag:aQ.number,class:"tok-number"},{tag:[aQ.regexp,aQ.escape,aQ.special(aQ.string)],class:"tok-string2"},{tag:aQ.variableName,class:"tok-variableName"},{tag:aQ.local(aQ.variableName),class:"tok-variableName tok-local"},{tag:aQ.definition(aQ.variableName),class:"tok-variableName tok-definition"},{tag:aQ.special(aQ.variableName),class:"tok-variableName2"},{tag:aQ.definition(aQ.propertyName),class:"tok-propertyName tok-definition"},{tag:aQ.typeName,class:"tok-typeName"},{tag:aQ.namespace,class:"tok-namespace"},{tag:aQ.className,class:"tok-className"},{tag:aQ.macroName,class:"tok-macroName"},{tag:aQ.propertyName,class:"tok-propertyName"},{tag:aQ.operator,class:"tok-operator"},{tag:aQ.comment,class:"tok-comment"},{tag:aQ.meta,class:"tok-meta"},{tag:aQ.invalid,class:"tok-invalid"},{tag:aQ.punctuation,class:"tok-punctuation"}]);let ag=new eF;function am(e){return L.define({combine:e?t=>t.concat(e):void 0})}let a$=new eF;class ab{constructor(e,t,i=[],r=""){this.data=e,this.name=r,ek.prototype.hasOwnProperty("tree")||Object.defineProperty(ek.prototype,"tree",{get(){return ay(this)}}),this.parser=t,this.extension=[a_.of(this),ek.languageData.of((e,t,i)=>{let r=aX(e,t,i),n=r.type.prop(ag);if(!n)return[];let o=e.facet(n),s=r.type.prop(a$);if(s){let n=r.resolve(t-r.from,i);for(let t of s)if(t.test(n,e)){let i=e.facet(t.facet);return"replace"==t.type?i:i.concat(o)}}return o})].concat(i)}isActiveAt(e,t,i=-1){return aX(e,t,i).type.prop(ag)==this.data}findRegions(e){let t=e.facet(a_);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(e,t)=>{if(e.prop(ag)==this.data)return void i.push({from:t,to:t+e.length});let n=e.prop(eF.mounted);if(n){if(n.tree.prop(ag)==this.data){if(n.overlay)for(let e of n.overlay)i.push({from:e.from+t,to:e.to+t});else i.push({from:t,to:t+e.length});return}if(n.overlay){let e=i.length;if(r(n.tree,n.overlay[0].from+t),i.length>e)return}}for(let i=0;ie.isTop?t:void 0)]}),e.name)}configure(e,t){return new aS(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function ay(e){let t=e.field(ab.state,!1);return t?t.tree:e4.empty}class ax{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=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let av=null;class aP{constructor(e,t,i=[],r,n,o,s,a){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=n,this.viewport=o,this.skipped=s,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new aP(e,t,[],e4.empty,0,i,[],null)}startParse(){return this.parser.startParse(new ax(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=e4.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||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(tu.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=av;av=this;try{return e()}finally{av=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=aw(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:n,viewport:o,skipped:s}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,i,r,n)=>t.push({fromA:e,toA:i,fromB:r,toB:n})),i=tu.applyChanges(i,t),r=e4.empty,n=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length)for(let t of(s=[],this.skipped)){let i=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);ie.from&&(this.fragments=aw(this.fragments,i,r),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(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 td{createParse(t,i,r){let n=r[0].from,o=r[r.length-1].to;return{parsedPos:n,advance(){let t=av;if(t){for(let e of r)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=o,new e4(e1.none,[],[],o-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return av}}function aw(e,t,i){return tu.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}class aT{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 aT(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=aP.create(e.facet(a_).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new aT(i)}}ab.state=et.define({create:aT.init,update(e,t){for(let e of t.effects)if(e.is(ab.setState))return e.value;return t.startState.facet(a_)!=t.state.facet(a_)?aT.init(t.state):e.apply(t)}});let ak=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(ak=e=>{let t=-1,i=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(i):cancelIdleCallback(t)});let aY="undefined"!=typeof navigator&&(null===(d=navigator.scheduling)||void 0===d?void 0:d.isInputPending)?()=>navigator.scheduling.isInputPending():null,aR=nh.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(ab.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(ab.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=ak(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,a=n.context.work(()=>aY&&aY()||Date.now()>o,r+(s?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:ab.setState.of(new aT(n.context))})),this.chunkBudget>0&&(!a||s)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>ns(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),a_=L.define({combine:e=>e.length?e[0]:null,enables:e=>[ab.state,aR,oU.contentAttributes.compute([e],t=>{let i=t.facet(e);return i&&i.name?{"data-language":i.name}:{}})]});class aV{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class aZ{constructor(e,t,i,r,n,o){this.name=e,this.alias=t,this.extensions=i,this.filename=r,this.loadFunc=n,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new aZ(e.name,(e.alias||[]).concat(e.name).map(e=>e.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let i of e)if(i.filename&&i.filename.test(t))return i;let i=/\.([^.]+)$/.exec(t);if(i){for(let t of e)if(t.extensions.indexOf(i[1])>-1)return t}return null}static matchLanguageName(e,t,i=!0){for(let i of(t=t.toLowerCase(),e))if(i.alias.some(e=>e==t))return i;if(i)for(let i of e)for(let e of i.alias){let r=t.indexOf(e);if(r>-1&&(e.length>2||!/\w/.test(t[r-1])&&!/\w/.test(t[r+e.length])))return i}return null}}let aq=L.define(),aA=L.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function aW(e){let t=e.facet(aA);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function aC(e,t){let i="",r=e.tabSize,n=e.facet(aA)[0];if(" "==n){for(;t>=r;)i+=" ",t-=r;n=" "}for(let e=0;e=t?function(e,t,i){let r=t.resolveStack(i),n=r.node.enterUnfinishedNodesBefore(i);if(n!=r.node){let e=[];for(let t=n;t!=r.node;t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)r={node:e[t],next:r}}return aE(r,e,i)}(e,i,t):null}class aN{constructor(e,t={}){this.state=e,this.options=t,this.unit=aW(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return null!=r&&r>=i.from&&r<=i.to?n&&r==e?{text:"",from:e}:(t<0?r-1&&(n+=o-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return eB(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let e=n(r);if(e>-1)return e}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}let aj=new eF;function aE(e,t,i){for(let r=e;r;r=r.next){let e=function(e){let t=e.type.prop(aj);if(t)return t;let i,r=e.firstChild;if(r&&(i=r.type.prop(eF.closedBy))){let t=e.lastChild,r=t&&i.indexOf(t.name)>-1;return e=>aM(e,!0,1,void 0,r&&!(e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak)?t.from:void 0)}return null==e.parent?az:null}(r.node);if(e)return e(aG.create(t,i,r))}return 0}function az(){return 0}class aG extends aN{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 aG(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(function(e,t){for(let i=t;i;i=i.parent)if(e==i)return!0;return!1}(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return aE(this.context.next,this.base,this.pos)}}function aD({closing:e,align:t=!0,units:i=1}){return r=>aM(r,t,i,e)}function aM(e,t,i,r,n){let o=e.textAfter,s=o.match(/^\s*/)[0].length,a=r&&o.slice(s,s+r.length)==r||n==e.pos+s,O=t?function(e){let t=e.node,i=t.childAfter(t.from),r=t.lastChild;if(!i)return null;let n=e.options.simulateBreak,o=e.state.doc.lineAt(i.from),s=null==n||n<=o.from?o.to:Math.min(o.to,n);for(let e=i.to;;){let n=t.childAfter(e);if(!n||n==r)return null;if(!n.type.isSkipped)return n.from{let r=e&&e.test(i.textAfter);return i.baseIndent+(r?0:t*i.unit)}}function aI(){return ek.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let i=e.newDoc,{head:r}=e.newSelection.main,n=i.lineAt(r);if(r>n.from+200)return e;let o=i.sliceString(n.from,r);if(!t.some(e=>e.test(o)))return e;let{state:s}=e,a=-1,O=[];for(let{head:e}of s.selection.ranges){let t=s.doc.lineAt(e);if(t.from==a)continue;a=t.from;let i=aU(s,t.from);if(null==i)continue;let r=/^\s*/.exec(t.text)[0],n=aC(s,i);r!=n&&O.push({from:t.from,to:t.from+r.length,insert:n})}return O.length?[e,{changes:O,sequential:!0}]:e})}let aL=L.define(),aK=new eF;function aF(e){let t=e.firstChild,i=e.lastChild;return t&&t.toi)continue;if(n&&s.from=t&&r.to>i&&(n=r)}}return n}(e,t,i)}function aJ(e,t){let i=t.mapPos(e.from,1),r=t.mapPos(e.to,-1);return i>=r?void 0:{from:i,to:r}}let a1=eX.define({map:aJ}),a0=eX.define({map:aJ});function a5(e){let t=[];for(let{head:i}of e.state.selection.ranges)t.some(e=>e.from<=i&&e.to>=i)||t.push(e.lineBlockAt(i));return t}let a2=et.define({create:()=>rq.none,update(e,t){for(let i of(e=e.map(t.changes),t.effects))if(i.is(a1)&&!function(e,t,i){let r=!1;return e.between(t,t,(e,n)=>{e==t&&n==i&&(r=!0)}),r}(e,i.value.from,i.value.to)){let{preparePlaceholder:r}=t.state.facet(a6),n=r?rq.replace({widget:new Oi(r(t.state,i.value))}):Ot;e=e.update({add:[n.range(i.value.from,i.value.to)]})}else i.is(a0)&&(e=e.update({filter:(e,t)=>i.value.from!=e||i.value.to!=t,filterFrom:i.value.from,filterTo:i.value.to}));if(t.selection){let i=!1,{head:r}=t.selection.main;e.between(r,r,(e,t)=>{er&&(i=!0)}),i&&(e=e.update({filterFrom:r,filterTo:r,filter:(e,t)=>t<=r||e>=r}))}return e},provide:e=>oU.decorations.from(e),toJSON(e,t){let i=[];return e.between(0,t.doc.length,(e,t)=>{i.push(e,t)}),i},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw RangeError("Invalid JSON for fold state");let t=[];for(let i=0;i{(!n||n.from>e)&&(n={from:e,to:t})}),n}function a3(e,t){let i;return e.field(a2,!1)?t:t.concat(eX.appendConfig.of(i=[a2,Or]))}function a9(e,t,i=!0){let r=e.state.doc.lineAt(t.from).number,n=e.state.doc.lineAt(t.to).number;return oU.announce.of(`${e.state.phrase(i?"Folded lines":"Unfolded lines")} ${r} ${e.state.phrase("to")} ${n}.`)}let a8=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of a5(e)){let i=aH(e.state,t.from,t.to);if(i)return e.dispatch({effects:a3(e.state,[a1.of(i),a9(e,i)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(a2,!1))return!1;let t=[];for(let i of a5(e)){let r=a4(e.state,i.from,i.to);r&&t.push(a0.of(r),a9(e,r,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,i=[];for(let r=0;r{let t=e.state.field(a2,!1);if(!t||!t.size)return!1;let i=[];return t.between(0,e.state.doc.length,(e,t)=>{i.push(a0.of({from:e,to:t}))}),e.dispatch({effects:i}),!0}}],a7={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},a6=L.define({combine:e=>eY(e,a7)});function Oe(e,t){let{state:i}=e,r=i.facet(a6),n=t=>{let i=e.lineBlockAt(e.posAtDOM(t.target)),r=a4(e.state,i.from,i.to);r&&e.dispatch({effects:a0.of(r)}),t.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(e,n,t);let o=document.createElement("span");return o.textContent=r.placeholderText,o.setAttribute("aria-label",i.phrase("folded code")),o.title=i.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=n,o}let Ot=rq.replace({widget:new class extends rV{toDOM(e){return Oe(e,null)}}});class Oi extends rV{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Oe(e,this.value)}}let Or=oU.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 On{constructor(e,t){let i;function r(e){let t=iA.newName();return(i||(i=Object.create(null)))["."+t]=e,t}this.specs=e;let n="string"==typeof t.all?t.all:t.all?r(t.all):void 0,o=t.scope;this.scope=o instanceof ab?e=>e.prop(ag)==o.data:o?e=>e==o:void 0,this.style=s6(e.map(e=>({tag:e.tag,class:e.class||r(Object.assign({},e,{tag:null}))})),{all:n}).style,this.module=i?new iA(i):null,this.themeType=t.themeType}static define(e,t){return new On(e,t||{})}}let Oo=L.define(),Os=L.define({combine:e=>e.length?[e[0]]:null});function Oa(e){let t=e.facet(Oo);return t.length?t:e.facet(Os)}function OO(e,t){let i,r=[Ol];return e instanceof On&&(e.module&&r.push(oU.styleModule.of(e.module)),i=e.themeType),(null==t?void 0:t.fallback)?r.push(Os.of(e)):i?r.push(Oo.computeN([oU.darkTheme],t=>t.facet(oU.darkTheme)==("dark"==i)?[e]:[])):r.push(Oo.of(e)),r}let Ol=en.high(nh.fromClass(class{constructor(e){this.markCache=Object.create(null),this.tree=ay(e.state),this.decorations=this.buildDeco(e,Oa(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=ay(e.state),i=Oa(e.state),r=i!=Oa(e.startState),{viewport:n}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return rq.none;let i=new eA;for(let{from:r,to:n}of e.visibleRanges)!function(e,t,i,r=0,n=e.length){let o=new ae(r,Array.isArray(t)?t:[t],i);o.highlightRange(e.cursor(),r,n,"",o.highlighters),o.flush(n)}(this.tree,t,(e,t,r)=>{i.add(e,t,this.markCache[r]||(this.markCache[r]=rq.mark({class:r})))},r,n);return i.finish()}},{decorations:e=>e.decorations})),Oh=On.define([{tag:aQ.meta,color:"#404740"},{tag:aQ.link,textDecoration:"underline"},{tag:aQ.heading,textDecoration:"underline",fontWeight:"bold"},{tag:aQ.emphasis,fontStyle:"italic"},{tag:aQ.strong,fontWeight:"bold"},{tag:aQ.strikethrough,textDecoration:"line-through"},{tag:aQ.keyword,color:"#708"},{tag:[aQ.atom,aQ.bool,aQ.url,aQ.contentSeparator,aQ.labelName],color:"#219"},{tag:[aQ.literal,aQ.inserted],color:"#164"},{tag:[aQ.string,aQ.deleted],color:"#a11"},{tag:[aQ.regexp,aQ.escape,aQ.special(aQ.string)],color:"#e40"},{tag:aQ.definition(aQ.variableName),color:"#00f"},{tag:aQ.local(aQ.variableName),color:"#30a"},{tag:[aQ.typeName,aQ.namespace],color:"#085"},{tag:aQ.className,color:"#167"},{tag:[aQ.special(aQ.variableName),aQ.macroName],color:"#256"},{tag:aQ.definition(aQ.propertyName),color:"#00c"},{tag:aQ.comment,color:"#940"},{tag:aQ.invalid,color:"#f00"}]),Oc=(oU.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),"()[]{}"),Of=L.define({combine:e=>eY(e,{afterCursor:!0,brackets:Oc,maxScanDistance:1e4,renderMatch:Op})}),Ou=rq.mark({class:"cm-matchingBracket"}),Od=rq.mark({class:"cm-nonmatchingBracket"});function Op(e){let t=[],i=e.matched?Ou:Od;return t.push(i.range(e.start.from,e.start.to)),e.end&&t.push(i.range(e.end.from,e.end.to)),t}et.define({create:()=>rq.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let i=[],r=t.state.facet(Of);for(let e of t.state.selection.ranges){if(!e.empty)continue;let n=O$(t.state,e.head,-1,r)||e.head>0&&O$(t.state,e.head-1,1,r)||r.afterCursor&&(O$(t.state,e.head,1,r)||e.headoU.decorations.from(e)});let OQ=new eF;function Og(e,t,i){let r=e.prop(t<0?eF.openedBy:eF.closedBy);if(r)return r;if(1==e.name.length){let r=i.indexOf(e.name);if(r>-1&&r%2==(t<0?1:0))return[i[r+t]]}return null}function Om(e){let t=e.type.prop(OQ);return t?t(e.node):e}function O$(e,t,i,r={}){let n=r.maxScanDistance||1e4,o=r.brackets||Oc,s=ay(e),a=s.resolveInner(t,i);for(let e=a;e;e=e.parent){let r=Og(e.type,i,o);if(r&&e.from0?t>=n.from&&tn.from&&t<=n.to))return function(e,t,i,r,n,o,s){let a=r.parent,O={from:n.from,to:n.to},l=0,h=null==a?void 0:a.cursor();if(h&&(i<0?h.childBefore(r.from):h.childAfter(r.to)))do if(i<0?h.to<=r.from:h.from>=r.to){if(0==l&&o.indexOf(h.type.name)>-1&&h.from0)return null;let l={from:i<0?t-1:t,to:i>0?t+1:t},h=e.doc.iterRange(t,i>0?e.doc.length:0),c=0;for(let e=0;!h.next().done&&e<=o;){let o=h.value;i<0&&(e+=o.length);let a=t+e*i;for(let e=i>0?0:o.length-1,t=i>0?o.length:-1;e!=t;e+=i){let t=s.indexOf(o[e]);if(!(t<0||r.resolveInner(a+e,1).type!=n)){if(t%2==0==i>0)c++;else{if(1==c)return{start:l,end:{from:a+e,to:a+e+1},matched:t>>1==O>>1};c--}}}i>0&&(e+=o.length)}return h.done?{start:l,matched:!1}:null}(e,t,i,s,a.type,n,o)}let Ob=Object.create(null),OX=[e1.none],OS=[],Oy=Object.create(null),Ox=Object.create(null);for(let[e,t]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"]])Ox[e]=function(e,t){let i=[];for(let r of t.split(" ")){let t=[];for(let i of r.split(".")){let r=e[i]||aQ[i];r?"function"==typeof r?t.length?t=t.map(r):Ov(i,`Modifier ${i} used at start of tag`):t.length?Ov(i,`Tag ${i} used as modifier`):t=Array.isArray(r)?r:[r]:Ov(i,`Unknown highlighting tag ${i}`)}for(let e of t)i.push(e)}if(!i.length)return 0;let r=t.replace(/ /g,"_"),n=r+" "+i.map(e=>e.id),o=Oy[n];if(o)return o.id;let s=Oy[n]=e1.define({id:OX.length,name:r,props:[s9({[r]:i})]});return OX.push(s),s.id}(Ob,t);function Ov(e,t){OS.indexOf(e)>-1||(OS.push(e),console.warn(t))}rG.RTL,rG.LTR;class OP{constructor(e,t,i){this.state=e,this.pos=t,this.explicit=i,this.abortListeners=[]}tokenBefore(e){let t=ay(this.state).resolveInner(this.pos,-1);for(;t&&0>e.indexOf(t.name);)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),n=r.search(O_(e,!1));return n<0?null:{from:i+n,to:this.pos,text:r.slice(n)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function Ow(e){let t=Object.keys(e).join(""),i=/\w/.test(t);return i&&(t=t.replace(/\w/g,"")),`[${i?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function OT(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[i,r]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),i=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let e=1;e{let n=e.matchBefore(r);return n||e.explicit?{from:n?n.from:e.pos,options:t,validFor:i}:null}}function Ok(e,t){return i=>{for(let t=ay(i.state).resolveInner(i.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(i)}}class OY{constructor(e,t,i,r){this.completion=e,this.source=t,this.match=i,this.score=r}}function OR(e){return e.selection.main.from}function O_(e,t){var i;let{source:r}=e,n=t&&"^"!=r[0],o="$"!=r[r.length-1];return n||o?RegExp(`${n?"^":""}(?:${r})${o?"$":""}`,null!==(i=e.flags)&&void 0!==i?i:e.ignoreCase?"i":""):e}let OV=em.define();function OZ(e,t,i,r){let{main:n}=e.selection,o=i-n.from,s=r-n.from;return Object.assign(Object.assign({},e.changeByRange(a=>a!=n&&i!=r&&e.sliceDoc(a.from+o,a.from+s)!=e.sliceDoc(i,r)?{range:a}:{changes:{from:a.from+o,to:r==n.from?a.to:a.from+s,insert:t},range:M.cursor(a.from+o+t.length)})),{scrollIntoView:!0,userEvent:"input.complete"})}let Oq=new WeakMap;function OA(e){if(!Array.isArray(e))return e;let t=Oq.get(e);return t||Oq.set(e,t=OT(e)),t}let OW=eX.define(),OC=eX.define();class OU{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=48&&O<=57||O>=97&&O<=122?2:O>=65&&O<=90?1:0:(m=V(O))!=m.toLowerCase()?1:m!=m.toUpperCase()?2:0;(!r||1==$&&p||0==g&&0!=$)&&(t[h]==O||i[h]==O&&(c=!0)?o[h++]=r:o.length&&(Q=!1)),g=$,r+=Z(O)}return h==a&&0==o[0]&&Q?this.result((c?-200:0)-100,o,e):f==a&&0==u?this.ret(-200-e.length+(d==e.length?0:-100),[0,d]):s>-1?this.ret(-700-e.length,[s,s+this.pattern.length]):f==a?this.ret(-900-e.length,[u,d]):h==a?this.result((c?-200:0)-100-700+(Q?0:-1100),o,e):2==t.length?null:this.result((r[0]?-700:0)-200-1100,r,e)}result(e,t,i){let r=[],n=0;for(let e of t){let t=e+(this.astral?Z(_(i,e)):1);n&&r[n-1]==e?r[n-1]=t:(r[n++]=e,r[n++]=t)}return this.ret(e-i.length,r)}}class ON{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.lengtheY(e,{activateOnTyping:!0,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:Oz,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(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=>OE(e(i),t(i)),optionClass:(e,t)=>i=>OE(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function OE(e,t){return e?t?e+" "+t:e:t}function Oz(e,t,i,r,n,o){let s,a,O=e.textDirection==rG.RTL,l=O,h=!1,c="top",f=t.left-n.left,u=n.right-t.right,d=r.right-r.left,p=r.bottom-r.top;if(l&&f=p||e>t.top?s=i.bottom-t.top:(c="bottom",s=t.bottom-i.top)}return{style:`${c}: ${s/((t.bottom-t.top)/o.offsetHeight)}px; max-width: ${a/((t.right-t.left)/o.offsetWidth)}px`,class:"cm-completionInfo-"+(h?O?"left-narrow":"right-narrow":l?"left":"right")}}function OG(e,t,i){if(e<=i)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/i);return{from:e*i,to:(e+1)*i}}let r=Math.floor((e-t)/i);return{from:e-(r+1)*i,to:e-r*i}}class OD{constructor(e,t,i){let r;this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:o,selected:s}=n.open,a=e.state.facet(Oj);this.optionContent=(r=a.addToOptions.slice(),a.icons&&r.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),r.push({render(e,t,i,r){let n=document.createElement("span");n.className="cm-completionLabel";let o=e.displayLabel||e.label,s=0;for(let e=0;es&&n.appendChild(document.createTextNode(o.slice(s,t)));let a=n.appendChild(document.createElement("span"));a.appendChild(document.createTextNode(o.slice(t,i))),a.className="cm-completionMatchedText",s=i}return se.position-t.position).map(e=>e.render)),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=OG(o.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",i=>{let{options:r}=e.state.field(t).open;for(let t,n=i.target;n&&n!=this.dom;n=n.parentNode)if("LI"==n.nodeName&&(t=/-(\d+)$/.exec(n.id))&&+t[1]{let i=e.state.field(this.stateField,!1);i&&i.tooltip&&e.state.facet(Oj).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:OC.of(null)})}),this.showOptions(o,n.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:n,selected:o,disabled:s}=i.open;r.open&&r.open.options==n||(this.range=OG(n.length,o,e.state.facet(Oj).maxRenderedOptions),this.showOptions(n,i.id)),this.updateSel(),s!=(null===(t=r.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!s)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);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;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=OG(t.options.length,t.selected,this.view.state.facet(Oj).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:r}=i;if(!r)return;let n="string"==typeof r?document.createTextNode(r):r(i);if(!n)return;"then"in n?n.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,i)}).catch(e=>ns(this.view.state,e,"completion info")):this.addInfoPane(n,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",null!=e.nodeType)i.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:r}=e;i.appendChild(t),this.infoDestroy=r||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){var t,i;let r,n,o,s=null;for(let t=this.list.firstChild,i=this.range.from;t;t=t.nextSibling,i++)"LI"==t.nodeName&&t.id?i==e?t.hasAttribute("aria-selected")||(t.setAttribute("aria-selected","true"),s=t):t.hasAttribute("aria-selected")&&t.removeAttribute("aria-selected"):i--;return s&&(t=this.list,i=s,r=t.getBoundingClientRect(),n=i.getBoundingClientRect(),o=r.height/t.offsetHeight,n.topr.bottom&&(t.scrollTop+=(n.bottom-r.bottom)/o)),s}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(),n=this.space;if(!n){let e=this.dom.ownerDocument.defaultView||window;n={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return r.top>Math.min(n.bottom,t.bottom)-10||r.bottomi.from||0==i.from)&&((n=e,"string"!=typeof O&&O.header)?r.appendChild(O.header(O)):r.appendChild(document.createElement("completion-section")).textContent=e)}let l=r.appendChild(document.createElement("li"));l.id=t+"-"+o,l.setAttribute("role","option");let h=this.optionClass(s);for(let e of(h&&(l.className=h),this.optionContent)){let t=e(s,this.view.state,this.view,a);t&&l.appendChild(t)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.to=this.options.length?this:new OB(this.options,OK(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,n){let o=function(e,t){let i=[],r=null,n=e=>{i.push(e);let{section:t}=e.completion;if(t){r||(r=[]);let e="string"==typeof t?t:t.name;r.some(t=>t.name==e)||r.push("string"==typeof t?{name:e}:t)}},o=t.facet(Oj);for(let r of e)if(r.hasResult()){let e=r.result.getMatch;if(!1===r.result.filter)for(let t of r.result.options)n(new OY(t,r.source,e?e(t):[],1e9-i.length));else{let i,s=t.sliceDoc(r.from,r.to),a=o.filterStrict?new ON(s):new OU(s);for(let t of r.result.options)if(i=a.match(t.label)){let o=t.displayLabel?e?e(t,i.matched):[]:i.matched;n(new OY(t,r.source,o,i.score+(t.boost||0)))}}}if(r){let e=Object.create(null),t=0;for(let i of r.sort((e,t)=>{var i,r;return(null!==(i=e.rank)&&void 0!==i?i:1e9)-(null!==(r=t.rank)&&void 0!==r?r:1e9)||(e.namet.score-e.score||O(e.completion,t.completion))){let t=e.completion;a&&a.label==t.label&&a.detail==t.detail&&(null==a.type||null==t.type||a.type==t.type)&&a.apply==t.apply&&a.boost==t.boost?OM(e.completion)>OM(a)&&(s[s.length-1]=e):s.push(e),a=e.completion}return s}(e,t);if(!o.length)return r&&e.some(e=>1==e.state)?new OB(r.options,r.attrs,r.tooltip,r.timestamp,r.selected,!0):null;let s=t.facet(Oj).selectOnOpen?0:-1;if(r&&r.selected!=s&&-1!=r.selected){let e=r.options[r.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e,1e8),create:O3,above:n.aboveCursor},r?r.timestamp:Date.now(),s,!1)}map(e){return new OB(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class OI{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new OI(OF,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,i=t.facet(Oj),r=(i.override||t.languageDataAt("autocomplete",OR(t)).map(OA)).map(t=>(this.active.find(e=>e.source==t)||new OJ(t,this.active.some(e=>0!=e.state)?1:0)).update(e,i));r.length==this.active.length&&r.every((e,t)=>e==this.active[t])&&(r=this.active);let n=this.open;for(let o of(n&&e.docChanged&&(n=n.map(e.changes)),e.selection||r.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!function(e,t){if(e==t)return!0;for(let i=0,r=0;;){for(;i1==e.state)&&(n=null),!n&&r.every(e=>1!=e.state)&&r.some(e=>e.hasResult())&&(r=r.map(e=>e.hasResult()?new OJ(e.source,0):e)),e.effects))o.is(O5)&&(n=n&&n.setSelected(o.value,this.id));return r==this.active&&n==this.open?this:new OI(r,this.id,n)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:OL}}let OL={"aria-autocomplete":"list"};function OK(e,t){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(i["aria-activedescendant"]=e+"-"+t),i}let OF=[];function OH(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class OJ{constructor(e,t,i=-1){this.source=e,this.state=t,this.explicitPos=i}hasResult(){return!1}update(e,t){let i=OH(e),r=this;for(let n of(i?r=r.handleUserEvent(e,i,t):e.docChanged?r=r.handleChange(e):e.selection&&0!=r.state&&(r=new OJ(r.source,0)),e.effects))if(n.is(OW))r=new OJ(r.source,1,n.value?OR(e.state):-1);else if(n.is(OC))r=new OJ(r.source,0);else if(n.is(O0))for(let e of n.value)e.source==r.source&&(r=e);return r}handleUserEvent(e,t,i){return"delete"!=t&&i.activateOnTyping?new OJ(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(OR(e.startState))?new OJ(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new OJ(this.source,this.state,e.mapPos(this.explicitPos))}}class O1 extends OJ{constructor(e,t,i,r,n){super(e,2,t),this.result=i,this.from=r,this.to=n}hasResult(){return!0}handleUserEvent(e,t,i){var r;let n=this.result;n.map&&!e.changes.empty&&(n=n.map(n,e.changes));let o=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=OR(e.state);if((this.explicitPos<0?a<=o:as||!n||"delete"==t&&OR(e.startState)==this.from)return new OJ(this.source,"input"==t&&i.activateOnTyping?1:0);let O=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return!function(e,t,i,r){if(!e)return!1;let n=t.sliceDoc(i,r);return"function"==typeof e?e(n,i,r,t):O_(e,!0).test(n)}(n.validFor,e.state,o,s)?n.update&&(n=n.update(n,o,s,new OP(e.state,a,O>=0)))?new O1(this.source,O,n,n.from,null!==(r=n.to)&&void 0!==r?r:OR(e.state)):new OJ(this.source,1,O):new O1(this.source,O,n,o,s)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new OJ(this.source,0):this.map(e.changes)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new O1(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new OJ(this.source,0)}}let O0=eX.define({map:(e,t)=>e.map(e=>e.map(t))}),O5=eX.define(),O2=et.define({create:()=>OI.start(),update:(e,t)=>e.update(t),provide:e=>[sP.from(e,e=>e.tooltip),oU.contentAttributes.from(e,e=>e.attrs)]});function O4(e,t){let i=t.completion.apply||t.completion.label,r=e.state.field(O2).active.find(e=>e.source==t.source);return r instanceof O1&&("string"==typeof i?e.dispatch(Object.assign(Object.assign({},OZ(e.state,i,r.from,r.to)),{annotations:OV.of(t.completion)})):i(e,t.completion,r.from,r.to),!0)}let O3=e=>new OD(e,O2,O4);function O9(e,t="option"){return i=>{let r=i.state.field(O2,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp-1?r.open.selected+o*(e?1:-1):e?0:s-1;return a<0?a="page"==t?0:s-1:a>=s&&(a="page"==t?s-1:0),i.dispatch({effects:O5.of(a)}),!0}}let O8=e=>{let t=e.state.field(O2,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp!!e.state.field(O2,!1)&&(e.dispatch({effects:OW.of(!0)}),!0),O6=e=>{let t=e.state.field(O2,!1);return!(!t||!t.active.some(e=>0!=e.state))&&(e.dispatch({effects:OC.of(null)}),!0)};class le{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}let lt=nh.fromClass(class{constructor(e){for(let t of(this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0,e.state.field(O2).active))1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(O2);if(!e.selectionSet&&!e.docChanged&&e.startState.field(O2)==t)return;let i=e.transactions.some(e=>(e.selection||e.docChanged)&&!OH(e));for(let t=0;t50&&Date.now()-r.time>1e3){for(let e of r.context.abortListeners)try{e()}catch(e){ns(this.view.state,e)}r.context.abortListeners=null,this.running.splice(t--,1)}else r.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(OW)))&&(this.pendingStart=!0);let r=this.pendingStart?50:e.state.facet(Oj).activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>1==e.state&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),r):-1,0!=this.composing)for(let t of e.transactions)"input"==OH(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view;for(let t of e.field(O2).active)1!=t.state||this.running.some(e=>e.active.source==t.source)||this.startQuery(t)}startQuery(e){let{state:t}=this.view,i=OR(t),r=new OP(t,i,e.explicitPos==i),n=new le(e,r);this.running.push(n),Promise.resolve(e.source(r)).then(e=>{n.context.aborted||(n.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:OC.of(null)}),ns(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Oj).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],i=this.view.state.facet(Oj);for(let r=0;re.source==n.active.source);if(o&&1==o.state){if(null==n.done){let e=new OJ(n.active.source,0);for(let t of n.updates)e=e.update(t,i);1!=e.state&&t.push(e)}else this.startQuery(o)}}t.length&&this.view.dispatch({effects:O0.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(O2,!1);if(t&&t.tooltip&&this.view.state.facet(Oj).closeOnBlur){let i=t.open&&sR(this.view,t.open.tooltip);i&&i.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:OC.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:OW.of(!1)}),20),this.composing=0}}}),li="object"==typeof navigator&&/Win/.test(navigator.platform),lr=en.highest(oU.domEventHandlers({keydown(e,t){let i=t.state.field(O2,!1);if(!i||!i.open||i.open.disabled||i.open.selected<0||e.key.length>1||e.ctrlKey&&(!li||!e.altKey)||e.metaKey)return!1;let r=i.open.options[i.open.selected],n=i.active.find(e=>e.source==r.source),o=r.completion.commitCharacters||n.result.commitCharacters;return o&&o.indexOf(e.key)>-1&&O4(t,r),!1}})),ln=oU.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"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".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:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class lo{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}}class ls{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,A.TrackDel),i=e.mapPos(this.to,1,A.TrackDel);return null==t||null==i?null:new ls(this.field,t,i)}}class la{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],r=[t],n=e.doc.lineAt(t),o=/^\s*/.exec(n.text)[0];for(let n of this.lines){if(i.length){let i=o,s=/^\t*/.exec(n)[0].length;for(let t=0;tnew ls(e.field,r[e.line]+e.from,r[e.line]+e.to))}}static parse(e){let t,i=[],r=[],n=[];for(let o of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(o);){let e=t[1]?+t[1]:null,s=t[2]||t[3]||"",a=-1;for(let t=0;t=a&&r.field++}n.push(new lo(a,r.length,t.index,t.index+s.length)),o=o.slice(0,t.index)+s+o.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(o);)for(let t of(o=o.slice(0,e.index)+e[1]+o.slice(e.index+e[0].length),n))t.line==r.length&&t.from>e.index&&(t.from--,t.to--);r.push(o)}return new la(r,n)}}let lO=rq.widget({widget:new class extends rV{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),ll=rq.mark({class:"cm-snippetField"});class lh{constructor(e,t){this.ranges=e,this.active=t,this.deco=rq.set(e.map(e=>(e.from==e.to?lO:ll).range(e.from,e.to)))}map(e){let t=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;t.push(r)}return new lh(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}let lc=eX.define({map:(e,t)=>e&&e.map(t)}),lf=eX.define(),lu=et.define({create:()=>null,update(e,t){for(let i of t.effects){if(i.is(lc))return i.value;if(i.is(lf)&&e)return new lh(e.ranges,i.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>oU.decorations.from(e,e=>e?e.deco:rq.none)});function ld(e,t){return M.create(e.filter(e=>e.field==t).map(e=>M.range(e.from,e.to)))}function lp(e){let t=la.parse(e);return(e,i,r,n)=>{let{text:o,ranges:s}=t.instantiate(e.state,r),a={changes:{from:r,to:n,insert:g.of(o)},scrollIntoView:!0,annotations:i?[OV.of(i),eS.userEvent.of("input.complete")]:void 0};if(s.length&&(a.selection=ld(s,0)),s.some(e=>e.field>0)){let t=new lh(s,0),i=a.effects=[lc.of(t)];void 0===e.state.field(lu,!1)&&i.push(eX.appendConfig.of([lu,lS,lx,ln]))}e.dispatch(e.state.update(a))}}function lQ(e){return({state:t,dispatch:i})=>{let r=t.field(lu,!1);if(!r||e<0&&0==r.active)return!1;let n=r.active+e,o=e>0&&!r.ranges.some(t=>t.field==n+e);return i(t.update({selection:ld(r.ranges,n),effects:lc.of(o?null:new lh(r.ranges,n)),scrollIntoView:!0})),!0}}let lg=({state:e,dispatch:t})=>!!e.field(lu,!1)&&(t(e.update({effects:lc.of(null)})),!0),lm=lQ(1),l$=lQ(-1),lb=[{key:"Tab",run:lm,shift:l$},{key:"Escape",run:lg}],lX=L.define({combine:e=>e.length?e[0]:lb}),lS=en.highest(oB.compute([lX],e=>e.facet(lX)));function ly(e,t){return Object.assign(Object.assign({},t),{apply:lp(e)})}let lx=oU.domEventHandlers({mousedown(e,t){let i,r=t.state.field(lu,!1);if(!r||null==(i=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let n=r.ranges.find(e=>e.from<=i&&e.to>=i);return!(!n||n.field==r.active)&&(t.dispatch({selection:ld(r.ranges,n.field),effects:lc.of(r.ranges.some(e=>e.field>n.field)?new lh(r.ranges,n.field):null),scrollIntoView:!0}),!0)}});function lv(e,t){return new RegExp(t(e.source),e.unicode?"u":"")}let lP=Object.create(null);function lw(e,t,i,r,n){for(let o=e.iterLines(),s=0;!o.next().done;){let e,{value:a}=o;for(t.lastIndex=0;e=t.exec(a);)if(!r[e[0]]&&s+e.index!=n&&(i.push({type:"text",label:e[0]}),r[e[0]]=!0,i.length>=2e3))return;s+=a.length+1}}let lT={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},lk=eX.define({map(e,t){let i=t.mapPos(e,-1,A.TrackAfter);return null==i?void 0:i}}),lY=new class extends eR{};lY.startSide=1,lY.endSide=-1;let lR=et.define({create:()=>eq.empty,update(e,t){if(e=e.map(t.changes),t.selection){let i=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=i.from&&e<=i.to})}for(let i of t.effects)i.is(lk)&&(e=e.update({add:[lY.range(i.value,i.value+1)]}));return e}});function l_(){return[lW,lR]}let lV="()[]{}<>";function lZ(e){for(let t=0;t{if((lA?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let n=e.state.selection.main;if(r.length>2||2==r.length&&1==Z(_(r,0))||t!=n.from||i!=n.to)return!1;let o=lN(e.state,r);return!!o&&(e.dispatch(o),!0)}),lC=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=lq(e,e.selection.main.head).brackets||lT.brackets,r=null,n=e.changeByRange(t=>{if(t.empty){var n,o;let r;let s=(n=e.doc,o=t.head,Z(_(r=n.sliceString(o-2,o),0))==r.length?r:r.slice(1));for(let r of i)if(r==s&&lE(e.doc,t.head)==lZ(_(r,0)))return{changes:{from:t.head-r.length,to:t.head+r.length},range:M.cursor(t.head-r.length)}}return{range:r=t}});return r||t(e.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},lU=[{key:"Backspace",run:lC}];function lN(e,t){let i=lq(e,e.selection.main.head),r=i.brackets||lT.brackets;for(let n of r){let o=lZ(_(n,0));if(t==n)return o==n?function(e,t,i,r){let n=r.stringPrefixes||lT.stringPrefixes,o=null,s=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:t,from:r.to}],effects:lk.of(r.to+t.length),range:M.range(r.anchor+t.length,r.head+t.length)};let s,a=r.head,O=lE(e.doc,a);if(O==t){if(lz(e,a))return{changes:{insert:t+t,from:a},effects:lk.of(a+t.length),range:M.cursor(a+t.length)};if(lj(e,a)){let r=i&&e.sliceDoc(a,a+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:a,to:a+r.length,insert:r},range:M.cursor(a+r.length)}}}else{if(i&&e.sliceDoc(a-2*t.length,a)==t+t&&(s=lG(e,a-2*t.length,n))>-1&&lz(e,s))return{changes:{insert:t+t+t+t,from:a},effects:lk.of(a+t.length),range:M.cursor(a+t.length)};if(e.charCategorizer(a)(O)!=ew.Word&&lG(e,a,n)>-1&&!function(e,t,i,r){let n=ay(e).resolveInner(t,-1),o=r.reduce((e,t)=>Math.max(e,t.length),0);for(let s=0;s<5;s++){let s=e.sliceDoc(n.from,Math.min(n.to,n.from+i.length+o)),a=s.indexOf(i);if(!a||a>-1&&r.indexOf(s.slice(0,a))>-1){let t=n.firstChild;for(;t&&t.from==n.from&&t.to-t.from>i.length+a;){if(e.sliceDoc(t.to-i.length,t.to)==i)return!1;t=t.firstChild}return!0}let O=n.to==t&&n.parent;if(!O)break;n=O}return!1}(e,a,t,n))return{changes:{insert:t+t,from:a},effects:lk.of(a+t.length),range:M.cursor(a+t.length)}}return{range:o=r}});return o?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}(e,n,r.indexOf(n+n+n)>-1,i):function(e,t,i,r){let n=null,o=e.changeByRange(o=>{if(!o.empty)return{changes:[{insert:t,from:o.from},{insert:i,from:o.to}],effects:lk.of(o.to+t.length),range:M.range(o.anchor+t.length,o.head+t.length)};let s=lE(e.doc,o.head);return!s||/\s/.test(s)||r.indexOf(s)>-1?{changes:{insert:t+i,from:o.head},effects:lk.of(o.head+t.length),range:M.cursor(o.head+t.length)}:{range:n=o}});return n?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}(e,n,o,i.before||lT.before);if(t==o&&lj(e,e.selection.main.from))return function(e,t,i){let r=null,n=e.changeByRange(t=>t.empty&&lE(e.doc,t.head)==i?{changes:{from:t.head,to:t.head+i.length,insert:i},range:M.cursor(t.head+i.length)}:r={range:t});return r?null:e.update(n,{scrollIntoView:!0,userEvent:"input.type"})}(e,0,o)}return null}function lj(e,t){let i=!1;return e.field(lR).between(0,e.doc.length,e=>{e==t&&(i=!0)}),i}function lE(e,t){let i=e.sliceString(t,t+2);return i.slice(0,Z(_(i,0)))}function lz(e,t){let i=ay(e).resolveInner(t+1);return i.parent&&i.from==t}function lG(e,t,i){let r=e.charCategorizer(t);if(r(e.sliceDoc(t-1,t))!=ew.Word)return t;for(let n of i){let i=t-n.length;if(e.sliceDoc(i,t)==n&&r(e.sliceDoc(i-1,i))!=ew.Word)return i}return -1}let lD=[{key:"Ctrl-Space",run:O7},{key:"Escape",run:O6},{key:"ArrowDown",run:O9(!0)},{key:"ArrowUp",run:O9(!1)},{key:"PageDown",run:O9(!0,"page")},{key:"PageUp",run:O9(!1,"page")},{key:"Enter",run:O8}],lM=en.highest(oB.computeN([Oj],e=>e.facet(Oj).defaultKeymap?[lD]:[])),lB=new WeakMap;var lI=Object.freeze({__proto__:null,CompletionContext:OP,acceptCompletion:O8,autocompletion:function(e={}){return[lr,O2,Oj.of(e),lt,lM,ln]},clearSnippet:lg,closeBrackets:l_,closeBracketsKeymap:lU,closeCompletion:O6,completeAnyWord:e=>{let t=e.state.languageDataAt("wordChars",e.pos).join(""),i=function(e){let t=e.replace(/[\]\-\\]/g,"\\$&");try{return RegExp(`[\\p{Alphabetic}\\p{Number}_${t}]+`,"ug")}catch(e){return RegExp(`[w${t}]`,"g")}}(t),r=e.matchBefore(lv(i,e=>e+"$"));if(!r&&!e.explicit)return null;let n=r?r.from:e.pos;return{from:n,options:function e(t,i,r,n,o){let s=t.length>=1e3,a=s&&i.get(t);if(a)return a;let O=[],l=Object.create(null);if(t.children){let s=0;for(let a of t.children){if(a.length>=1e3)for(let t of e(a,i,r,n-s,o-s))l[t.label]||(l[t.label]=!0,O.push(t));else lw(a,r,O,l,o-s);s+=a.length+1}}else lw(t,r,O,l,o);return s&&O.length<2e3&&i.set(t,O),O}(e.state.doc,lP[t]||(lP[t]=new WeakMap),i,5e4,n),validFor:lv(i,e=>"^"+e)}},completeFromList:OT,completionKeymap:lD,completionStatus:function(e){let t=e.field(O2,!1);return t&&t.active.some(e=>1==e.state)?"pending":t&&t.active.some(e=>0!=e.state)?"active":null},currentCompletions:function(e){var t;let i=null===(t=e.field(O2,!1))||void 0===t?void 0:t.open;if(!i||i.disabled)return[];let r=lB.get(i.options);return r||lB.set(i.options,r=i.options.map(e=>e.completion)),r},deleteBracketPair:lC,hasNextSnippetField:function(e){let t=e.field(lu,!1);return!(!t||!t.ranges.some(e=>e.field==t.active+1))},hasPrevSnippetField:function(e){let t=e.field(lu,!1);return!!(t&&t.active>0)},ifIn:function(e,t){return i=>{for(let r=ay(i.state).resolveInner(i.pos,-1);r;r=r.parent){if(e.indexOf(r.name)>-1)return t(i);if(r.type.isTop)break}return null}},ifNotIn:Ok,insertBracket:lN,insertCompletionText:OZ,moveCompletionSelection:O9,nextSnippetField:lm,pickedCompletion:OV,prevSnippetField:l$,selectedCompletion:function(e){var t;let i=null===(t=e.field(O2,!1))||void 0===t?void 0:t.open;return i&&!i.disabled&&i.selected>=0?i.options[i.selected].completion:null},selectedCompletionIndex:function(e){var t;let i=null===(t=e.field(O2,!1))||void 0===t?void 0:t.open;return i&&!i.disabled&&i.selected>=0?i.selected:null},setSelectedCompletion:function(e){return O5.of(e)},snippet:lp,snippetCompletion:ly,snippetKeymap:lX,startCompletion:O7});function lL(e){return e.baseIndent}let lK=function(){let e={indents:{VariableDeclaration:aB(),AssignmentExpression:aB()},keywords:[]};for(let t of i_.nodeSet.types){let i,r=t.prop(eF.group);"keyword"===(null!=r?r[0]:null)&&e.keywords.push(t);let n=t.prop(eF.closedBy);i=n?function({closing:e,units:t=1}){return i=>(function(e,t,i){let r=e.textAfter,n=r.match(/^\s*/)[0].length,o=!1;switch(i.length){case 1:o=r.slice(n,n+i[0].length)===i[0];break;case 2:o=r.slice(n,n+i[0].length)===i[0]||r.slice(n,n+i[1].length)===i[1];break;case 3:o=r.slice(n,n+i[0].length)===i[0]||r.slice(n,n+i[1].length)===i[1]||r.slice(n,n+i[2].length)===i[2];break;default:o=i.some(e=>r.slice(n,n+e.length)===e)}return e.baseIndent+(o?0:e.unit*t)})(i,t,e)}({closing:n}):lL,e.indents[t.name]=i}return e}(),lF=s9({String:aQ.string,TripleString:aQ.string,CommandString:aQ.string,StringWithoutInterpolation:aQ.string,TripleStringWithoutInterpolation:aQ.string,CommandStringWithoutInterpolation:aQ.string,"String/$ TripleString/$ CommandString/$":aQ.special(aQ.brace),"String/( TripleString/( CommandString/(":aQ.special(aQ.brace),"String/) TripleString/) CommandString/)":aQ.special(aQ.brace),Comment:aQ.lineComment,BlockComment:aQ.comment,"mutable struct StructDefinition/end":aQ.definitionKeyword,"primitive type PrimitiveDefinition/end":aQ.definitionKeyword,"const local global":aQ.definitionKeyword,"ForStatement/for ForBinding/in ForStatement/end":aQ.controlKeyword,"WhileStatement/while WhileStatement/end":aQ.controlKeyword,"IfClause/if IfClause/elseif ElseClause/else IfStatement/end":aQ.controlKeyword,"default break return":aQ.controlKeyword,"TryStatement/try CatchClause/catch TryElseClause/else FinallyClause/finally TryStatement/end":aQ.controlKeyword,"( )":aQ.paren,"[ ]":aQ.paren,"{ }":aQ.paren,[lK.keywords.map(e=>e.name).join(" ")]:aQ.keyword,BooleanLiteral:aQ.bool,Number:aQ.number,"Coefficient/PrefixedString!":aQ.unit,"Type! TypeParameters!":aQ.typeName,"StructDefinition/Identifier StructDefinition/AssignmentExpression/Identifier StructDefinition/TypedExpression/Identifier StructDefinition/AssignmentExpression/TypedExpression/Identifier":aQ.definition(aQ.propertyName),":: <:":aQ.typeOperator,Identifier:aQ.variableName,"MacroIdentifier! MacroFieldExpression!":aQ.macroName,"MacroDefinition/Definition!":aQ.definition(aQ.macroName),"FieldName!":aQ.propertyName,FieldExpression:aQ.propertyName,"FieldExpression .":aQ.derefOperator,"Symbol!":aQ.atom}),lH=aS.define({parser:i_.configure({props:[lF,aj.add(Object.assign(Object.assign({},lK.indents),{ModuleDefinition:lL,BareModuleDefinition:lL,VariableDeclaration:aB(),AssignmentExpression:aB()}))]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*(\]|\}|\)|end|else|elseif|catch|finally)$/,closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}),lJ=lH.data.of({autocomplete:OT(lK.keywords.map(e=>({label:e.name,type:"keyword"})))}),l1={enableKeywordCompletion:!1};function l0(e=l1){let t=[];return(e=Object.assign(Object.assign({},l1),e)).enableKeywordCompletion&&t.push(lJ),new aV(lH,t)}function l5(e,t){return({state:i,dispatch:r})=>{if(i.readOnly)return!1;let n=e(t,i);return!!n&&(r(i.update(n)),!0)}}let l2=l5(function(e,t,i=t.selection.ranges){let r=[],n=-1;for(let{from:e,to:o}of i){let i=r.length,s=1e9,a=l9(t,e).line;if(a){for(let i=e;i<=o;){let O=t.doc.lineAt(i);if(O.from>n&&(e==o||o>O.from)){n=O.from;let e=/^\s*/.exec(O.text)[0].length,t=e==O.length,i=O.text.slice(e,e+a.length)==a?e:-1;ee.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:i,indent:n,empty:o,single:s}of r)!s&&o||e.push({from:t.from+n,insert:i+" "});let i=t.changes(e);return{changes:i,selection:t.selection.map(i,1)}}if(1!=e&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:i,token:n}of r)if(i>=0){let r=t.from+i,o=r+n.length;" "==t.text[o-t.from]&&o++,e.push({from:r,to:o})}return{changes:e}}return null},0),l4=l5(l8,0),l3=l5((e,t)=>l8(e,t,function(e){let t=[];for(let i of e.selection.ranges){let r=e.doc.lineAt(i.from),n=i.to<=r.to?r:e.doc.lineAt(i.to),o=t.length-1;o>=0&&t[o].to>r.from?t[o].to=n.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:n.to})}return t}(t)),0);function l9(e,t){let i=e.languageDataAt("commentTokens",t);return i.length?i[0]:{}}function l8(e,t,i=t.selection.ranges){let r=i.map(e=>l9(t,e.from).block);if(!r.every(e=>e))return null;let n=i.map((e,i)=>(function(e,{open:t,close:i},r,n){let o,s,a=e.sliceDoc(r-50,r),O=e.sliceDoc(n,n+50),l=/\s*$/.exec(a)[0].length,h=/^\s*/.exec(O)[0].length,c=a.length-l;if(a.slice(c-t.length,c)==t&&O.slice(h,h+i.length)==i)return{open:{pos:r-l,margin:l&&1},close:{pos:n+h,margin:h&&1}};n-r<=100?o=s=e.sliceDoc(r,n):(o=e.sliceDoc(r,r+50),s=e.sliceDoc(n-50,n));let f=/^\s*/.exec(o)[0].length,u=/\s*$/.exec(s)[0].length,d=s.length-u-i.length;return o.slice(f,f+t.length)==t&&s.slice(d,d+i.length)==i?{open:{pos:r+f+t.length,margin:/\s/.test(o.charAt(f+t.length))?1:0},close:{pos:n-u-i.length,margin:/\s/.test(s.charAt(d-1))?1:0}}:null})(t,r[i],e.from,e.to));if(2!=e&&!n.every(e=>e))return{changes:t.changes(i.map((e,t)=>n[t]?[]:[{from:e.from,insert:r[t].open+" "},{from:e.to,insert:" "+r[t].close}]))};if(1!=e&&n.some(e=>e)){let e=[];for(let t,i=0;ieY(e,{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)})}),hi=et.define({create:()=>hQ.empty,update(e,t){let i=t.state.facet(ht),r=t.annotation(l7);if(r){let n=hl.fromTransaction(t,r.selection),o=r.side,s=0==o?e.undone:e.done;return s=n?hh(s,s.length,i.minDepth,n):hu(s,t.startState.selection),new hQ(0==o?r.rest:s,0==o?s:r.rest)}let n=t.annotation(l6);if("full"!=n&&"before"!=n||(e=e.isolate()),!1===t.annotation(eS.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let o=hl.fromTransaction(t),s=t.annotation(eS.time),a=t.annotation(eS.userEvent);return o?e=e.addChanges(o,s,a,i,t):t.selection&&(e=e.addSelection(t.startState.selection,s,a,i.newGroupDelay)),"full"!=n&&"after"!=n||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new hQ(e.done.map(hl.fromJSON),e.undone.map(hl.fromJSON))});function hr(e={}){return[hi,ht.of(e),oU.domEventHandlers({beforeinput(e,t){let i="historyUndo"==e.inputType?ho:"historyRedo"==e.inputType?hs:null;return!!i&&(e.preventDefault(),i(t))}})]}function hn(e,t){return function({state:i,dispatch:r}){if(!t&&i.readOnly)return!1;let n=i.field(hi,!1);if(!n)return!1;let o=n.pop(e,i,t);return!!o&&(r(o),!0)}}let ho=hn(0,!1),hs=hn(1,!1),ha=hn(0,!0),hO=hn(1,!0);class hl{constructor(e,t,i,r,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new hl(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new hl(e.changes&&C.fromJSON(e.changes),[],e.mapped&&W.fromJSON(e.mapped),e.startSelection&&M.fromJSON(e.startSelection),e.selectionsAfter.map(M.fromJSON))}static fromTransaction(e,t){let i=hf;for(let t of e.startState.facet(he)){let r=t(e);r.length&&(i=i.concat(r))}return!i.length&&e.changes.empty?null:new hl(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,hf)}static selection(e){return new hl(void 0,hf,void 0,void 0,e)}}function hh(e,t,i,r){let n=e.slice(t+1>i+20?t-i-1:0,t);return n.push(r),n}function hc(e,t){return e.length?t.length?e.concat(t):e:t}let hf=[];function hu(e,t){if(e.length){let i=e[e.length-1],r=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-200));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),hh(e,e.length-1,1e9,i.setSelAfter(r)))}return[hl.selection([t])]}function hd(e,t){if(!e.length)return e;let i=e.length,r=hf;for(;i;){let n=function(e,t,i){let r=hc(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):hf,i);if(!e.changes)return hl.selection(r);let n=e.changes.map(t),o=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(o):o;return new hl(n,eX.mapEffects(e.effects,t),s,e.startSelection.map(o),r)}(e[i-1],t,r);if(n.changes&&!n.changes.empty||n.effects.length){let t=e.slice(0,i);return t[i-1]=n,t}t=n.mapped,i--,r=n.selectionsAfter}return r.length?[hl.selection(r)]:hf}let hp=/^(input\.type|delete)($|\.)/;class hQ{constructor(e,t,i=0,r){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new hQ(this.done,this.undone):this}addChanges(e,t,i,r,n){var o,s;let a,O,l=this.done,h=l[l.length-1];return new hQ(l=h&&h.changes&&!h.changes.empty&&e.changes&&(!i||hp.test(i))&&(!h.selectionsAfter.length&&t-this.prevTimea.push(e,t)),s.iterChangedRanges((e,t,i,r)=>{for(let e=0;e=t&&i<=n&&(O=!0)}}),O))||"input.type.compose"==i)?hh(l,l.length-1,r.minDepth,new hl(e.changes.compose(h.changes),hc(e.effects,h.effects),h.mapped,h.startSelection,hf)):hh(l,l.length,r.minDepth,e),hf,t,i)}addSelection(e,t,i,r){var n;let o=this.done.length?this.done[this.done.length-1].selectionsAfter:hf;return o.length>0&&t-this.prevTimet.empty!=e.ranges[i].empty).length?this:new hQ(hu(this.done,e),this.undone,t,i)}addMapping(e){return new hQ(hd(this.done,e),hd(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let r=0==e?this.done:this.undone;if(0==r.length)return null;let n=r[r.length-1],o=n.selectionsAfter[0]||t.selection;if(i&&n.selectionsAfter.length){let i,s;return t.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:l7.of({side:e,rest:(i=r[r.length-1],(s=r.slice())[r.length-1]=i.setSelAfter(i.selectionsAfter.slice(0,i.selectionsAfter.length-1)),s),selection:o}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0})}if(n.changes){let i=1==r.length?hf:r.slice(0,r.length-1);return n.mapped&&(i=hd(i,n.mapped)),t.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:l7.of({side:e,rest:i,selection:o}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}hQ.empty=new hQ(hf,hf);let hg=[{key:"Mod-z",run:ho,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:hs,preventDefault:!0},{linux:"Ctrl-Shift-z",run:hs,preventDefault:!0},{key:"Mod-u",run:ha,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:hO,preventDefault:!0}];function hm(e,t){return M.create(e.ranges.map(t),e.mainIndex)}function h$(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function hb({state:e,dispatch:t},i){let r=hm(e.selection,i);return!r.eq(e.selection,!0)&&(t(h$(e,r)),!0)}function hX(e,t){return M.cursor(t?e.to:e.from)}function hS(e,t){return hb(e,i=>i.empty?e.moveByChar(i,t):hX(i,t))}function hy(e){return e.textDirectionAt(e.state.selection.main.head)==rG.LTR}let hx=e=>hS(e,!hy(e)),hv=e=>hS(e,hy(e));function hP(e,t){return hb(e,i=>i.empty?e.moveByGroup(i,t):hX(i,t))}function hw(e,t,i){let r,n,o=ay(e).resolveInner(t.head),s=i?eF.closedBy:eF.openedBy;for(let r=t.head;;){let t=i?o.childAfter(r):o.childBefore(r);if(!t)break;(function(e,t,i){if(t.type.prop(i))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild})(e,t,s)?o=t:r=i?t.to:t.from}return n=o.type.prop(s)&&(r=i?O$(e,o.from,1):O$(e,o.to,-1))&&r.matched?i?r.end.to:r.end.from:i?o.to:o.from,M.cursor(n,i?-1:1)}function hT(e,t){return hb(e,i=>{if(!i.empty)return hX(i,t);let r=e.moveVertically(i,t);return r.head!=i.head?r:e.moveToLineBoundary(i,t)})}let hk=e=>hT(e,!1),hY=e=>hT(e,!0);function hR(e){let t,i=e.scrollDOM.clientHeighti.empty?e.moveVertically(i,t,r.height):hX(i,t));if(o.eq(n.selection))return!1;if(r.selfScroll){let t=e.coordsAtPos(n.selection.main.head),s=e.scrollDOM.getBoundingClientRect(),a=s.top+r.marginTop,O=s.bottom-r.marginBottom;t&&t.top>a&&t.bottomh_(e,!1),hZ=e=>h_(e,!0);function hq(e,t,i){let r=e.lineBlockAt(t.head),n=e.moveToLineBoundary(t,i);if(n.head==t.head&&n.head!=(i?r.to:r.from)&&(n=e.moveToLineBoundary(t,i,!1)),!i&&n.head==r.from&&r.length){let i=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;i&&t.head!=r.from+i&&(n=M.cursor(r.from+i))}return n}function hA(e,t){let i=hm(e.state.selection,e=>{let i=t(e);return M.range(e.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return!i.eq(e.state.selection)&&(e.dispatch(h$(e.state,i)),!0)}function hW(e,t){return hA(e,i=>e.moveByChar(i,t))}let hC=e=>hW(e,!hy(e)),hU=e=>hW(e,hy(e));function hN(e,t){return hA(e,i=>e.moveByGroup(i,t))}function hj(e,t){return hA(e,i=>e.moveVertically(i,t))}let hE=e=>hj(e,!1),hz=e=>hj(e,!0);function hG(e,t){return hA(e,i=>e.moveVertically(i,t,hR(e).height))}let hD=e=>hG(e,!1),hM=e=>hG(e,!0),hB=({state:e,dispatch:t})=>(t(h$(e,{anchor:0})),!0),hI=({state:e,dispatch:t})=>(t(h$(e,{anchor:e.doc.length})),!0),hL=({state:e,dispatch:t})=>(t(h$(e,{anchor:e.selection.main.anchor,head:0})),!0),hK=({state:e,dispatch:t})=>(t(h$(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function hF(e,t){if(e.state.readOnly)return!1;let i="delete.selection",{state:r}=e,n=r.changeByRange(r=>{let{from:n,to:o}=r;if(n==o){let s=t(r);sn&&(i="delete.forward",s=hH(e,s,!0)),n=Math.min(n,s),o=Math.max(o,s)}else n=hH(e,n,!1),o=hH(e,o,!0);return n==o?{range:r}:{changes:{from:n,to:o},range:M.cursor(n,nt(e)))r.between(t,t,(e,r)=>{et&&(t=i?r:e)});return t}let hJ=(e,t)=>hF(e,i=>{let r,n,o=i.from,{state:s}=e,a=s.doc.lineAt(o);if(!t&&o>a.from&&ohJ(e,!1),h0=e=>hJ(e,!0),h5=(e,t)=>hF(e,i=>{let r=i.head,{state:n}=e,o=n.doc.lineAt(r),s=n.charCategorizer(r);for(let e=null;;){if(r==(t?o.to:o.from)){r==i.head&&o.number!=(t?n.doc.lines:1)&&(r+=t?1:-1);break}let a=T(o.text,r-o.from,t)+o.from,O=o.text.slice(Math.min(r,a)-o.from,Math.max(r,a)-o.from),l=s(O);if(null!=e&&l!=e)break;" "==O&&r==i.head||(e=l),r=a}return r}),h2=e=>h5(e,!1);function h4(e){let t=[],i=-1;for(let r of e.selection.ranges){let n=e.doc.lineAt(r.from),o=e.doc.lineAt(r.to);if(r.empty||r.to!=o.from||(o=e.doc.lineAt(r.to-1)),i>=n.number){let e=t[t.length-1];e.to=o.to,e.ranges.push(r)}else t.push({from:n.from,to:o.to,ranges:[r]});i=o.number+1}return t}function h3(e,t,i){if(e.readOnly)return!1;let r=[],n=[];for(let t of h4(e)){if(i?t.to==e.doc.length:0==t.from)continue;let o=e.doc.lineAt(i?t.to+1:t.from-1),s=o.length+1;if(i)for(let i of(r.push({from:t.to,to:o.to},{from:t.from,insert:o.text+e.lineBreak}),t.ranges))n.push(M.range(Math.min(e.doc.length,i.anchor+s),Math.min(e.doc.length,i.head+s)));else for(let i of(r.push({from:o.from,to:t.from},{from:t.to,insert:e.lineBreak+o.text}),t.ranges))n.push(M.range(i.anchor-s,i.head-s))}return!!r.length&&(t(e.update({changes:r,scrollIntoView:!0,selection:M.create(n,e.selection.mainIndex),userEvent:"move.line"})),!0)}let h9=({state:e,dispatch:t})=>h3(e,t,!1),h8=({state:e,dispatch:t})=>h3(e,t,!0);function h7(e,t,i){if(e.readOnly)return!1;let r=[];for(let t of h4(e))i?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}let h6=ct(!1),ce=ct(!0);function ct(e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=t.changeByRange(i=>{let{from:r,to:n}=i,o=t.doc.lineAt(r),s=!e&&r==n&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let i,r=ay(e).resolveInner(t),n=r.childBefore(t),o=r.childAfter(t);return n&&o&&n.to<=t&&o.from>=t&&(i=n.type.prop(eF.closedBy))&&i.indexOf(o.name)>-1&&e.doc.lineAt(n.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(n.to,o.from))?{from:n.to,to:o.from}:null}(t,r);e&&(r=n=(n<=o.to?o:t.doc.lineAt(n)).to);let a=new aN(t,{simulateBreak:r,simulateDoubleBreak:!!s}),O=aU(a,r);for(null==O&&(O=eB(/^\s*/.exec(t.doc.lineAt(r).text)[0],t.tabSize));no.from&&r{let n=[];for(let o=r.from;o<=r.to;){let s=e.doc.lineAt(o);s.number>i&&(r.empty||r.to>s.from)&&(t(s,n,r),i=s.number),o=s.to+1}let o=e.changes(n);return{changes:n,range:M.range(o.mapPos(r.anchor,1),o.mapPos(r.head,1))}})}let cr=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(ci(e,(t,i)=>{i.push({from:t.from,insert:e.facet(aA)})}),{userEvent:"input.indent"})),!0),cn=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(ci(e,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let n=eB(r,e.tabSize),o=0,s=aC(e,Math.max(0,n-aW(e)));for(;ohb(e,t=>M.cursor(e.lineBlockAt(t.head).from,1)),shift:e=>hA(e,t=>M.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>hb(e,t=>M.cursor(e.lineBlockAt(t.head).to,-1)),shift:e=>hA(e,t=>M.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:h0},{key:"Ctrl-h",run:h1},{key:"Ctrl-k",run:e=>hF(e,t=>{let i=e.lineBlockAt(t.head).to;return t.head{if(e.readOnly)return!1;let i=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:g.of(["",""])},range:M.cursor(e.from)}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let i=t.from,r=e.doc.lineAt(i),n=i==r.from?i-1:T(r.text,i-r.from,!1)+r.from,o=i==r.to?i+1:T(r.text,i-r.from,!0)+r.from;return{changes:{from:n,to:o,insert:e.doc.slice(i,o).append(e.doc.slice(n,i))},range:M.cursor(o)}});return!i.changes.empty&&(t(e.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:hZ}],cs=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>hb(e,t=>hw(e.state,t,!hy(e))),shift:e=>hA(e,t=>hw(e.state,t,!hy(e)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>hb(e,t=>hw(e.state,t,hy(e))),shift:e=>hA(e,t=>hw(e.state,t,hy(e)))},{key:"Alt-ArrowUp",run:h9},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>h7(e,t,!1)},{key:"Alt-ArrowDown",run:h8},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>h7(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let i=e.selection,r=null;return i.ranges.length>1?r=M.create([i.main]):i.main.empty||(r=M.create([M.cursor(i.main.head)])),!!r&&(t(h$(e,r)),!0)}},{key:"Mod-Enter",run:ce},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let i=h4(e).map(({from:t,to:i})=>M.range(t,Math.min(i+1,e.doc.length)));return t(e.update({selection:M.create(i),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let i=hm(e.selection,t=>{var i;for(let r=ay(e).resolveStack(t.from,1);r;r=r.next){let{node:e}=r;if((e.from=t.to||e.to>t.to&&e.from<=t.from)&&(null===(i=e.parent)||void 0===i?void 0:i.parent))return M.range(e.to,e.from)}return t});return t(h$(e,i)),!0},preventDefault:!0},{key:"Mod-[",run:cn},{key:"Mod-]",run:cr},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Object.create(null),r=new aN(e,{overrideIndentation:e=>{let t=i[e];return null==t?-1:t}}),n=ci(e,(t,n,o)=>{let s=aU(r,t.from);if(null==s)return;/\S/.test(t.text)||(s=0);let a=/^\s*/.exec(t.text)[0],O=aC(e,s);(a!=O||o.from{if(e.state.readOnly)return!1;let{state:t}=e,i=t.changes(h4(t).map(({from:e,to:i})=>(e>0?e--:ie.moveVertically(t,!0)).map(i);return e.dispatch({changes:i,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>{let i,r;return i=!1,r=hm(e.selection,t=>{let r=O$(e,t.head,-1)||O$(e,t.head,1)||t.head>0&&O$(e,t.head-1,1)||t.head{let{state:t}=e,i=t.doc.lineAt(t.selection.main.from),r=l9(e.state,i.from);return r.line?l2(e):!!r.block&&l3(e)}},{key:"Alt-A",run:l4}].concat([{key:"ArrowLeft",run:hx,shift:hC,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>hP(e,!hy(e)),shift:e=>hN(e,!hy(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>hb(e,t=>hq(e,t,!hy(e))),shift:e=>hA(e,t=>hq(e,t,!hy(e))),preventDefault:!0},{key:"ArrowRight",run:hv,shift:hU,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>hP(e,hy(e)),shift:e=>hN(e,hy(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>hb(e,t=>hq(e,t,hy(e))),shift:e=>hA(e,t=>hq(e,t,hy(e))),preventDefault:!0},{key:"ArrowUp",run:hk,shift:hE,preventDefault:!0},{mac:"Cmd-ArrowUp",run:hB,shift:hL},{mac:"Ctrl-ArrowUp",run:hV,shift:hD},{key:"ArrowDown",run:hY,shift:hz,preventDefault:!0},{mac:"Cmd-ArrowDown",run:hI,shift:hK},{mac:"Ctrl-ArrowDown",run:hZ,shift:hM},{key:"PageUp",run:hV,shift:hD},{key:"PageDown",run:hZ,shift:hM},{key:"Home",run:e=>hb(e,t=>hq(e,t,!1)),shift:e=>hA(e,t=>hq(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:hB,shift:hL},{key:"End",run:e=>hb(e,t=>hq(e,t,!0)),shift:e=>hA(e,t=>hq(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:hI,shift:hK},{key:"Enter",run:h6},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:h1,shift:h1},{key:"Delete",run:h0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:h2},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>h5(e,!0)},{mac:"Mod-Backspace",run:e=>hF(e,t=>{let i=e.moveToLineBoundary(t,!1).head;return t.head>i?i:Math.max(0,t.head-1)})},{mac:"Mod-Delete",run:e=>hF(e,t=>{let i=e.moveToLineBoundary(t,!0).head;return t.head({mac:e.key,run:e.run,shift:e.shift}))));function ca(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,i=arguments[1];if(i&&"object"==typeof i&&null==i.nodeType&&!Array.isArray(i)){for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r)){var n=i[r];"string"==typeof n?e.setAttribute(r,n):null!=n&&(e[r]=n)}t++}for(;te.normalize("NFKD"):e=>e;class cl{constructor(e,t,i=0,r=e.length,n,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=n?e=>n(cO(e)):cO,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 _(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=V(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Z(e);let r=this.normalize(t);for(let e=0,n=i;;e++){let o=r.charCodeAt(e),s=this.match(o,n,this.bufferPos+this.bufferStart);if(e==r.length-1){if(s)return this.value=s,this;break}n==i&&ethis.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=cQ(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=i||r.to<=t){let r=new cd(t,e.sliceString(t,i));return cu.set(e,r),r}if(r.from==t&&r.to==i)return r;let{text:n,from:o}=r;return o>t&&(n=e.sliceString(t,o)+n,o=t),r.to=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 e=this.flat.from+t.index,i=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,i,t)))return this.value={from:e,to:i,match:t},this.matchPos=cQ(this.text,i+(e==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=cd.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function cQ(e,t){if(t>=e.length)return t;let i,r=e.lineAt(t);for(;t=56320&&i<57344;)t++;return t}function cg(e){let t=ca("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function i(){let i=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!i)return;let{state:r}=e,n=r.doc.lineAt(r.selection.main.head),[,o,s,a,O]=i,l=a?+a.slice(1):0,h=s?+s:n.number;if(s&&O){let e=h/100;o&&(e=e*("-"==o?-1:1)+n.number/r.doc.lines),h=Math.round(r.doc.lines*e)}else s&&o&&(h=h*("-"==o?-1:1)+n.number);let c=r.doc.line(Math.max(1,Math.min(r.doc.lines,h))),f=M.cursor(c.from+Math.max(0,Math.min(l,c.length)));e.dispatch({effects:[cm.of(!1),oU.scrollIntoView(f.from,{y:"center"})],selection:f}),e.focus()}return{dom:ca("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:cm.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),i())},onsubmit:e=>{e.preventDefault(),i()}},ca("label",e.state.phrase("Go to line"),": ",t)," ",ca("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(cf.prototype[Symbol.iterator]=cp.prototype[Symbol.iterator]=function(){return this});let cm=eX.define(),c$=(et.define({create:()=>!0,update(e,t){for(let i of t.effects)i.is(cm)&&(e=i.value);return e},provide:e=>sC.from(e,e=>e?cg:null)}),oU.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),{highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1}),cb=L.define({combine:e=>eY(e,c$,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});function cX(e){let t=[cP,cv];return e&&t.push(cb.of(e)),t}let cS=rq.mark({class:"cm-selectionMatch"}),cy=rq.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function cx(e,t,i,r){return!(0!=i&&e(t.sliceDoc(i-1,i))==ew.Word||r!=t.doc.length&&e(t.sliceDoc(r,r+1))==ew.Word)}let cv=nh.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(cb),{state:i}=e,r=i.selection;if(r.ranges.length>1)return rq.none;let n,o=r.main,s=null;if(o.empty){if(!t.highlightWordAroundCursor)return rq.none;let e=i.wordAt(o.head);if(!e)return rq.none;s=i.charCategorizer(o.head),n=i.sliceDoc(e.from,e.to)}else{let e=o.to-o.from;if(e200)return rq.none;if(t.wholeWords){var a,O,l;if(n=i.sliceDoc(o.from,o.to),!cx(s=i.charCategorizer(o.head),i,o.from,o.to)||(a=s,O=o.from,l=o.to,a(i.sliceDoc(O,O+1))!=ew.Word||a(i.sliceDoc(l-1,l))!=ew.Word))return rq.none}else if(!(n=i.sliceDoc(o.from,o.to)))return rq.none}let h=[];for(let r of e.visibleRanges){let e=new cl(i.doc,n,r.from,r.to);for(;!e.next().done;){let{from:r,to:n}=e.value;if((!s||cx(s,i,r,n))&&(o.empty&&r<=o.from&&n>=o.to?h.push(cy.range(r,n)):(r>=o.to||n<=o.from)&&h.push(cS.range(r,n)),h.length>t.maxMatches))return rq.none}}return rq.set(h)}},{decorations:e=>e.decorations}),cP=oU.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),cw=({state:e,dispatch:t})=>{let{selection:i}=e,r=M.create(i.ranges.map(t=>e.wordAt(t.head)||M.cursor(t.head)),i.mainIndex);return!r.eq(i)&&(t(e.update({selection:r})),!0)},cT=({state:e,dispatch:t})=>{let{ranges:i}=e.selection;if(i.some(e=>e.from===e.to))return cw({state:e,dispatch:t});let r=e.sliceDoc(i[0].from,i[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let n=function(e,t){let{main:i,ranges:r}=e.selection,n=e.wordAt(i.head),o=n&&n.from==i.from&&n.to==i.to;for(let i=!1,n=new cl(e.doc,t,r[r.length-1].to);;){if(n.next(),!n.done){if(i&&r.some(e=>e.from==n.value.from))continue;if(o){let t=e.wordAt(n.value.from);if(!t||t.from!=n.value.from||t.to!=n.value.to)continue}return n.value}if(i)return null;n=new cl(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),i=!0}}(e,r);return!!n&&(t(e.update({selection:e.selection.addRange(M.range(n.from,n.to),!1),effects:oU.scrollIntoView(n.to)})),!0)},ck=L.define({combine:e=>eY(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new c2(e),scrollToMatch:e=>oU.scrollIntoView(e)})});class cY{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||function(e){try{return new RegExp(e,cc),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new cW(this):new cV(this)}getCursor(e,t=0,i){let r=e.doc?e:ek.create({doc:e});return null==i&&(i=r.doc.length),this.regexp?cZ(this,r,t,i):c_(this,r,t,i)}}class cR{constructor(e){this.spec=e}}function c_(e,t,i,r){var n,o;return new cl(t.doc,e.unquoted,i,r,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?(n=t.doc,o=t.charCategorizer(t.selection.main.head),(e,t,i,r)=>((r>e||r+i.length=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=c_(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}}function cZ(e,t,i,r){var n;return new cf(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(n=t.charCategorizer(t.selection.main.head),(e,t,i)=>!i[0].length||(n(cq(i.input,i.index))!=ew.Word||n(cA(i.input,i.index))!=ew.Word)&&(n(cA(i.input,i.index+i[0].length))!=ew.Word||n(cq(i.input,i.index+i[0].length))!=ew.Word)):void 0},i,r)}function cq(e,t){return e.slice(T(e,t,!1),t)}function cA(e,t){return e.slice(t,T(e,t))}class cW extends cR{nextMatch(e,t,i){let r=cZ(this.spec,e,i,e.doc.length).next();return r.done&&(r=cZ(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let n=Math.max(t,i-1e4*r),o=cZ(this.spec,e,n,i),s=null;for(;!o.next().done;)s=o.value;if(s&&(n==t||s.from>n+10))return s;if(n==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)=>"$"==i?"$":"&"==i?e.match[0]:"0"!=i&&+i=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=cZ(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}}let cC=eX.define(),cU=eX.define(),cN=et.define({create:e=>new cj(cH(e).create(),null),update(e,t){for(let i of t.effects)i.is(cC)?e=new cj(i.value.create(),e.panel):i.is(cU)&&(e=new cj(e.query,i.value?cF:null));return e},provide:e=>sC.from(e,e=>e.panel)});class cj{constructor(e,t){this.query=e,this.panel=t}}let cE=rq.mark({class:"cm-searchMatch"}),cz=rq.mark({class:"cm-searchMatch cm-searchMatch-selected"}),cG=nh.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(cN))}update(e){let t=e.state.field(cN);(t!=e.startState.field(cN)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return rq.none;let{view:i}=this,r=new eA;for(let t=0,n=i.visibleRanges,o=n.length;tn[t+1].from-500;)a=n[++t].to;e.highlight(i.state,s,a,(e,t)=>{let n=i.state.selection.ranges.some(i=>i.from==e&&i.to==t);r.add(e,t,n?cz:cE)})}return r.finish()}},{decorations:e=>e.decorations});function cD(e){return t=>{let i=t.state.field(cN,!1);return i&&i.query.spec.valid?e(t,i):c0(t)}}let cM=cD((e,{query:t})=>{let{to:i}=e.state.selection.main,r=t.nextMatch(e.state,i,i);if(!r)return!1;let n=M.single(r.from,r.to),o=e.state.facet(ck);return e.dispatch({selection:n,effects:[c9(e,r),o.scrollToMatch(n.main,e)],userEvent:"select.search"}),c1(e),!0}),cB=cD((e,{query:t})=>{let{state:i}=e,{from:r}=i.selection.main,n=t.prevMatch(i,r,r);if(!n)return!1;let o=M.single(n.from,n.to),s=e.state.facet(ck);return e.dispatch({selection:o,effects:[c9(e,n),s.scrollToMatch(o.main,e)],userEvent:"select.search"}),c1(e),!0}),cI=cD((e,{query:t})=>{let i=t.matchAll(e.state,1e3);return!(!i||!i.length)&&(e.dispatch({selection:M.create(i.map(e=>M.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),cL=cD((e,{query:t})=>{let{state:i}=e,{from:r,to:n}=i.selection.main;if(i.readOnly)return!1;let o=t.nextMatch(i,r,r);if(!o)return!1;let s,a,O=[],l=[];if(o.from==r&&o.to==n&&(a=i.toText(t.getReplacement(o)),O.push({from:o.from,to:o.to,insert:a}),o=t.nextMatch(i,o.from,o.to),l.push(oU.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(r).number)+"."))),o){let t=0==O.length||O[0].from>=o.to?0:o.to-o.from-a.length;s=M.single(o.from-t,o.to-t),l.push(c9(e,o)),l.push(i.facet(ck).scrollToMatch(s.main,e))}return e.dispatch({changes:O,selection:s,effects:l,userEvent:"input.replace"}),!0}),cK=cD((e,{query:t})=>{if(e.state.readOnly)return!1;let i=t.matchAll(e.state,1e9).map(e=>{let{from:i,to:r}=e;return{from:i,to:r,insert:t.getReplacement(e)}});if(!i.length)return!1;let r=e.state.phrase("replaced $ matches",i.length)+".";return e.dispatch({changes:i,effects:oU.announce.of(r),userEvent:"input.replace.all"}),!0});function cF(e){return e.state.facet(ck).createPanel(e)}function cH(e,t){var i,r,n,o,s;let a=e.selection.main,O=a.empty||a.to>a.from+100?"":e.sliceDoc(a.from,a.to);if(t&&!O)return t;let l=e.facet(ck);return new cY({search:(null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:l.literal)?O:O.replace(/\n/g,"\\n"),caseSensitive:null!==(r=null==t?void 0:t.caseSensitive)&&void 0!==r?r:l.caseSensitive,literal:null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:l.literal,regexp:null!==(o=null==t?void 0:t.regexp)&&void 0!==o?o:l.regexp,wholeWord:null!==(s=null==t?void 0:t.wholeWord)&&void 0!==s?s:l.wholeWord})}function cJ(e){let t=sZ(e,cF);return t&&t.dom.querySelector("[main-field]")}function c1(e){let t=cJ(e);t&&t==e.root.activeElement&&t.select()}let c0=e=>{let t=e.state.field(cN,!1);if(t&&t.panel){let i=cJ(e);if(i&&i!=e.root.activeElement){let r=cH(e.state,t.query.spec);r.valid&&e.dispatch({effects:cC.of(r)}),i.focus(),i.select()}}else e.dispatch({effects:[cU.of(!0),t?cC.of(cH(e.state,t.query.spec)):eX.appendConfig.of(c7)]});return!0},c5=e=>{let t=e.state.field(cN,!1);if(!t||!t.panel)return!1;let i=sZ(e,cF);return i&&i.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:cU.of(!1)}),!0};class c2{constructor(e){this.view=e;let t=this.query=e.state.field(cN).query.spec;function i(e,t,i){return ca("button",{class:"cm-button",name:e,onclick:t,type:"button"},i)}this.commit=this.commit.bind(this),this.searchField=ca("input",{value:t.search,placeholder:c4(e,"Find"),"aria-label":c4(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ca("input",{value:t.replace,placeholder:c4(e,"Replace"),"aria-label":c4(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ca("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=ca("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=ca("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=ca("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,i("next",()=>cM(e),[c4(e,"next")]),i("prev",()=>cB(e),[c4(e,"previous")]),i("select",()=>cI(e),[c4(e,"all")]),ca("label",null,[this.caseField,c4(e,"match case")]),ca("label",null,[this.reField,c4(e,"regexp")]),ca("label",null,[this.wordField,c4(e,"by word")]),...e.state.readOnly?[]:[ca("br"),this.replaceField,i("replace",()=>cL(e),[c4(e,"replace")]),i("replaceAll",()=>cK(e),[c4(e,"replace all")])],ca("button",{name:"close",onclick:()=>c5(e),"aria-label":c4(e,"close"),type:"button"},["×"])])}commit(){let e=new cY({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:cC.of(e)}))}keydown(e){var t,i;(t=this.view,i="search-panel",oF(oL(t.state),e,t,i))?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?cB:cM)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),cL(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(cC)&&!e.value.eq(this.query)&&this.setQuery(e.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(ck).top}}function c4(e,t){return e.state.phrase(t)}let c3=/[\s\.,:;?!]/;function c9(e,{from:t,to:i}){let r=e.state.doc.lineAt(t),n=e.state.doc.lineAt(i).to,o=Math.max(r.from,t-30),s=Math.min(n,i+30),a=e.state.sliceDoc(o,s);if(o!=r.from){for(let e=0;e<30;e++)if(!c3.test(a[e+1])&&c3.test(a[e])){a=a.slice(e);break}}if(s!=n){for(let e=a.length-1;e>a.length-30;e--)if(!c3.test(a[e-1])&&c3.test(a[e])){a=a.slice(0,e);break}}return oU.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${r.number}.`)}let c8=oU.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"}}),c7=[cN,en.low(cG),c8];class c6{static create(e,t,i,r,n){return new c6(e,t,i,r+(r<<8)+e+(t<<4)|0,n,[],[])}constructor(e,t,i,r,n,o,s){this.type=e,this.value=t,this.from=i,this.hash=r,this.end=n,this.children=o,this.positions=s,this.hashProp=[[eF.contextHash,r]]}addChild(e,t){e.prop(eF.contextHash)!=this.hash&&(e=new e4(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let i=this.children.length-1;return i>=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new e4(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,i)=>new e4(e1.none,e,t,i,this.hashProp)})}}(f=p||(p={}))[f.Document=1]="Document",f[f.CodeBlock=2]="CodeBlock",f[f.FencedCode=3]="FencedCode",f[f.Blockquote=4]="Blockquote",f[f.HorizontalRule=5]="HorizontalRule",f[f.BulletList=6]="BulletList",f[f.OrderedList=7]="OrderedList",f[f.ListItem=8]="ListItem",f[f.ATXHeading1=9]="ATXHeading1",f[f.ATXHeading2=10]="ATXHeading2",f[f.ATXHeading3=11]="ATXHeading3",f[f.ATXHeading4=12]="ATXHeading4",f[f.ATXHeading5=13]="ATXHeading5",f[f.ATXHeading6=14]="ATXHeading6",f[f.SetextHeading1=15]="SetextHeading1",f[f.SetextHeading2=16]="SetextHeading2",f[f.HTMLBlock=17]="HTMLBlock",f[f.LinkReference=18]="LinkReference",f[f.Paragraph=19]="Paragraph",f[f.CommentBlock=20]="CommentBlock",f[f.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",f[f.Escape=22]="Escape",f[f.Entity=23]="Entity",f[f.HardBreak=24]="HardBreak",f[f.Emphasis=25]="Emphasis",f[f.StrongEmphasis=26]="StrongEmphasis",f[f.Link=27]="Link",f[f.Image=28]="Image",f[f.InlineCode=29]="InlineCode",f[f.HTMLTag=30]="HTMLTag",f[f.Comment=31]="Comment",f[f.ProcessingInstruction=32]="ProcessingInstruction",f[f.Autolink=33]="Autolink",f[f.HeaderMark=34]="HeaderMark",f[f.QuoteMark=35]="QuoteMark",f[f.ListMark=36]="ListMark",f[f.LinkMark=37]="LinkMark",f[f.EmphasisMark=38]="EmphasisMark",f[f.CodeMark=39]="CodeMark",f[f.CodeText=40]="CodeText",f[f.CodeInfo=41]="CodeInfo",f[f.LinkTitle=42]="LinkTitle",f[f.LinkLabel=43]="LinkLabel",f[f.URL=44]="URL";class fe{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class ft{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return fo(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,i=0){for(let r=t;r=t.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;let r=(e.type==p.OrderedList?ff:fc)(i,t,!1);return r>0&&(e.type!=p.BulletList||0>fl(i,t,!1))&&i.text.charCodeAt(i.pos+r-1)==e.value}let fr={[p.Blockquote]:(e,t,i)=>62==i.next&&(i.markers.push(fW(p.QuoteMark,t.lineStart+i.pos,t.lineStart+i.pos+1)),i.moveBase(i.pos+(fn(i.text.charCodeAt(i.pos+1))?2:1)),e.end=t.lineStart+i.text.length,!0),[p.ListItem]:(e,t,i)=>!(i.indent-1)&&(i.moveBaseColumn(i.baseIndent+e.value),!0),[p.OrderedList]:fi,[p.BulletList]:fi,[p.Document]:()=>!0};function fn(e){return 32==e||9==e||10==e||13==e}function fo(e,t=0){for(;ti&&fn(e.charCodeAt(t-1));)t--;return t}function fa(e){if(96!=e.next&&126!=e.next)return -1;let t=e.pos+1;for(;t-1&&e.depth==t.stack.length||r<3?-1:1}function fh(e,t){for(let i=e.stack.length-1;i>=0;i--)if(e.stack[i].type==t)return!0;return!1}function fc(e,t,i){return(45==e.next||43==e.next||42==e.next)&&(e.pos==e.text.length-1||fn(e.text.charCodeAt(e.pos+1)))&&(!i||fh(t,p.BulletList)||e.skipSpace(e.pos+2)=48&&n<=57;){if(++r==e.text.length)return -1;n=e.text.charCodeAt(r)}return r==e.pos||r>e.pos+9||46!=n&&41!=n||re.pos+1||49!=e.next)?-1:r+1-e.pos}function fu(e){if(35!=e.next)return -1;let t=e.pos+1;for(;t6?-1:i}function fd(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return -1;let t=e.pos+1;for(;t/,fg=/\?>/,fm=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(r);if(o)return e.append(fW(p.Comment,i,i+1+o[0].length));let s=/^\?[^]*?\?>/.exec(r);if(s)return e.append(fW(p.ProcessingInstruction,i,i+1+s[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(r);return a?e.append(fW(p.HTMLTag,i,i+1+a[0].length)):-1},Emphasis(e,t,i){if(95!=t&&42!=t)return -1;let r=i+1;for(;e.char(r)==t;)r++;let n=e.slice(i-1,i),o=e.slice(r,r+1),s=fz.test(n),a=fz.test(o),O=/\s|^$/.test(n),l=/\s|^$/.test(o),h=!l&&(!a||O||s),c=!O&&(!s||l||a);return e.append(new fE(95==t?fC:fU,i,r,(h&&(42==t||!c||s)?1:0)|(c&&(42==t||!h||a)?2:0)))},HardBreak(e,t,i){if(92==t&&10==e.char(i+1))return e.append(fW(p.HardBreak,i,i+2));if(32==t){let t=i+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=i+2)return e.append(fW(p.HardBreak,i,t+1))}return -1},Link:(e,t,i)=>91==t?e.append(new fE(fN,i,i+1,1)):-1,Image:(e,t,i)=>33==t&&91==e.char(i+1)?e.append(new fE(fj,i,i+2,1)):-1,LinkEnd(e,t,i){if(93!=t)return -1;for(let t=e.parts.length-1;t>=0;t--){let r=e.parts[t];if(r instanceof fE&&(r.type==fN||r.type==fj)){if(!r.side||e.skipSpace(r.to)==i&&!/[(\[]/.test(e.slice(i+1,i+2)))return e.parts[t]=null,-1;let n=e.takeContent(t),o=e.parts[t]=function(e,t,i,r,n){let{text:o}=e,s=e.char(n),a=n;if(t.unshift(fW(p.LinkMark,r,r+(i==p.Image?2:1))),t.push(fW(p.LinkMark,n-1,n)),40==s){let i,r=e.skipSpace(n+1),s=fD(o,r-e.offset,e.offset);s&&(r=e.skipSpace(s.to))!=s.to&&(i=fM(o,r-e.offset,e.offset))&&(r=e.skipSpace(i.to)),41==e.char(r)&&(t.push(fW(p.LinkMark,n,n+1)),a=r+1,s&&t.push(s),i&&t.push(i),t.push(fW(p.LinkMark,r,a)))}else if(91==s){let i=fB(o,n-e.offset,e.offset,!1);i&&(t.push(i),a=i.to)}return fW(i,r,a,t)}(e,n,r.type==fN?p.Link:p.Image,r.from,i+1);if(r.type==fN)for(let i=0;it?fW(p.URL,t+i,n+i):n==e.length&&null}}function fM(e,t,i){let r=e.charCodeAt(t);if(39!=r&&34!=r&&40!=r)return!1;let n=40==r?41:r;for(let r=t+1,o=!1;r=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,r,n){return this.append(new fE(e,t,i,(r?1:0)|(n?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t=e;s--){let e=this.parts[s];if(e instanceof fE&&1&e.side&&e.type==i.type&&!(n&&(1&i.side||2&e.side)&&(e.to-e.from+o)%3==0&&((e.to-e.from)%3||o%3))){r=e;break}}if(!r)continue;let a=i.type.resolve,O=[],l=r.from,h=i.to;if(n){let e=Math.min(2,r.to-r.from,o);l=r.to-e,h=i.from+e,a=1==e?"Emphasis":"StrongEmphasis"}r.type.mark&&O.push(this.elt(r.type.mark,l,r.to));for(let e=s+1;e=0;t--){let i=this.parts[t];if(i instanceof fE&&i.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return fo(this.text,e-this.offset)+this.offset}elt(e,t,i,r){return"string"==typeof e?fW(this.parser.getNodeType(e),t,i,r):new fA(e,t)}}function fL(e,t){if(!t.length)return e;if(!e.length)return t;let i=e.slice(),r=0;for(let e of t){for(;r(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor()).firstChild();let r=e+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=t;if(!i.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(eF.contextHash)==e}takeNodes(e){let t=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,o=n,s=e.block.children.length,a=o,O=s;for(;;){if(t.to-i>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let n=fH(t.from-i,e.ranges);if(t.to-i<=e.ranges[e.rangeI].to)e.addNode(t.tree,n);else{let i=new e4(e.parser.nodeSet.types[p.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(i,t.tree),e.addNode(i,n)}if(t.type.is("Block")&&(0>fK.indexOf(t.type.id)?(o=t.to-i,s=e.block.children.length):(o=a,s=O,a=t.to-i,O=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>s;)e.block.children.pop(),e.block.positions.pop();return o-n}}function fH(e,t){let i=e;for(let r=1;rfS[e]),Object.keys(fS).map(e=>fP[e]),Object.keys(fS),[(e,t)=>fu(t)>=0,(e,t)=>fa(t)>=0,(e,t)=>fO(t)>=0,(e,t)=>fc(t,e,!0)>=0,(e,t)=>ff(t,e,!0)>=0,(e,t)=>fl(t,e,!0)>=0,(e,t)=>f$(t,e,!0)>=0],fr,Object.keys(fG).map(e=>fG[e]),Object.keys(fG),[]);function f0(e){let{codeParser:t,htmlParser:i}=e;return{wrap:tQ((e,r)=>{let n=e.type.id;if(t&&(n==p.CodeBlock||n==p.FencedCode)){let i="";if(n==p.FencedCode){let t=e.node.getChild(p.CodeInfo);t&&(i=r.read(t.from,t.to))}let o=t(i);if(o)return{parser:o,overlay:e=>e.type.id==p.CodeText}}else if(i&&(n==p.HTMLBlock||n==p.HTMLTag))return{parser:i,overlay:function(e,t,i){let r=[];for(let n=e.firstChild,o=t;;n=n.nextSibling){let e=n?n.from:i;if(e>o&&r.push({from:o,to:e}),!n)break;o=n.to}return r}(e.node,e.from,e.to)};return null})}}let f5={resolve:"Strikethrough",mark:"StrikethroughMark"},f2={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":aQ.strikethrough}},{name:"StrikethroughMark",style:aQ.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,i){if(126!=t||126!=e.char(i+1)||126==e.char(i+2))return -1;let r=e.slice(i-1,i),n=e.slice(i+2,i+3),o=/\s|^$/.test(r),s=/\s|^$/.test(n),a=fz.test(r),O=fz.test(n);return e.addDelimiter(f5,i,i+2,!s&&(!O||o||a),!o&&(!a||s||O))},after:"Emphasis"}]};function f4(e,t,i=0,r,n=0){let o=0,s=!0,a=-1,O=-1,l=!1,h=()=>{r.push(e.elt("TableCell",n+a,n+O,e.parser.parseInline(t.slice(a,O),n+a)))};for(let c=i;c-1)&&o++,s=!1,r&&(a>-1&&h(),r.push(e.elt("TableDelimiter",c+n,c+n+1))),a=O=-1),l=!l&&92==i}return a>-1&&(o++,r&&h()),o}function f3(e,t){for(let i=t;if3(t.content,0)?new f8:null,endLeaf(e,t,i){if(i.parsers.some(e=>e instanceof f8)||!f3(t.text,t.basePos))return!1;let r=e.scanLine(e.absoluteLineEnd+1).text;return f9.test(r)&&f4(e,t.text,t.basePos)==f4(e,r,t.basePos)},before:"SetextHeading"}]};class f6{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}let ue={defineNodes:[{name:"Task",block:!0,style:aQ.list},{name:"TaskMarker",style:aQ.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\][ \t]/.test(t.content)&&"ListItem"==e.parentType().name?new f6:null,after:"SetextHeading"}]},ut=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,ui=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,ur=/[\w-]+\.[\w-]+($|\/)/,un=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,uo=/\/[a-zA-Z\d@.]+/gy;function us(e,t,i,r){let n=0;for(let o=t;o-1)return -1;let r=t+i[0].length;for(;;){let i,n=e[r-1];if(/[?!.,:*_~]/.test(n)||")"==n&&us(e,t,r,")")>us(e,t,r,"("))r--;else{if(";"!=n||!(i=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,r))))break;r=t+i.index}}return r}(e.text,r+n[0].length):n[3]?o=ua(e.text,r):(o=ua(e.text,r+n[0].length))>-1&&"xmpp:"==n[0]&&(uo.lastIndex=o,(n=uo.exec(e.text))&&(o=n.index+n[0].length)),o<0?-1:(e.addElement(e.elt("URL",i,o+e.offset)),o+e.offset)):-1}}]}];function ul(e,t,i){return(r,n,o)=>{if(n!=e||r.char(o+1)==e)return -1;let s=[r.elt(i,o,o+1)];for(let n=o+1;n=65&&i<=90||95==i||i>=97&&i<=122||i>=161;)o+=String.fromCharCode(n),n=e.peek(++t);return um=e,u$=r,ug=o?o.toLowerCase():n==uX||n==uS?void 0:null}let uX=63,uS=33;function uy(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;tux.indexOf(t)>-1?new uy(ub(r,1)||"",e):e,reduce:(e,t)=>20==t&&e?e.parent:e,reuse(e,t,i,r){let n=t.type.id;return 6==n||36==n?new uy(ub(r,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),uP=new tW((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(57));e.advance();let i=47==e.next;i&&e.advance();let r=ub(e,0);if(void 0===r)return;if(!r)return e.acceptToken(i?14:6);let n=t.context?t.context.name:null;if(i){if(r==n)return e.acceptToken(11);if(n&&ud[n])return e.acceptToken(57,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==r)return;e.acceptToken(13)}else{if("script"==r)return e.acceptToken(7);if("style"==r)return e.acceptToken(8);if("textarea"==r)return e.acceptToken(9);if(uu.hasOwnProperty(r))return e.acceptToken(10);n&&up[n]&&up[n][r]?e.acceptToken(57,-1):e.acceptToken(6)}},{contextual:!0}),uw=new tW(e=>{for(let t=0,i=0;;i++){if(e.next<0){i&&e.acceptToken(58);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){i>3&&e.acceptToken(58,-2);break}t=0}e.advance()}}),uT=new tW((e,t)=>{if(47==e.next&&62==e.peek(1)){let i=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(i?5:4,2)}else 62==e.next&&e.acceptToken(4,1)});function uk(e,t,i){let r=2+e.length;return new tW(n=>{for(let o=0,s=0,a=0;;a++){if(n.next<0){a&&n.acceptToken(t);break}if(0==o&&60==n.next||1==o&&47==n.next||o>=2&&os?n.acceptToken(t,-s):n.acceptToken(i,-(s-2));break}if((10==n.next||13==n.next)&&a){n.acceptToken(t,1);break}o=s=0}n.advance()}})}let uY=uk("script",54,1),uR=uk("style",55,2),u_=uk("textarea",56,3),uV=s9({"Text RawText":aQ.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":aQ.angleBracket,TagName:aQ.tagName,"MismatchedCloseTag/TagName":[aQ.tagName,aQ.invalid],AttributeName:aQ.attributeName,"AttributeValue UnquotedAttributeValue":aQ.attributeValue,Is:aQ.definitionOperator,"EntityReference CharacterReference":aQ.character,Comment:aQ.blockComment,ProcessingInst:aQ.processingInstruction,DoctypeDecl:aQ.documentMeta}),uZ=tK.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!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 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:67,context:uv,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[uV],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]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!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[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!_:sbhSkWa!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!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@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@TakWOX@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!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@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!_DsbhSkWb!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!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$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_khS`PkW!a`!cpOX$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_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$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!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*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!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,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!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!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!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let a=e.type.id;if(28==a)return uW(e,t,i);if(31==a)return uW(e,t,r);if(34==a)return uW(e,t,n);if(20==a&&o.length){let i,r=e.node,n=r.firstChild,s=n&&uA(n,t);if(s){for(let e of o)if(e.tag==s&&(!e.attrs||e.attrs(i||(i=uq(r,t))))){let t=r.lastChild;return{parser:e.parser,overlay:[{from:n.to,to:37==t.type.id?t.from:r.to}]}}}}if(s&&23==a){let i,r=e.node;if(i=r.firstChild){let e=s[t.read(i.from,i.to)];if(e)for(let i of e){if(i.tagName&&i.tagName!=uA(r.parent,t))continue;let e=r.lastChild;if(26==e.type.id){let t=e.from+1,r=e.lastChild,n=e.to-(r&&r.isError?0:1);if(n>t)return{parser:i.parser,overlay:[{from:t,to:n}]}}else if(27==e.type.id)return{parser:i.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}let uU=[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];function uN(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}let uj=new tW((e,t)=>{for(let r=!1,n=0,o=0;;o++){var i;let{next:s}=e;if(!(uN(s)||45==s||95==s||r&&(i=s)>=48&&i<=57)){r&&e.acceptToken(40==s?97:2==n&&t.canShift(2)?2:98);break}!r&&(45!=s||o>0)&&(r=!0),n===o&&45==s&&n++,e.advance()}}),uE=new tW(e=>{if(uU.includes(e.peek(-1))){let{next:t}=e;(uN(t)||95==t||35==t||46==t||91==t||58==t||45==t)&&e.acceptToken(96)}}),uz=new tW(e=>{if(!uU.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),uN(t)){do e.advance();while(uN(e.next))e.acceptToken(1)}}}),uG=s9({"AtKeyword import charset namespace keyframes media supports":aQ.definitionKeyword,"from to selector":aQ.keyword,NamespaceName:aQ.namespace,KeyframeName:aQ.labelName,KeyframeRangeName:aQ.operatorKeyword,TagName:aQ.tagName,ClassName:aQ.className,PseudoClassName:aQ.constant(aQ.className),IdName:aQ.labelName,"FeatureName PropertyName":aQ.propertyName,AttributeName:aQ.attributeName,NumberLiteral:aQ.number,KeywordQuery:aQ.keyword,UnaryQueryOp:aQ.operatorKeyword,"CallTag ValueName":aQ.atom,VariableName:aQ.variableName,Callee:aQ.operatorKeyword,Unit:aQ.unit,"UniversalSelector NestingSelector":aQ.definitionOperator,MatchOp:aQ.compareOperator,"ChildOp SiblingOp, LogicOp":aQ.logicOperator,BinOp:aQ.arithmeticOperator,Important:aQ.modifier,Comment:aQ.blockComment,ColorLiteral:aQ.color,"ParenthesizedContent StringLiteral":aQ.string,":":aQ.punctuation,"PseudoOp #":aQ.derefOperator,"; ,":aQ.separator,"( )":aQ.paren,"[ ]":aQ.squareBracket,"{ }":aQ.brace}),uD={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},uM={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},uB={__proto__:null,not:128,only:128},uI=tK.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[uE,uz,uj,1,2,3,4,new tA("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:e=>uD[e]||-1},{term:56,get:e=>uM[e]||-1},{term:98,get:e=>uB[e]||-1}],tokenPrec:1169}),uL=null;function uK(){if(!uL&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],i=new Set;for(let r in e)"cssText"!=r&&"cssFloat"!=r&&"string"==typeof e[r]&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())),i.has(r)||(t.push(r),i.add(r)));uL=t.sort().map(e=>({type:"property",label:e}))}return uL||[]}let uF=["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(e=>({type:"class",label:e})),uH=["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(e=>({type:"keyword",label:e})).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(e=>({type:"constant",label:e}))),uJ=["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(e=>({type:"type",label:e})),u1=/^(\w[\w-]*|-\w[\w-]*|)$/,u0=/^-(-[\w-]*)?$/,u5=new tf,u2=["Declaration"],u4=(o=e=>"VariableName"==e.name,e=>{let{state:t,pos:i}=e,r=ay(t).resolveInner(i,-1),n=r.type.isError&&r.from==r.to-1&&"-"==t.doc.sliceString(r.from,r.to);if("PropertyName"==r.name||(n||"TagName"==r.name)&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:uK(),validFor:u1};if("ValueName"==r.name)return{from:r.from,options:uH,validFor:u1};if("PseudoClassName"==r.name)return{from:r.from,options:uF,validFor:u1};if(o(r)||(e.explicit||n)&&function(e,t){var i;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let r=null===(i=e.parent)||void 0===i?void 0:i.firstChild;return"Callee"==(null==r?void 0:r.name)&&"var"==t.sliceString(r.from,r.to)}(r,t.doc))return{from:o(r)||n?r.from:i,options:function e(t,i,r){if(i.to-i.from>4096){let n=u5.get(i);if(n)return n;let o=[],s=new Set,a=i.cursor(u.IncludeAnonymous);if(a.firstChild())do for(let i of e(t,a.node,r))s.has(i.label)||(s.add(i.label),o.push(i));while(a.nextSibling())return u5.set(i,o),o}{let e=[],n=new Set;return i.cursor().iterate(i=>{var o;if(r(i)&&i.matchContext(u2)&&":"==(null===(o=i.node.nextSibling)||void 0===o?void 0:o.name)){let r=t.sliceString(i.from,i.to);n.has(r)||(n.add(r),e.push({label:r,type:"variable"}))}}),e}}(t.doc,function(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}(r),o),validFor:u0};if("TagName"==r.name){for(let{parent:e}=r;e;e=e.parent)if("Block"==e.name)return{from:r.from,options:uK(),validFor:u1};return{from:r.from,options:uJ,validFor:u1}}if(!e.explicit)return null;let s=r.resolve(i),a=s.childBefore(i);return a&&":"==a.name&&"PseudoClassSelector"==s.name?{from:i,options:uF,validFor:u1}:a&&":"==a.name&&"Declaration"==s.name||"ArgList"==s.name?{from:i,options:uH,validFor:u1}:"Block"==s.name||"Styles"==s.name?{from:i,options:uK(),validFor:u1}:null}),u3=aS.define({name:"css",parser:uI.configure({props:[aj.add({Declaration:aB()}),aK.add({"Block KeyframeList":aF})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}}),u9=[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],u8=new tL({start:!1,shift:(e,t)=>3==t||4==t||307==t?e:308==t,strict:!1}),u7=new tW((e,t)=>{let{next:i}=e;(125==i||-1==i||t.context)&&e.acceptToken(305)},{contextual:!0,fallback:!0}),u6=new tW((e,t)=>{let i,{next:r}=e;u9.indexOf(r)>-1||(47!=r||47!=(i=e.peek(1))&&42!=i)&&(125==r||59==r||-1==r||t.context||e.acceptToken(304))},{contextual:!0}),de=new tW((e,t)=>{let{next:i}=e;if((43==i||45==i)&&(e.advance(),i==e.next)){e.advance();let i=!t.context&&t.canShift(1);e.acceptToken(i?1:2)}},{contextual:!0}),dt=s9({"get set async static":aQ.modifier,"for while do if else switch try catch finally return throw break continue default case":aQ.controlKeyword,"in of await yield void typeof delete instanceof":aQ.operatorKeyword,"let var const using function class extends":aQ.definitionKeyword,"import export from":aQ.moduleKeyword,"with debugger as new":aQ.keyword,TemplateString:aQ.special(aQ.string),super:aQ.atom,BooleanLiteral:aQ.bool,this:aQ.self,null:aQ.null,Star:aQ.modifier,VariableName:aQ.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":aQ.function(aQ.variableName),VariableDefinition:aQ.definition(aQ.variableName),Label:aQ.labelName,PropertyName:aQ.propertyName,PrivatePropertyName:aQ.special(aQ.propertyName),"CallExpression/MemberExpression/PropertyName":aQ.function(aQ.propertyName),"FunctionDeclaration/VariableDefinition":aQ.function(aQ.definition(aQ.variableName)),"ClassDeclaration/VariableDefinition":aQ.definition(aQ.className),PropertyDefinition:aQ.definition(aQ.propertyName),PrivatePropertyDefinition:aQ.definition(aQ.special(aQ.propertyName)),UpdateOp:aQ.updateOperator,"LineComment Hashbang":aQ.lineComment,BlockComment:aQ.blockComment,Number:aQ.number,String:aQ.string,Escape:aQ.escape,ArithOp:aQ.arithmeticOperator,LogicOp:aQ.logicOperator,BitOp:aQ.bitwiseOperator,CompareOp:aQ.compareOperator,RegExp:aQ.regexp,Equals:aQ.definitionOperator,Arrow:aQ.function(aQ.punctuation),": Spread":aQ.punctuation,"( )":aQ.paren,"[ ]":aQ.squareBracket,"{ }":aQ.brace,"InterpolationStart InterpolationEnd":aQ.special(aQ.brace),".":aQ.derefOperator,", ;":aQ.separator,"@":aQ.meta,TypeName:aQ.typeName,TypeDefinition:aQ.definition(aQ.typeName),"type enum interface implements namespace module declare":aQ.definitionKeyword,"abstract global Privacy readonly override":aQ.modifier,"is keyof unique infer":aQ.operatorKeyword,JSXAttributeValue:aQ.attributeValue,JSXText:aQ.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":aQ.angleBracket,"JSXIdentifier JSXNameSpacedName":aQ.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":aQ.attributeName,"JSXBuiltin/JSXIdentifier":aQ.standard(aQ.tagName)}),di={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},dr={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},dn={__proto__:null,"<":139},ds=tK.deserialize({version:14,states:"$6zO%TQUOOO%[QUOOO'_QWOOP(lOSOOO*zQ(CjO'#CgO+ROpO'#ChO+aO!bO'#ChO+oO07`O'#D[O.QQUO'#DbO.bQUO'#DmO%[QUO'#DwO0fQUO'#EPOOQ(CY'#EX'#EXO1PQSO'#EUOOQO'#Ej'#EjOOQO'#Id'#IdO1XQSO'#GlO1dQSO'#EiO1iQSO'#EiO3kQ(CjO'#JeO6[Q(CjO'#JfO6xQSO'#FXO6}Q#tO'#FpOOQ(CY'#Fa'#FaO7YO&jO'#FaO7hQ,UO'#FwO9OQSO'#FvOOQ(CY'#Jf'#JfOOQ(CW'#Je'#JeO9TQSO'#GpOOQQ'#KQ'#KQO9`QSO'#IQO9eQ(C[O'#IROOQQ'#JR'#JROOQQ'#IV'#IVQ`QUOOO`QUOOO%[QUO'#DoO9mQUO'#D{O9tQUO'#D}O9ZQSO'#GlO9{Q,UO'#CmO:ZQSO'#EhO:fQSO'#EsO:kQ,UO'#F`O;YQSO'#GlOOQO'#KR'#KRO;_QSO'#KRO;mQSO'#GtO;mQSO'#GuO;mQSO'#GwO9ZQSO'#GzO]QSO'#HZO>eQSO'#HaO>eQSO'#HcO`QUO'#HeO>eQSO'#HgO>eQSO'#HjO>jQSO'#HpO>oQ(C]O'#HvO%[QUO'#HxO>zQ(C]O'#HzO?VQ(C]O'#H|O9eQ(C[O'#IOO?bQ(CjO'#CgO@dQWO'#DgQOQSOOO%[QUO'#D}O@zQSO'#EQO9{Q,UO'#EhOAVQSO'#EhOAbQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Ji'#JiO%[QUO'#JiOOQO'#Jm'#JmOOQO'#Ia'#IaOBbQWO'#EaOOQ(CW'#E`'#E`OC^Q(C`O'#EaOChQWO'#ETOOQO'#Jl'#JlOC|QWO'#JmOEZQWO'#ETOChQWO'#EaPEhO?MpO'#C`POOO)CDp)CDpOOOO'#IW'#IWOEsOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFRO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFaO07`O,59vOOQ(CY,59v,59vOFoQUO'#I[OGSQSO'#JgOIUQbO'#JgO+}QUO'#JgOI]QSO,59|OIsQSO'#EjOJQQSO'#JuOJ]QSO'#JtOJ]QSO'#JtOJeQSO,5;WOJjQSO'#JsOOQ(CY,5:X,5:XOJqQUO,5:XOLrQ(CjO,5:cOMcQSO,5:kOM|Q(C[O'#JrONTQSO'#JqO9TQSO'#JqONiQSO'#JqONqQSO,5;VONvQSO'#JqO!#OQbO'#JfOOQ(CY'#Cg'#CgO%[QUO'#EPO!#nQ`O,5:pOOQO'#Jn'#JnOOQO-ElOOQQ'#JZ'#JZOOQQ,5>m,5>mOOQQ-ExQ(CjO,5:iOOQO,5@m,5@mO!?iQ,UO,5=WO!?wQ(C[O'#J[O9OQSO'#J[O!@YQ(C[O,59XO!@eQWO,59XO!@mQ,UO,59XO9{Q,UO,59XO!@xQSO,5;TO!AQQSO'#HYO!AcQSO'#KVO%[QUO,5;xO!7cQWO,5;zO!AkQSO,5=sO!ApQSO,5=sO!AuQSO,5=sO9eQ(C[O,5=sO;mQSO,5=cOOQO'#Cs'#CsO!BTQWO,5=`O!B]Q,UO,5=aO!BhQSO,5=cO!BmQ`O,5=fO!BuQSO'#KRO>jQSO'#HPO9ZQSO'#HRO!BzQSO'#HRO9{Q,UO'#HTO!CPQSO'#HTOOQQ,5=i,5=iO!CUQSO'#HUO!C^QSO'#CmO!CcQSO,58}O!CmQSO,58}O!ErQUO,58}OOQQ,58},58}O!FSQ(C[O,58}O%[QUO,58}O!H_QUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!HuQSO,5=uO`QUO,5={O`QUO,5=}O!HzQSO,5>PO`QUO,5>RO!IPQSO,5>UO!IUQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9eQ(C[O,5>dOOQQ,5>f,5>fO!M`QSO,5>fOOQQ,5>h,5>hO!M`QSO,5>hOOQQ,5>j,5>jO!MeQWO'#DYO%[QUO'#JiO!NSQWO'#JiO!NqQWO'#DhO# SQWO'#DhO##eQUO'#DhO##lQSO'#JhO##tQSO,5:RO##yQSO'#EnO#$XQSO'#JvO#$aQSO,5;XO#$fQWO'#DhO#$sQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#$zQSO,5:lO>jQSO,5;SO!@eQWO,5;SO!@mQ,UO,5;SO9{Q,UO,5;SO#%SQSO,5@TO#%XQ!LQO,5:pOOQO-E<_-E<_O#&_Q(C`O,5:{OChQWO,5:oO#&iQWO,5:oOChQWO,5:{O!@YQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#&vQ(C[O,5:{O#'RQ(C[O,5:{O!@eQWO,5:oOOQO,5;R,5;RO#'aQ(C[O,5:{POOO'#IU'#IUP#'uO?MpO,58zPOOO,58z,58zOOOO-EvO+}QUO,5>vOOQO,5>|,5>|O#(aQUO'#I[OOQO-ERQ(CjO1G0yO#?yQ(CjO1G0yO#ByQ$IUO'#CgO#DwQ$IUO1G1[O#EOQ$IUO'#JfO!,YQSO1G1bO#E`Q(CjO,5?SOOQ(CW-EeQSO1G3kO$.VQUO1G3mO$2ZQUO'#HlOOQQ1G3p1G3pO$2hQSO'#HrO>jQSO'#HtOOQQ1G3v1G3vO$2pQUO1G3vO9eQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9eQ(C[O1G4QO9eQ(C[O1G4SO$6wQSO,5@TO!*SQUO,5;YO9TQSO,5;YO>jQSO,5:SO!*SQUO,5:SO!@eQWO,5:SO$6|Q$IUO,5:SOOQO,5;Y,5;YO$7WQWO'#I]O$7nQSO,5@SOOQ(CY1G/m1G/mO$7vQWO'#IcO$8QQSO,5@bOOQ(CW1G0s1G0sO# SQWO,5:SOOQO'#I`'#I`O$8YQWO,5:nOOQ(CY,5:n,5:nO#$}QSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>jQSO1G0nO!@eQWO1G0nO!@mQ,UO1G0nOOQ(CW1G5o1G5oO!@YQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$8aQ(C[O1G0gO$8lQ(C[O1G0gO!@eQWO1G0ZOChQWO1G0ZO$8zQ(C[O1G0gOOQO1G0Z1G0ZO$9`Q(CjO1G0gPOOO-EvO$9|QSO1G5mO$:UQSO1G5zO$:^QbO1G5{O9TQSO,5>|O$:hQ(CjO1G5xO%[QUO1G5xO$:xQ(C[O1G5xO$;ZQSO1G5wO$;ZQSO1G5wO9TQSO1G5wO$;cQSO,5?PO9TQSO,5?POOQO,5?P,5?PO$;wQSO,5?PO$$XQSO,5?POOQO-ExQ(CjO,5WOOQQ,5>W,5>WO%[QUO'#HmO%(ZQSO'#HoOOQQ,5>^,5>^O9TQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%(`QWO1G5oO%(tQ$IUO1G0tO%)OQSO1G0tOOQO1G/n1G/nO%)ZQ$IUO1G/nO>jQSO1G/nO!*SQUO'#DhOOQO,5>w,5>wOOQO-E},5>}OOQO-EjQSO7+&YO!@eQWO7+&YOOQO7+%u7+%uO$9`Q(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%)eQ(C[O7+&RO!@YQ(C[O7+%uO!@eQWO7+%uO%)pQ(C[O7+&RO%*OQ(CjO7++dO%[QUO7++dO%*`QSO7++cO%*`QSO7++cOOQO1G4k1G4kO9TQSO1G4kO%*hQSO1G4kOOQO7+%z7+%zO#$}QSO<xOOQO-E<[-E<[O%2^QbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%2hQSO1G5qOOQ(CY<XQ$IUO1G0yO%>`Q$IUO1G0yO%@WQ$IUO1G0yO%@kQ(CjO<XOOQQ,5>Z,5>ZO%NUQSO1G3xO9TQSO7+&`O!*SQUO7+&`OOQO7+%Y7+%YO%NZQ$IUO1G5{O>jQSO7+%YOOQ(CY<jQSO<jQSO7+)dO&5rQSO<{AN>{O%[QUOAN?XOOQO<SQSO7++uO%LgQSOANAyOOQQANAyANAyO!&^Q,UOANAyO&>[QSOANAyOOQQANA{ANA{O9eQ(C[OANA{O#MzQSOANA{OOQO'#HW'#HWOOQO7+*e7+*eOOQQG22uG22uOOQQANEPANEPOOQQANEQANEQOOQQANBTANBTO&>dQSOANBTOOQQ<iQSOLD,jO&>qQ$IUO7+'tO&@gQ$IUO7+'vO&B]Q,UOG26|OOQO<YOPZXYZXlZXzZX{ZX}ZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(TZX(dZX(kZX(lZX!WZX!XZX~O#zZX~P#@sOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO#v:TO#w:UO(TVO(d$ZO(k#|O(l#}O~O#z.iO~P#CQO#Y:ZO#|:ZO#z(YX!X(YX~P! UO_'[a!W'[a'm'[a'k'[a!h'[a!T'[ap'[a!Y'[a%b'[a!b'[a~P!7zOP#giY#gi_#gil#gi{#gi!W#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'm#gi(T#gi(d#gi'k#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#,gO_#{i!W#{i'm#{i'k#{i!T#{i!h#{ip#{i!Y#{i%b#{i!b#{i~P!7zO$X.nO$Z.nO~O$X.oO$Z.oO~O!b)_O#Y.pO!Y$_X$U$_X$X$_X$Z$_X$b$_X~O!V.qO~O!Y)bO$U.sO$X)aO$Z)aO$b.tO~O!W:VO!X(XX~P#CQO!X.uO~O!b)_O$b(mX~O$b.wO~Or)qO(U)rO(V.zO~O!T/OO~P!&^O!WdX!bdX!hdX!h$tX(ddX~P!/bO!h/UO~P#,gO!W/VO!b#uO(d'gO!h(qX~O!h/[O~O!V*SO'v%`O!h(qP~O#e/^O~O!T$tX!W$tX!b${X~P!/bO!W/_O!T(rX~P#,gO!b/aO~O!T/cO~Ol/gO!b#uO!i%^O(P%RO(d'gO~O'v/iO~O!b+YO~O_%gO!W/mO'm%gO~O!X/oO~P!3`O!^/pO!_/pO'w!lO(W!mO~O}/rO(W!mO~O#U/sO~O'v&QOe'aX!W'aX~O!W*lOe(Qa~Oe/xO~Oz/yO{/yO}/zOhwa(kwa(lwa!Wwa#Ywa~Oewa#zwa~P$ hOz)vO})wOh$ma(k$ma(l$ma!W$ma#Y$ma~Oe$ma#z$ma~P$!^Oz)vO})wOh$oa(k$oa(l$oa!W$oa#Y$oa~Oe$oa#z$oa~P$#PO#e/|O~Oe$}a!W$}a#Y$}a#z$}a~P!0kO!b#uO~O#e0PO~O!W*}O_(va'm(va~Oz#yO{#zO}#{O!g#wO!i#xO(TVOP!oiY!oil!oi!W!oi!f!oi!m!oi#h!oi#i!oi#j!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#r!oi#t!oi#v!oi#w!oi(d!oi(k!oi(l!oi~O_!oi'm!oi'k!oi!T!oi!h!oip!oi!Y!oi%b!oi!b!oi~P$$nOh.UO!Y'VO%b.TO~Oj0ZO'v0YO~P!1]O!b+YO_(Oa!Y(Oa'm(Oa!W(Oa~O#e0aO~OYZX!WdX!XdX~O!W0bO!X(zX~O!X0dO~OY0eO~O'v+bO'xTO'{UO~O!Y%wO'v%`O^'iX!W'iX~O!W+gO^(ya~O!h0jO~P!7zOY0mO~O^0nO~O#Y0qO~Oh0tO!Y$|O~O(W(tO!X(wP~Oh0}O!Y0zO%b0|O(P%RO~OY1XO!W1VO!X(xX~O!X1YO~O^1[O_%gO'm%gO~O'v#mO'xTO'{UO~O#Y$eO#|$eOP(YXY(YXl(YXz(YX{(YX}(YX!W(YX!f(YX!i(YX!m(YX#h(YX#i(YX#j(YX#k(YX#l(YX#m(YX#n(YX#o(YX#r(YX#t(YX#v(YX#w(YX(T(YX(d(YX(k(YX(l(YX~O#p1_O&S1`O_(YX!g(YX~P$+dO#Y$eO#p1_O&S1`O~O_1bO~P%[O_1dO~O&]1gOP&ZiQ&ZiW&Zi_&Zib&Zic&Zij&Zil&Zim&Zin&Zit&Ziv&Zix&Zi}&Zi!R&Zi!S&Zi!Y&Zi!d&Zi!i&Zi!l&Zi!m&Zi!n&Zi!p&Zi!r&Zi!u&Zi!y&Zi#q&Zi$R&Zi$V&Zi%a&Zi%c&Zi%e&Zi%f&Zi%g&Zi%j&Zi%l&Zi%o&Zi%p&Zi%r&Zi&O&Zi&U&Zi&W&Zi&Y&Zi&[&Zi&_&Zi&e&Zi&k&Zi&m&Zi&o&Zi&q&Zi&s&Zi'k&Zi'v&Zi'x&Zi'{&Zi(T&Zi(c&Zi(p&Zi!X&Zi`&Zi&b&Zi~O`1mO!X1kO&b1lO~P`O!YXO!i1oO~O&i,jOP&diQ&diW&di_&dib&dic&dij&dil&dim&din&dit&div&dix&di}&di!R&di!S&di!Y&di!d&di!i&di!l&di!m&di!n&di!p&di!r&di!u&di!y&di#q&di$R&di$V&di%a&di%c&di%e&di%f&di%g&di%j&di%l&di%o&di%p&di%r&di&O&di&U&di&W&di&Y&di&[&di&_&di&e&di&k&di&m&di&o&di&q&di&s&di'k&di'v&di'x&di'{&di(T&di(c&di(p&di!X&di&]&di`&di&b&di~O!T1uO~O!W![a!X![a~P#CQOm!nO}!oO!V1{O(W!mO!W'PX!X'PX~P@OO!W,zO!X([a~O!W'VX!X'VX~P!7SO!W,}O!X(ja~O!X2SO~P'_O_%gO#Y2]O'm%gO~O_%gO!b#uO#Y2]O'm%gO~O_%gO!b#uO!m2aO#Y2]O'm%gO(d'gO~O_%gO'm%gO~P!7zO!W$aOp$la~O!T'Oi!W'Oi~P!7zO!W'{O!T(Zi~O!W(SO!T(hi~O!T(ii!W(ii~P!7zO!W(fi!h(fi_(fi'm(fi~P!7zO#Y2cO!W(fi!h(fi_(fi'm(fi~O!W(`O!h(ei~O}%aO!Y%bO!y]O#c2hO#d2gO'v%`O~O}%aO!Y%bO#d2gO'v%`O~Oh2oO!Y'VO%b2nO~Oh2oO!Y'VO%b2nO(P%RO~O#ewaPwaYwa_walwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa'mwa(Twa(dwa!hwa!Twa'kwapwa!Ywa%bwa!bwa~P$ hO#e$maP$maY$ma_$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma'm$ma(T$ma(d$ma!h$ma!T$ma'k$map$ma!Y$ma%b$ma!b$ma~P$!^O#e$oaP$oaY$oa_$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa'm$oa(T$oa(d$oa!h$oa!T$oa'k$oap$oa!Y$oa%b$oa!b$oa~P$#PO#e$}aP$}aY$}a_$}al$}a{$}a!W$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a'm$}a(T$}a(d$}a!h$}a!T$}a'k$}a#Y$}ap$}a!Y$}a%b$}a!b$}a~P#,gO_#]q!W#]q'm#]q'k#]q!T#]q!h#]qp#]q!Y#]q%b#]q!b#]q~P!7zOe'QX!W'QX~P!'vO!W._Oe(^a~O!V2wO!W'RX!h'RX~P%[O!W.bO!h(_a~O!W.bO!h(_a~P!7zO!T2zO~O#z!ka!X!ka~PJxO#z!ca!W!ca!X!ca~P#CQO#z!oa!X!oa~P!:eO#z!qa!X!qa~P!=OO!Y3^O$VfO$`3_O~O!X3cO~Op3dO~P#,gO_$iq!W$iq'm$iq'k$iq!T$iq!h$iqp$iq!Y$iq%b$iq!b$iq~P!7zO!T3eO~P#,gOz)vO})wO(l){Oh%Yi(k%Yi!W%Yi#Y%Yi~Oe%Yi#z%Yi~P$I|Oz)vO})wOh%[i(k%[i(l%[i!W%[i#Y%[i~Oe%[i#z%[i~P$JoO(d$ZO~P#,gO!V3hO'v%`O!W']X!h']X~O!W/VO!h(qa~O!W/VO!b#uO!h(qa~O!W/VO!b#uO(d'gO!h(qa~Oe$vi!W$vi#Y$vi#z$vi~P!0kO!V3pO'v*XO!T'_X!W'_X~P!1YO!W/_O!T(ra~O!W/_O!T(ra~P#,gO!b#uO#p3xO~Ol3{O!b#uO(d'gO~Oe(Ri!W(Ri~P!0kO#Y4OOe(Ri!W(Ri~P!0kO!h4RO~O_$jq!W$jq'm$jq'k$jq!T$jq!h$jqp$jq!Y$jq%b$jq!b$jq~P!7zO!T4VO~O!W4WO!Y(sX~P#,gO!g#wO~P4XO_$tX!Y$tX%VZX'm$tX!W$tX~P!/bO%V4YO_iXhiXziX}iX!YiX'miX(kiX(liX!WiX~O%V4YO~O%c4aO'v+bO'xTO'{UO!W'hX!X'hX~O!W0bO!X(za~OY4eO~O^4fO~O_%gO'm%gO~P#,gO!Y$|O~P#,gO!W4nO#Y4pO!X(wX~O!X4qO~Om!nO}4rO!]!xO!^!uO!_!uO!y9rO!}!pO#O!pO#P!pO#Q!pO#R!pO#U4wO#V!yO'w!lO'xTO'{UO(W!mO(c!sO~O!X4vO~P%$nOh4|O!Y0zO%b4{O~Oh4|O!Y0zO%b4{O(P%RO~O'v#mO!W'gX!X'gX~O!W1VO!X(xa~O'xTO'{UO(W5VO~O^5ZO~O#p5^O&S5_O~PMhO!h5`O~P%[O_5bO~O_5bO~P%[O`1mO!X5gO&b1lO~P`O!b5iO~O!b5kO!W(]i!X(]i!b(]i!i(]i(P(]i~O!W#bi!X#bi~P#CQO#Y5lO!W#bi!X#bi~O!W![i!X![i~P#CQO_%gO#Y5uO'm%gO~O_%gO!b#uO#Y5uO'm%gO~O!W(fq!h(fq_(fq'm(fq~P!7zO!W(`O!h(eq~O}%aO!Y%bO#d5|O'v%`O~O!Y'VO%b6PO~Oh6SO!Y'VO%b6PO~O#e%YiP%YiY%Yi_%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi'm%Yi(T%Yi(d%Yi!h%Yi!T%Yi'k%Yip%Yi!Y%Yi%b%Yi!b%Yi~P$I|O#e%[iP%[iY%[i_%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i'm%[i(T%[i(d%[i!h%[i!T%[i'k%[ip%[i!Y%[i%b%[i!b%[i~P$JoO#e$viP$viY$vi_$vil$vi{$vi!W$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi'm$vi(T$vi(d$vi!h$vi!T$vi'k$vi#Y$vip$vi!Y$vi%b$vi!b$vi~P#,gOe'Qa!W'Qa~P!0kO!W'Ra!h'Ra~P!7zO!W.bO!h(_i~O#z#]i!W#]i!X#]i~P#CQOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(TVOY#gil#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~O#h#gi~P%2}O#h9zO~P%2}OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O(TVOY#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~Ol#gi~P%5YOl9|O~P%5YOP$]Ol9|Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O(TVO#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P%7eOY:YO!f:OO#m:OO#n:OO#o:XO#p:OO~P%7eOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO(TVO#t#gi#v#gi#w#gi#z#gi(d#gi(l#gi!W#gi!X#gi~O(k#gi~P%:PO(k#|O~P%:POP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO(TVO(k#|O#v#gi#w#gi#z#gi(d#gi!W#gi!X#gi~O(l#gi~P%<[O(l#}O~P%<[OP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO#v:TO(TVO(k#|O(l#}O~O#w#gi#z#gi(d#gi!W#gi!X#gi~P%>gO_#xy!W#xy'm#xy'k#xy!T#xy!h#xyp#xy!Y#xy%b#xy!b#xy~P!7zOh;mOz)vO})wO(k)yO(l){O~OP#giY#gil#gi{#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(T#gi(d#gi!W#gi!X#gi~P%A_O!g#wOP(SXY(SXh(SXl(SXz(SX{(SX}(SX!f(SX!i(SX!m(SX#h(SX#i(SX#j(SX#k(SX#l(SX#m(SX#n(SX#o(SX#p(SX#r(SX#t(SX#v(SX#w(SX#z(SX(T(SX(d(SX(k(SX(l(SX!W(SX!X(SX~O#z#{i!W#{i!X#{i~P#CQO#z!oi!X!oi~P$$nO!X6`O~O!W'[a!X'[a~P#CQO!b#uO(d'gO!W']a!h']a~O!W/VO!h(qi~O!W/VO!b#uO!h(qi~Oe$vq!W$vq#Y$vq#z$vq~P!0kO!T'_a!W'_a~P#,gO!b6gO~O!W/_O!T(ri~P#,gO!W/_O!T(ri~O!T6kO~O!b#uO#p6pO~Ol6qO!b#uO(d'gO~O!T6sO~Oe$xq!W$xq#Y$xq#z$xq~P!0kO_$jy!W$jy'm$jy'k$jy!T$jy!h$jyp$jy!Y$jy%b$jy!b$jy~P!7zO!b5kO~O!W4WO!Y(sa~O_#]y!W#]y'm#]y'k#]y!T#]y!h#]yp#]y!Y#]y%b#]y!b#]y~P!7zOY6xO~O!W0bO!X(zi~O^7OO~O(W(tO!W'dX!X'dX~O!W4nO!X(wa~OjkO'v7VO~P.iO!X7YO~P%$nOm!nO}7ZO'xTO'{UO(W!mO(c!sO~O!Y0zO~O!Y0zO%b7]O~Oh7`O!Y0zO%b7]O~OY7eO!W'ga!X'ga~O!W1VO!X(xi~O!h7iO~O!h7jO~O!h7mO~O!h7mO~P%[O_7oO~O!b7pO~O!h7qO~O!W(ii!X(ii~P#CQO_%gO#Y7yO'm%gO~O!W(fy!h(fy_(fy'm(fy~P!7zO!W(`O!h(ey~O!Y'VO%b7|O~O#e$vqP$vqY$vq_$vql$vq{$vq!W$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq'm$vq(T$vq(d$vq!h$vq!T$vq'k$vq#Y$vqp$vq!Y$vq%b$vq!b$vq~P#,gO#e$xqP$xqY$xq_$xql$xq{$xq!W$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq'm$xq(T$xq(d$xq!h$xq!T$xq'k$xq#Y$xqp$xq!Y$xq%b$xq!b$xq~P#,gO!W'Ri!h'Ri~P!7zO#z#]q!W#]q!X#]q~P#CQOz/yO{/yO}/zOPwaYwahwalwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa#zwa(Twa(dwa(kwa(lwa!Wwa!Xwa~Oz)vO})wOP$maY$mah$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma#z$ma(T$ma(d$ma(k$ma(l$ma!W$ma!X$ma~Oz)vO})wOP$oaY$oah$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa#z$oa(T$oa(d$oa(k$oa(l$oa!W$oa!X$oa~OP$}aY$}al$}a{$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a#z$}a(T$}a(d$}a!W$}a!X$}a~P%A_O#z$iq!W$iq!X$iq~P#CQO#z$jq!W$jq!X$jq~P#CQO!X8WO~O#z8XO~P!0kO!b#uO!W']i!h']i~O!b#uO(d'gO!W']i!h']i~O!W/VO!h(qq~O!T'_i!W'_i~P#,gO!W/_O!T(rq~O!T8_O~P#,gO!T8_O~Oe(Ry!W(Ry~P!0kO!W'ba!Y'ba~P#,gO_%Uq!Y%Uq'm%Uq!W%Uq~P#,gOY8dO~O!W0bO!X(zq~O#Y8hO!W'da!X'da~O!W4nO!X(wi~P#CQOPZXYZXlZXzZX{ZX}ZX!TZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(TZX(dZX(kZX(lZX~O!b%SX#p%SX~P&2_O!Y0zO%b8lO~O'xTO'{UO(W8qO~O!W1VO!X(xq~O!h8tO~O!h8uO~O!h8vO~O!h8vO~P%[O#Y8yO!W#by!X#by~O!W#by!X#by~P#CQO!Y'VO%b9OO~O#z#xy!W#xy!X#xy~P#CQOP$viY$vil$vi{$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi#z$vi(T$vi(d$vi!W$vi!X$vi~P%A_Oz)vO})wO(l){OP%YiY%Yih%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi#z%Yi(T%Yi(d%Yi(k%Yi!W%Yi!X%Yi~Oz)vO})wOP%[iY%[ih%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i#z%[i(T%[i(d%[i(k%[i(l%[i!W%[i!X%[i~O#z$jy!W$jy!X$jy~P#CQO#z#]y!W#]y!X#]y~P#CQO!b#uO!W']q!h']q~O!W/VO!h(qy~O!T'_q!W'_q~P#,gO!T9VO~P#,gO!W0bO!X(zy~O!W4nO!X(wq~O!Y0zO%b9^O~O!h9aO~O!Y'VO%b9fO~OP$vqY$vql$vq{$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq#z$vq(T$vq(d$vq!W$vq!X$vq~P%A_OP$xqY$xql$xq{$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq#z$xq(T$xq(d$xq!W$xq!X$xq~P%A_Oe%^!Z!W%^!Z#Y%^!Z#z%^!Z~P!0kO!W'dq!X'dq~P#CQO!W#b!Z!X#b!Z~P#CQO#e%^!ZP%^!ZY%^!Z_%^!Zl%^!Z{%^!Z!W%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z'm%^!Z(T%^!Z(d%^!Z!h%^!Z!T%^!Z'k%^!Z#Y%^!Zp%^!Z!Y%^!Z%b%^!Z!b%^!Z~P#,gOP%^!ZY%^!Zl%^!Z{%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z#z%^!Z(T%^!Z(d%^!Z!W%^!Z!X%^!Z~P%A_Op(XX~P1qO'w!lO~P!*SO!TdX!WdX#YdX~P&2_OPZXYZXlZXzZX{ZX}ZX!WZX!WdX!fZX!gZX!iZX!mZX#YZX#YdX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(TZX(dZX(kZX(lZX~O!bdX!hZX!hdX(ddX~P&GuOP9qOQ9qOb;bOc!iOjkOl9qOmkOnkOtkOv9qOx9qO}WO!RkO!SkO!YXO!d9tO!iZO!l9qO!m9qO!n9qO!p9uO!r9xO!u!hO$R!kO$VfO'v)UO'xTO'{UO(TVO(c[O(p;`O~O!W:VO!X$la~Oj%SOl$tOm$sOn$sOt%TOv%UOx:]O}${O!Y$|O!d;gO!i$xO#d:cO$R%YO$n:_O$p:aO$s%ZO'v(lO'xTO'{UO(P%RO(T$uO~O#q)]O~P&LkO!XZX!XdX~P&GuO#e9yO~O!b#uO#e9yO~O#Y:ZO~O#p:OO~O#Y:eO!W(iX!X(iX~O#Y:ZO!W(gX!X(gX~O#e:fO~Oe:hO~P!0kO#e:mO~O#e:nO~O!b#uO#e:oO~O!b#uO#e:fO~O#z:pO~P#CQO#e:qO~O#e:rO~O#e:sO~O#e:tO~O#e:uO~O#e:vO~O#z:wO~P!0kO#z:xO~P!0kO$V~!g!}#O#Q#R#U#c#d#o(p$n$p$s%V%a%b%c%j%l%o%p%r%t~'qR$V(p#i!S'o'w#jm#h#klz'p(W'p'v$X$Z$X~",goto:"$'R)OPPPP)PPP)SP)eP*t.xPPPP5YPP5pP;l>sP?WP?WPPP?WP@xP?WP?WP?WP@|PPARPAlPFdPPPFhPPPPFhIiPPPIoJjPFhPLxPPPP! WFhPPPFhPFhP!#fFhP!&z!'|!(VP!(y!(}!(yPPPPP!,Y!'|PP!,v!-pP!0dFhFh!0i!3s!8Y!8Y!wP#@W#@_#@gPPPP#Du#Gl#NT#NW#NZ$ S$ V$ Y$ a$ iPP$ o$ s$!k$#j$#n$$SPP$$W$$^$$bP$$e$$i$$l$%b$%y$&b$&f$&i$&l$&r$&u$&y$&}R!{RoqOXst!Z#c%f&i&k&l&n,b,g1g1jY!uQ'V-S0z4uQ%lvQ%tyQ%{|Q&a!VS&}!e,zQ']!iS'c!r!xS*_$|*dQ+`%uQ+m%}Q,R&ZQ-Q'UQ-['^Q-d'dQ/p*fQ1U,SR:d9u%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|,_,b,g-W-`-n-t.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2w4r4|5^5_5b5u7Z7`7o7yS#p]9r!r)W$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ*o%VQ+e%wQ,T&^Q,[&fQ.X:[Q0W+WQ0[+YQ0g+fQ1^,YQ2k.UQ4`0bQ5T1VQ6R2oQ6X:]Q6z4aR8P6S&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;ct!nQ!r!u!x!y&}'U'V'c'd'e,z-Q-S-d0z4u4w$^$si#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mQ&O|Q&{!eS'R%b,}Q+e%wQ/{*sQ0g+fQ0l+lQ1],XQ1^,YQ4`0bQ4i0nQ5W1XQ5X1[Q6z4aQ6}4fQ7h5ZQ8g7OR8r7ernOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jR,V&b&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'X'i'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;b;c[#[WZ#V#Y'O'y!S%cm#g#h#k%^%a(S(^(_(`*z*{*},^,t-r-x-y-z-|1o2g2h5k5|Q%oxQ%syS%x|%}Q&U!TQ'Y!hQ'[!iQ(g#rS*R$x*VS+_%t%uQ+c%wQ+|&XQ,Q&ZS-Z']'^Q.W(hQ/Z*SQ0`+`Q0f+fQ0h+gQ0k+kQ1P+}S1T,R,SQ2X-[Q3g/VQ4_0bQ4c0eQ4h0mQ5S1UQ6d3hQ6y4aQ6|4eQ8c6xR9X8dv$zi#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i!S%qy!i!t%s%t%u&|'[']'^'b'l*^+_+`,w-Z-[-c/h0`2Q2X2`3zQ+X%oQ+r&RQ+u&SQ,P&ZQ.V(gQ1O+|U1S,Q,R,SQ2p.WQ4}1PS5R1T1UQ7d5S#O;d#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mg;e:X:Y:_:a:c:j:l:n:r:t:xW%Pi%R*l;`S&R!Q&`Q&S!RQ&T!SR+p&P$_%Oi#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mT)r$u)sV*p%V:[:]U'R!e%b,}S(u#y#zQ+j%zS.P(c(dQ0u+vQ4P/yR7S4n&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;c$i$`c#X#d%j%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.j.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ'P!eR1|,zv!nQ!e!r!u!x!y&}'U'V'c'd'e,z-Q-S-d0z4u4wS*^$|*dS/h*_*fQ/q*gQ0w+xQ3z/pR3}/snqOXst!Z#c%f&i&k&l&n,b,g1g1jQ&p!^Q'm!wS(i#t9yQ+]%rQ+z&UQ+{&WQ-X'ZQ-f'fS.](n:fS0O*x:oQ0^+^Q0y+yQ1n,iQ1p,jQ1x,uQ2V-YQ2Y-^S4U0P:uQ4Z0_S4^0a:vQ5m1zQ5q2WQ5v2_Q6w4[Q7t5oQ7u5rQ7x5wR8x7q$d$_c#X#d%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VS(f#o'`U*i$}(m3ZS+S%j.jQ2l0WQ6O2kQ8O6RR9P8P$d$^c#X#d%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VS(e#o'`S(w#z$_S+R%j.jS.Q(d(fQ.m)XQ0T+SR2i.R&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cS#p]9rQ&k!XQ&l!YQ&n![Q&o!]R1f,eQ'W!hQ+U%oQ-V'YS.S(g+XQ2T-UW2m.V.W0V0XQ5p2UU5}2j2l2pS7{6O6QS8}7}8OS9d8|9PQ9l9eR9o9mU!vQ'V-ST4s0z4u!Q_OXZ`st!V!Z#c#g%^%f&`&b&i&k&l&n(`,b,g-y1g1j]!pQ!r'V-S0z4uT#p]9r%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yS(u#y#zS.P(c(d!s:|$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cY!tQ'V-S0z4uQ'b!rS'l!u!xS'n!y4wS-c'c'dQ-e'eR2`-dQ'k!tS([#f1aS-b'b'nQ/Y*RQ/f*^Q2a-eQ3l/ZS3u/g/qQ6c3gS6n3{3}Q8Z6dR8b6qQ#vbQ'j!tS(Z#f1aS(]#l*wQ*y%_Q+Z%pQ+a%vU-a'b'k'nQ-u([Q/X*RQ/e*^Q/k*aQ0]+[Q1Q,OS2^-b-eQ2f-}S3k/Y/ZS3t/f/qQ3w/jQ3y/lQ5P1RQ5x2aQ6b3gQ6f3lS6j3u3}Q6o3|Q7b5QS8Y6c6dQ8^6kQ8`6nQ8o7cQ9T8ZQ9U8_Q9W8bQ9`8pQ9h9VQ;P:zQ;[;TR;];UV!vQ'V-S%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yS#vz!j!r:y$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cR;P;b%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yQ%_j!S%py!i!t%s%t%u&|'[']'^'b'l*^+_+`,w-Z-[-c/h0`2Q2X2`3zS%vz!jQ+[%qQ,O&ZW1R,P,Q,R,SU5Q1S1T1US7c5R5SQ8p7d!r:z$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ;T;aR;U;b$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yY#aWZ#V#Y'y!S%cm#g#h#k%^%a(S(^(_(`*z*{*},^,t-r-x-y-z-|1o2g2h5k5|Q,]&f!p:{$[$m)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cR;O'OS'S!e%bR2O,}%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|,_,b,g-W-`-n-t.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2w4r4|5^5_5b5u7Z7`7o7y!r)W$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ,[&fQ0W+WQ2k.UQ6R2oR8P6S!f$Uc#X%j'x(O(j(q)Q)R)S)T)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9s!T:Q)V)h,x.j1v1y2{3T3U3V3W3[3b5n6W6]6^7U7s8Q8U8V9Z9b;V!b$Wc#X%j'x(O(j(q)S)T)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9s!P:S)V)h,x.j1v1y2{3V3W3[3b5n6W6]6^7U7s8Q8U8V9Z9b;V!^$[c#X%j'x(O(j(q)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9sQ3f/Tz;c)V)h,x.j1v1y2{3[3b5n6W6]6^7U7s8Q8U8V9Z9b;VQ;h;jR;i;k&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cS$nh$oR3_.p'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.p.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cT$jf$pQ$hfS)a$k)eR)m$pT$if$pT)c$k)e'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.p.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cT$nh$oQ$qhR)l$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7y!s;a$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;c#clOPXZst!Z!`!o#R#c#n#{$m%f&b&e&f&i&k&l&n&r&z'X(v)j*|+W,_,b,g-W.U.q/z0}1_1`1b1d1g1j1l2o3^4r4|5^5_5b6S7Z7`7ov$}i#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i#O(m#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mQ*t%ZQ.|)vg3Z:X:Y:_:a:c:j:l:n:r:t:xv$yi#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;iQ*W$zS*a$|*dQ*u%[Q/l*b#O;R#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mf;S:X:Y:_:a:c:j:l:n:r:t:xQ;W;dQ;X;eQ;Y;fR;Z;gv$}i#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i#O(m#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mg3Z:X:Y:_:a:c:j:l:n:r:t:xnoOXst!Z#c%f&i&k&l&n,b,g1g1jQ*Z${Q,p&uQ,q&wR3o/_$^%Oi#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mQ+s&SQ0s+uQ4l0rR7R4mT*c$|*dS*c$|*dT4t0z4uS/j*`4rT3|/r7ZQ+Z%pQ/k*aQ0]+[Q1Q,OQ5P1RQ7b5QQ8o7cR9`8pn)z$v(o*v/]/t/u2t3m4S6a6r9S;Q;^;_!Y:i(k)[*Q*Y.[.x.}/T/b0U0p0r2s3n3r4k4m6T6U6h6l6t6v8]8a9g;j;k]:j3Y6[8R9Q9R9pp)|$v(o*v/R/]/t/u2t3m4S6a6r9S;Q;^;_![:k(k)[*Q*Y.[.x.}/T/b0U0p0r2q2s3n3r4k4m6T6U6h6l6t6v8]8a9g;j;k_:l3Y6[8R8S9Q9R9prnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jQ&]!UR,_&frnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jR&]!UQ+w&TR0o+psnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jQ0{+|S4z1O1PU7[4x4y4}S8k7^7_S9[8j8mQ9i9]R9n9jQ&d!VR,W&`R5W1XS%x|%}R0h+gQ&i!WR,b&jR,h&oT1h,g1jR,l&pQ,k&pR1q,lQ'p!zR-h'pSsOtQ#cXT%is#cQ!}TR'r!}Q#QUR't#QQ)s$uR.y)sQ#TVR'v#TQ#WWU'|#W'}-oQ'}#XR-o(OQ,{'PR1},{Q.`(oR2u.`Q.c(qS2x.c2yR2y.dQ-S'VR2R-SY!rQ'V-S0z4uR'a!rS#^W%aU(T#^(U-pQ(U#_R-p(PQ-O'SR2P-Ot`OXst!V!Z#c%f&`&b&i&k&l&n,b,g1g1jS#gZ%^U#q`#g-yR-y(`Q(a#iQ-v(]W.O(a-v2d5zQ2d-wR5z2eQ)e$kR.r)eQ$ohR)k$oQ$bcU)Z$b-k:WQ-k9sR:W)hQ/W*RW3i/W3j6e8[U3j/X/Y/ZS6e3k3lR8[6f#o)x$v(k(o)[*Q*Y*q*r*v.Y.Z.[.x.}/R/S/T/]/b/t/u0U0p0r2q2r2s2t3Y3m3n3r4S4k4m6T6U6Y6Z6[6a6h6l6r6t6v8R8S8T8]8a9Q9R9S9g9p;Q;^;_;j;kQ/`*YU3q/`3s6iQ3s/bR6i3rQ*d$|R/n*dQ*m%QR/w*mQ4X0UR6u4XQ+O%dR0S+OQ4o0uS7T4o8iR8i7UQ+y&UR0x+yQ4u0zR7X4uQ1W,TS5U1W7fR7f5WQ0c+cW4b0c4d6{8eQ4d0fQ6{4cR8e6|Q+h%xR0i+hQ1j,gR5f1jYrOXst#cQ&m!ZQ+Q%fQ,a&iQ,c&kQ,d&lQ,f&nQ1e,bS1h,g1jR5e1gQ%hpQ&q!_Q&t!aQ&v!bQ&x!cQ'h!tQ+P%eQ+]%rQ+o&OQ,V&dQ,n&sW-_'b'j'k'nQ-f'fQ/m*cQ0^+^S1Z,W,ZQ1r,mQ1s,pQ1t,qQ2Y-^W2[-a-b-e-gQ4Z0_Q4g0lQ4j0pQ5O1QQ5Y1]Q5d1fU5s2Z2^2aQ5v2_Q6w4[Q7P4iQ7Q4kQ7W4tQ7a5PQ7g5XS7v5t5xQ7x5wQ8f6}Q8n7bQ8s7hQ8z7wQ9Y8gQ9_8oQ9c8{R9k9`Q%ryQ'Z!iQ'f!tU+^%s%t%uQ,u&|U-Y'[']'^S-^'b'lQ/d*^S0_+_+`Q1z,wS2W-Z-[Q2_-cQ3v/hQ4[0`Q5o2QQ5r2XQ5w2`R6m3zS$wi;`R*n%RU%Qi%R;`R/v*lQ$viS(k#u+YQ(o#wS)[$c$dQ*Q$xQ*Y${Q*q%WQ*r%XQ*v%]Q.Y:^Q.Z:`Q.[:bQ.x)qS.})w/PQ/R)zQ/S)|Q/T)}Q/]*UQ/b*[Q/t*jQ/u*kh0U+V.T0|2n4{6P7]7|8l9O9^9fQ0p+qQ0r+tQ2q:iQ2r:kQ2s:mQ2t._S3Y:X:YQ3m/^Q3n/_Q3r/aQ4S/|Q4k0qQ4m0tQ6T:qQ6U:sQ6Y:_Q6Z:aQ6[:cQ6a3fQ6h3pQ6l3xQ6r4OQ6t4WQ6v4YQ8R:nQ8S:jQ8T:lQ8]6gQ8a6pQ9Q:rQ9R:tQ9S8XQ9g:wQ9p:xQ;Q;`Q;^;hQ;_;iQ;j;lR;k;mnpOXst!Z#c%f&i&k&l&n,b,g1g1jQ!fPS#eZ#nQ&s!`U'_!o4r7ZQ'u#RQ(x#{Q)i$mS,Z&b&eQ,`&fQ,m&rQ,r&zQ-U'XQ.f(vQ.v)jQ0Q*|Q0X+WQ1c,_Q2U-WQ2l.UQ3a.qQ4Q/zQ4y0}Q5[1_Q5]1`Q5a1bQ5c1dQ5h1lQ6O2oQ6_3^Q7_4|Q7k5^Q7l5_Q7n5bQ8O6SQ8m7`R8w7o#WcOPXZst!Z!`!o#c#n#{%f&b&e&f&i&k&l&n&r&z'X(v*|+W,_,b,g-W.U/z0}1_1`1b1d1g1j1l2o4r4|5^5_5b6S7Z7`7oQ#XWQ#dYQ%juQ%kvS%mw!gS'x#V'{Q(O#YQ(j#tQ(q#xQ(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)T$YQ)V$[Q)Y$aQ)^$eW)h$m)j.q3^Q+T%lQ+i%yS,x'O1{Q-g'iS-l'y-nQ-q(RQ-s(YQ.^(nQ.d(rQ.h9qQ.j9tQ.k9uQ.l9xQ.{)uQ/}*xQ1v,sQ1y,vQ2Z-`Q2b-tQ2v.bQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W:UQ3X.iQ3[:ZQ3]:dQ3b:VQ4T0PQ4]0aQ5n:eQ5t2]Q5y2cQ6V2wQ6W:fQ6]:hQ6^:oQ7U4pQ7s5lQ7w5uQ8Q:pQ8U:uQ8V:vQ8{7yQ9Z8hQ9b8yQ9s#RR;V;cR#ZWR'Q!eY!tQ'V-S0z4uS&|!e,zQ'b!rS'l!u!xS'n!y4wS,w&}'US-c'c'dQ-e'eQ2Q-QR2`-dR(p#wR(s#xQ!fQT-R'V-S]!qQ!r'V-S0z4uQ#o]R'`9rT#jZ%^S#iZ%^S%dm,^U(]#g#h#kS-w(^(_Q-{(`Q0R*}Q2e-xU2f-y-z-|S5{2g2hR7z5|`#]W#V#Y%a'y(S*z-rr#fZm#g#h#k%^(^(_(`*}-x-y-z-|2g2h5|Q1a,^Q1w,tQ5j1oQ7r5kT:}'O*{T#`W%aS#_W%aS'z#V(SS(P#Y*zS,y'O*{T-m'y-rT'T!e%bQ$kfR)o$pT)d$k)eR3`.pT*T$x*VR*]${Q0V+VQ2j.TQ4x0|Q6Q2nQ7^4{Q7}6PQ8j7]Q8|7|Q9]8lQ9e9OQ9j9^R9m9fnqOXst!Z#c%f&i&k&l&n,b,g1g1jQ&c!VR,V&`tmOXst!U!V!Z#c%f&`&i&k&l&n,b,g1g1jR,^&fT%em,^R0v+vR,U&^Q%||R+n%}R+d%wT&g!W&jT&h!W&jT1i,g1j",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList 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 : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression 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 in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate 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 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:367,context:u8,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[dt],skippedNodes:[0,3,4,270],repeatNodeCount:33,tokenData:"$Fl(CSR!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#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'yp'|!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$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j'|!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'|!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'ypOY(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'ypOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'yp'|!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'yp'|!b'o(;dOX%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%Z(CS.ST'z#S$e&j'p(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'yp'|!b'p(;dOY%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`$e&j!m$Ip'yp'|!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%#S1V`#r$Id$e&j'yp'|!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%#S2d_#r$Id$e&j'yp'|!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$2b3l_'x$(n$e&j'|!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j'|!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j'|!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'|!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t'|!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'yp'|!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS'|!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'ypOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'ypOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'yp'|!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%lQ^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j'|!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ'|!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb'|!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX'|!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j'|!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#Zd$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'yp'|!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#di[e]||-1},{term:330,get:e=>dr[e]||-1},{term:68,get:e=>dn[e]||-1}],tokenPrec:12827}),da=[ly("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),ly("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),ly("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),ly("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),ly("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),ly("try {\n ${}\n} catch (${error}) {\n ${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),ly("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),ly("if (${}) {\n ${}\n} else {\n ${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),ly("class ${name} {\n constructor(${params}) {\n ${}\n }\n}",{label:"class",detail:"definition",type:"keyword"}),ly('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ly('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],dO=da.concat([ly("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ly("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ly("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),dl=new tf,dh=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function dc(e){return(t,i)=>{let r=t.node.getChild("VariableDefinition");return r&&i(r,e),!0}}let df=["FunctionDeclaration"],du={FunctionDeclaration:dc("function"),ClassDeclaration:dc("class"),ClassExpression:()=>!0,EnumDeclaration:dc("constant"),TypeAliasDeclaration:dc("type"),NamespaceDeclaration:dc("namespace"),VariableDefinition(e,t){e.matchContext(df)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null},dd=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,dp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function dQ(e){let t=ay(e.state).resolveInner(e.pos,-1);if(dp.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&dd.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let r=[];for(let i=t;i;i=i.parent)dh.has(i.name)&&(r=r.concat(function e(t,i){let r=dl.get(i);if(r)return r;let n=[],o=!0;function s(e,i){let r=t.sliceString(e.from,e.to);n.push({label:r,type:i})}return i.cursor(u.IncludeAnonymous).iterate(i=>{if(o)o=!1;else if(i.name){let e=du[i.name];if(e&&e(i,s)||dh.has(i.name))return!1}else if(i.to-i.from>8192){for(let r of e(t,i.node))n.push(r);return!1}}),dl.set(i,n),n}(e.state.doc,i)));return{options:r,from:i?t.from:e.pos,validFor:dd}}let dg=aS.define({name:"javascript",parser:ds.configure({props:[aj.add({IfStatement:aB({except:/^\s*({|else\b)/}),TryStatement:aB({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,i=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:r?1:2)*e.unit},Block:aD({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":aB({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),aK.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":aF,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),dm={test:e=>/^JSX/.test(e.name),facet:am({commentTokens:{block:{open:"{/*",close:"*/}"}}})},d$=dg.configure({dialect:"ts"},"typescript"),db=dg.configure({dialect:"jsx",props:[a$.add(e=>e.isTop?[dm]:void 0)]}),dX=dg.configure({dialect:"jsx ts",props:[a$.add(e=>e.isTop?[dm]:void 0)]},"typescript"),dS=e=>({label:e,type:"keyword"}),dy="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(dS),dx=dy.concat(["declare","implements","private","protected","public"].map(dS));function dv(e={}){let t=e.jsx?e.typescript?dX:db:e.typescript?d$:dg,i=e.typescript?dO.concat(dx):da.concat(dy);return new aV(t,[dg.data.of({autocomplete:Ok(dp,OT(i))}),dg.data.of({autocomplete:dQ}),e.jsx?dT:[]])}function dP(e,t,i=e.length){for(let r=null==t?void 0:t.firstChild;r;r=r.nextSibling)if("JSXIdentifier"==r.name||"JSXBuiltin"==r.name||"JSXNamespacedName"==r.name||"JSXMemberExpression"==r.name)return e.sliceString(r.from,Math.min(r.to,i));return""}let dw="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),dT=oU.inputHandler.of((e,t,i,r,n)=>{if((dw?e.composing:e.compositionStarted)||e.state.readOnly||t!=i||">"!=r&&"/"!=r||!dg.isActiveAt(e.state,t,-1))return!1;let o=n(),{state:s}=o,a=s.changeByRange(e=>{var t;let i,{head:n}=e,o=ay(s).resolveInner(n-1,-1);if("JSXStartTag"==o.name&&(o=o.parent),s.doc.sliceString(n-1,n)!=r||"JSXAttributeValue"==o.name&&o.to>n);else{if(">"==r&&"JSXFragmentTag"==o.name)return{range:e,changes:{from:n,insert:""}};if("/"==r&&"JSXStartCloseTag"==o.name){let e=o.parent,r=e.parent;if(r&&e.from==n-2&&((i=dP(s.doc,r.firstChild,n))||"JSXFragmentTag"==(null===(t=r.firstChild)||void 0===t?void 0:t.name))){let e=`${i}>`;return{range:M.cursor(n+e.length,-1),changes:{from:n,insert:e}}}}else if(">"==r){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(o);if(t&&"JSXOpenTag"==t.name&&!/^\/?>|^<\//.test(s.doc.sliceString(n,n+2))&&(i=dP(s.doc,t,n)))return{range:e,changes:{from:n,insert:``}}}}return{range:e}});return!a.changes.empty&&(e.dispatch([o,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),dk=["_blank","_self","_top","_parent"],dY=["ascii","utf-8","utf-16","latin1","latin1"],dR=["get","post","put","delete"],d_=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],dV=["true","false"],dZ={},dq={a:{attrs:{href:null,ping:null,type:null,media:null,target:dk,hreflang:null}},abbr:dZ,address:dZ,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:dZ,aside:dZ,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:dZ,base:{attrs:{href:null,target:dk}},bdi:dZ,bdo:dZ,blockquote:{attrs:{cite:null}},body:dZ,br:dZ,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:d_,formmethod:dR,formnovalidate:["novalidate"],formtarget:dk,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:dZ,center:dZ,cite:dZ,code:dZ,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:dZ,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:dZ,div:dZ,dl:dZ,dt:dZ,em:dZ,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:dZ,figure:dZ,footer:dZ,form:{attrs:{action:null,name:null,"accept-charset":dY,autocomplete:["on","off"],enctype:d_,method:dR,novalidate:["novalidate"],target:dk}},h1:dZ,h2:dZ,h3:dZ,h4:dZ,h5:dZ,h6:dZ,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:dZ,hgroup:dZ,hr:dZ,html:{attrs:{manifest:null}},i:dZ,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:d_,formmethod:dR,formnovalidate:["novalidate"],formtarget:dk,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:dZ,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:dZ,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:dZ,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:dY,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:dZ,noscript:dZ,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:dZ,param:{attrs:{name:null,value:null}},pre:dZ,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:dZ,rt:dZ,ruby:dZ,samp:dZ,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:dY}},section:dZ,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:dZ,source:{attrs:{src:null,type:null,media:null}},span:dZ,strong:dZ,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:dZ,summary:dZ,sup:dZ,table:dZ,tbody:dZ,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:dZ,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:dZ,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:dZ,time:{attrs:{datetime:null}},title:dZ,tr:dZ,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:dZ,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:dZ},dA={accesskey:null,class:null,contenteditable:dV,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:dV,autocorrect:dV,autocapitalize:dV,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":dV,"aria-autocomplete":["inline","list","both","none"],"aria-busy":dV,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":dV,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":dV,"aria-hidden":dV,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":dV,"aria-multiselectable":dV,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":dV,"aria-relevant":null,"aria-required":dV,"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},dW="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(e=>"on"+e);for(let e of dW)dA[e]=null;class dC{constructor(e,t){this.tags=Object.assign(Object.assign({},dq),e),this.globalAttrs=Object.assign(Object.assign({},dA),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function dU(e,t,i=e.length){if(!t)return"";let r=t.firstChild,n=r&&r.getChild("TagName");return n?e.sliceString(n.from,Math.min(n.to,i)):""}function dN(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function dj(e,t,i){let r=i.tags[dU(e,dN(t))];return(null==r?void 0:r.children)||i.allTags}function dE(e,t){let i=[];for(let r=dN(t);r&&!r.type.isTop;r=dN(r.parent)){let n=dU(e,r);if(n&&"CloseTag"==r.lastChild.name)break;n&&0>i.indexOf(n)&&("EndTag"==t.name||t.from>=r.firstChild.to)&&i.push(n)}return i}dC.default=new dC;let dz=/^[:\-\.\w\u00b7-\uffff]*$/;function dG(e,t,i,r,n){let o=/\s*>/.test(e.sliceDoc(n,n+5))?"":">",s=dN(i,!0);return{from:r,to:n,options:dj(e.doc,s,t).map(e=>({label:e,type:"type"})).concat(dE(e.doc,i).map((e,t)=>({label:"/"+e,apply:"/"+e+o,type:"type",boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function dD(e,t,i,r){let n=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:i,to:r,options:dE(e.doc,t).map((e,t)=>({label:e,apply:e+n,type:"type",boost:99-t})),validFor:dz}}function dM(e,t){var i,r;let n,o,s,{state:a,pos:O}=t,l=ay(a).resolveInner(O,-1),h=l.resolve(O);for(let e,t=O;h==l&&(e=l.childBefore(t));){let i=e.lastChild;if(!i||!i.type.isError||i.from({label:e,type:"property"})),validFor:dz}):"Is"==l.name||"AttributeValue"==l.name||"UnquotedAttributeValue"==l.name?function(e,t,i,r,n){var o;let s,a=null===(o=i.parent)||void 0===o?void 0:o.getChild("AttributeName"),O=[];if(a){let o=e.sliceDoc(a.from,a.to),l=t.globalAttrs[o];if(!l){let r=dN(i),n=r?t.tags[dU(e.doc,r)]:null;l=(null==n?void 0:n.attrs)&&n.attrs[o]}if(l){let t=e.sliceDoc(r,n).toLowerCase(),i='"',o='"';for(let a of(/^['"]/.test(t)?(s='"'==t[0]?/^[^"]*$/:/^[^']*$/,i="",o=e.sliceDoc(n,n+1)==t[0]?"":t[0],t=t.slice(1),r++):s=/^[^\s<>='"]*$/,l))O.push({label:a,apply:i+a+o,type:"constant"})}}return{from:r,to:n,options:O,validFor:s}}(a,e,l,"Is"==l.name?O:l.from,O):t.explicit&&("Element"==h.name||"Text"==h.name||"Document"==h.name)?function(e,t,i,r){let n=[],o=0;for(let r of dj(e.doc,i,t))n.push({label:"<"+r,type:"type"});for(let t of dE(e.doc,i))n.push({label:"",type:"type",boost:99-o++});return{from:r,to:r,options:n,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(a,e,l,O):null}let dB=dg.parser.configure({top:"SingleExpression"}),dI=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:d$.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:db.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:dX.parser},{tag:"script",attrs:e=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type),parser:dB},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:dg.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:u3.parser}],dL=[{name:"style",parser:u3.parser.configure({top:"Styles"})}].concat(dW.map(e=>({name:e,parser:dg.parser}))),dK=aS.define({name:"html",parser:uZ.configure({props:[aj.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),dF=dK.configure({wrap:uC(dI,dL)});function dH(e={}){let t,i="";return!1===e.matchClosingTags&&(i="noMatch"),!0===e.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=uC((e.nestedLanguages||[]).concat(dI),(e.nestedAttributes||[]).concat(dL))),new aV(t?dK.configure({wrap:t,dialect:i}):i?dF.configure({dialect:i}):dF,[dF.data.of({autocomplete:function(e){let{extraTags:t,extraGlobalAttributes:i}=e,r=i||t?new dC(t,i):dC.default;return e=>dM(r,e)}(e)}),!1!==e.autoCloseTags?d1:[],dv().support,new aV(u3,u3.data.of({autocomplete:u4})).support])}let dJ=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),d1=oU.inputHandler.of((e,t,i,r,n)=>{if(e.composing||e.state.readOnly||t!=i||">"!=r&&"/"!=r||!dF.isActiveAt(e.state,t,-1))return!1;let o=n(),{state:s}=o,a=s.changeByRange(e=>{var t,i,n;let o,a=s.doc.sliceString(e.from-1,e.to)==r,{head:O}=e,l=ay(s).resolveInner(O-1,-1);if("TagName"!=l.name&&"StartTag"!=l.name||(l=l.parent),a&&">"==r&&"OpenTag"==l.name){if("CloseTag"!=(null===(i=null===(t=l.parent)||void 0===t?void 0:t.lastChild)||void 0===i?void 0:i.name)&&(o=dU(s.doc,l.parent,O))&&!dJ.has(o))return{range:e,changes:{from:O,to:O+(">"===s.doc.sliceString(O,O+1)?1:0),insert:``}}}else if(a&&"/"==r&&"IncompleteCloseTag"==l.name){let e=l.parent;if(l.from==O-2&&"CloseTag"!=(null===(n=e.lastChild)||void 0===n?void 0:n.name)&&(o=dU(s.doc,e,O))&&!dJ.has(o)){let e=O+(">"===s.doc.sliceString(O,O+1)?1:0),t=`${o}>`;return{range:M.cursor(O+t.length,-1),changes:{from:O,to:e,insert:t}}}}return{range:e}});return!a.changes.empty&&(e.dispatch([o,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),d0=am({commentTokens:{block:{open:""}}}),d5=new eF,d2=f1.configure({props:[aK.add(e=>!e.is("Block")||e.is("Document")||null!=d4(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),d5.add(d4),aj.add({Document:()=>null}),ag.add({Document:d0})]});function d4(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}let d3=aL.of((e,t,i)=>{for(let r=ay(e).resolveInner(i,-1);r&&!(r.fromi)return{from:i,to:t}}return null});function d9(e){return new ab(d0,e,[d3],"markdown")}let d8=d9(d2),d7=d9(d2.configure([uO,uc,uh,uf,{props:[aK.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]));class d6{constructor(e,t,i,r,n,o,s){this.node=e,this.from=t,this.to=i,this.spaceBefore=r,this.spaceAfter=n,this.type=o,this.item=s}blank(e,t=!0){let i=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;i.length0;e--)i+=" ";return i+(t?this.spaceAfter:"")}marker(e,t){let i="OrderedList"==this.node.name?String(+pt(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}}function pe(e,t){let i=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||i.push(t);let r=[];for(let e=i.length-1;e>=0;e--){let n,o=i[e],s=t.lineAt(o.from),a=o.from-s.from;if("FencedCode"==o.name)r.push(new d6(o,a,a,"","","",null));else if("Blockquote"==o.name&&(n=/^ *>( ?)/.exec(s.text.slice(a))))r.push(new d6(o,a,a+n[0].length,"",n[1],">",null));else if("ListItem"==o.name&&"OrderedList"==o.parent.name&&(n=/^( *)\d+([.)])( *)/.exec(s.text.slice(a)))){let e=n[3],t=n[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),r.push(new d6(o.parent,a,a+t,n[1],e,n[2],o))}else if("ListItem"==o.name&&"BulletList"==o.parent.name&&(n=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(s.text.slice(a)))){let e=n[4],t=n[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let i=n[2];n[3]&&(i+=n[3].replace(/[xX]/," ")),r.push(new d6(o.parent,a,a+t,n[1],e,i,o))}}return r}function pt(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function pi(e,t,i,r=0){for(let n=-1,o=e;;){if("ListItem"==o.name){let e=pt(o,t),s=+e[2];if(n>=0){if(s!=n+1)return;i.push({from:o.from+e[1].length,to:o.from+e[0].length,insert:String(n+2+r)})}n=s}let e=o.nextSibling;if(!e)break;o=e}}function pr(e,t){let i=/^[ \t]*/.exec(e)[0].length;if(!i||" "!=t.facet(aA))return e;let r="";for(let t=eB(e,4,i);t>0;)t>=4?(r+=" ",t-=4):(r+=" ",t--);return r+e.slice(i)}function pn(e){return"QuoteMark"==e.name||"ListMark"==e.name}function po(e,t,i){let r="";for(let t=0,n=e.length-2;t<=n;t++)r+=e[t].blank(t{let i=ay(e),{doc:r}=e,n=null,o=e.changeByRange(t=>{if(!t.empty||!d7.isActiveAt(e,t.from))return n={range:t};let o=t.from,s=r.lineAt(o),a=pe(i.resolveInner(o,-1),r);for(;a.length&&a[a.length-1].from>o-s.from;)a.pop();if(!a.length)return n={range:t};let O=a[a.length-1];if(O.to-O.spaceAfter.length>o-s.from)return n={range:t};let l=o>=O.to-O.spaceAfter.length&&!/\S/.test(s.text.slice(O.to));if(O.item&&l){let t=O.node.firstChild,i=O.node.getChild("ListItem","ListItem");if(t.to>=o||i&&i.to0&&!/[^\s>]/.test(r.lineAt(s.from-1).text)){let e,t=a.length>1?a[a.length-2]:null,i="";t&&t.item?(e=s.from+t.from,i=t.marker(r,1)):e=s.from+(t?t.to:0);let n=[{from:e,to:o,insert:i}];return"OrderedList"==O.node.name&&pi(O.item,r,n,-2),t&&"OrderedList"==t.node.name&&pi(t.item,r,n),{range:M.cursor(e+i.length),changes:n}}{let t=po(a,e,s);return{range:M.cursor(o+t.length+1),changes:{from:s.from,insert:t+e.lineBreak}}}}if("Blockquote"==O.node.name&&l&&s.from){let i=r.lineAt(s.from-1),n=/>\s*$/.exec(i.text);if(n&&n.index==O.from){let r=e.changes([{from:i.from+n.index,to:i.to},{from:s.from+O.from,to:s.to}]);return{range:t.map(r),changes:r}}}let h=[];"OrderedList"==O.node.name&&pi(O.item,r,h);let c=O.item&&O.item.from]*/.exec(s.text)[0].length>=O.to)for(let e=0,t=a.length-1;e<=t;e++)f+=e!=t||c?a[e].blank(es.from&&/\s/.test(s.text.charAt(u-s.from-1));)u--;return f=pr(f,e),function(e,t){if("OrderedList"!=e.name&&"BulletList"!=e.name)return!1;let i=e.firstChild,r=e.getChild("ListItem","ListItem");if(!r)return!1;let n=t.lineAt(i.to),o=t.lineAt(r.from),s=/^[\s>]*$/.test(n.text);return n.number+(s?0:1){let i=ay(e),r=null,n=e.changeByRange(t=>{let n=t.from,{doc:o}=e;if(t.empty&&d7.isActiveAt(e,t.from)){let t=o.lineAt(n),r=pe(function(e,t){let i=e.resolveInner(t,-1),r=t;pn(i)&&(r=i.from,i=i.parent);for(let e;e=i.childBefore(r);)if(pn(e))r=e.from;else{if("OrderedList"!=e.name&&"BulletList"!=e.name)break;r=(i=e.lastChild).to}return i}(i,n),o);if(r.length){let i=r[r.length-1],o=i.to-i.spaceAfter.length+(i.spaceAfter?1:0);if(n-t.from>o&&!/\S/.test(t.text.slice(o,n-t.from)))return{range:M.cursor(t.from+o),changes:{from:t.from+o,to:n}};if(n-t.from==o&&(!i.item||t.from<=i.item.from||!/\S/.test(t.text.slice(0,i.to)))){let r=t.from+i.from;if(i.item&&i.node.from{if(e&&i){let t=null;if(e=/\S*/.exec(e)[0],(t="function"==typeof i?i(e):aZ.matchLanguageName(i,e,!0))instanceof aZ)return t.support?t.support.language.parser:aP.getSkippingParser(t.load());if(t)return t.parser}return t?t.parser:null}):void 0;O.push(f0({codeParser:h,htmlParser:pa.language.parser})),n&&l.push(en.high(oB.of(ps)));let c=d9(o.configure(O));return s&&l.push(c.data.of({autocomplete:pl})),new aV(c,l)}function pl(e){let{state:t,pos:i}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(i-25,i));if(!r)return null;let n=ay(t).resolveInner(i,-1);for(;n&&!n.type.isTop;){if("CodeBlock"==n.name||"FencedCode"==n.name||"ProcessingInstructionBlock"==n.name||"CommentBlock"==n.name||"Link"==n.name||"Image"==n.name)return null;n=n.parent}return{from:i-r[0].length,to:i,options:function(){var e;if(ph)return ph;let t=(e=new OP(ek.create({extensions:pa}),0,!0),dM(dC.default,e));return ph=t?t.options:[]}(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let ph=null;function pc(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57}function pf(e,t,i){for(let r=!1;;){if(e.next<0)return;if(e.next==t&&!r)return void e.advance();r=i&&!r&&92==e.next,e.advance()}}function pu(e,t){for(;95==e.next||pc(e.next);)null!=t&&(t+=String.fromCharCode(e.next)),e.advance();return t}function pd(e,t){for(;48==e.next||49==e.next;)e.advance();t&&e.next==t&&e.advance()}function pp(e,t){for(;;){if(46==e.next){if(t)break;t=!0}else if(e.next<48||e.next>57)break;e.advance()}if(69==e.next||101==e.next)for(e.advance(),43!=e.next&&45!=e.next||e.advance();e.next>=48&&e.next<=57;)e.advance()}function pQ(e){for(;!(e.next<0||10==e.next);)e.advance()}function pg(e,t){for(let i=0;i!=&|~^/",specialVar:"?",identifierQuotes:'"',words:p$(pX,pb)};function py(e){return new tW(t=>{var i,r;let{next:n}=t;if(t.advance(),pg(n,pm)){for(;pg(t.next,pm);)t.advance();t.acceptToken(36)}else if(36==n){let e=pu(t,"");36==t.next&&(t.advance(),function(e,t){e:for(;;){if(e.next<0)return console.log("exit at end",e.pos);if(36==e.next){e.advance();for(let i=0;i1){t.advance(),pf(t,39,e.backslashEscapes),t.acceptToken(3);break}if(!pc(t.next))break;t.advance()}else if(e.plsqlQuotingMechanism&&(113==n||81==n)&&39==t.next&&t.peek(1)>0&&!pg(t.peek(1),pm)){let e=t.peek(1);t.advance(2),function(e,t){let i="[{<(".indexOf(String.fromCharCode(t)),r=i<0?t:"]}>)".charCodeAt(i);for(;;){if(e.next<0)return;if(e.next==r&&39==e.peek(1))return void e.advance(2);e.advance()}}(t,e),t.acceptToken(3)}else if(40==n)t.acceptToken(7);else if(41==n)t.acceptToken(8);else if(123==n)t.acceptToken(9);else if(125==n)t.acceptToken(10);else if(91==n)t.acceptToken(11);else if(93==n)t.acceptToken(12);else if(59==n)t.acceptToken(13);else if(e.unquotedBitLiterals&&48==n&&98==t.next)t.advance(),pd(t),t.acceptToken(22);else if(98!=n&&66!=n||39!=t.next&&34!=t.next){if(48==n&&(120==t.next||88==t.next)||(120==n||88==n)&&39==t.next){let e=39==t.next;for(t.advance();(r=t.next)>=48&&r<=57||r>=97&&r<=102||r>=65&&r<=70;)t.advance();e&&39==t.next&&t.advance(),t.acceptToken(4)}else if(46==n&&t.next>=48&&t.next<=57)pp(t,!0),t.acceptToken(4);else if(46==n)t.acceptToken(14);else if(n>=48&&n<=57)pp(t,!1),t.acceptToken(4);else if(pg(n,e.operatorChars)){for(;pg(t.next,e.operatorChars);)t.advance();t.acceptToken(15)}else if(pg(n,e.specialVar))t.next==n&&t.advance(),function(e){if(39==e.next||34==e.next||96==e.next){let t=e.next;e.advance(),pf(e,t,!1)}else pu(e)}(t),t.acceptToken(17);else if(pg(n,e.identifierQuotes))pf(t,n,!1),t.acceptToken(19);else if(58==n||44==n)t.acceptToken(16);else if(pc(n)){let r=pu(t,String.fromCharCode(n));t.acceptToken(46==t.next||46==t.peek(-r.length-1)?18:null!==(i=e.words[r.toLowerCase()])&&void 0!==i?i:18)}}else{let i=t.next;t.advance(),e.treatBitsAsBytes?(pf(t,i,e.backslashEscapes),t.acceptToken(23)):(pd(t,i),t.acceptToken(22))}}else t.advance(),pf(t,39,!0)}else pQ(t),t.acceptToken(1)})}let px=py(pS),pv=tK.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,px],topRules:{Script:[0,25]},tokenPrec:0});function pP(e){let t=e.cursor().moveTo(e.from,-1);for(;/Comment/.test(t.name);)t.moveTo(t.from,-1);return t.node}function pw(e,t){let i=e.sliceString(t.from,t.to),r=/^([`'"])(.*)\1$/.exec(i);return r?r[2]:i}function pT(e){return e&&("Identifier"==e.name||"QuotedIdentifier"==e.name)}function pk(e,t){for(let i=[];;){if(!t||"."!=t.name)return i;let r=pP(t);if(!pT(r))return i;i.unshift(pw(e,r)),t=pP(r)}}let pY=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" ")),pR=/^\w*$/,p_=/^[`'"]?\w*[`'"]?$/;function pV(e){return e.self&&"string"==typeof e.self.label}class pZ{constructor(e){this.idQuote=e,this.list=[],this.children=void 0}child(e){let t=this.children||(this.children=Object.create(null));return t[e]||(e&&!this.list.some(t=>t.label==e)&&this.list.push(pq(e,"type",this.idQuote)),t[e]=new pZ(this.idQuote))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let t=this.list.findIndex(t=>t.label==e.label);t>-1?this.list[t]=e:this.list.push(e)}addCompletions(e){for(let t of e)this.addCompletion("string"==typeof t?pq(t,"property",this.idQuote):t)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):pV(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let t of Object.keys(e)){let i=e[t],r=null,n=t.replace(/\\?\./g,e=>"."==e?"\0":e).split("\0"),o=this;pV(i)&&(r=i.self,i=i.children);for(let e=0;e({from:e.firstChild.to,to:e.to}),BlockComment:e=>({from:e.from+2,to:e.to-2})}),s9({Keyword:aQ.keyword,Type:aQ.typeName,Builtin:aQ.standard(aQ.name),Bits:aQ.number,Bytes:aQ.string,Bool:aQ.bool,Null:aQ.null,Number:aQ.number,String:aQ.string,Identifier:aQ.name,QuotedIdentifier:aQ.special(aQ.string),SpecialVar:aQ.special(aQ.name),LineComment:aQ.lineComment,BlockComment:aQ.blockComment,Operator:aQ.operator,"Semi Punctuation":aQ.punctuation,"( )":aQ.paren,"{ }":aQ.brace,"[ ]":aQ.squareBracket})]});class pW{constructor(e,t,i){this.dialect=e,this.language=t,this.spec=i}get extension(){return this.language.extension}static define(e){let t=function(e,t,i,r){let n={};for(let t in pS)n[t]=(e.hasOwnProperty(t)?e:pS)[t];return t&&(n.words=p$(t,i||"",r)),n}(e,e.keywords,e.types,e.builtin),i=aS.define({name:"sql",parser:pA.configure({tokenizers:[{from:px,to:py(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new pW(t,i,e)}}function pC(e={}){var t,i,r,n,o,s,a;let O,l,h=e.dialect||pU;return new aV(h.language,[e.schema?(e.dialect||pU).language.data.of({autocomplete:e.schema?(t=e.schema,i=e.tables,r=e.schemas,n=e.defaultTable,o=e.defaultSchema,O=new pZ((null===(a=null==(s=e.dialect||pU)?void 0:s.spec.identifierQuotes)||void 0===a?void 0:a[0])||'"'),l=o?O.child(o):null,O.addNamespace(t),i&&(l||O).addCompletions(i),r&&O.addCompletions(r),l&&O.addCompletions(l.list),n&&O.addCompletions((l||O).child(n).list),e=>{var t,i,r;let o,s;let{parents:a,from:h,quoted:c,empty:f,aliases:u}=(t=e.state,i=e.pos,o=ay(t).resolveInner(i,-1),s=function(e,t){let i;for(let e=t;!i;e=e.parent){if(!e)return null;"Statement"==e.name&&(i=e)}let r=null;for(let t=i.firstChild,n=!1,o=null;t;t=t.nextSibling){let i="Keyword"==t.name?e.sliceString(t.from,t.to).toLowerCase():null,s=null;if(n){if("as"==i&&o&&pT(t.nextSibling))s=pw(e,t.nextSibling);else{if(i&&pY.has(i))break;o&&pT(t)&&(s=pw(e,t))}}else n="from"==i;s&&(r||(r=Object.create(null)),r[s]=function(e,t){if("CompositeIdentifier"==t.name){let i=[];for(let r=t.firstChild;r;r=r.nextSibling)pT(r)&&i.push(pw(e,r));return i}return[pw(e,t)]}(e,o)),o=/Identifier$/.test(t.name)?t:null}return r}(t.doc,o),"Identifier"==o.name||"QuotedIdentifier"==o.name||"Keyword"==o.name?{from:o.from,quoted:"QuotedIdentifier"==o.name?t.doc.sliceString(o.from,o.from+1):null,parents:pk(t.doc,pP(o)),aliases:s}:"."==o.name?{from:i,quoted:null,parents:pk(t.doc,o),aliases:s}:{from:i,quoted:null,parents:[],empty:!0,aliases:s});if(f&&!e.explicit)return null;u&&1==a.length&&(a=u[a[0]]||a);let d=O;for(let e of a){for(;!d.children||!d.children[e];)if(d==O)d=l;else{if(d!=l||!n)return null;d=d.child(n)}let t=d.maybeChild(e);if(!t)return null;d=t}let p=c&&e.state.sliceDoc(e.pos,e.pos+1)==c,Q=d.list;return d==O&&u&&(Q=Q.concat(Object.keys(u).map(e=>({label:e,type:"constant"})))),{from:h,to:p?e.pos+1:void 0,options:(r=Q,c?r.map(e=>Object.assign(Object.assign({},e),{label:e.label[0]==c?e.label:c+e.label+c,apply:void 0})):r),validFor:c?p_:pR}}):()=>null}):[],function(e,t=!1){return e.language.data.of({autocomplete:function(e,t=!1){var i;return Ok(["QuotedIdentifier","SpecialVar","String","LineComment","BlockComment","."],OT(Object.keys(i=e.dialect.words).map(e=>({label:t?e.toUpperCase():e,type:21==i[e]?"type":20==i[e]?"keyword":"variable",boost:-1}))))}(e,t)})}(h,!!e.upperCaseKeywords)])}let pU=pW.define({}),pN=pW.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:pX+"a abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom c cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion g generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull k key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower m mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner p parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time t table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:pb+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),pj=new Set([27,51,52,270,67,133,58,59,251,64,65,74,62,63,154,155,158,115]);function pE(e){return 10==e||13==e}let pz=new tW((e,t)=>{let i;if(e.next<0)e.acceptToken(206);else if(t.context.depth<0)pE(e.next)&&e.acceptToken(205,1);else if(((i=e.peek(-1))<0||pE(i))&&t.canShift(204)){let t=0;for(;32==e.next||9==e.next;)e.advance(),t++;10!=e.next&&13!=e.next&&35!=e.next||e.acceptToken(204,-t)}else pE(e.next)&&e.acceptToken(203,1)},{contextual:!0}),pG=new tW((e,t)=>{let i=t.context.depth;if(i<0)return;let r=e.peek(-1);if(10==r||13==r){let t=0,r=0;for(;;){if(32==e.next)t++;else{if(9!=e.next)break;t+=8-t%8}e.advance(),r++}t!=i&&10!=e.next&&13!=e.next&&35!=e.next&&(te.depth<0&&pj.has(t)?e.parent:e,shift:(e,t,i,r)=>201==t?new pD(e,function(e){let t=0;for(let i=0;ie.hash}),pB=new tW(e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let i=e.peek(t);if(32!=i&&9!=i)return void(40!=i&&46!=i&&10!=i&&13!=i&&35!=i&&e.acceptToken(1))}});function pI(e,t,i,r,n){return new tW(o=>{let s=o.pos;for(;!(o.next<0);)if(123==o.next){if(123!=o.peek(1)){if(o.pos==s)return void o.acceptToken(r,1);break}o.advance(2)}else if(92==o.next)o.advance(),o.next>=0&&o.advance();else{if(o.next==e&&(1==t||o.peek(1)==e&&o.peek(2)==e)){if(o.pos==s)return void o.acceptToken(n,t);break}o.advance()}o.pos>s&&o.acceptToken(i)})}let pL=pI(39,1,207,2,208),pK=pI(34,1,209,3,210),pF=pI(39,3,211,4,212),pH=pI(34,3,213,5,214),pJ=s9({'async "*" "**" FormatConversion FormatSpec':aQ.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":aQ.controlKeyword,"in not and or is del":aQ.operatorKeyword,"from def class global nonlocal lambda":aQ.definitionKeyword,import:aQ.moduleKeyword,"with as print":aQ.keyword,Boolean:aQ.bool,None:aQ.null,VariableName:aQ.variableName,"CallExpression/VariableName":aQ.function(aQ.variableName),"FunctionDefinition/VariableName":aQ.function(aQ.definition(aQ.variableName)),"ClassDefinition/VariableName":aQ.definition(aQ.className),PropertyName:aQ.propertyName,"CallExpression/MemberExpression/PropertyName":aQ.function(aQ.propertyName),Comment:aQ.lineComment,Number:aQ.number,String:aQ.string,FormatString:aQ.special(aQ.string),UpdateOp:aQ.updateOperator,"ArithOp!":aQ.arithmeticOperator,BitOp:aQ.bitwiseOperator,CompareOp:aQ.compareOperator,AssignOp:aQ.definitionOperator,Ellipsis:aQ.punctuation,At:aQ.meta,"( )":aQ.paren,"[ ]":aQ.squareBracket,"{ }":aQ.brace,".":aQ.derefOperator,", ;":aQ.separator}),p1={__proto__:null,await:48,or:58,and:60,in:64,not:66,is:68,if:74,else:76,lambda:80,yield:98,from:100,async:106,for:108,None:168,True:170,False:170,del:184,pass:188,break:192,continue:196,return:200,raise:208,import:212,as:214,global:218,nonlocal:220,assert:224,type:229,elif:242,while:246,try:252,except:254,finally:256,with:260,def:264,class:274,match:285,case:291},p0=tK.deserialize({version:14,states:"#&jO`Q#yOOP$bOSOOO%kQ&nO'#HcOOQS'#Cq'#CqOOQS'#Cr'#CrO'ZQ#xO'#CpO(|Q&nO'#HbOOQS'#Hc'#HcOOQS'#DW'#DWOOQS'#Hb'#HbO)jQ#xO'#DaO)}Q#xO'#DhO*_Q#xO'#DlOOQS'#Dw'#DwO*rO,UO'#DwO*zO7[O'#DwO+SOWO'#DxO+_O`O'#DxO+jOpO'#DxO+uO!bO'#DxO-wQ&nO'#HSOOQS'#HS'#HSO'ZQ#xO'#HRO/ZQ&nO'#HROOQS'#Ee'#EeO/rQ#xO'#EfOOQS'#HQ'#HQO/|Q#xO'#HPOOQV'#HP'#HPO0XQ#xO'#F]OOQS'#Ge'#GeO0^Q#xO'#F[OOQV'#IY'#IYOOQV'#HO'#HOOOQV'#Ft'#FtQ`Q#yOOO'ZQ#xO'#CsO0lQ#xO'#DPO0sQ#xO'#DTO1RQ#xO'#HgO1cQ&nO'#EYO'ZQ#xO'#EZOOQS'#E]'#E]OOQS'#E_'#E_OOQS'#Ea'#EaO1wQ#xO'#EcO2_Q#xO'#EgO0XQ#xO'#EiO2rQ&nO'#EiO0XQ#xO'#ElO/rQ#xO'#EoO0XQ#xO'#EqO/rQ#xO'#EwO/rQ#xO'#EzO2}Q#xO'#E|O3UQ#xO'#FRO3aQ#xO'#E}O/rQ#xO'#FRO0XQ#xO'#FTO0XQ#xO'#FYO3fQ#xO'#F_P3mO#xO'#G}POOO)CBq)CBqOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Ck'#CkOOQS'#Cl'#ClOOQS'#Cn'#CnO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO3xQ#xO'#DqOOQS,5:[,5:[O4]Q#xO'#HqOOQS,5:_,5:_O4jQMlO,5:_O4oQ&nO,59[O0lQ#xO,59dO0lQ#xO,59dO0lQ#xO,59dO7_Q#xO,59dO7dQ#xO,59dO7kQ#xO,59lO7rQ#xO'#HbO8xQ#xO'#HaOOQS'#Ha'#HaOOQS'#D^'#D^O9aQ#xO,59cO'ZQ#xO,59cO9oQ#xO,59cOOQS,59{,59{O9tQ#xO,5:TO'ZQ#xO,5:TOOQS,5:S,5:SO:SQ#xO,5:SO:XQ#xO,5:ZO'ZQ#xO,5:ZO'ZQ#xO,5:XOOQS,5:W,5:WO:jQ#xO,5:WO:oQ#xO,5:YOOOO'#F|'#F|O:tO,UO,5:cOOQS,5:c,5:cOOOO'#F}'#F}O:|O7[O,5:cO;UQ#xO'#DyOOOW'#GO'#GOO;fOWO,5:dOOQS,5:d,5:dO;UQ#xO'#D}OOO`'#GR'#GRO;qO`O,5:dO;UQ#xO'#EOOOOp'#GS'#GSO;|OpO,5:dO;UQ#xO'#EPOOO!b'#GT'#GTOROOQS,5>R,5>RO/rQ#xO'#EUOOQS'#EV'#EVOGZQ#xO'#GWOGkQ#xO,59OOGkQ#xO,59OO)pQ#xO,5:rOGyQ&nO'#HjOOQS,5:u,5:uOOQS,5:},5:}OH^Q#xO,5;ROHoQ#xO,5;TOOQS'#GZ'#GZOH}Q&nO,5;TOI]Q#xO,5;TOIbQ#xO'#IWOOQS,5;W,5;WOIpQ#xO'#ISOOQS,5;Z,5;ZOJRQ#xO,5;]O3aQ#xO,5;cO3aQ#xO,5;fOJZQ&nO'#IZO'ZQ#xO'#IZOJeQ#xO,5;hO2}Q#xO,5;hO/rQ#xO,5;mO0XQ#xO,5;oOJjQ#yO'#ExOKvQ#{O,5;iO! [Q#xO'#I[O3aQ#xO,5;mO! gQ#xO,5;oO! oQ#xO,5;tO! zQ&nO,5;yO'ZQ#xO,5;yPOOO,5=i,5=iP!!ROSO,5=iP!!WO#xO,5=iO!${Q&nO1G.lO!%SQ&nO1G.lO!'sQ&nO1G.lO!'}Q&nO1G.lO!*hQ&nO1G.lO!*{Q&nO1G.lO!+`Q#xO'#HpO!+nQ&nO'#HSO/rQ#xO'#HpO!+xQ#xO'#HoOOQS,5:],5:]O!,QQ#xO,5:]O!,VQ#xO'#HrO!,bQ#xO'#HrO!,uQ#xO,5>]OOQS'#Du'#DuOOQS1G/y1G/yOOQS1G/O1G/OO!-uQ&nO1G/OO!-|Q&nO1G/OO0lQ#xO1G/OO!.iQ#xO1G/WOOQS'#D]'#D]O/rQ#xO,59vOOQS1G.}1G.}O!.pQ#xO1G/gO!/QQ#xO1G/gO!/YQ#xO1G/hO'ZQ#xO'#HiO!/_Q#xO'#HiO!/dQ&nO1G.}O!/tQ#xO,59kO!0zQ#xO,5>XO!1[Q#xO,5>XO!1dQ#xO1G/oO!1iQ&nO1G/oOOQS1G/n1G/nO!1yQ#xO,5>SO!2pQ#xO,5>SO/rQ#xO1G/sO!3_Q#xO1G/uO!3dQ&nO1G/uO!3tQ&nO1G/sOOQS1G/r1G/rOOQS1G/t1G/tOOOO-E9z-E9zOOQS1G/}1G/}OOOO-E9{-E9{O!4UQ#xO'#H|O/rQ#xO'#H|O!4dQ#xO,5:eOOOW-E9|-E9|OOQS1G0O1G0OO!4oQ#xO,5:iOOO`-E:P-E:PO!4zQ#xO,5:jOOOp-E:Q-E:QO!5VQ#xO,5:kOOO!b-E:R-E:ROOQS-E:S-E:SO!5bQ!LUO1G3XO!6RQ&nO1G3XO'ZQ#xO,5oOOQS1G1c1G1cO!7RQ#xO1G1cOOQS'#DX'#DXO/rQ#xO,5>OOOQS,5>O,5>OO!7WQ#xO'#FuO!7cQ#xO,59qO!7kQ#xO1G/ZO!7uQ&nO,5>SOOQS1G3m1G3mOOQS,5:p,5:pO!8fQ#xO'#HROOQS,5UO!9gQ#xO,5>UO/rQ#xO1G0mO/rQ#xO1G0mO0XQ#xO1G0oOOQS-E:X-E:XO!9xQ#xO1G0oO!:TQ#xO1G0oO!:YQ#xO,5>rO!:hQ#xO,5>rO!:vQ#xO,5>nO!;^Q#xO,5>nO!;oQ#xO'#EsO/rQ#xO1G0wO!;zQ#xO1G0wO!uO!BzQ#xO,5>uO!CSQ&nO,5>uO/rQ#xO1G1SO!C^Q#xO1G1SO3aQ#xO1G1XO! gQ#xO1G1ZOOQV,5;d,5;dO!CcQ#zO,5;dO!ChQ#{O1G1TO!F|Q#xO'#GbO3aQ#xO1G1TO3aQ#xO1G1TO!G^Q#xO,5>vO!GkQ#xO,5>vO0XQ#xO,5>vOOQV1G1X1G1XO!GsQ#xO'#FVO!HUQMlO1G1ZO!H^Q#xO1G1ZOOQV1G1`1G1`O3aQ#xO1G1`O!HcQ#xO1G1`O!HkQ#xO'#FaOOQV1G1e1G1eO! zQ&nO1G1ePOOO1G3T1G3TP!HpOSO1G3TOOQS,5>[,5>[OOQS'#Dr'#DrO/rQ#xO,5>[O!HuQ#xO,5>ZO!IYQ#xO,5>ZOOQS1G/w1G/wO!IbQ#xO,5>^O!IrQ#xO,5>^O!IzQ#xO,5>^O!J_Q#xO,5>^O!JoQ#xO,5>^OOQS1G3w1G3wOOQS7+$j7+$jO!7kQ#xO7+$rO!LbQ#xO1G/OO!LiQ#xO1G/OOOQS1G/b1G/bOOQS,5TO'ZQ#xO,5>TOOQS7+$i7+$iO!MVQ#xO7+%RO!M_Q#xO7+%SO!MdQ#xO1G3sOOQS7+%Z7+%ZO!MtQ#xO1G3sO!M|Q#xO7+%ZOOQS,5hO##PQ#xO,5>hO##PQ#xO,5>hO##_O$ISO'#D{O##jO#tO'#H}OOOW1G0P1G0PO##oQ#xO1G0POOO`1G0T1G0TO##wQ#xO1G0TOOOp1G0U1G0UO#$PQ#xO1G0UOOO!b1G0V1G0VO#$XQ#xO1G0VO#$aQ!LUO7+(sO#%QQ&nO1G2]P#%kQ#xO'#GVOOQS,5i,5>iOOOW7+%k7+%kOOO`7+%o7+%oOOOp7+%p7+%pOOO!b7+%q7+%qO#:`Q#xO1G3XO#:yQ#xO1G3XP'ZQ#xO'#FxO/rQ#xO<qO#;mQ#xO,5>qO0XQ#xO,5>qO#pOOQS<sO#sOOQS1G0y1G0yOOQS<xO#DpQ#xO,5>xOOQS,5>x,5>xO#D{Q#xO,5>wO#E^Q#xO,5>wOOQS1G1]1G1]OOQS,5;s,5;sOOQV<XAN>XO#HmQ#xO<eAN>eO/rQ#xO1G2PO#H}Q&nO1G2PP#IXQ#xO'#FyOOQS1G2V1G2VP#IfQ#xO'#GPO#IsQ#xO7+)nO#JZQ#xO,5:hOOOO-E:O-E:OO#JfQ#xO7+(sOOQSAN?_AN?_O#KPQ#xO,5VOOQSANBaANBaOOOO7+%n7+%nOOQS7+'|7+'|O$+jQ#xO<zO$.`Q#xO,5>zO0XQ#xO,5|O$!pQ#xO,5>|OOQS1G1s1G1sO$2WQ&nO,5<_OOQU7+'S7+'SO$$mQ#xO1G/kO$!pQ#xO,5<]O$2_Q#xO,5>}O$2fQ#xO,5>}OOQS1G1v1G1vOOQS7+'V7+'VP$!pQ#xO'#GkO$2nQ#xO1G4hO$2xQ#xO1G4hO$3QQ#xO1G4hOOQS7+%V7+%VO$3`Q#xO1G1wO$3nQ&nO'#FdO$3uQ#xO,5=UOOQS,5=U,5=UO$4TQ#xO1G4iOOQS-E:h-E:hO$!pQ#xO,5=TO$4[Q#xO,5=TO$4aQ#xO7+*SOOQS-E:g-E:gO$4kQ#xO7+*SO$!pQ#xO,5<^P$!pQ#xO'#GjO$4sQ#xO1G2oO$!pQ#xO1G2oP$5RQ#xO'#GiO$5YQ#xO<fPP>i?Z?^PP'a'aPP?vPP'a'aPP'a'a'a'a'a?z@t'aP@wP@}EXHxPH|IYI^IbIf'aPPPIjIs'XP'X'XP'XP'XP'XP'XP'X'X'XP'XPP'XPP'XP'XPIyJVJ_PJfJlPJfPJfJfPPPJfPLzPMTM_MeLzPJfMnPJfPMuM{PNPNe! S! mNPNP! s!!QNPNPNPNP!!f!!l!!o!!t!!w!#R!#X!#e!#w!#}!$X!$_!${!%R!%X!%_!%i!%o!%u!%{!&R!&X!&k!&u!&{!'R!'X!'c!'i!'o!'u!'{!(V!(]!(g!(m!(v!(|!)]!)e!)o!)vPPPPPPPPPPPPPPPPP!)|!*P!*V!*`!*j!*uPPPPPPPPPPPP!/l!1Q!5T!8hPP!8p!9S!9]!:U!9{!:_!:e!:h!:k!:n!:v!;gPPPPPPPPP!;j!;yPPPP!V!>`!?[!?_]jOs#v$w*W,d(TeOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1Z}!hQ#r$P$b$q$}%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!P!iQ#r$P$b$q$}%S%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!R!jQ#r$P$b$q$}%S%T%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!T!kQ#r$P$b$q$}%S%T%U%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!V!lQ#r$P$b$q$}%S%T%U%V%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!X!mQ#r$P$b$q$}%S%T%U%V%W%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O!]!mQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1O(TTOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1Z&iVOYZ[isuw}!O!S!U!V!Z!n!p!t!u!v!x!y#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%h%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)V)X)a)p)w)y*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+h+i+l+t+w,O,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/s0[0z0{0|0}1P1Q1R1S1V1Z%sXOYZ[isw}!O!S!U!V!Z!n!p#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)V)X)a)p)w)y*S*W*^*b*l*v*y*z*}+T+W+Y+]+^+a+h+i+l+t+w,O,d,l,m,p,z,{,|-O-P-S-W-Y-[-^-_-b-y-{.S.V.}/O/s1Q1R1SQ$VvQ/t/SR1W1Y'zeOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1ZW#ym!P!Q$hW$Rv&q/S1YQ$j!RQ$n!TQ${![Q$|!]W%Z!n(O*v,zS&p$S$TQ'e$vQ)Y&jQ)h'QU)i'S)j)kU)l'U)m+}W)s'Y,Q-j.dQ*d'nW*e'p,s-}.lQ,P)rS,r*f*gY-d+x-e.a.b/XQ-g+zQ-t,hQ-x,kQ.j-vl.o.R.u.v.x/d/f/k0R0W0]0b0m0r0uQ/W.`Q/l.wQ/x/^Q0T/hU0h0^0k0sX0n0c0o0v0wR&o$R!_!|YZ!U!V!p%a%m%t(R(T(U(a(i)y*y*z*}+T+W+Y,{,|-O-P-S.S.V.}/O/sR%k!{Q#QYQ&W#cQ&Z#gQ&]#jQ&_#mQ&x$^Q&{$aR-`+lT/R.Y0[![!oQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1OQ&m#zQ't$|R*p'uR'}%ZQ%d!rR/v/[(SdOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1ZS#pd#q!P.s.R.u.v.w.x/^/d/f/k0R0W0]0^0b0c0k0m0o0r0s0u0v0w(SdOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)V)X)a)d)p)w)y)}*O*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+d+h+i+l+t+v+w,O,],^,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/o/s0[0z0{0|0}1P1Q1R1S1T1V1ZT#pd#qT#d`#ee(|&W&Z&]&_)O)Q)S)U-`._T+m({+nT#ha#iT#kb#lT#nc#oQ$`xQ,P)sR,q*eX$^x$_$`&zQ'[$nQ'r${Q'u$|R*V'eQ)t'YV-i,Q-j.dZlOs$w*W,dXpOs*W,dQ$x!YQ']$oQ'^$pQ'o$zQ's$|Q*T'dQ*['iQ*_'jQ*`'kQ*m'qS*o't'uQ,W)yQ,Y)zQ,Z){Q,_*RS,a*U*nQ,e*YQ,f*ZS,g*]*^Q,w*pQ-l,VQ-m,XQ-o,`S-p,b,cQ-u,iQ-w,jQ.e-nQ.g-qQ.h-sQ.i-tQ/Y.fQ/Z.jQ/p.{R0Z/qWpOs*W,dR#|oQ'q${S*U'e'rR,c*VQ,p*eR-{,qQ*n'qQ,b*UR-q,cZnOos*W,dQ'w$}R*r'xT.P,x.Qu.z.R.u.v.x/^/d/f/k0R0W0]0^0b0k0m0r0s0ut.z.R.u.v.x/^/d/f/k0R0W0]0^0b0k0m0r0s0uQ/l.wX0n0c0o0v0w!P.r.R.u.v.w.x/^/d/f/k0R0W0]0^0b0c0k0m0o0r0s0u0v0wQ/a.qR/}/bg/d.t/e/y0Q0V0e0g0i0t0x0yu.y.R.u.v.x/^/d/f/k0R0W0]0^0b0k0m0r0s0uX/_.o.y/x0hR/z/^V0j0^0k0sR/q.{QsOS$Os,dR,d*WQ&r$UR)_&rS%z#W$WS(p%z(sT(s%}&tQ%n#OQ%u#SW(b%n%u(g(kQ(g%rR(k%wQ&}$bR)e&}Q(v&OQ+_(qT+e(v+_Q(P%]R*w(PS(S%`%aY*{(S*|-Q.W/PU*|(T(U(VU-Q*}+O+PS.W-R-SR/P.XQ#_^R&R#_Q#b_R&T#bQ#e`R&X#eQ(y&US+j(y+kR+k(zQ+n({R-a+nQ#iaR&[#iQ#lbR&^#lQ#ocR&`#oQ#qdR&a#qQ#tgQ&c#rW&f#t&c)b+uQ)b&wR+u1OQ$_xS&y$_&zR&z$`Q'X$lR)q'XQ&k#yR)Z&kQ$h!QR'R$hQ+y)iS-f+y.cR.c-gQ'V$jR)n'VQ,R)tR-k,RQ#wkR&h#wQ)x']R,U)xQ'`$qS*P'`*QR*Q'aQ'h$xR*X'hQ'm$yS*c'm,nR,n*dQ,t*iR.O,tWoOs*W,dR#{oQ.Q,xR.m.Qd/e.t/y0Q0V0e0g0i0t0x0yR0P/eU/].o/x0hR/w/]Q0d0VS0p0d0qR0q0eS0_/y/zR0l0_Q/g.tR0S/gR!`PXrOs*W,dWqOs*W,dR'f$wYkOs$w*W,dR&g#v[xOs#v$w*W,dR&x$^&hQOYZ[isuw}!O!S!U!V!Z!n!p!t!u!v!x!y#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%h%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)V)X)a)p)w)y*S*W*^*b*l*v*y*z*}+T+U+W+Y+]+^+a+h+i+l+t+w,O,d,l,m,p,z,{,|-O-P-S-U-W-Y-[-^-_-b-y-{.S.V.Y.}/O/s0[0z0{0|0}1P1Q1R1S1V1ZQ!sTQ#rfQ$PtU$by%p(eS$q!W$tQ$}!^Q%S!hQ%T!iQ%U!jQ%V!kQ%W!lQ%X!mQ%r#PQ%w#TQ%}#XQ&O#YQ&t$XQ'a$rQ'x%OQ)W&dU)c&|)d+vW)|'_*O,],^Q+R(_Q+[(nQ,[)}Q-Z+dQ0Y/oR1O1TQ#OYQ#SZQ$o!UQ$p!VQ%`!pQ(V%a^(^%m%t(a(i+T+W+Y^*x(R*z-O-P.V/O/sQ+O(TQ+P(UQ,X)yQ,}*yQ-R*}Q.T,{Q.U,|Q.X-SQ.|.SR/r.}[gOs#v$w*W,d!^!{YZ!U!V!p%a%m%t(R(T(U(a(i)y*y*z*}+T+W+Y,{,|-O-P-S.S.V.}/O/sQ#W[Q#uiS$Ww}Q$e!OW$l!S$a'b*SS$y!Z$uW%Y!n(O*v,zY&U#c#g#j#m+l`&e#s&b)V)X)a+t-b1SQ&u$YQ&v$[Q&w$^Q'{%[Q(]%kW(m%y(o+]+aQ(q%{Q(z&VQ)]&oS)`&s1QQ)f'OQ)g'PU)o'W)p,OQ)v'ZQ*]'iY*a'l*b,l,m-yQ*t'}S+Q(Y1RW+c(u+^-W-[W+g(x+i-^-_Q,T)wQ,i*^Q,v*lQ-]+hQ-c+wQ-z,pQ.]-YR.k-{hUOs#s#v$w&b&s(Y)V)X*W,d%Y!zYZ[iw}!O!S!U!V!Z!n!p#c#g#j#m$Y$[$^$a$u%[%a%k%m%t%y%{&V&o'O'P'W'Z'b'i'l'}(O(R(T(U(a(i(o(u(x)a)p)w)y*S*^*b*l*v*y*z*}+T+W+Y+]+^+a+h+i+l+t+w,O,l,m,p,z,{,|-O-P-S-W-Y-[-^-_-b-y-{.S.V.}/O/s1Q1R1SQ$QuW%e!t!x0{1VQ%f!uQ%g!vQ%i!yQ%s0zS(X%h1PQ(Z0|Q([0}Q-T+UQ.[-US/Q.Y0[R1X1ZU$Uv/S1YR)^&q[hOs#v$w*W,da!}Y#c#g#j#m$^$a+lQ#][Q$ZwR$d}Q%o#OQ%v#SQ%|#WQ'{%YQ(h%rQ(l%wQ(t%}Q(w&OQ+`(qQ,y*tQ.Z-TQ/U.[R/u/TQ$cyQ(d%pR+V(eQ/T.YR0f0[R#VZR#[[R%_!nQ%]!nV*u(O*v,z!]!qQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)W)c)|+R+[,[-Z0Y1OR%b!pQ&W#cQ&Z#gQ&]#jQ&_#mR-`+lQ(}&WQ)P&ZQ)R&]Q)T&_Q+p)OQ+q)QQ+r)SQ+s)UQ.^-`R/V._Q$m!SQ&{$aQ*R'bR,`*SQ#zmQ$f!PQ$i!QR'T$hQ)h'SR+|)kQ)h'SQ+{)jR+|)kR$k!RR)u'YXqOs*W,dQ$s!WR'c$tQ$z!ZR'd$uR*k'pQ*i'pV-|,s-}.lQ.{.RQ/i.uR/j.vU.t.R.u.vQ/n.xQ/y/^Q0O/dU0Q/f0R0bQ0V/kQ0e0WQ0g0]U0i0^0k0sQ0t0mQ0x0rR0y0uR/m.wR/{/^",nodeNames:"⚠ print { { { { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatConversion FormatSpec FormatReplacement FormatReplacement FormatReplacement FormatReplacement ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:283,context:pM,nodeProps:[["group",-15,8,88,90,91,93,95,97,99,101,102,103,105,108,111,113,"Statement Statement",-22,10,20,23,27,42,51,52,58,59,62,63,64,65,66,69,72,73,74,82,83,84,85,"Expression",-10,117,119,122,124,125,129,131,136,138,141,"Statement",-9,146,147,150,151,153,154,155,156,157,"Pattern"],["openedBy",25,"(",56,"[",60,"{"],["closedBy",26,")",57,"]",61,"}"]],propSources:[pJ],skippedNodes:[0,6],repeatNodeCount:38,tokenData:"%-W#sR!`OX%TXY=|Y[%T[]=|]p%Tpq=|qr@_rsDOst!+|tu%Tuv!Nnvw#!|wx#$Wxy#:Uyz#;Yz{#<^{|#>x|}#@S}!O#AW!O!P#Ci!P!Q#N_!Q!R$!y!R![$&w![!]$1e!]!^$3s!^!_$4w!_!`$7c!`!a$8m!a!b%T!b!c$;U!c!d$W!e!h$W#V#Y$Q<%lO$Xc&r!b&jS&mW%p!TOX%TXY=|Y[%T[]=|]p%Tpq=|qr%Trs&Vsw%Twx/Xx#O%T#O#P?d#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s?i[&r!bOY%TYZ=|Z]%T]^=|^#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=P;=`<%l8^<%lO%T!q@hd&r!b&jS&mWOr%Trs&Vsw%Twx/Xx!_%T!_!`Av!`#O%T#O#P7o#P#T%T#T#UBz#U#f%T#f#gBz#g#hBz#h#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!qBR]oR&r!b&jS&mWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!qCV]!nR&r!b&jS&mWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#cDXa&r!b&jS&hsOYE^YZ%TZ]E^]^%T^rE^rs!)|swE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cEia&r!b&jS&mW&hsOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cFw]&r!b&jS&hsOr%Trs'Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#cGya&r!b&mW&hsOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxIOx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cIXa&r!b&mW&hsOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxJ^x#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#_Jg_&r!b&mW&hsOYJ^YZ1XZ]J^]^1X^rJ^rsKfs#OJ^#O#PL`#P#oJ^#o#pL}#p#qJ^#q#rL}#r;'SJ^;'S;=`!!o<%lOJ^#_KmZ&r!b&hsOr1Xrs2ys#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#_LeW&r!bO#oJ^#o#pL}#p#qJ^#q#rL}#r;'SJ^;'S;=`! r;=`<%lL}<%lOJ^{MUZ&mW&hsOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l<%lOL}{M|V&hsOr4`rs5ds#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`{NfRO;'SL};'S;=`No;=`OL}{Nv[&mW&hsOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l;=`<%lL}<%lOL}{! oP;=`<%lL}#_! y[&mW&hsOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l;=`<%lJ^<%lOL}#_!!rP;=`<%lJ^#c!!zW&r!bO#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!(q;=`<%l!#d<%lOE^!P!#m]&jS&mW&hsOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!%Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k<%lO!#d!P!$mX&jS&hsOr8^rs9rsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`^s#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!>e_U!T&r!bOY!=UYZ1XZ]!=U]^1X^r!=Urs!?ds#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!?k_U!T&r!bOY!=UYZ1XZ]!=U]^1X^r!=Urs!3`s#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!@q[U!T&r!bOY!=UYZ1XZ]!=U]^1X^#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!Ec;=`<%l4`<%lO!=U!]!AnZU!T&mWOY!AgYZ4`Z]!Ag]^4`^r!Agrs!Bas#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!BfZU!TOY!AgYZ4`Z]!Ag]^4`^r!Agrs!CXs#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!C^ZU!TOY!AgYZ4`Z]!Ag]^4`^r!Agrs!4Ys#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!DUWU!TOY!AgYZ4`Z]!Ag]^4`^;'S!Ag;'S;=`!Dn;=`<%l4`<%lO!Ag!]!DsW&mWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l!Ag<%lO4`!]!E`P;=`<%l!Ag#o!EhW&mWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l!=U<%lO4`#o!FTP;=`<%l!=U#s!F_[U!T&r!bOY!+|YZ%TZ]!+|]^%T^#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Mq;=`<%l8^<%lO!+|!a!G^]U!T&jS&mWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!H^]U!T&jSOY!GTYZ8^Z]!GT]^8^^r!GTrs!IVsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!I^]U!T&jSOY!GTYZ8^Z]!GT]^8^^r!GTrs!5wsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!J^]U!T&mWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!KVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!K^]U!T&mWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!Agx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!L[WU!TOY!GTYZ8^Z]!GT]^8^^;'S!GT;'S;=`!Lt;=`<%l8^<%lO!GT!a!L{Y&jS&mWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`Q<%lO$TP;=`<%l$ei&r!b&jS&mW&g`&SsOr%Trs$@Ssw%Twx$C`x!Q%T!Q![$Q<%lO$Q<%lO$Q<%lO$Q<%lO$Q<%lO$p1[e]||-1}],tokenPrec:7372}),p5=new tf,p2=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function p4(e){return(t,i,r)=>{if(r)return!1;let n=t.node.getChild("VariableName");return n&&i(n,e),!0}}let p3={FunctionDefinition:p4("function"),ClassDefinition:p4("class"),ForStatement(e,t,i){if(i){for(let i=e.node.firstChild;i;i=i.nextSibling)if("VariableName"==i.name)t(i,"variable");else if("in"==i.name)break}},ImportStatement(e,t){var i,r;let{node:n}=e,o="from"==(null===(i=n.firstChild)||void 0===i?void 0:i.name);for(let e=n.getChild("import");e;e=e.nextSibling)"VariableName"==e.name&&"as"!=(null===(r=e.nextSibling)||void 0===r?void 0:r.name)&&t(e,o?"variable":"namespace")},AssignStatement(e,t){for(let i=e.node.firstChild;i;i=i.nextSibling)if("VariableName"==i.name)t(i,"variable");else if(":"==i.name||"AssignOp"==i.name)break},ParamList(e,t){for(let i=null,r=e.node.firstChild;r;r=r.nextSibling)"VariableName"!=r.name||i&&/\*|AssignOp/.test(i.name)||t(r,"variable"),i=r},CapturePattern:p4("variable"),AsPattern:p4("variable"),__proto__:null},p9=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,p8=["String","FormatString","Comment","PropertyName"];function p7(e){let t=ay(e.state).resolveInner(e.pos,-1);if(p8.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&p9.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let r=[];for(let i=t;i;i=i.parent)p2.has(i.name)&&(r=r.concat(function e(t,i){let r=p5.get(i);if(r)return r;let n=[],o=!0;function s(e,i){let r=t.sliceString(e.from,e.to);n.push({label:r,type:i})}return i.cursor(u.IncludeAnonymous).iterate(i=>{if(i.name){let e=p3[i.name];if(e&&e(i,s,o)||!o&&p2.has(i.name))return!1;o=!1}else if(i.to-i.from>8192){for(let r of e(t,i.node))n.push(r);return!1}}),p5.set(i,n),n}(e.state.doc,i)));return{options:r,from:i?t.from:e.pos,validFor:p9}}let p6=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(e=>({label:e,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(e=>({label:e,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(e=>({label:e,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(e=>({label:e,type:"function"}))),Qe=[ly("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ly("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ly("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ly("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ly("if ${}:\n \n",{label:"if",detail:"block",type:"keyword"}),ly("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ly("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ly("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ly("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Qt=Ok(p8,OT(p6.concat(Qe)));function Qi(e,t){let i=e.baseIndentFor(t),r=e.lineAt(e.pos,-1),n=r.from+r.text.length;return/^\s*($|#)/.test(r.text)&&e.node.toi?null:i+e.unit}let Qr=aS.define({name:"python",parser:p0.configure({props:[aj.add({Body:e=>{var t;return null!==(t=Qi(e,e.node))&&void 0!==t?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),"ForStatement WhileStatement":e=>/^\s*else:/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except |finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":aD({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":aD({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":aD({closing:"]"}),"String FormatString":()=>null,Script:e=>{if(e.pos+/\s*/.exec(e.textAfter)[0].length>=e.node.to){let t=null;for(let i=e.node,r=i.to;(i=i.lastChild)&&i.to==r;)"Body"==i.type.name&&(t=i);if(t){let i=Qi(e,t);if(null!=i)return i}}return e.continue()}}),aK.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":aF,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/}});function Qn(){return new aV(Qr,[Qr.data.of({autocomplete:p7}),Qr.data.of({autocomplete:Qt})])}class Qo{constructor(e,t,i,r){this.origin=e,this.changes=t,this.effects=i,this.clientID=r}}class Qs{constructor(e,t){this.version=e,this.unconfirmed=t}}let Qa=L.define({combine(e){let t=eY(e,{startVersion:0,clientID:null,sharedEffects:()=>[]},{generatedID:e=>e});return null==t.clientID&&(t.clientID=e.length&&e[0].generatedID||""),t}}),QO=em.define();et.define({create:e=>new Qs(e.facet(Qa).startVersion,[]),update(e,t){let i=t.annotation(QO);if(i)return i;let{sharedEffects:r,clientID:n}=t.startState.facet(Qa),o=r(t);return o.length||!t.changes.empty?new Qs(e.version,e.unconfirmed.concat(new Qo(t,t.changes,o,n))):e}});class Ql{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class Qh{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=e,n=i.facet(Q$).markerFilter;n&&(r=n(r,i));let o=rq.set(r.map(e=>e.from==e.to||e.from==e.to-1&&i.doc.lineAt(e.from).to==e.from?rq.widget({widget:new QS(e),diagnostic:e}).range(e.from):rq.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e,inclusive:!0}).range(e.from,e.to)),!0);return new Qh(o,t,Qc(o))}}function Qc(e,t=null,i=0){let r=null;return e.between(i,1e9,(e,i,{spec:n})=>{if(!t||n.diagnostic==t)return r=new Ql(e,i,n.diagnostic),!1}),r}function Qf(e,t){var i;return{effects:(i=[Qu.of(t)],e.field(QQ,!1)?i:i.concat(eX.appendConfig.of(Qw)))}}let Qu=eX.define(),Qd=eX.define(),Qp=eX.define(),QQ=et.define({create:()=>new Qh(rq.none,null,null),update(e,t){if(t.docChanged){let i=e.diagnostics.map(t.changes),r=null;if(e.selected){let n=t.changes.mapPos(e.selected.from,1);r=Qc(i,e.selected.diagnostic,n)||Qc(i,null,n)}e=new Qh(i,e.panel,r)}for(let i of t.effects)i.is(Qu)?e=Qh.init(i.value,e.panel,t.state):i.is(Qd)?e=new Qh(e.diagnostics,i.value?Qx.open:null,e.selected):i.is(Qp)&&(e=new Qh(e.diagnostics,e.panel,i.value));return e},provide:e=>[sC.from(e,e=>e.panel),oU.decorations.from(e,e=>e.diagnostics)]}),Qg=rq.mark({class:"cm-lintRange cm-lintRange-active",inclusive:!0}),Qm=e=>{let t=e.state.field(QQ,!1);return!(!t||!t.panel)&&(e.dispatch({effects:Qd.of(!1)}),!0)},Q$=(nh.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(Q$);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){let e=Date.now();if(ePromise.resolve(e(this.view)))).then(t=>{let i=t.reduce((e,t)=>e.concat(t));this.view.state.doc==e.doc&&this.view.dispatch(Qf(this.view.state,i))},e=>{ns(this.view.state,e)})}}update(e){let t=e.state.facet(Q$);(e.docChanged||t!=e.startState.facet(Q$)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),L.define({combine:e=>Object.assign({sources:e.map(e=>e.source).filter(e=>null!=e)},eY(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t}))}));function Qb(e){let t=[];if(e)e:for(let{name:i}of e){for(let e=0;ee.toLowerCase()==r.toLowerCase())){t.push(r);continue e}}t.push("")}return t}function QX(e,t,i){var r;let n=i?Qb(t.actions):[];return ca("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},ca("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(r=t.actions)||void 0===r?void 0:r.map((i,r)=>{let o=!1,s=r=>{if(r.preventDefault(),o)return;o=!0;let n=Qc(e.state.field(QQ).diagnostics,t);n&&i.apply(e,n.from,n.to)},{name:a}=i,O=n[r]?a.indexOf(n[r]):-1,l=O<0?a:[a.slice(0,O),ca("u",a.slice(O,O+1)),a.slice(O+1)];return ca("button",{type:"button",class:"cm-diagnosticAction",onclick:s,onmousedown:s,"aria-label":` Action: ${a}${O<0?"":` (access key "${n[r]})"`}.`},l)}),t.source&&ca("div",{class:"cm-diagnosticSource"},t.source))}class QS extends rV{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return ca("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class Qy{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(0xffffffff*Math.random()).toString(16),this.dom=QX(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Qx{constructor(e){this.view=e,this.items=[],this.list=ca("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)Qm(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:i}=this.items[this.selectedIndex],r=Qb(i.actions);for(let n=0;n{for(let t=0;tQm(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(QQ).selected;if(!e)return -1;for(let t=0;t{let a,O=-1;for(let e=i;ei&&(this.items.splice(i,O-i),r=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),n=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),i++});i({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let i=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/i)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.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=Qc(this.view.state.field(QQ).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Qp.of(t)})}static open(e){return new Qx(e)}}function Qv(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}(``,'width="6" height="3"')}let QP=oU.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:Qv("#d11")},".cm-lintRange-warning":{backgroundImage:Qv("orange")},".cm-lintRange-info":{backgroundImage:Qv("#999")},".cm-lintRange-hint":{backgroundImage:Qv("#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}}}),Qw=[QQ,oU.decorations.compute([QQ],e=>{let{selected:t,panel:i}=e.field(QQ);return t&&i&&t.from!=t.to?rq.set([Qg.range(t.from,t.to)]):rq.none}),function(e,t={}){let i=eX.define(),r=et.define({create:()=>[],update(e,r){if(e.length&&(t.hideOnChange&&(r.docChanged||r.selection)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(r,e))),r.docChanged)){let t=[];for(let i of e){let e=r.changes.mapPos(i.pos,-1,A.TrackDel);if(null!=e){let n=Object.assign(Object.create(null),i);n.pos=e,null!=n.end&&(n.end=r.changes.mapPos(n.end)),t.push(n)}}e=t}for(let t of r.effects)t.is(i)&&(e=t.value),t.is(s_)&&(e=[]);return e},provide:e=>sw.from(e)});return[r,nh.define(n=>new sY(n,e,r,i,t.hoverTime||300)),sk]}(function(e,t,i){let{diagnostics:r}=e.state.field(QQ),n=[],o=2e8,s=0;r.between(t-(i<0?1:0),t+(i>0?1:0),(e,r,{spec:a})=>{t>=e&&t<=r&&(e==r||(t>e||i>0)&&(t({dom:ca("ul",{class:"cm-tooltip-lint"},n.map(t=>QX(e,t,!1)))})}:null},{hideOn:function(e,t){let i=e.startState.doc.lineAt(t.pos);return!(!e.effects.some(e=>e.is(Qu))&&!e.changes.touchesRange(i.from,i.to))}}),QP]}),o("1xJnC",function(t,i){e(t.exports,"guess_notebook_location",()=>n);let r=e=>e.toLowerCase().normalize("NFD").replace(/[^a-z1-9]/g,""),n=async e=>{try{let t=new URL(e);if(!["http:","https:","ftp:","ftps:"].includes(t.protocol))throw"Not a web URL";if("gist.github.com"===t.host){console.log("Gist URL detected");let e=t.pathname.substring(1).split("/")[1],i=await (await fetch(`https://api.github.com/gists/${e}`,{headers:{Accept:"application/vnd.github.v3+json"}}).then(e=>e.ok?e:Promise.reject(e))).json();console.log(i);let n=Object.values(i.files),o=n.find(e=>r("#file-"+e.filename)===r(t.hash));if(null!=o)return{type:"url",path_or_url:o.raw_url};return{type:"url",path_or_url:n[0].raw_url}}return"github.com"===t.host&&t.searchParams.set("raw","true"),{type:"url",path_or_url:t.href}}catch(t){return'"'===e[e.length-1]&&'"'===e[0]&&(e=e.slice(1,-1)),{type:"path",path_or_url:e}}}}),o("aTIpG",function(t,i){e(t.exports,"LastFocusWasForcedEffect",()=>l),e(t.exports,"tab_help_plugin",()=>c);var r=n("1gqBQ");n("hiQgq");var o=n("g1ViI");n("9Ta4i");var s=n("cNaMA");let a=(0,o.StateEffect).define(),O=(0,o.StateField).define({create:()=>!1,update(e,t){for(let e of t.effects)if(e.is(a))return e.value;return e}}),l=(0,o.StateEffect).define(),h=(0,o.StateField).define({create:()=>!1,update(e,t){for(let e of t.effects)if(e.is(l))return e.value;return e}}),c=(0,o.ViewPlugin).define(e=>({setready:t=>requestIdleCallback(()=>{e.dispatch({effects:[a.of(t)]})})}),{provide:e=>[O,h],eventObservers:{focus:function(e,t){this.setready(!0)},blur:function(e,t){this.setready(!1),requestIdleCallback(()=>{t.dispatch({effects:[l.of(!1)]})})},click:function(e,t){this.setready(!1)},keydown:function(e,t){"Tab"==e.key?!t.state.field(O)||t.state.field(h)||t.state.readOnly||((0,r.open_pluto_popup)({type:"info",source_element:t.dom,body:(0,s.html)`Press Esc and then Tab to continue navigation. skkrt!`}),this.setready(!1)):this.setready(!1)}}})}),o("1gqBQ",function(t,i){e(t.exports,"open_pluto_popup",()=>r);let r=e=>{window.dispatchEvent(new CustomEvent("open pluto popup",{detail:e}))}}),o("aN0pg",function(t,i){e(t.exports,"cl",()=>r);let r=e=>e?Object.entries(e).reduce((e,[t,i])=>i?t+" "+e:e,""):null}),o("hrGZZ",function(t,i){e(t.exports,"useEventListener",()=>o),n("cNaMA");var r=n("exxBE");let o=(e,t,i,n)=>{let o=(0,r.useCallback)(i,n);(0,r.useEffect)(()=>{let i=null==e||e instanceof Document||e instanceof HTMLElement||e instanceof Window||e instanceof EventSource||e instanceof MediaQueryList?e:e.current;if(null!=i)return i.addEventListener(t,o),()=>i.removeEventListener(t,o)},[e,t,o])}}),o("h2NGW",function(t,i){e(t.exports,"default",()=>o),n("cNaMA");var r=n("3vOYv");function o(e,t,i,r){function n(){let t=Reflect.construct(HTMLElement,[],n);return t._vdomComponent=e,t._root=r&&r.shadow?t.attachShadow({mode:"open"}):t,t}return n.prototype=Object.create(HTMLElement.prototype),n.prototype.constructor=n,n.prototype.connectedCallback=a,n.prototype.attributeChangedCallback=l,n.prototype.disconnectedCallback=h,i=i||e.observedAttributes||Object.keys(e.propTypes||{}),n.observedAttributes=i,i.forEach(e=>{Object.defineProperty(n.prototype,e,{get(){return this._vdom.props[e]},set(t){this._vdom?this.attributeChangedCallback(e,null,t):(this._props||(this._props={}),this._props[e]=t,this.connectedCallback());let i=typeof t;(null==t||"string"===i||"boolean"===i||"number"===i)&&this.setAttribute(e,t)}})}),customElements.define(t||e.tagName||e.displayName||e.name,n)}function s(e){this.getChildContext=()=>e.context;let{context:t,children:i,...n}=e;return(0,r.cloneElement)(i,n)}function a(){if(this.on_connect)this.on_connect();else{let e=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(e);let t=e.detail.context;this._vdom=(0,r.h)(s,{...this._props,context:t},function e(t,i){if(3===t.nodeType)return t.data;if(1!==t.nodeType)return null;let n=[],o={},s=0,a=t.attributes,l=t.childNodes;for(s=a.length;s--;)"slot"!==a[s].name&&(o[a[s].name]=a[s].value,o[O(a[s].name)]=a[s].value);for(s=l.length;s--;){let t=e(l[s],null),i=l[s].slot;i?o[i]=(0,r.h)(c,{name:i},t):n[s]=t}let h=i?(0,r.h)(c,null,n):n;return(0,r.h)(i||t.nodeName.toLowerCase(),o,h)}(this,this._vdomComponent)),(this.hasAttribute("hydrate")?(0,r.hydrate):(0,r.render))(this._vdom,this._root)}}function O(e){return e.replace(/-(\w)/g,(e,t)=>t?t.toUpperCase():"")}function l(e,t,i){if(!this._vdom)return;i=null==i?void 0:i;let n={};n[e]=i,n[O(e)]=i,this._vdom=(0,r.cloneElement)(this._vdom,n),(0,r.render)(this._vdom,this._root)}function h(){let e=setTimeout(()=>{(0,r.render)(this._vdom=null,this._root)},500);this.on_connect=()=>clearTimeout(e)}function c(e,t){return(0,r.h)("slot",{...e,ref:e=>{e?(this.ref=e,this._listener||(this._listener=e=>{e.stopPropagation(),e.detail.context=t},e.addEventListener("_preact",this._listener))):this.ref.removeEventListener("_preact",this._listener)}})}}),o("jqrYR",function(t,i){e(t.exports,"base64_arraybuffer",()=>o),e(t.exports,"base64url_arraybuffer",()=>s),e(t.exports,"base64url_to_base64",()=>O),e(t.exports,"plutohash_arraybuffer",()=>c),e(t.exports,"debounced_promises",()=>f),e(t.exports,"blob_url_to_data_url",()=>u);var r=n("is6Z7");let o=async e=>{let t=await new Promise(t=>{let i=new FileReader;i.onload=()=>t(i.result),i.readAsDataURL(new Blob([e]))});return t.substring(t.indexOf(",")+1)},s=async e=>a(await o(e)),a=e=>e.replaceAll(/[\+\/\=]/g,e=>{let t=e.charCodeAt(0);return 43===t?"-":47===t?"_":""}),O=e=>{let t=e.replaceAll(/[-_]/g,e=>{let t=e.charCodeAt(0);return 45===t?"+":95===t?"/":""});return t+"=".repeat((4-t.length%4)%4)},l="AAA/AAA+ZMg=",h="AAA_AAA-ZMg";console.assert(a(l)===h),console.assert(O(h)===l),o(new Uint8Array([0,0,63,0,0,62,100,200])).then(e=>console.assert(e===l,e)),s(new Uint8Array([0,0,63,0,0,62,100,200])).then(e=>console.assert(e===h,e));let c=async e=>{let t=(0,r.sha256).create();t.update(e);let i=t.arrayBuffer();return await s(i)};(async e=>{let t=new TextEncoder().encode(e);return await c(t)})("Hannes").then(e=>console.assert("OI48wVWerxEEnz5lIj6CPPRB8NOwwba-LkFYTDp4aUU"===e,e));let f=e=>{let t=!1,i=!1;return async()=>{if(t)i=!0;else{for(t=!0,i=!0;i;)i=!1,await e();t=!1}}},u=async e=>{let t=await (await fetch(e)).blob();return await new Promise(e=>{let i=new FileReader;i.onload=()=>e(i.result),i.readAsDataURL(t)})}}),o("is6Z7",function(t,i){e(t.exports,"sha256",()=>b);/** + * [js-sha256]{@link https://github.com/emn178/js-sha256} + * + * @version 0.9.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2017 + * @license MIT + * + * Edited to be a module, so we can `import { sha256 } from "https://cdn.jsdelivr.net/gh/juliapluto/js-sha256@7a98375/src/sha256.mjs"` + * + */var r="input is invalid type",n="object"==typeof window,o=n?window:{};o.JS_SHA256_NO_WINDOW&&(n=!1);var s=!o.JS_SHA256_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,a="0123456789abcdef".split(""),O=[-0x80000000,8388608,32768,128],l=[24,16,8,0],h=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2],c=["hex","array","digest","arrayBuffer"],f=[];(o.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),s&&(o.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var u=function(e,t){return function(i){return new g(t,!0).update(i)[e]()}},d=function(e){var t=u("hex",e);t.create=function(){return new g(e)},t.update=function(e){return t.create().update(e)};for(var i=0;i>6:(a<55296||a>=57344?O[h++]=224|a>>12:(a=65536+((1023&a)<<10|1023&e.charCodeAt(++n)),O[h++]=240|a>>18,O[h++]=128|a>>12&63),O[h++]=128|a>>6&63),O[h++]=128|63&a);e=O}else if("object"===o){if(null===e)throw Error(r);if(s&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!s||!ArrayBuffer.isView(e)))throw Error(r)}else throw Error(r);e.length>64&&(e=new g(t,!0).update(e).array());var c=[],f=[];for(n=0;n<64;++n){var u=e[n]||0;c[n]=92^u,f[n]=54^u}g.call(this,t,i),this.update(f),this.oKeyPad=c,this.inner=!0,this.sharedMemory=i}g.prototype.update=function(e){if(!this.finalized){var t,i=typeof e;if("string"!==i){if("object"===i){if(null===e)throw Error(r);if(s&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!s||!ArrayBuffer.isView(e)))throw Error(r)}else throw Error(r);t=!0}for(var n,o,a=0,O=e.length,h=this.blocks;a>2]|=e[a]<>2]|=n<>2]|=(192|n>>6)<=57344?h[o>>2]|=(224|n>>12)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=64?(this.block=h[16],this.start=o-64,this.hash(),this.hashed=!0):this.start=o}return this.bytes>0xffffffff&&(this.hBytes+=this.bytes/0x100000000<<0,this.bytes=this.bytes%0x100000000),this}},g.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=O[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},g.prototype.hash=function(){var e,t,i,r,n,o,s,a,O,l,c=this.h0,f=this.h1,u=this.h2,d=this.h3,p=this.h4,Q=this.h5,g=this.h6,m=this.h7,$=this.blocks;for(e=16;e<64;++e)t=((n=$[e-15])>>>7|n<<25)^(n>>>18|n<<14)^n>>>3,i=((n=$[e-2])>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,$[e]=$[e-16]+t+$[e-7]+i<<0;for(e=0,l=f&u;e<64;e+=4)this.first?(this.is224?(s=300032,m=(n=$[0]-0x543c9a5b)-0x8f1a6c7<<0,d=n+0x170e9b5<<0):(s=0x2a01a605,m=(n=$[0]-0xc881298)-0x5ab00ac6<<0,d=n+0x8909ae5<<0),this.first=!1):(t=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),i=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),r=(s=c&f)^c&u^l,n=m+i+(p&Q^~p&g)+h[e]+$[e],o=t+r,m=d+n<<0,d=n+o<<0),t=(d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10),i=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7),r=(a=d&c)^d&f^s,n=g+i+(m&p^~m&Q)+h[e+1]+$[e+1],o=t+r,g=u+n<<0,t=((u=n+o<<0)>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),i=(g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7),r=(O=u&d)^u&c^a,n=Q+i+(g&m^~g&p)+h[e+2]+$[e+2],o=t+r,Q=f+n<<0,t=((f=n+o<<0)>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),i=(Q>>>6|Q<<26)^(Q>>>11|Q<<21)^(Q>>>25|Q<<7),r=(l=f&u)^f&d^O,n=p+i+(Q&g^~Q&m)+h[e+3]+$[e+3],o=t+r,p=c+n<<0,c=n+o<<0;this.h0=this.h0+c<<0,this.h1=this.h1+f<<0,this.h2=this.h2+u<<0,this.h3=this.h3+d<<0,this.h4=this.h4+p<<0,this.h5=this.h5+Q<<0,this.h6=this.h6+g<<0,this.h7=this.h7+m<<0},g.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,i=this.h2,r=this.h3,n=this.h4,o=this.h5,s=this.h6,O=this.h7,l=a[e>>28&15]+a[e>>24&15]+a[e>>20&15]+a[e>>16&15]+a[e>>12&15]+a[e>>8&15]+a[e>>4&15]+a[15&e]+a[t>>28&15]+a[t>>24&15]+a[t>>20&15]+a[t>>16&15]+a[t>>12&15]+a[t>>8&15]+a[t>>4&15]+a[15&t]+a[i>>28&15]+a[i>>24&15]+a[i>>20&15]+a[i>>16&15]+a[i>>12&15]+a[i>>8&15]+a[i>>4&15]+a[15&i]+a[r>>28&15]+a[r>>24&15]+a[r>>20&15]+a[r>>16&15]+a[r>>12&15]+a[r>>8&15]+a[r>>4&15]+a[15&r]+a[n>>28&15]+a[n>>24&15]+a[n>>20&15]+a[n>>16&15]+a[n>>12&15]+a[n>>8&15]+a[n>>4&15]+a[15&n]+a[o>>28&15]+a[o>>24&15]+a[o>>20&15]+a[o>>16&15]+a[o>>12&15]+a[o>>8&15]+a[o>>4&15]+a[15&o]+a[s>>28&15]+a[s>>24&15]+a[s>>20&15]+a[s>>16&15]+a[s>>12&15]+a[s>>8&15]+a[s>>4&15]+a[15&s];return this.is224||(l+=a[O>>28&15]+a[O>>24&15]+a[O>>20&15]+a[O>>16&15]+a[O>>12&15]+a[O>>8&15]+a[O>>4&15]+a[15&O]),l},g.prototype.toString=g.prototype.hex,g.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,i=this.h2,r=this.h3,n=this.h4,o=this.h5,s=this.h6,a=this.h7,O=[e>>24&255,e>>16&255,e>>8&255,255&e,t>>24&255,t>>16&255,t>>8&255,255&t,i>>24&255,i>>16&255,i>>8&255,255&i,r>>24&255,r>>16&255,r>>8&255,255&r,n>>24&255,n>>16&255,n>>8&255,255&n,o>>24&255,o>>16&255,o>>8&255,255&o,s>>24&255,s>>16&255,s>>8&255,255&s];return this.is224||O.push(a>>24&255,a>>16&255,a>>8&255,255&a),O},g.prototype.array=g.prototype.digest,g.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e},m.prototype=new g,m.prototype.finalize=function(){if(g.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();g.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),g.prototype.finalize.call(this)}};var $=d();$.sha256=$,$.sha224=d(!0),$.sha256.hmac=Q(),$.sha224.hmac=Q(!0);let b=$;$.sha224}),o("1Mxs0",function(t,i){e(t.exports,"FeaturedCard",()=>h);var r=n("jqrYR"),o=n("41Mhf"),s=n("9Ta4i"),a=n("cNaMA");let O="data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%3E%3C/svg%3E",l=e=>79*[...e].reduce((e,t)=>e+t.charCodeAt(0),0)%360,h=({entry:e,source_manifest:t,direct_html_links:i,disable_links:n})=>{let h=e.frontmatter?.title,{source_url:f}=t??{},u=e=>null==f?(0,s.default).isEmpty(e)?null:e:null==e?null:new URL(e,new URL(f,window.location.href)).href,d=n?"#":i?u(e.html_path):(0,o.with_query_params)("edit",{statefile:u(e.statefile_path),notebookfile:u(e.notebookfile_path),notebookfile_integrity:null==e.hash?null:`sha256-${(0,r.base64url_to_base64)(e.hash)}`,disable_ui:"true",name:null==h?null:`sample ${h}`,pluto_server_url:".",slider_server_url:f?.includes("cdn.jsdelivr.net/gh/JuliaPluto/featured")?null:u(t?.slider_server_url)}),p=c(e.frontmatter);return(0,a.html)` + + + ${p?.name==null?null:(0,a.html)` +
    + + + ${p.name} + ${p.has_coauthors?(0,a.html)` and others`:null} + +
    + `} +

    ${e?.frontmatter?.title??e.id}

    +

    ${e?.frontmatter?.description}

    +
    + `},c=e=>f(e.author)??f({name:e.author_name,url:e.author_url,image:e.author_image}),f=e=>{if(e instanceof Array){let t=f(e[0]);if(t?.name){let i=e.length>1;return{...t,has_coauthors:i}}}else if("string"==typeof e)return{name:e,url:null,image:null};else if(e instanceof Object){let{name:t,image:i,url:r}=e;return null!=i||(0,s.default).isEmpty(r)||(i=r+".png?size=48"),{name:t,url:r,image:i}}return null}}),o("cpCG6",function(t,i){e(t.exports,"get_environment",()=>r);let r=async e=>{let t;if(window.pluto_injected_environment)t=window.pluto_injected_environment.environment;else{let{default:i}=await import(e.session_options.server.injected_javascript_data_url);t=i}return t}}),o("dYd4C",function(t,i){e(t.exports,"ProcessStatus",()=>r);let r={ready:"ready",starting:"starting",no_process:"no_process",waiting_to_restart:"waiting_to_restart",waiting_for_permission:"waiting_for_permission"}}); \ No newline at end of file diff --git a/frontend-dist/editor.97d6fa3c.js b/frontend-dist/editor.97d6fa3c.js new file mode 100644 index 000000000..0e0085db5 --- /dev/null +++ b/frontend-dist/editor.97d6fa3c.js @@ -0,0 +1 @@ +!function(e,t){if("function"==typeof define&&define.amd)define(["exports"],t);else if("object"==typeof exports&&"string"!=typeof exports.nodeName)t(exports);else{var n={};t(n),e.AnsiUp=n.default}}(this,function(e){var t,n,i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};(t=n||(n={}))[t.EOS=0]="EOS",t[t.Text=1]="Text",t[t.Incomplete=2]="Incomplete",t[t.ESC=3]="ESC",t[t.Unknown=4]="Unknown",t[t.SGR=5]="SGR",t[t.OSCURL=6]="OSCURL";var s=function(){function e(){this.VERSION="5.1.0",this.setup_palettes(),this._use_classes=!1,this.bold=!1,this.italic=!1,this.underline=!1,this.fg=this.bg=null,this._buffer="",this._url_whitelist={http:1,https:1}}return Object.defineProperty(e.prototype,"use_classes",{get:function(){return this._use_classes},set:function(e){this._use_classes=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url_whitelist",{get:function(){return this._url_whitelist},set:function(e){this._url_whitelist=e},enumerable:!1,configurable:!0}),e.prototype.setup_palettes=function(){var e=this;this.ansi_colors=[[{rgb:[0,0,0],class_name:"ansi-black"},{rgb:[187,0,0],class_name:"ansi-red"},{rgb:[0,187,0],class_name:"ansi-green"},{rgb:[187,187,0],class_name:"ansi-yellow"},{rgb:[0,0,187],class_name:"ansi-blue"},{rgb:[187,0,187],class_name:"ansi-magenta"},{rgb:[0,187,187],class_name:"ansi-cyan"},{rgb:[255,255,255],class_name:"ansi-white"}],[{rgb:[85,85,85],class_name:"ansi-bright-black"},{rgb:[255,85,85],class_name:"ansi-bright-red"},{rgb:[0,255,0],class_name:"ansi-bright-green"},{rgb:[255,255,85],class_name:"ansi-bright-yellow"},{rgb:[85,85,255],class_name:"ansi-bright-blue"},{rgb:[255,85,255],class_name:"ansi-bright-magenta"},{rgb:[85,255,255],class_name:"ansi-bright-cyan"},{rgb:[255,255,255],class_name:"ansi-bright-white"}]],this.palette_256=[],this.ansi_colors.forEach(function(t){t.forEach(function(t){e.palette_256.push(t)})});for(var t=[0,95,135,175,215,255],n=0;n<6;++n)for(var i=0;i<6;++i)for(var s=0;s<6;++s){var r={rgb:[t[n],t[i],t[s]],class_name:"truecolor"};this.palette_256.push(r)}for(var a=8,l=0;l<24;++l,a+=10){var f={rgb:[a,a,a],class_name:"truecolor"};this.palette_256.push(f)}},e.prototype.escape_txt_for_html=function(e){return e.replace(/[&<>"']/gm,function(e){return"&"===e?"&":"<"===e?"<":">"===e?">":'"'===e?""":"'"===e?"'":void 0})},e.prototype.append_buffer=function(e){var t=this._buffer+e;this._buffer=t},e.prototype.get_next_packet=function(){var e={kind:n.EOS,text:"",url:""},t=this._buffer.length;if(0==t)return e;var s=this._buffer.indexOf("\x1b");if(-1==s)return e.kind=n.Text,e.text=this._buffer,this._buffer="",e;if(s>0)return e.kind=n.Text,e.text=this._buffer.slice(0,s),this._buffer=this._buffer.slice(s),e;if(0==s){if(1==t)return e.kind=n.Incomplete,e;var a=this._buffer.charAt(1);if("["!=a&&"]"!=a)return e.kind=n.ESC,e.text=this._buffer.slice(0,1),this._buffer=this._buffer.slice(1),e;if("["==a){if(this._csi_regex||(this._csi_regex=r(i(["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \x1b[ # CSI\n ([<-?]?) # private-mode char\n ([d;]*) # any digits or semicolons\n ([ -/]? # an intermediate modifier\n [@-~]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \x1b[ # CSI\n [ -~]* # anything legal\n ([\0-\x1f:]) # anything illegal\n )\n "],["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \\x1b\\[ # CSI\n ([\\x3c-\\x3f]?) # private-mode char\n ([\\d;]*) # any digits or semicolons\n ([\\x20-\\x2f]? # an intermediate modifier\n [\\x40-\\x7e]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \\x1b\\[ # CSI\n [\\x20-\\x7e]* # anything legal\n ([\\x00-\\x1f:]) # anything illegal\n )\n "]))),null===(h=this._buffer.match(this._csi_regex)))return e.kind=n.Incomplete,e;if(h[4])return e.kind=n.ESC,e.text=this._buffer.slice(0,1),this._buffer=this._buffer.slice(1),e;""!=h[1]||"m"!=h[3]?e.kind=n.Unknown:e.kind=n.SGR,e.text=h[2];var l=h[0].length;return this._buffer=this._buffer.slice(l),e}if("]"==a){if(t<4)return e.kind=n.Incomplete,e;if("8"!=this._buffer.charAt(2)||";"!=this._buffer.charAt(3))return e.kind=n.ESC,e.text=this._buffer.slice(0,1),this._buffer=this._buffer.slice(1),e;this._osc_st||(this._osc_st=function(e){for(var t=[],n=1;n0;){var n=parseInt(t.shift(),10);if(isNaN(n)||0===n)this.fg=this.bg=null,this.bold=!1,this.italic=!1,this.underline=!1;else if(1===n)this.bold=!0;else if(3===n)this.italic=!0;else if(4===n)this.underline=!0;else if(22===n)this.bold=!1;else if(23===n)this.italic=!1;else if(24===n)this.underline=!1;else if(39===n)this.fg=null;else if(49===n)this.bg=null;else if(n>=30&&n<38)this.fg=this.ansi_colors[0][n-30];else if(n>=40&&n<48)this.bg=this.ansi_colors[0][n-40];else if(n>=90&&n<98)this.fg=this.ansi_colors[1][n-90];else if(n>=100&&n<108)this.bg=this.ansi_colors[1][n-100];else if((38===n||48===n)&&t.length>0){var i=38===n,s=t.shift();if("5"===s&&t.length>0){var r=parseInt(t.shift(),10);r>=0&&r<=255&&(i?this.fg=this.palette_256[r]:this.bg=this.palette_256[r])}if("2"===s&&t.length>2){var a=parseInt(t.shift(),10),l=parseInt(t.shift(),10),f=parseInt(t.shift(),10);if(a>=0&&a<=255&&l>=0&&l<=255&&f>=0&&f<=255){var h={rgb:[a,l,f],class_name:"truecolor"};i?this.fg=h:this.bg=h}}}}},e.prototype.transform_to_html=function(e){var t=e.text;if(0===t.length||(t=this.escape_txt_for_html(t),!e.bold&&!e.italic&&!e.underline&&null===e.fg&&null===e.bg))return t;var n=[],i=[],s=e.fg,r=e.bg;e.bold&&n.push("font-weight:bold"),e.italic&&n.push("font-style:italic"),e.underline&&n.push("text-decoration:underline"),this._use_classes?(s&&("truecolor"!==s.class_name?i.push(s.class_name+"-fg"):n.push("color:rgb("+s.rgb.join(",")+")")),r&&("truecolor"!==r.class_name?i.push(r.class_name+"-bg"):n.push("background-color:rgb("+r.rgb.join(",")+")"))):(s&&n.push("color:rgb("+s.rgb.join(",")+")"),r&&n.push("background-color:rgb("+r.rgb+")"));var a="",l="";return i.length&&(a=' class="'+i.join(" ")+'"'),n.length&&(l=' style="'+n.join(";")+'"'),""+t+"
    "},e.prototype.process_hyperlink=function(e){var t=e.url.split(":");return t.length<1?"":this._url_whitelist[t[0]]?''+this.escape_txt_for_html(e.text)+"":""},e}();function r(e){for(var t=[],n=1;nbutton{animation:.3s ease-in-out wiggle-binder-button}@keyframes wiggle-binder-button{0%{transform:rotate(0)}30%{transform:rotate(10deg)}70%{transform:rotate(-10deg)}to{transform:rotate(0)}}.binder_help_text button img{color:#000;height:2.2em;margin:-8px -8px -8px 0;font-style:normal;font-weight:900}.edit_or_run>button{text-align:center;z-index:2000;width:100%;box-shadow:none;cursor:pointer;background:unset;background-color:var(--overlay-button-bg);font-size:16px;font-family:var(--lato-ui-font-stack);letter-spacing:.1px;color:var(--black);white-space:nowrap;border:3px solid #5c61a375;border-radius:30px;padding:8px 16px;display:block}.edit_or_run>button:hover{text-decoration:underline}.binder_help_text{--width:min(85vw,570px);max-height:calc(100vh - 4rem);width:var(--width);color:#000;color-scheme:light;font-family:var(--sans-serif-font-stack);background-color:#fff;border:0;border-radius:8px;padding:16px;position:fixed;overflow:auto;box-shadow:0 0 0 100vmax #0000004a}.binder_help_text a{color:#000}@media (width<=500px){.binder_help_text{width:100vw;max-height:100vh;top:0;left:0}}.binder_help_text .close{--size:32px;width:var(--size);height:var(--size);background-size:var(--size)var(--size);cursor:pointer;background-image:url(close-outline.9c22a232.svg);position:absolute;top:5px;right:5px}.download_div,.copy_div{justify-content:space-between;align-items:center;height:40px;margin-bottom:.75rem;padding:4px 8px;display:flex}.download_div,.binder_help_text button,.download_div,.copy_div{border:3px solid #3f448c5e;border-radius:8px;width:max(60%,10rem);margin:0 auto;overflow:hidden}.download_div a,.copy_div input{cursor:text;border:none;outline:none;width:calc(100% - 8px - 1rem);font-family:Roboto Mono,monospace;font-size:.7rem;line-height:1.4}.download_div,.download_div a{cursor:pointer}.download_icon,.copy_icon{cursor:pointer;background-image:url(copy-outline.0f561529.svg);background-position:50%;background-repeat:no-repeat;background-size:1rem 1rem;width:1.5rem;height:1.5rem;position:relative;box-shadow:0 0 60px 60px #fff}.download_icon{background-image:url(download-outline.523a74d8.svg)}.copy_icon.success_copy:after{content:"Copied!";text-align:center;background-color:#dcebf5;border-radius:.5rem;width:4rem;font-family:JuliaMono,monospace;font-size:.75rem;font-weight:700;line-height:1.5rem;animation:3s fadeout;position:absolute}.copy_icon:not(.success_copy):hover:after{content:"Copy";text-align:center;background-color:#f4f5dc;border-radius:.5rem;width:4rem;font-family:JuliaMono,monospace;font-size:.75rem;font-weight:700;line-height:1.5rem;position:absolute}.copy_icon:after{right:1.5rem}@keyframes fadeout{0%{opacity:1}20%{opacity:1}40%{opacity:0}to{opacity:0}}.command{margin-bottom:.75rem;font-size:1.2rem;font-weight:700}.edit_or_run li{margin-bottom:2rem}.edit_or_run li video,.edit_or_run li img{border:5px solid #d4d4d4;border-radius:5px;width:100%}.expected_runtime_box{color:#323232;background:linear-gradient(45deg,#cdd7ef,#e5f7ff);border-radius:.6em;margin:2em 0 -2em;padding:.6em 1em;font-style:italic;display:block}.expected_runtime_box span{font-style:initial;font-weight:700} \ No newline at end of file diff --git a/frontend-dist/editor.d174451b.js b/frontend-dist/editor.d174451b.js new file mode 100644 index 000000000..b7b0830ad --- /dev/null +++ b/frontend-dist/editor.d174451b.js @@ -0,0 +1,6 @@ +/*! iFrame Resizer (iframeSizer.min.js ) - v4.2.11 - 2020-06-02 + * Desc: Force cross domain iframes to size to content. + * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame. + * Copyright: (c) 2020 David J. Bradshaw - dave@bradshaw.net + * License: MIT + */!function(e){if("undefined"!=typeof window){var n,i=0,t=!1,o=!1,r=7,a="[iFrameSizer]",d=a.length,s=null,c=window.requestAnimationFrame,l={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},u={},f=null,m={autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){I("onMessage function not defined")},onResized:function(){},onScroll:function(){return!0}},g={};window.jQuery&&((n=window.jQuery).fn?n.fn.iFrameResize||(n.fn.iFrameResize=function(e){return this.filter("iframe").each(function(n,i){S(i,e)}).end()}):v("","Unable to bind to jQuery, it is not fully loaded.")),"function"==typeof define&&define.amd?define([],A):"object"==typeof module&&"object"==typeof module.exports&&(module.exports=A()),window.iFrameResize=window.iFrameResize||A()}function h(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function p(e,n,i){e.addEventListener(n,i,!1)}function w(e,n,i){e.removeEventListener(n,i,!1)}function b(e){return u[e]?u[e].log:t}function y(e,n){x("log",e,n,b(e))}function v(e,n){x("info",e,n,b(e))}function I(e,n){x("warn",e,n,!0)}function x(e,n,i,t){var o;!0===t&&"object"==typeof window.console&&console[e](a+"["+(o="Host page: "+n,window.top!==window.self&&(o=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+n:"Nested host page: "+n),o)+"]",i)}function F(e){function n(){i("Height"),i("Width"),W(function(){E(P),R(A),M(A,"onResized",P)},P,"init")}function i(e){var n=Number(u[A]["max"+e]),i=Number(u[A]["min"+e]),t=e.toLowerCase(),o=Number(P[t]);y(A,"Checking "+t+" is in range "+i+"-"+n),ou[g]["max"+e])throw Error("Value for min"+e+" can not be greater than max"+e)}g in u&&"iFrameResizer"in n?I(g,"Ignored iFrame, already setup."):(f=(f=o)||{},u[g]={firstRun:!0,iframe:n,remoteHost:n.src&&n.src.split("/").slice(0,3).join("/")},function(e){if("object"!=typeof e)throw TypeError("Options is not an object")}(f),Object.keys(f).forEach(function(e){var n=e.split("Callback");if(2===n.length){var i="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[i]=this[e],delete this[e],I(g,"Deprecated: '"+e+"' has been renamed '"+i+"'. The old method will be removed in the next major version.")}},f),function(e){for(var n in m)Object.prototype.hasOwnProperty.call(m,n)&&(u[g][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:m[n])}(f),u[g]&&(u[g].targetOrigin=!0===u[g].checkOrigin?""===(r=u[g].remoteHost)||null!==r.match(/^(about:blank|javascript:|file:\/\/)/)?"*":r:"*"),function(){switch(y(g,"IFrame scrolling "+(u[g]&&u[g].scrolling?"enabled":"disabled")+" for "+g),n.style.overflow=!1===(u[g]&&u[g].scrolling)?"hidden":"auto",u[g]&&u[g].scrolling){case"omit":break;case!0:n.scrolling="yes";break;case!1:n.scrolling="no";break;default:n.scrolling=u[g]?u[g].scrolling:"no"}}(),b("Height"),b("Width"),w("maxHeight"),w("minHeight"),w("maxWidth"),w("minWidth"),"number"!=typeof(u[g]&&u[g].bodyMargin)&&"0"!==(u[g]&&u[g].bodyMargin)||(u[g].bodyMarginV1=u[g].bodyMargin,u[g].bodyMargin=u[g].bodyMargin+"px"),s=N(g),(c=h())&&n.parentNode&&new c(function(e){e.forEach(function(e){Array.prototype.slice.call(e.removedNodes).forEach(function(e){e===n&&z(n)})})}).observe(n.parentNode,{childList:!0}),p(n,"load",function(){var e,i;C("iFrame.onload",s,n,void 0,!0),e=u[g]&&u[g].firstRun,i=u[g]&&u[g].heightCalculationMethod in l,!e&&i&&T({iframe:n,height:0,width:0,type:"init"})}),C("init",s,n,e,!0),u[g]&&(u[g].iframe.iFrameResizer={close:z.bind(null,u[g].iframe),removeListeners:k.bind(null,u[g].iframe),resize:C.bind(null,"Window resize","resize",u[g].iframe),moveToAnchor:function(e){C("Move to anchor","moveToAnchor:"+e,u[g].iframe,g)},sendMessage:function(e){C("Send Message","message:"+(e=JSON.stringify(e)),u[g].iframe,g)}}))}function H(e,n){null===f&&(f=setTimeout(function(){f=null,e()},n))}function j(){"hidden"!==document.visibilityState&&(y("document","Trigger event: Visiblity change"),H(function(){P("Tab Visable","resize")},16))}function P(e,n){Object.keys(u).forEach(function(i){u[i]&&"parent"===u[i].resizeFrom&&u[i].autoResize&&!u[i].firstRun&&C(e,n,u[i].iframe,i)})}function A(){var n;function i(e,i){i&&(function(){if(!i.tagName)throw TypeError("Object is not a valid DOM element");if("IFRAME"!==i.tagName.toUpperCase())throw TypeError("Expected